<?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>85714</bug_id>
          
          <creation_ts>2012-05-05 08:51:37 -0700</creation_ts>
          <short_desc>Web Inspector: make JavaScriptSourceFrame use breakpoint manager&apos;s breakpoints store.</short_desc>
          <delta_ts>2012-05-07 23:56:32 -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>616983</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-05-05 08:51:37 -0700</bug_when>
    <thetext>It is currently using its own copy of breakpoints which is not necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616986</commentid>
    <comment_count>1</comment_count>
      <attachid>140404</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-05-05 09:13:07 -0700</bug_when>
    <thetext>Created attachment 140404
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616997</commentid>
    <comment_count>2</comment_count>
      <attachid>140407</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-05-05 09:33:31 -0700</bug_when>
    <thetext>Created attachment 140407
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617085</commentid>
    <comment_count>3</comment_count>
      <attachid>140407</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-05-05 23:49:36 -0700</bug_when>
    <thetext>Comment on attachment 140407
Patch

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

&gt; Source/WebCore/ChangeLog:41
&gt; +        Web Inspector: do not create locations for resolved provisional breakpoints

Revert this.

&gt; Source/WebCore/inspector/front-end/BreakpointManager.js:168
&gt; +            breakpoints[i]._isProvisional = true;

Please revert this as it is a part of another change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618367</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-05-07 23:56:32 -0700</bug_when>
    <thetext>Committed r116398: &lt;http://trac.webkit.org/changeset/116398&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140404</attachid>
            <date>2012-05-05 09:13:07 -0700</date>
            <delta_ts>2012-05-05 09:33:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85714-20120505201305.patch</filename>
            <type>text/plain</type>
            <size>19182</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2NmOWQxNWIwZGEyM2I1
NDViMzllNTY0Y2VmZjNiOTc4NmExYjQ0NS4uMDNjZWMyYmVmM2JmNjdmYjFmMzg5OTFkZjQ0Njdl
MGU1OGJiZDk4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA1LTA1ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IG1ha2UgSmF2YVNjcmlwdFNvdXJjZUZyYW1lIHVzZSBicmVha3BvaW50IG1hbmFnZXIncyBi
cmVha3BvaW50cyBzdG9yZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg1NzE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSXQgaXMgY3VycmVudGx5IHVzaW5nIGl0cyBvd24gY29weSBvZiBicmVha3BvaW50
cyB3aGljaCBpcyBub3QgbmVjZXNzYXJ5LgorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9CcmVha3BvaW50TWFuYWdlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5CcmVha3BvaW50
TWFuYWdlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIucHJvdG90
eXBlLnJlc3RvcmVCcmVha3BvaW50cyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQnJlYWtwb2lu
dE1hbmFnZXIucHJvdG90eXBlLnNldEJyZWFrcG9pbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkJyZWFrcG9pbnRNYW5hZ2VyLnByb3RvdHlwZS5faW5uZXJTZXRCcmVha3BvaW50KToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5wcm90b3R5cGUuZmluZEJyZWFrcG9p
bnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLnByb3RvdHlwZS5y
ZXNldCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIucHJvdG90eXBl
Ll9kZWJ1Z2dlclJlc2V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdl
ci5wcm90b3R5cGUuX2JyZWFrcG9pbnRSZXNvbHZlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
QnJlYWtwb2ludE1hbmFnZXIucHJvdG90eXBlLl91aUxvY2F0aW9uQWRkZWQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLnByb3RvdHlwZS5fdWlMb2NhdGlvblJlbW92
ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLkJyZWFrcG9pbnQu
cHJvdG90eXBlLl9icmVha3BvaW50U3RvcmFnZUlkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5C
cmVha3BvaW50TWFuYWdlci5TdG9yYWdlLnByb3RvdHlwZS5fcmVzdG9yZUJyZWFrcG9pbnRzKToK
KyAgICAgICAgKHNldCBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIuU3RvcmFnZS5JdGVt
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRTb3VyY2UuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZS5wcm90b3R5cGUuY29uc29sZU1l
c3NhZ2VzQ2xlYXJlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZS5w
cm90b3R5cGUuYnJlYWtwb2ludFN0b3JhZ2VJZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9KYXZhU2NyaXB0U291cmNlRnJhbWUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2
YVNjcmlwdFNvdXJjZUZyYW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291
cmNlRnJhbWUucHJvdG90eXBlLl9vbkNvbnRlbnRDaGFuZ2VkKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlLnBvcHVsYXRlTGluZUd1dHRlckNv
bnRleHRNZW51KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUu
cHJvdG90eXBlLmJlZm9yZVRleHRDaGFuZ2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZh
U2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlLl9vbk1vdXNlRG93bik6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5fYnJlYWtwb2ludEFkZGVk
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBl
Ll9icmVha3BvaW50UmVtb3ZlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNv
dXJjZUZyYW1lLnByb3RvdHlwZS5vblRleHRWaWV3ZXJDb250ZW50TG9hZGVkKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlLl9jb250aW51ZVRv
TGluZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3Rv
dHlwZS5fdXBkYXRlQnJlYWtwb2ludHNBZnRlckxpdmVFZGl0KToKKwogMjAxMi0wNS0wNSAgSWx5
YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogY29udmVydCBzdGFuZGFsb25lIGZ1bmN0aW9ucyBzYXZlL2FwcGVuZC9zYXZlZFVSTC9h
cHBlbmRlZFRvVVJMIGludG8gV2ViSW5zcGVjdG9yLkZpbGVNYW5hZ2VyIG9iamVjdC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludE1hbmFn
ZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFrcG9pbnRNYW5h
Z2VyLmpzCmluZGV4IDY1YjJmYjIyOGM0MDlmOWMyZGU3NzJiNTRjZjA4YmFiNTM1NGQzYTYuLmQx
YzBlOTkzNjQ0ZGY2MDFiNTI4NmQ0ODZhMzI3Y2Q5MmEzMTVjZTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludE1hbmFnZXIuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50TWFuYWdlci5qcwpA
QCAtNDMsOCArNDMsOCBAQCBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIgPSBmdW5jdGlv
bihicmVha3BvaW50U3RvcmFnZSwgZGVidWdnZXJNb2RlbCwgc291cgogCiAgICAgdGhpcy5fYnJl
YWtwb2ludHMgPSBbXTsKICAgICB0aGlzLl9icmVha3BvaW50Rm9yRGVidWdnZXJJZCA9IHt9Owot
ICAgIHRoaXMuX2JyZWFrcG9pbnRGb3JVSUxvY2F0aW9uID0ge307Ci0gICAgdGhpcy5fdWlTb3Vy
Y2VDb2RlSWRzID0ge307CisgICAgdGhpcy5fYnJlYWtwb2ludHNGb3JVSUxvY2F0aW9uID0ge307
CisgICAgdGhpcy5fc291cmNlRmlsZXNXaXRoUmVzdG9yZWRCcmVha3BvaW50cyA9IHt9OwogCiAg
ICAgdGhpcy5fZGVidWdnZXJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1
Z2dlck1vZGVsLkV2ZW50cy5CcmVha3BvaW50UmVzb2x2ZWQsIHRoaXMuX2JyZWFrcG9pbnRSZXNv
bHZlZCwgdGhpcyk7CiAgICAgdGhpcy5fZGVidWdnZXJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdl
Ykluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkV2ZW50cy5HbG9iYWxPYmplY3RDbGVhcmVkLCB0aGlz
Ll9kZWJ1Z2dlclJlc2V0LCB0aGlzKTsKQEAgLTYxLDkgKzYxLDEwIEBAIFdlYkluc3BlY3Rvci5C
cmVha3BvaW50TWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgcmVzdG9yZUJyZWFr
cG9pbnRzOiBmdW5jdGlvbih1aVNvdXJjZUNvZGUpCiAgICAgewotICAgICAgICBpZiAoIXVpU291
cmNlQ29kZS5pZCB8fCB0aGlzLl91aVNvdXJjZUNvZGVJZHNbdWlTb3VyY2VDb2RlLmlkXSkKKyAg
ICAgICAgdmFyIHNvdXJjZUZpbGVJZCA9IHVpU291cmNlQ29kZS5icmVha3BvaW50U3RvcmFnZUlk
KCk7CisgICAgICAgIGlmICghc291cmNlRmlsZUlkIHx8IHRoaXMuX3NvdXJjZUZpbGVzV2l0aFJl
c3RvcmVkQnJlYWtwb2ludHNbc291cmNlRmlsZUlkXSkKICAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgdGhpcy5fdWlTb3VyY2VDb2RlSWRzW3VpU291cmNlQ29kZS5pZF0gPSB0cnVlOworICAg
ICAgICB0aGlzLl9zb3VyY2VGaWxlc1dpdGhSZXN0b3JlZEJyZWFrcG9pbnRzW3NvdXJjZUZpbGVJ
ZF0gPSB0cnVlOwogCiAgICAgICAgIC8vIEVyYXNlIHByb3Zpc2lvbmFsIGJyZWFrcG9pbnRzIHBy
aW9yIHRvIHJlc3RvcmluZyB0aGVtLgogICAgICAgICBmb3IgKHZhciBkZWJ1Z2dlcklkIGluIHRo
aXMuX2JyZWFrcG9pbnRGb3JEZWJ1Z2dlcklkKSB7CkBAIC03Myw3ICs3NCw3IEBAIFdlYkluc3Bl
Y3Rvci5CcmVha3BvaW50TWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLl9k
ZWJ1Z2dlck1vZGVsLnJlbW92ZUJyZWFrcG9pbnQoZGVidWdnZXJJZCk7CiAgICAgICAgICAgICBk
ZWxldGUgdGhpcy5fYnJlYWtwb2ludEZvckRlYnVnZ2VySWRbZGVidWdnZXJJZF07CiAgICAgICAg
IH0KLSAgICAgICAgdGhpcy5fc3RvcmFnZS5yZXN0b3JlQnJlYWtwb2ludHModWlTb3VyY2VDb2Rl
KTsKKyAgICAgICAgdGhpcy5fc3RvcmFnZS5fcmVzdG9yZUJyZWFrcG9pbnRzKHVpU291cmNlQ29k
ZSk7CiAgICAgfSwKIAogICAgIC8qKgpAQCAtODEsMTQgKzgyLDIzIEBAIFdlYkluc3BlY3Rvci5C
cmVha3BvaW50TWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICAgICogQHBhcmFtIHtudW1iZXJ9IGxp
bmVOdW1iZXIKICAgICAgKiBAcGFyYW0ge3N0cmluZ30gY29uZGl0aW9uCiAgICAgICogQHBhcmFt
IHtib29sZWFufSBlbmFibGVkCi0gICAgICogQHBhcmFtIHtib29sZWFuPX0gZG9Ob3RBY3RpdmF0
ZUJyZWFrcG9pbnRzCiAgICAgICogQHJldHVybiB7V2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5h
Z2VyLkJyZWFrcG9pbnR9CiAgICAgICovCi0gICAgc2V0QnJlYWtwb2ludDogZnVuY3Rpb24odWlT
b3VyY2VDb2RlLCBsaW5lTnVtYmVyLCBjb25kaXRpb24sIGVuYWJsZWQsIGRvTm90QWN0aXZhdGVC
cmVha3BvaW50cykKKyAgICBzZXRCcmVha3BvaW50OiBmdW5jdGlvbih1aVNvdXJjZUNvZGUsIGxp
bmVOdW1iZXIsIGNvbmRpdGlvbiwgZW5hYmxlZCkKICAgICB7Ci0gICAgICAgIGlmICghZG9Ob3RB
Y3RpdmF0ZUJyZWFrcG9pbnRzKQotICAgICAgICAgICAgdGhpcy5fZGVidWdnZXJNb2RlbC5zZXRC
cmVha3BvaW50c0FjdGl2ZSh0cnVlKTsKKyAgICAgICAgdGhpcy5fZGVidWdnZXJNb2RlbC5zZXRC
cmVha3BvaW50c0FjdGl2ZSh0cnVlKTsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2lubmVyU2V0QnJl
YWtwb2ludCh1aVNvdXJjZUNvZGUsIGxpbmVOdW1iZXIsIGNvbmRpdGlvbiwgZW5hYmxlZCk7Cisg
ICAgfSwKIAorICAgIC8qKgorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlVJU291cmNlQ29k
ZX0gdWlTb3VyY2VDb2RlCisgICAgICogQHBhcmFtIHtudW1iZXJ9IGxpbmVOdW1iZXIKKyAgICAg
KiBAcGFyYW0ge3N0cmluZ30gY29uZGl0aW9uCisgICAgICogQHBhcmFtIHtib29sZWFufSBlbmFi
bGVkCisgICAgICogQHJldHVybiB7V2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLkJyZWFr
cG9pbnR9CisgICAgICovCisgICAgX2lubmVyU2V0QnJlYWtwb2ludDogZnVuY3Rpb24odWlTb3Vy
Y2VDb2RlLCBsaW5lTnVtYmVyLCBjb25kaXRpb24sIGVuYWJsZWQpCisgICAgewogICAgICAgICB2
YXIgYnJlYWtwb2ludCA9IHRoaXMuZmluZEJyZWFrcG9pbnQodWlTb3VyY2VDb2RlLCBsaW5lTnVt
YmVyKTsKICAgICAgICAgaWYgKGJyZWFrcG9pbnQpIHsKICAgICAgICAgICAgIGJyZWFrcG9pbnQu
X3VwZGF0ZUJyZWFrcG9pbnQoY29uZGl0aW9uLCBlbmFibGVkKTsKQEAgLTEwNiw3ICsxMTYsOCBA
QCBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIucHJvdG90eXBlID0gewogICAgICAqLwog
ICAgIGZpbmRCcmVha3BvaW50OiBmdW5jdGlvbih1aVNvdXJjZUNvZGUsIGxpbmVOdW1iZXIpCiAg
ICAgewotICAgICAgICByZXR1cm4gdGhpcy5fYnJlYWtwb2ludEZvclVJTG9jYXRpb25bdWlTb3Vy
Y2VDb2RlLmlkICsgIjoiICsgbGluZU51bWJlcl07CisgICAgICAgIHZhciBicmVha3BvaW50cyA9
IHRoaXMuX2JyZWFrcG9pbnRzRm9yVUlMb2NhdGlvblt1aVNvdXJjZUNvZGUuaWQgKyAiOiIgKyBs
aW5lTnVtYmVyXTsKKyAgICAgICAgcmV0dXJuIGJyZWFrcG9pbnRzID8gYnJlYWtwb2ludHNbMF0g
OiBudWxsOwogICAgIH0sCiAKICAgICAvKioKQEAgLTE0NiwxNyArMTU3LDE5IEBAIFdlYkluc3Bl
Y3Rvci5CcmVha3BvaW50TWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIGZvciAodmFyIGRl
YnVnZ2VySWQgaW4gdGhpcy5fYnJlYWtwb2ludEZvckRlYnVnZ2VySWQpCiAgICAgICAgICAgICB0
aGlzLl9kZWJ1Z2dlck1vZGVsLnJlbW92ZUJyZWFrcG9pbnQoZGVidWdnZXJJZCk7CiAgICAgICAg
IHRoaXMuX2JyZWFrcG9pbnRGb3JEZWJ1Z2dlcklkID0ge307Ci0gICAgICAgIHRoaXMuX3VpU291
cmNlQ29kZUlkcyA9IHt9OworICAgICAgICB0aGlzLl9zb3VyY2VGaWxlc1dpdGhSZXN0b3JlZEJy
ZWFrcG9pbnRzID0ge307CiAgICAgfSwKIAogICAgIF9kZWJ1Z2dlclJlc2V0OiBmdW5jdGlvbigp
CiAgICAgewogICAgICAgICB2YXIgYnJlYWtwb2ludHMgPSB0aGlzLl9icmVha3BvaW50cy5zbGlj
ZSgpOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJyZWFrcG9pbnRzLmxlbmd0aDsgKytp
KQorICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJyZWFrcG9pbnRzLmxlbmd0aDsgKytpKSB7
CiAgICAgICAgICAgICBicmVha3BvaW50c1tpXS5fcmVzZXRMb2NhdGlvbnMoKTsKKyAgICAgICAg
ICAgIGJyZWFrcG9pbnRzW2ldLl9pc1Byb3Zpc2lvbmFsID0gdHJ1ZTsKKyAgICAgICAgfQogICAg
ICAgICB0aGlzLl9icmVha3BvaW50cyA9IFtdOwotICAgICAgICB0aGlzLl9icmVha3BvaW50Rm9y
VUlMb2NhdGlvbiA9IHt9OwotICAgICAgICB0aGlzLl91aVNvdXJjZUNvZGVJZHMgPSB7fTsKKyAg
ICAgICAgdGhpcy5fYnJlYWtwb2ludHNGb3JVSUxvY2F0aW9uID0ge307CisgICAgICAgIHRoaXMu
X3NvdXJjZUZpbGVzV2l0aFJlc3RvcmVkQnJlYWtwb2ludHMgPSB7fTsKICAgICB9LAogCiAgICAg
X2JyZWFrcG9pbnRSZXNvbHZlZDogZnVuY3Rpb24oZXZlbnQpCkBAIC0xNjQsMTAgKzE3Nyw4IEBA
IFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZh
ciBicmVha3BvaW50SWQgPSAvKiogQHR5cGUge0RlYnVnZ2VyQWdlbnQuQnJlYWtwb2ludElkfSAq
LyBldmVudC5kYXRhLmJyZWFrcG9pbnRJZDsKICAgICAgICAgdmFyIGxvY2F0aW9uID0gLyoqIEB0
eXBlIHtEZWJ1Z2dlckFnZW50LkxvY2F0aW9ufSAqLyBldmVudC5kYXRhLmxvY2F0aW9uOwogICAg
ICAgICB2YXIgYnJlYWtwb2ludCA9IHRoaXMuX2JyZWFrcG9pbnRGb3JEZWJ1Z2dlcklkW2JyZWFr
cG9pbnRJZF07Ci0gICAgICAgIGlmICghYnJlYWtwb2ludCkgewotICAgICAgICAgICAgLy8gUHJv
dmlzaW9uYWwgYnJlYWtwb2ludC4KKyAgICAgICAgaWYgKCFicmVha3BvaW50IHx8IGJyZWFrcG9p
bnQuX2lzUHJvdmlzaW9uYWwpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KICAgICAg
ICAgYnJlYWtwb2ludC5fYWRkUmVzb2x2ZWRMb2NhdGlvbihsb2NhdGlvbik7CiAgICAgfSwKIApA
QCAtMTg5LDcgKzIwMCwxMyBAQCBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIucHJvdG90
eXBlID0gewogICAgICAqLwogICAgIF91aUxvY2F0aW9uQWRkZWQ6IGZ1bmN0aW9uKGJyZWFrcG9p
bnQsIHVpTG9jYXRpb24pCiAgICAgewotICAgICAgICB0aGlzLl9icmVha3BvaW50Rm9yVUlMb2Nh
dGlvblt1aUxvY2F0aW9uLnVpU291cmNlQ29kZS5pZCArICI6IiArIHVpTG9jYXRpb24ubGluZU51
bWJlcl0gPSBicmVha3BvaW50OworICAgICAgICB2YXIga2V5ID0gdWlMb2NhdGlvbi51aVNvdXJj
ZUNvZGUuaWQgKyAiOiIgKyB1aUxvY2F0aW9uLmxpbmVOdW1iZXI7CisgICAgICAgIHZhciBicmVh
a3BvaW50cyA9IHRoaXMuX2JyZWFrcG9pbnRzRm9yVUlMb2NhdGlvbltrZXldOworICAgICAgICBp
ZiAoIWJyZWFrcG9pbnRzKSB7CisgICAgICAgICAgICBicmVha3BvaW50cyA9IFtdOworICAgICAg
ICAgICAgdGhpcy5fYnJlYWtwb2ludHNGb3JVSUxvY2F0aW9uW2tleV0gPSBicmVha3BvaW50czsK
KyAgICAgICAgfQorICAgICAgICBicmVha3BvaW50cy5wdXNoKGJyZWFrcG9pbnQpOwogICAgICAg
ICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1h
bmFnZXIuRXZlbnRzLkJyZWFrcG9pbnRBZGRlZCwge2JyZWFrcG9pbnQ6IGJyZWFrcG9pbnQsIHVp
TG9jYXRpb246IHVpTG9jYXRpb259KTsKICAgICB9LAogCkBAIC0xOTksNyArMjE2LDEzIEBAIFdl
Ykluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAg
X3VpTG9jYXRpb25SZW1vdmVkOiBmdW5jdGlvbihicmVha3BvaW50LCB1aUxvY2F0aW9uKQogICAg
IHsKLSAgICAgICAgZGVsZXRlIHRoaXMuX2JyZWFrcG9pbnRGb3JVSUxvY2F0aW9uW3VpTG9jYXRp
b24udWlTb3VyY2VDb2RlLmlkICsgIjoiICsgdWlMb2NhdGlvbi5saW5lTnVtYmVyXTsKKyAgICAg
ICAgdmFyIGtleSA9IHVpTG9jYXRpb24udWlTb3VyY2VDb2RlLmlkICsgIjoiICsgdWlMb2NhdGlv
bi5saW5lTnVtYmVyOworICAgICAgICB2YXIgYnJlYWtwb2ludHMgPSB0aGlzLl9icmVha3BvaW50
c0ZvclVJTG9jYXRpb25ba2V5XTsKKyAgICAgICAgaWYgKCFicmVha3BvaW50cykKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgYnJlYWtwb2ludHMucmVtb3ZlKGJyZWFrcG9pbnQpOworICAg
ICAgICBpZiAoIWJyZWFrcG9pbnRzLmxlbmd0aCkKKyAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9i
cmVha3BvaW50c0ZvclVJTG9jYXRpb25ba2V5XTsKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50
VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLkV2ZW50cy5CcmVha3Bv
aW50UmVtb3ZlZCwge2JyZWFrcG9pbnQ6IGJyZWFrcG9pbnQsIHVpTG9jYXRpb246IHVpTG9jYXRp
b259KTsKICAgICB9CiB9CkBAIC0zODgsNyArNDExLDcgQEAgV2ViSW5zcGVjdG9yLkJyZWFrcG9p
bnRNYW5hZ2VyLkJyZWFrcG9pbnQucHJvdG90eXBlID0gewogICAgICAqLwogICAgIF9icmVha3Bv
aW50U3RvcmFnZUlkOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5fcHJp
bWFyeVVJTG9jYXRpb24udWlTb3VyY2VDb2RlLmlkICsgIjoiICsgdGhpcy5fcHJpbWFyeVVJTG9j
YXRpb24ubGluZU51bWJlcjsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3ByaW1hcnlVSUxvY2F0aW9u
LnVpU291cmNlQ29kZS5icmVha3BvaW50U3RvcmFnZUlkKCkgKyAiOiIgKyB0aGlzLl9wcmltYXJ5
VUlMb2NhdGlvbi5saW5lTnVtYmVyOwogICAgIH0sCiAKICAgICBfZmFrZUJyZWFrcG9pbnRBdFBy
aW1hcnlMb2NhdGlvbjogZnVuY3Rpb24oKQpAQCAtNDIxLDEzICs0NDQsMTQgQEAgV2ViSW5zcGVj
dG9yLkJyZWFrcG9pbnRNYW5hZ2VyLlN0b3JhZ2UucHJvdG90eXBlID0gewogICAgIC8qKgogICAg
ICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZX0gdWlTb3VyY2VDb2RlCiAgICAg
ICovCi0gICAgcmVzdG9yZUJyZWFrcG9pbnRzOiBmdW5jdGlvbih1aVNvdXJjZUNvZGUpCisgICAg
X3Jlc3RvcmVCcmVha3BvaW50czogZnVuY3Rpb24odWlTb3VyY2VDb2RlKQogICAgIHsKICAgICAg
ICAgdGhpcy5fbXV0ZWQgPSB0cnVlOworICAgICAgICB2YXIgYnJlYWtwb2ludFN0b3JhZ2VJZCA9
IHVpU291cmNlQ29kZS5icmVha3BvaW50U3RvcmFnZUlkKCk7CiAgICAgICAgIGZvciAodmFyIGlk
IGluIHRoaXMuX2JyZWFrcG9pbnRzKSB7CiAgICAgICAgICAgICB2YXIgYnJlYWtwb2ludCA9IHRo
aXMuX2JyZWFrcG9pbnRzW2lkXTsKLSAgICAgICAgICAgIGlmIChicmVha3BvaW50LnNvdXJjZUZp
bGVJZCA9PT0gdWlTb3VyY2VDb2RlLmlkKQotICAgICAgICAgICAgICAgIHRoaXMuX2JyZWFrcG9p
bnRNYW5hZ2VyLnNldEJyZWFrcG9pbnQodWlTb3VyY2VDb2RlLCBicmVha3BvaW50LmxpbmVOdW1i
ZXIsIGJyZWFrcG9pbnQuY29uZGl0aW9uLCBicmVha3BvaW50LmVuYWJsZWQsIHRydWUpOworICAg
ICAgICAgICAgaWYgKGJyZWFrcG9pbnQuc291cmNlRmlsZUlkID09PSBicmVha3BvaW50U3RvcmFn
ZUlkKQorICAgICAgICAgICAgICAgIHRoaXMuX2JyZWFrcG9pbnRNYW5hZ2VyLl9pbm5lclNldEJy
ZWFrcG9pbnQodWlTb3VyY2VDb2RlLCBicmVha3BvaW50LmxpbmVOdW1iZXIsIGJyZWFrcG9pbnQu
Y29uZGl0aW9uLCBicmVha3BvaW50LmVuYWJsZWQpOwogICAgICAgICB9CiAgICAgICAgIGRlbGV0
ZSB0aGlzLl9tdXRlZDsKICAgICB9LApAQCAtNDcwLDcgKzQ5NCw3IEBAIFdlYkluc3BlY3Rvci5C
cmVha3BvaW50TWFuYWdlci5TdG9yYWdlLnByb3RvdHlwZSA9IHsKIFdlYkluc3BlY3Rvci5CcmVh
a3BvaW50TWFuYWdlci5TdG9yYWdlLkl0ZW0gPSBmdW5jdGlvbihicmVha3BvaW50KQogewogICAg
IHZhciBwcmltYXJ5VUlMb2NhdGlvbiA9IGJyZWFrcG9pbnQucHJpbWFyeVVJTG9jYXRpb24oKTsK
LSAgICB0aGlzLnNvdXJjZUZpbGVJZCA9IHByaW1hcnlVSUxvY2F0aW9uLnVpU291cmNlQ29kZS5p
ZDsKKyAgICB0aGlzLnNvdXJjZUZpbGVJZCA9IHByaW1hcnlVSUxvY2F0aW9uLnVpU291cmNlQ29k
ZS5icmVha3BvaW50U3RvcmFnZUlkKCk7CiAgICAgdGhpcy5saW5lTnVtYmVyID0gcHJpbWFyeVVJ
TG9jYXRpb24ubGluZU51bWJlcjsKICAgICB0aGlzLmNvbmRpdGlvbiA9IGJyZWFrcG9pbnQuY29u
ZGl0aW9uKCk7CiAgICAgdGhpcy5lbmFibGVkID0gYnJlYWtwb2ludC5lbmFibGVkKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRTb3Vy
Y2UuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRTb3Vy
Y2UuanMKaW5kZXggMzUyZTY1MGVkYThjYjdiMDg1ZDE5YjZiNDczNTI4OTM4YWI4NzA1NC4uYjM2
NjUzNjAwOTMzMjRkNWNmM2YwZWE0NTJmOTRkZDQ2MWI3MzI3NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdFNvdXJjZS5qcwpAQCAt
NjcsNiArNjcsMTQgQEAgV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2UucHJvdG90eXBlID0g
ewogICAgIHsKICAgICAgICAgdGhpcy5fY29uc29sZU1lc3NhZ2VzID0gW107CiAgICAgICAgIHRo
aXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUuRXZl
bnRzLkNvbnNvbGVNZXNzYWdlc0NsZWFyZWQpOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBA
cmV0dXJuIHtzdHJpbmd9CisgICAgICovCisgICAgYnJlYWtwb2ludFN0b3JhZ2VJZDogZnVuY3Rp
b24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuaWQ7CiAgICAgfQogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRTb3VyY2VG
cmFtZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdFNv
dXJjZUZyYW1lLmpzCmluZGV4IGYwZGQ5N2E0NzM5ZDBiOTdlNTFhOGEzMjE5ZmFiYjRhOGQ5NGQ1
NjcuLmRhMzkwYWYyMDNmYTEwZTUzOTE3Yzc1ZWU0NDIxZWVlMzRjOTJlYzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdFNvdXJjZUZyYW1l
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdFNv
dXJjZUZyYW1lLmpzCkBAIC00MSw3ICs0MSw2IEBAIFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291
cmNlRnJhbWUgPSBmdW5jdGlvbihzY3JpcHRzUGFuZWwsIG1vZGVsLCB1aVNvdXJjZUNvZGUpCiAg
ICAgdGhpcy5fbW9kZWwgPSBtb2RlbDsKICAgICB0aGlzLl9icmVha3BvaW50TWFuYWdlciA9IHRo
aXMuX21vZGVsLmJyZWFrcG9pbnRNYW5hZ2VyOwogICAgIHRoaXMuX3VpU291cmNlQ29kZSA9IHVp
U291cmNlQ29kZTsKLSAgICB0aGlzLl9icmVha3BvaW50cyA9IHt9OwogCiAgICAgdmFyIGxvY2F0
aW9ucyA9IHRoaXMuX2JyZWFrcG9pbnRNYW5hZ2VyLmJyZWFrcG9pbnRMb2NhdGlvbnNGb3JVSVNv
dXJjZUNvZGUodGhpcy5fdWlTb3VyY2VDb2RlKTsKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxv
Y2F0aW9ucy5sZW5ndGg7ICsraSkKQEAgLTEyMSwyMCArMTIwLDE4IEBAIFdlYkluc3BlY3Rvci5K
YXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlID0gewogICAgICAgICB2YXIgb2xkQ29udGVu
dCA9IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyBldmVudC5kYXRhLm9sZENvbnRlbnQ7CiAgICAgICAg
IHZhciBjb250ZW50ID0gLyoqIEB0eXBlIHtzdHJpbmd9ICovIGV2ZW50LmRhdGEuY29udGVudDsK
IAotICAgICAgICB2YXIgYnJlYWtwb2ludHMgPSB7fTsKLSAgICAgICAgZm9yICh2YXIgbGluZU51
bWJlciBpbiB0aGlzLl9icmVha3BvaW50cykgewotICAgICAgICAgICAgYnJlYWtwb2ludHNbbGlu
ZU51bWJlcl0gPSB0aGlzLl9icmVha3BvaW50c1tsaW5lTnVtYmVyXTsKLSAgICAgICAgICAgIHRo
aXMuX2JyZWFrcG9pbnRzW2xpbmVOdW1iZXJdLnJlbW92ZSgpOwotICAgICAgICB9CisgICAgICAg
IHZhciBicmVha3BvaW50TG9jYXRpb25zID0gdGhpcy5fYnJlYWtwb2ludE1hbmFnZXIuYnJlYWtw
b2ludExvY2F0aW9uc0ZvclVJU291cmNlQ29kZSh0aGlzLl91aVNvdXJjZUNvZGUpOworICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IGJyZWFrcG9pbnRMb2NhdGlvbnMubGVuZ3RoOyArK2kpCisg
ICAgICAgICAgICBicmVha3BvaW50TG9jYXRpb25zW2ldLmJyZWFrcG9pbnQucmVtb3ZlKCk7CiAg
ICAgICAgIHRoaXMuc2V0Q29udGVudChjb250ZW50LCBmYWxzZSwgInRleHQvamF2YXNjcmlwdCIp
OwotICAgICAgICB0aGlzLl91cGRhdGVCcmVha3BvaW50c0FmdGVyTGl2ZUVkaXQob2xkQ29udGVu
dCwgY29udGVudCwgYnJlYWtwb2ludHMpOworICAgICAgICB0aGlzLl91cGRhdGVCcmVha3BvaW50
c0FmdGVyTGl2ZUVkaXQob2xkQ29udGVudCwgY29udGVudCwgYnJlYWtwb2ludExvY2F0aW9ucyk7
CiAgICAgfSwKIAogICAgIHBvcHVsYXRlTGluZUd1dHRlckNvbnRleHRNZW51OiBmdW5jdGlvbihj
b250ZXh0TWVudSwgbGluZU51bWJlcikKICAgICB7CiAgICAgICAgIGNvbnRleHRNZW51LmFwcGVu
ZEl0ZW0oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKFdlYkluc3BlY3Rvci51c2VMb3dlckNhc2VNZW51
VGl0bGVzKCkgPyAiQ29udGludWUgdG8gaGVyZSIgOiAiQ29udGludWUgdG8gSGVyZSIpLCB0aGlz
Ll9jb250aW51ZVRvTGluZS5iaW5kKHRoaXMsIGxpbmVOdW1iZXIpKTsKIAotICAgICAgICB2YXIg
YnJlYWtwb2ludCA9IHRoaXMuX2JyZWFrcG9pbnRzW2xpbmVOdW1iZXJdOworICAgICAgICB2YXIg
YnJlYWtwb2ludCA9IHRoaXMuX2JyZWFrcG9pbnRNYW5hZ2VyLmZpbmRCcmVha3BvaW50KHRoaXMu
X3VpU291cmNlQ29kZSwgbGluZU51bWJlcik7CiAgICAgICAgIGlmICghYnJlYWtwb2ludCkgewog
ICAgICAgICAgICAgLy8gVGhpcyByb3cgZG9lc24ndCBoYXZlIGEgYnJlYWtwb2ludDogV2Ugd2Fu
dCB0byBzaG93IEFkZCBCcmVha3BvaW50IGFuZCBBZGQgYW5kIEVkaXQgQnJlYWtwb2ludC4KICAg
ICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKFdl
Ykluc3BlY3Rvci51c2VMb3dlckNhc2VNZW51VGl0bGVzKCkgPyAiQWRkIGJyZWFrcG9pbnQiIDog
IkFkZCBCcmVha3BvaW50IiksIHRoaXMuX3NldEJyZWFrcG9pbnQuYmluZCh0aGlzLCBsaW5lTnVt
YmVyLCAiIiwgdHJ1ZSkpOwpAQCAtMTgxLDE1ICsxNzgsMTMgQEAgV2ViSW5zcGVjdG9yLkphdmFT
Y3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBpZiAoIXRoaXMu
X2lzRGlydHkpIHsKICAgICAgICAgICAgIC8vIERpc2FibGUgYWxsIGJyZWFrcG9pbnRzIGluIHRo
ZSBtb2RlbCwgc3RvcmUgdGhlbSBhcyBtdXRlZCBicmVha3BvaW50cy4KLSAgICAgICAgICAgIGZv
ciAodmFyIGxpbmVOdW1iZXIgPSAwOyBsaW5lTnVtYmVyIDwgdGhpcy50ZXh0TW9kZWwubGluZXND
b3VudDsgKytsaW5lTnVtYmVyKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnRBdHRy
aWJ1dGUgPSB0aGlzLnRleHRNb2RlbC5nZXRBdHRyaWJ1dGUobGluZU51bWJlciwgImJyZWFrcG9p
bnQiKTsKLSAgICAgICAgICAgICAgICBpZiAoYnJlYWtwb2ludEF0dHJpYnV0ZSkgewotICAgICAg
ICAgICAgICAgICAgICB2YXIgYnJlYWtwb2ludCA9IHRoaXMuX2JyZWFrcG9pbnRzW2xpbmVOdW1i
ZXJdOwotICAgICAgICAgICAgICAgICAgICBpZiAoYnJlYWtwb2ludCkKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGJyZWFrcG9pbnQucmVtb3ZlKCk7Ci0gICAgICAgICAgICAgICAgICAgIC8vIFJl
LWFkZGluZyBkZWNvcmF0aW9uIG9ubHkuCi0gICAgICAgICAgICAgICAgICAgIHRoaXMuX2FkZEJy
ZWFrcG9pbnREZWNvcmF0aW9uKGxpbmVOdW1iZXIsIGJyZWFrcG9pbnRBdHRyaWJ1dGUuY29uZGl0
aW9uLCBicmVha3BvaW50QXR0cmlidXRlLmVuYWJsZWQsIHRydWUpOwotICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIHZhciBicmVha3BvaW50TG9jYXRpb25zID0gdGhpcy5fYnJlYWtwb2lu
dE1hbmFnZXIuYnJlYWtwb2ludExvY2F0aW9uc0ZvclVJU291cmNlQ29kZSh0aGlzLl91aVNvdXJj
ZUNvZGUpOworICAgICAgICAgICAgdmFyIGxpbmVOdW1iZXJzID0ge307CisgICAgICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IGJyZWFrcG9pbnRMb2NhdGlvbnMubGVuZ3RoOyArK2kpIHsKKyAg
ICAgICAgICAgICAgICB2YXIgYnJlYWtwb2ludCA9IGJyZWFrcG9pbnRMb2NhdGlvbnNbaV0uYnJl
YWtwb2ludDsKKyAgICAgICAgICAgICAgICBicmVha3BvaW50TG9jYXRpb25zW2ldLmJyZWFrcG9p
bnQucmVtb3ZlKCk7CisgICAgICAgICAgICAgICAgLy8gUmUtYWRkaW5nIGRlY29yYXRpb24gb25s
eS4KKyAgICAgICAgICAgICAgICB0aGlzLl9hZGRCcmVha3BvaW50RGVjb3JhdGlvbihicmVha3Bv
aW50TG9jYXRpb25zW2ldLnVpTG9jYXRpb24ubGluZU51bWJlciwgYnJlYWtwb2ludC5jb25kaXRp
b24oKSwgYnJlYWtwb2ludC5lbmFibGVkKCksIHRydWUpOwogICAgICAgICAgICAgfQogICAgICAg
ICB9CiAKQEAgLTM4Nyw3ICszODIsNyBAQCBXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZy
YW1lLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgdmFyIGxpbmVO
dW1iZXIgPSB0YXJnZXQubGluZU51bWJlcjsKIAotICAgICAgICB2YXIgYnJlYWtwb2ludCA9IHRo
aXMuX2JyZWFrcG9pbnRzW2xpbmVOdW1iZXJdOworICAgICAgICB2YXIgYnJlYWtwb2ludCA9IHRo
aXMuX2JyZWFrcG9pbnRNYW5hZ2VyLmZpbmRCcmVha3BvaW50KHRoaXMuX3VpU291cmNlQ29kZSwg
bGluZU51bWJlcik7CiAgICAgICAgIGlmIChicmVha3BvaW50KSB7CiAgICAgICAgICAgICBpZiAo
ZXZlbnQuc2hpZnRLZXkpCiAgICAgICAgICAgICAgICAgYnJlYWtwb2ludC5zZXRFbmFibGVkKCFi
cmVha3BvaW50LmVuYWJsZWQoKSk7CkBAIC01MDMsNyArNDk4LDYgQEAgV2ViSW5zcGVjdG9yLkph
dmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm47CiAK
ICAgICAgICAgdmFyIGJyZWFrcG9pbnQgPSAvKiogQHR5cGUge1dlYkluc3BlY3Rvci5CcmVha3Bv
aW50TWFuYWdlci5CcmVha3BvaW50fSAqLyBldmVudC5kYXRhLmJyZWFrcG9pbnQ7Ci0gICAgICAg
IHRoaXMuX2JyZWFrcG9pbnRzW3VpTG9jYXRpb24ubGluZU51bWJlcl0gPSBicmVha3BvaW50Owog
ICAgICAgICBpZiAodGhpcy5sb2FkZWQpCiAgICAgICAgICAgICB0aGlzLl9hZGRCcmVha3BvaW50
RGVjb3JhdGlvbih1aUxvY2F0aW9uLmxpbmVOdW1iZXIsIGJyZWFrcG9pbnQuY29uZGl0aW9uKCks
IGJyZWFrcG9pbnQuZW5hYmxlZCgpLCBmYWxzZSk7CiAgICAgfSwKQEAgLTUxNSwxMSArNTA5LDEw
IEBAIFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlID0gewogICAg
ICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHZhciBicmVha3BvaW50ID0gLyoqIEB0eXBlIHtX
ZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIuQnJlYWtwb2ludH0gKi8gZXZlbnQuZGF0YS5i
cmVha3BvaW50OwotICAgICAgICBpZiAodGhpcy5fYnJlYWtwb2ludHNbdWlMb2NhdGlvbi5saW5l
TnVtYmVyXSAhPT0gYnJlYWtwb2ludCkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgZGVs
ZXRlIHRoaXMuX2JyZWFrcG9pbnRzW3VpTG9jYXRpb24ubGluZU51bWJlcl07Ci0gICAgICAgIGlm
ICh0aGlzLmxvYWRlZCkKKyAgICAgICAgdmFyIHJlbWFpbmluZ0JyZWFrcG9pbnQgPSB0aGlzLl9i
cmVha3BvaW50TWFuYWdlci5maW5kQnJlYWtwb2ludCh0aGlzLl91aVNvdXJjZUNvZGUsIHVpTG9j
YXRpb24ubGluZU51bWJlcik7CisgICAgICAgIGlmICghcmVtYWluaW5nQnJlYWtwb2ludCAmJiB0
aGlzLmxvYWRlZCkgewogICAgICAgICAgICAgdGhpcy5fcmVtb3ZlQnJlYWtwb2ludERlY29yYXRp
b24odWlMb2NhdGlvbi5saW5lTnVtYmVyKTsKKyAgICAgICAgfQogICAgIH0sCiAKICAgICBfY29u
c29sZU1lc3NhZ2VBZGRlZDogZnVuY3Rpb24oZXZlbnQpCkBAIC01MzksOSArNTMyLDEwIEBAIFdl
Ykluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlID0gewogICAgICAgICBp
ZiAodHlwZW9mIHRoaXMuX2V4ZWN1dGlvbkxpbmVOdW1iZXIgPT09ICJudW1iZXIiKQogICAgICAg
ICAgICAgdGhpcy5zZXRFeGVjdXRpb25MaW5lKHRoaXMuX2V4ZWN1dGlvbkxpbmVOdW1iZXIpOwog
Ci0gICAgICAgIGZvciAodmFyIGxpbmVOdW1iZXIgaW4gdGhpcy5fYnJlYWtwb2ludHMpIHsKLSAg
ICAgICAgICAgIHZhciBicmVha3BvaW50ID0gdGhpcy5fYnJlYWtwb2ludHNbbGluZU51bWJlcl07
Ci0gICAgICAgICAgICB0aGlzLl9hZGRCcmVha3BvaW50RGVjb3JhdGlvbihwYXJzZUludChsaW5l
TnVtYmVyLCAxMCksIGJyZWFrcG9pbnQuY29uZGl0aW9uKCksIGJyZWFrcG9pbnQuZW5hYmxlZCgp
LCBmYWxzZSk7CisgICAgICAgIHZhciBicmVha3BvaW50TG9jYXRpb25zID0gdGhpcy5fYnJlYWtw
b2ludE1hbmFnZXIuYnJlYWtwb2ludExvY2F0aW9uc0ZvclVJU291cmNlQ29kZSh0aGlzLl91aVNv
dXJjZUNvZGUpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJyZWFrcG9pbnRMb2NhdGlv
bnMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIHZhciBicmVha3BvaW50ID0gYnJlYWtwb2lu
dExvY2F0aW9uc1tpXS5icmVha3BvaW50OworICAgICAgICAgICAgdGhpcy5fYWRkQnJlYWtwb2lu
dERlY29yYXRpb24oYnJlYWtwb2ludExvY2F0aW9uc1tpXS51aUxvY2F0aW9uLmxpbmVOdW1iZXIs
IGJyZWFrcG9pbnQuY29uZGl0aW9uKCksIGJyZWFrcG9pbnQuZW5hYmxlZCgpLCBmYWxzZSk7CiAg
ICAgICAgIH0KIAogICAgICAgICB2YXIgbWVzc2FnZXMgPSB0aGlzLl91aVNvdXJjZUNvZGUuY29u
c29sZU1lc3NhZ2VzKCk7CkBAIC01NzIsMTMgKzU2NiwxNCBAQCBXZWJJbnNwZWN0b3IuSmF2YVNj
cmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZSA9IHsKICAgICAvKioKICAgICAgKiBAcGFyYW0ge3N0
cmluZ30gb2xkU291cmNlCiAgICAgICogQHBhcmFtIHtzdHJpbmd9IG5ld1NvdXJjZQotICAgICAq
IEBwYXJhbSB7T2JqZWN0LjxzdHJpbmcsIFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5C
cmVha3BvaW50Pn0gYnJlYWtwb2ludHMKKyAgICAgKiBAcGFyYW0ge0FycmF5LjxPYmplY3Q+fSBi
cmVha3BvaW50TG9jYXRpb25zCiAgICAgICovCi0gICAgX3VwZGF0ZUJyZWFrcG9pbnRzQWZ0ZXJM
aXZlRWRpdDogZnVuY3Rpb24ob2xkU291cmNlLCBuZXdTb3VyY2UsIGJyZWFrcG9pbnRzKQorICAg
IF91cGRhdGVCcmVha3BvaW50c0FmdGVyTGl2ZUVkaXQ6IGZ1bmN0aW9uKG9sZFNvdXJjZSwgbmV3
U291cmNlLCBicmVha3BvaW50TG9jYXRpb25zKQogICAgIHsKICAgICAgICAgLy8gQ2xlYXIgYW5k
IHJlLWNyZWF0ZSBicmVha3BvaW50cyBhY2NvcmRpbmcgdG8gdGV4dCBkaWZmLgogICAgICAgICB2
YXIgZGlmZiA9IEFycmF5LmRpZmYob2xkU291cmNlLnNwbGl0KCJcbiIpLCBuZXdTb3VyY2Uuc3Bs
aXQoIlxuIikpOwotICAgICAgICBmb3IgKHZhciBsaW5lTnVtYmVyIGluIGJyZWFrcG9pbnRzKSB7
CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnJlYWtwb2ludExvY2F0aW9ucy5sZW5ndGg7
ICsraSkgeworICAgICAgICAgICAgdmFyIGxpbmVOdW1iZXIgPSBicmVha3BvaW50TG9jYXRpb25z
W2ldLnVpTG9jYXRpb24ubGluZU51bWJlcjsKICAgICAgICAgICAgIHZhciBuZXdMaW5lTnVtYmVy
ID0gZGlmZi5sZWZ0W2xpbmVOdW1iZXJdLnJvdzsKICAgICAgICAgICAgIGlmIChuZXdMaW5lTnVt
YmVyID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gbGluZU51
bWJlciAtIDE7IGkgPj0gMDsgLS1pKSB7CkBAIC01OTQsNyArNTg5LDcgQEAgV2ViSW5zcGVjdG9y
LkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKG5ld0xpbmVOdW1iZXIgIT09IHVuZGVmaW5l
ZCkgewotICAgICAgICAgICAgICAgIHZhciBicmVha3BvaW50ID0gYnJlYWtwb2ludHNbbGluZU51
bWJlcl07CisgICAgICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnQgPSBicmVha3BvaW50TG9jYXRp
b25zW2ldLmJyZWFrcG9pbnQ7CiAgICAgICAgICAgICAgICAgdGhpcy5fc2V0QnJlYWtwb2ludChu
ZXdMaW5lTnVtYmVyLCBicmVha3BvaW50LmNvbmRpdGlvbigpLCBicmVha3BvaW50LmVuYWJsZWQo
KSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140407</attachid>
            <date>2012-05-05 09:33:31 -0700</date>
            <delta_ts>2012-05-05 23:49:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85714-20120505203329.patch</filename>
            <type>text/plain</type>
            <size>20355</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2NmOWQxNWIwZGEyM2I1
NDViMzllNTY0Y2VmZjNiOTc4NmExYjQ0NS4uMDhmNjAwNzlkYjRiOGFmOWJjMzM1OTNmNTYxMGI5
MmEwMzk1NGZkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDEyLTA1LTA1ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IG1ha2UgSmF2YVNjcmlwdFNvdXJjZUZyYW1lIHVzZSBicmVha3BvaW50IG1hbmFnZXIncyBi
cmVha3BvaW50cyBzdG9yZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg1NzE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSXQgaXMgY3VycmVudGx5IHVzaW5nIGl0cyBvd24gY29weSBvZiBicmVha3BvaW50
cyB3aGljaCBpcyBub3QgbmVjZXNzYXJ5LgorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9CcmVha3BvaW50TWFuYWdlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5CcmVha3BvaW50
TWFuYWdlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIucHJvdG90
eXBlLnJlc3RvcmVCcmVha3BvaW50cyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQnJlYWtwb2lu
dE1hbmFnZXIucHJvdG90eXBlLnNldEJyZWFrcG9pbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkJyZWFrcG9pbnRNYW5hZ2VyLnByb3RvdHlwZS5faW5uZXJTZXRCcmVha3BvaW50KToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5wcm90b3R5cGUuZmluZEJyZWFrcG9p
bnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLnByb3RvdHlwZS5y
ZXNldCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIucHJvdG90eXBl
Ll9kZWJ1Z2dlclJlc2V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdl
ci5wcm90b3R5cGUuX2JyZWFrcG9pbnRSZXNvbHZlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
QnJlYWtwb2ludE1hbmFnZXIucHJvdG90eXBlLl91aUxvY2F0aW9uQWRkZWQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLnByb3RvdHlwZS5fdWlMb2NhdGlvblJlbW92
ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLkJyZWFrcG9pbnQu
cHJvdG90eXBlLl9icmVha3BvaW50U3RvcmFnZUlkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5C
cmVha3BvaW50TWFuYWdlci5TdG9yYWdlLnByb3RvdHlwZS5fcmVzdG9yZUJyZWFrcG9pbnRzKToK
KyAgICAgICAgKHNldCBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIuU3RvcmFnZS5JdGVt
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRTb3VyY2UuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZS5wcm90b3R5cGUuY29uc29sZU1l
c3NhZ2VzQ2xlYXJlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZS5w
cm90b3R5cGUuYnJlYWtwb2ludFN0b3JhZ2VJZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9KYXZhU2NyaXB0U291cmNlRnJhbWUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2
YVNjcmlwdFNvdXJjZUZyYW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291
cmNlRnJhbWUucHJvdG90eXBlLl9vbkNvbnRlbnRDaGFuZ2VkKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlLnBvcHVsYXRlTGluZUd1dHRlckNv
bnRleHRNZW51KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUu
cHJvdG90eXBlLmJlZm9yZVRleHRDaGFuZ2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZh
U2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlLl9vbk1vdXNlRG93bik6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5fYnJlYWtwb2ludEFkZGVk
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBl
Ll9icmVha3BvaW50UmVtb3ZlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNv
dXJjZUZyYW1lLnByb3RvdHlwZS5vblRleHRWaWV3ZXJDb250ZW50TG9hZGVkKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlLl9jb250aW51ZVRv
TGluZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3Rv
dHlwZS5fdXBkYXRlQnJlYWtwb2ludHNBZnRlckxpdmVFZGl0KToKKworMjAxMi0wNS0wNSAgUGF2
ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBkbyBub3QgY3JlYXRlIGxvY2F0aW9ucyBmb3IgcmVzb2x2ZWQgcHJvdmlzaW9uYWwgYnJl
YWtwb2ludHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg1NzE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TWFya2VkIHByb3Zpc2lvbmFsIGJyZWFrcG9pbnRzIGFzIHN1Y2guCisKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL0JyZWFrcG9pbnRNYW5hZ2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkJyZWFrcG9pbnRNYW5hZ2VyLnByb3RvdHlwZS5fZGVidWdnZXJSZXNldCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIucHJvdG90eXBlLl9icmVha3BvaW50UmVz
b2x2ZWQpOgorCiAyMDEyLTA1LTA1ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBjb252ZXJ0IHN0YW5kYWxvbmUgZnVuY3Rp
b25zIHNhdmUvYXBwZW5kL3NhdmVkVVJML2FwcGVuZGVkVG9VUkwgaW50byBXZWJJbnNwZWN0b3Iu
RmlsZU1hbmFnZXIgb2JqZWN0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9CcmVha3BvaW50TWFuYWdlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvQnJlYWtwb2ludE1hbmFnZXIuanMKaW5kZXggNjViMmZiMjI4YzQwOWY5YzJk
ZTc3MmI1NGNmMDhiYWI1MzU0ZDNhNi4uZDFjMGU5OTM2NDRkZjYwMWI1Mjg2ZDQ4NmEzMjdjZDky
YTMxNWNlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9C
cmVha3BvaW50TWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0JyZWFrcG9pbnRNYW5hZ2VyLmpzCkBAIC00Myw4ICs0Myw4IEBAIFdlYkluc3BlY3Rvci5C
cmVha3BvaW50TWFuYWdlciA9IGZ1bmN0aW9uKGJyZWFrcG9pbnRTdG9yYWdlLCBkZWJ1Z2dlck1v
ZGVsLCBzb3VyCiAKICAgICB0aGlzLl9icmVha3BvaW50cyA9IFtdOwogICAgIHRoaXMuX2JyZWFr
cG9pbnRGb3JEZWJ1Z2dlcklkID0ge307Ci0gICAgdGhpcy5fYnJlYWtwb2ludEZvclVJTG9jYXRp
b24gPSB7fTsKLSAgICB0aGlzLl91aVNvdXJjZUNvZGVJZHMgPSB7fTsKKyAgICB0aGlzLl9icmVh
a3BvaW50c0ZvclVJTG9jYXRpb24gPSB7fTsKKyAgICB0aGlzLl9zb3VyY2VGaWxlc1dpdGhSZXN0
b3JlZEJyZWFrcG9pbnRzID0ge307CiAKICAgICB0aGlzLl9kZWJ1Z2dlck1vZGVsLmFkZEV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRzLkJyZWFrcG9pbnRSZXNv
bHZlZCwgdGhpcy5fYnJlYWtwb2ludFJlc29sdmVkLCB0aGlzKTsKICAgICB0aGlzLl9kZWJ1Z2dl
ck1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRz
Lkdsb2JhbE9iamVjdENsZWFyZWQsIHRoaXMuX2RlYnVnZ2VyUmVzZXQsIHRoaXMpOwpAQCAtNjEs
OSArNjEsMTAgQEAgV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLnByb3RvdHlwZSA9IHsK
ICAgICAgKi8KICAgICByZXN0b3JlQnJlYWtwb2ludHM6IGZ1bmN0aW9uKHVpU291cmNlQ29kZSkK
ICAgICB7Ci0gICAgICAgIGlmICghdWlTb3VyY2VDb2RlLmlkIHx8IHRoaXMuX3VpU291cmNlQ29k
ZUlkc1t1aVNvdXJjZUNvZGUuaWRdKQorICAgICAgICB2YXIgc291cmNlRmlsZUlkID0gdWlTb3Vy
Y2VDb2RlLmJyZWFrcG9pbnRTdG9yYWdlSWQoKTsKKyAgICAgICAgaWYgKCFzb3VyY2VGaWxlSWQg
fHwgdGhpcy5fc291cmNlRmlsZXNXaXRoUmVzdG9yZWRCcmVha3BvaW50c1tzb3VyY2VGaWxlSWRd
KQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB0aGlzLl91aVNvdXJjZUNvZGVJZHNbdWlT
b3VyY2VDb2RlLmlkXSA9IHRydWU7CisgICAgICAgIHRoaXMuX3NvdXJjZUZpbGVzV2l0aFJlc3Rv
cmVkQnJlYWtwb2ludHNbc291cmNlRmlsZUlkXSA9IHRydWU7CiAKICAgICAgICAgLy8gRXJhc2Ug
cHJvdmlzaW9uYWwgYnJlYWtwb2ludHMgcHJpb3IgdG8gcmVzdG9yaW5nIHRoZW0uCiAgICAgICAg
IGZvciAodmFyIGRlYnVnZ2VySWQgaW4gdGhpcy5fYnJlYWtwb2ludEZvckRlYnVnZ2VySWQpIHsK
QEAgLTczLDcgKzc0LDcgQEAgV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgICAgIHRoaXMuX2RlYnVnZ2VyTW9kZWwucmVtb3ZlQnJlYWtwb2ludChk
ZWJ1Z2dlcklkKTsKICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9icmVha3BvaW50Rm9yRGVidWdn
ZXJJZFtkZWJ1Z2dlcklkXTsKICAgICAgICAgfQotICAgICAgICB0aGlzLl9zdG9yYWdlLnJlc3Rv
cmVCcmVha3BvaW50cyh1aVNvdXJjZUNvZGUpOworICAgICAgICB0aGlzLl9zdG9yYWdlLl9yZXN0
b3JlQnJlYWtwb2ludHModWlTb3VyY2VDb2RlKTsKICAgICB9LAogCiAgICAgLyoqCkBAIC04MSwx
NCArODIsMjMgQEAgV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLnByb3RvdHlwZSA9IHsK
ICAgICAgKiBAcGFyYW0ge251bWJlcn0gbGluZU51bWJlcgogICAgICAqIEBwYXJhbSB7c3RyaW5n
fSBjb25kaXRpb24KICAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGVuYWJsZWQKLSAgICAgKiBAcGFy
YW0ge2Jvb2xlYW49fSBkb05vdEFjdGl2YXRlQnJlYWtwb2ludHMKICAgICAgKiBAcmV0dXJuIHtX
ZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIuQnJlYWtwb2ludH0KICAgICAgKi8KLSAgICBz
ZXRCcmVha3BvaW50OiBmdW5jdGlvbih1aVNvdXJjZUNvZGUsIGxpbmVOdW1iZXIsIGNvbmRpdGlv
biwgZW5hYmxlZCwgZG9Ob3RBY3RpdmF0ZUJyZWFrcG9pbnRzKQorICAgIHNldEJyZWFrcG9pbnQ6
IGZ1bmN0aW9uKHVpU291cmNlQ29kZSwgbGluZU51bWJlciwgY29uZGl0aW9uLCBlbmFibGVkKQog
ICAgIHsKLSAgICAgICAgaWYgKCFkb05vdEFjdGl2YXRlQnJlYWtwb2ludHMpCi0gICAgICAgICAg
ICB0aGlzLl9kZWJ1Z2dlck1vZGVsLnNldEJyZWFrcG9pbnRzQWN0aXZlKHRydWUpOworICAgICAg
ICB0aGlzLl9kZWJ1Z2dlck1vZGVsLnNldEJyZWFrcG9pbnRzQWN0aXZlKHRydWUpOworICAgICAg
ICByZXR1cm4gdGhpcy5faW5uZXJTZXRCcmVha3BvaW50KHVpU291cmNlQ29kZSwgbGluZU51bWJl
ciwgY29uZGl0aW9uLCBlbmFibGVkKTsKKyAgICB9LAogCisgICAgLyoqCisgICAgICogQHBhcmFt
IHtXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlfSB1aVNvdXJjZUNvZGUKKyAgICAgKiBAcGFyYW0g
e251bWJlcn0gbGluZU51bWJlcgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBjb25kaXRpb24KKyAg
ICAgKiBAcGFyYW0ge2Jvb2xlYW59IGVuYWJsZWQKKyAgICAgKiBAcmV0dXJuIHtXZWJJbnNwZWN0
b3IuQnJlYWtwb2ludE1hbmFnZXIuQnJlYWtwb2ludH0KKyAgICAgKi8KKyAgICBfaW5uZXJTZXRC
cmVha3BvaW50OiBmdW5jdGlvbih1aVNvdXJjZUNvZGUsIGxpbmVOdW1iZXIsIGNvbmRpdGlvbiwg
ZW5hYmxlZCkKKyAgICB7CiAgICAgICAgIHZhciBicmVha3BvaW50ID0gdGhpcy5maW5kQnJlYWtw
b2ludCh1aVNvdXJjZUNvZGUsIGxpbmVOdW1iZXIpOwogICAgICAgICBpZiAoYnJlYWtwb2ludCkg
ewogICAgICAgICAgICAgYnJlYWtwb2ludC5fdXBkYXRlQnJlYWtwb2ludChjb25kaXRpb24sIGVu
YWJsZWQpOwpAQCAtMTA2LDcgKzExNiw4IEBAIFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdl
ci5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgZmluZEJyZWFrcG9pbnQ6IGZ1bmN0aW9uKHVp
U291cmNlQ29kZSwgbGluZU51bWJlcikKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9icmVh
a3BvaW50Rm9yVUlMb2NhdGlvblt1aVNvdXJjZUNvZGUuaWQgKyAiOiIgKyBsaW5lTnVtYmVyXTsK
KyAgICAgICAgdmFyIGJyZWFrcG9pbnRzID0gdGhpcy5fYnJlYWtwb2ludHNGb3JVSUxvY2F0aW9u
W3VpU291cmNlQ29kZS5pZCArICI6IiArIGxpbmVOdW1iZXJdOworICAgICAgICByZXR1cm4gYnJl
YWtwb2ludHMgPyBicmVha3BvaW50c1swXSA6IG51bGw7CiAgICAgfSwKIAogICAgIC8qKgpAQCAt
MTQ2LDE3ICsxNTcsMTkgQEAgV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgZm9yICh2YXIgZGVidWdnZXJJZCBpbiB0aGlzLl9icmVha3BvaW50Rm9y
RGVidWdnZXJJZCkKICAgICAgICAgICAgIHRoaXMuX2RlYnVnZ2VyTW9kZWwucmVtb3ZlQnJlYWtw
b2ludChkZWJ1Z2dlcklkKTsKICAgICAgICAgdGhpcy5fYnJlYWtwb2ludEZvckRlYnVnZ2VySWQg
PSB7fTsKLSAgICAgICAgdGhpcy5fdWlTb3VyY2VDb2RlSWRzID0ge307CisgICAgICAgIHRoaXMu
X3NvdXJjZUZpbGVzV2l0aFJlc3RvcmVkQnJlYWtwb2ludHMgPSB7fTsKICAgICB9LAogCiAgICAg
X2RlYnVnZ2VyUmVzZXQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHZhciBicmVha3BvaW50
cyA9IHRoaXMuX2JyZWFrcG9pbnRzLnNsaWNlKCk7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgYnJlYWtwb2ludHMubGVuZ3RoOyArK2kpCisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
YnJlYWtwb2ludHMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIGJyZWFrcG9pbnRzW2ldLl9y
ZXNldExvY2F0aW9ucygpOworICAgICAgICAgICAgYnJlYWtwb2ludHNbaV0uX2lzUHJvdmlzaW9u
YWwgPSB0cnVlOworICAgICAgICB9CiAgICAgICAgIHRoaXMuX2JyZWFrcG9pbnRzID0gW107Ci0g
ICAgICAgIHRoaXMuX2JyZWFrcG9pbnRGb3JVSUxvY2F0aW9uID0ge307Ci0gICAgICAgIHRoaXMu
X3VpU291cmNlQ29kZUlkcyA9IHt9OworICAgICAgICB0aGlzLl9icmVha3BvaW50c0ZvclVJTG9j
YXRpb24gPSB7fTsKKyAgICAgICAgdGhpcy5fc291cmNlRmlsZXNXaXRoUmVzdG9yZWRCcmVha3Bv
aW50cyA9IHt9OwogICAgIH0sCiAKICAgICBfYnJlYWtwb2ludFJlc29sdmVkOiBmdW5jdGlvbihl
dmVudCkKQEAgLTE2NCwxMCArMTc3LDggQEAgV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2Vy
LnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIGJyZWFrcG9pbnRJZCA9IC8qKiBAdHlwZSB7RGVi
dWdnZXJBZ2VudC5CcmVha3BvaW50SWR9ICovIGV2ZW50LmRhdGEuYnJlYWtwb2ludElkOwogICAg
ICAgICB2YXIgbG9jYXRpb24gPSAvKiogQHR5cGUge0RlYnVnZ2VyQWdlbnQuTG9jYXRpb259ICov
IGV2ZW50LmRhdGEubG9jYXRpb247CiAgICAgICAgIHZhciBicmVha3BvaW50ID0gdGhpcy5fYnJl
YWtwb2ludEZvckRlYnVnZ2VySWRbYnJlYWtwb2ludElkXTsKLSAgICAgICAgaWYgKCFicmVha3Bv
aW50KSB7Ci0gICAgICAgICAgICAvLyBQcm92aXNpb25hbCBicmVha3BvaW50LgorICAgICAgICBp
ZiAoIWJyZWFrcG9pbnQgfHwgYnJlYWtwb2ludC5faXNQcm92aXNpb25hbCkKICAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgfQogICAgICAgICBicmVha3BvaW50Ll9hZGRSZXNvbHZlZExvY2F0
aW9uKGxvY2F0aW9uKTsKICAgICB9LAogCkBAIC0xODksNyArMjAwLDEzIEBAIFdlYkluc3BlY3Rv
ci5CcmVha3BvaW50TWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgX3VpTG9jYXRp
b25BZGRlZDogZnVuY3Rpb24oYnJlYWtwb2ludCwgdWlMb2NhdGlvbikKICAgICB7Ci0gICAgICAg
IHRoaXMuX2JyZWFrcG9pbnRGb3JVSUxvY2F0aW9uW3VpTG9jYXRpb24udWlTb3VyY2VDb2RlLmlk
ICsgIjoiICsgdWlMb2NhdGlvbi5saW5lTnVtYmVyXSA9IGJyZWFrcG9pbnQ7CisgICAgICAgIHZh
ciBrZXkgPSB1aUxvY2F0aW9uLnVpU291cmNlQ29kZS5pZCArICI6IiArIHVpTG9jYXRpb24ubGlu
ZU51bWJlcjsKKyAgICAgICAgdmFyIGJyZWFrcG9pbnRzID0gdGhpcy5fYnJlYWtwb2ludHNGb3JV
SUxvY2F0aW9uW2tleV07CisgICAgICAgIGlmICghYnJlYWtwb2ludHMpIHsKKyAgICAgICAgICAg
IGJyZWFrcG9pbnRzID0gW107CisgICAgICAgICAgICB0aGlzLl9icmVha3BvaW50c0ZvclVJTG9j
YXRpb25ba2V5XSA9IGJyZWFrcG9pbnRzOworICAgICAgICB9CisgICAgICAgIGJyZWFrcG9pbnRz
LnB1c2goYnJlYWtwb2ludCk7CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJz
KFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5FdmVudHMuQnJlYWtwb2ludEFkZGVkLCB7
YnJlYWtwb2ludDogYnJlYWtwb2ludCwgdWlMb2NhdGlvbjogdWlMb2NhdGlvbn0pOwogICAgIH0s
CiAKQEAgLTE5OSw3ICsyMTYsMTMgQEAgV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLnBy
b3RvdHlwZSA9IHsKICAgICAgKi8KICAgICBfdWlMb2NhdGlvblJlbW92ZWQ6IGZ1bmN0aW9uKGJy
ZWFrcG9pbnQsIHVpTG9jYXRpb24pCiAgICAgewotICAgICAgICBkZWxldGUgdGhpcy5fYnJlYWtw
b2ludEZvclVJTG9jYXRpb25bdWlMb2NhdGlvbi51aVNvdXJjZUNvZGUuaWQgKyAiOiIgKyB1aUxv
Y2F0aW9uLmxpbmVOdW1iZXJdOworICAgICAgICB2YXIga2V5ID0gdWlMb2NhdGlvbi51aVNvdXJj
ZUNvZGUuaWQgKyAiOiIgKyB1aUxvY2F0aW9uLmxpbmVOdW1iZXI7CisgICAgICAgIHZhciBicmVh
a3BvaW50cyA9IHRoaXMuX2JyZWFrcG9pbnRzRm9yVUlMb2NhdGlvbltrZXldOworICAgICAgICBp
ZiAoIWJyZWFrcG9pbnRzKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBicmVha3BvaW50
cy5yZW1vdmUoYnJlYWtwb2ludCk7CisgICAgICAgIGlmICghYnJlYWtwb2ludHMubGVuZ3RoKQor
ICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2JyZWFrcG9pbnRzRm9yVUlMb2NhdGlvbltrZXldOwog
ICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuQnJlYWtw
b2ludE1hbmFnZXIuRXZlbnRzLkJyZWFrcG9pbnRSZW1vdmVkLCB7YnJlYWtwb2ludDogYnJlYWtw
b2ludCwgdWlMb2NhdGlvbjogdWlMb2NhdGlvbn0pOwogICAgIH0KIH0KQEAgLTM4OCw3ICs0MTEs
NyBAQCBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIuQnJlYWtwb2ludC5wcm90b3R5cGUg
PSB7CiAgICAgICovCiAgICAgX2JyZWFrcG9pbnRTdG9yYWdlSWQ6IGZ1bmN0aW9uKCkKICAgICB7
Ci0gICAgICAgIHJldHVybiB0aGlzLl9wcmltYXJ5VUlMb2NhdGlvbi51aVNvdXJjZUNvZGUuaWQg
KyAiOiIgKyB0aGlzLl9wcmltYXJ5VUlMb2NhdGlvbi5saW5lTnVtYmVyOworICAgICAgICByZXR1
cm4gdGhpcy5fcHJpbWFyeVVJTG9jYXRpb24udWlTb3VyY2VDb2RlLmJyZWFrcG9pbnRTdG9yYWdl
SWQoKSArICI6IiArIHRoaXMuX3ByaW1hcnlVSUxvY2F0aW9uLmxpbmVOdW1iZXI7CiAgICAgfSwK
IAogICAgIF9mYWtlQnJlYWtwb2ludEF0UHJpbWFyeUxvY2F0aW9uOiBmdW5jdGlvbigpCkBAIC00
MjEsMTMgKzQ0NCwxNCBAQCBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIuU3RvcmFnZS5w
cm90b3R5cGUgPSB7CiAgICAgLyoqCiAgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVUlTb3Vy
Y2VDb2RlfSB1aVNvdXJjZUNvZGUKICAgICAgKi8KLSAgICByZXN0b3JlQnJlYWtwb2ludHM6IGZ1
bmN0aW9uKHVpU291cmNlQ29kZSkKKyAgICBfcmVzdG9yZUJyZWFrcG9pbnRzOiBmdW5jdGlvbih1
aVNvdXJjZUNvZGUpCiAgICAgewogICAgICAgICB0aGlzLl9tdXRlZCA9IHRydWU7CisgICAgICAg
IHZhciBicmVha3BvaW50U3RvcmFnZUlkID0gdWlTb3VyY2VDb2RlLmJyZWFrcG9pbnRTdG9yYWdl
SWQoKTsKICAgICAgICAgZm9yICh2YXIgaWQgaW4gdGhpcy5fYnJlYWtwb2ludHMpIHsKICAgICAg
ICAgICAgIHZhciBicmVha3BvaW50ID0gdGhpcy5fYnJlYWtwb2ludHNbaWRdOwotICAgICAgICAg
ICAgaWYgKGJyZWFrcG9pbnQuc291cmNlRmlsZUlkID09PSB1aVNvdXJjZUNvZGUuaWQpCi0gICAg
ICAgICAgICAgICAgdGhpcy5fYnJlYWtwb2ludE1hbmFnZXIuc2V0QnJlYWtwb2ludCh1aVNvdXJj
ZUNvZGUsIGJyZWFrcG9pbnQubGluZU51bWJlciwgYnJlYWtwb2ludC5jb25kaXRpb24sIGJyZWFr
cG9pbnQuZW5hYmxlZCwgdHJ1ZSk7CisgICAgICAgICAgICBpZiAoYnJlYWtwb2ludC5zb3VyY2VG
aWxlSWQgPT09IGJyZWFrcG9pbnRTdG9yYWdlSWQpCisgICAgICAgICAgICAgICAgdGhpcy5fYnJl
YWtwb2ludE1hbmFnZXIuX2lubmVyU2V0QnJlYWtwb2ludCh1aVNvdXJjZUNvZGUsIGJyZWFrcG9p
bnQubGluZU51bWJlciwgYnJlYWtwb2ludC5jb25kaXRpb24sIGJyZWFrcG9pbnQuZW5hYmxlZCk7
CiAgICAgICAgIH0KICAgICAgICAgZGVsZXRlIHRoaXMuX211dGVkOwogICAgIH0sCkBAIC00NzAs
NyArNDk0LDcgQEAgV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLlN0b3JhZ2UucHJvdG90
eXBlID0gewogV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLlN0b3JhZ2UuSXRlbSA9IGZ1
bmN0aW9uKGJyZWFrcG9pbnQpCiB7CiAgICAgdmFyIHByaW1hcnlVSUxvY2F0aW9uID0gYnJlYWtw
b2ludC5wcmltYXJ5VUlMb2NhdGlvbigpOwotICAgIHRoaXMuc291cmNlRmlsZUlkID0gcHJpbWFy
eVVJTG9jYXRpb24udWlTb3VyY2VDb2RlLmlkOworICAgIHRoaXMuc291cmNlRmlsZUlkID0gcHJp
bWFyeVVJTG9jYXRpb24udWlTb3VyY2VDb2RlLmJyZWFrcG9pbnRTdG9yYWdlSWQoKTsKICAgICB0
aGlzLmxpbmVOdW1iZXIgPSBwcmltYXJ5VUlMb2NhdGlvbi5saW5lTnVtYmVyOwogICAgIHRoaXMu
Y29uZGl0aW9uID0gYnJlYWtwb2ludC5jb25kaXRpb24oKTsKICAgICB0aGlzLmVuYWJsZWQgPSBi
cmVha3BvaW50LmVuYWJsZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvSmF2YVNjcmlwdFNvdXJjZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvSmF2YVNjcmlwdFNvdXJjZS5qcwppbmRleCAzNTJlNjUwZWRhOGNiN2IwODVk
MTliNmI0NzM1Mjg5MzhhYjg3MDU0Li5iMzY2NTM2MDA5MzMyNGQ1Y2YzZjBlYTQ1MmY5NGRkNDYx
YjczMjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ph
dmFTY3JpcHRTb3VyY2UuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9KYXZhU2NyaXB0U291cmNlLmpzCkBAIC02Nyw2ICs2NywxNCBAQCBXZWJJbnNwZWN0b3IuSmF2
YVNjcmlwdFNvdXJjZS5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB0aGlzLl9jb25zb2xl
TWVzc2FnZXMgPSBbXTsKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2Vi
SW5zcGVjdG9yLlVJU291cmNlQ29kZS5FdmVudHMuQ29uc29sZU1lc3NhZ2VzQ2xlYXJlZCk7Cisg
ICAgfSwKKworICAgIC8qKgorICAgICAqIEByZXR1cm4ge3N0cmluZ30KKyAgICAgKi8KKyAgICBi
cmVha3BvaW50U3RvcmFnZUlkOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gdGhp
cy5pZDsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvSmF2YVNjcmlwdFNvdXJjZUZyYW1lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlRnJhbWUuanMKaW5kZXggZjBkZDk3YTQ3Mzlk
MGI5N2U1MWE4YTMyMTlmYWJiNGE4ZDk0ZDU2Ny4uZGEzOTBhZjIwM2ZhMTBlNTM5MTdjNzVlZTQ0
MjFlZWUzNGM5MmVjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9KYXZhU2NyaXB0U291cmNlRnJhbWUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlRnJhbWUuanMKQEAgLTQxLDcgKzQxLDYgQEAg
V2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZSA9IGZ1bmN0aW9uKHNjcmlwdHNQYW5l
bCwgbW9kZWwsIHVpU291cmNlQ29kZSkKICAgICB0aGlzLl9tb2RlbCA9IG1vZGVsOwogICAgIHRo
aXMuX2JyZWFrcG9pbnRNYW5hZ2VyID0gdGhpcy5fbW9kZWwuYnJlYWtwb2ludE1hbmFnZXI7CiAg
ICAgdGhpcy5fdWlTb3VyY2VDb2RlID0gdWlTb3VyY2VDb2RlOwotICAgIHRoaXMuX2JyZWFrcG9p
bnRzID0ge307CiAKICAgICB2YXIgbG9jYXRpb25zID0gdGhpcy5fYnJlYWtwb2ludE1hbmFnZXIu
YnJlYWtwb2ludExvY2F0aW9uc0ZvclVJU291cmNlQ29kZSh0aGlzLl91aVNvdXJjZUNvZGUpOwog
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbG9jYXRpb25zLmxlbmd0aDsgKytpKQpAQCAtMTIxLDIw
ICsxMjAsMTggQEAgV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUg
PSB7CiAgICAgICAgIHZhciBvbGRDb250ZW50ID0gLyoqIEB0eXBlIHtzdHJpbmd9ICovIGV2ZW50
LmRhdGEub2xkQ29udGVudDsKICAgICAgICAgdmFyIGNvbnRlbnQgPSAvKiogQHR5cGUge3N0cmlu
Z30gKi8gZXZlbnQuZGF0YS5jb250ZW50OwogCi0gICAgICAgIHZhciBicmVha3BvaW50cyA9IHt9
OwotICAgICAgICBmb3IgKHZhciBsaW5lTnVtYmVyIGluIHRoaXMuX2JyZWFrcG9pbnRzKSB7Ci0g
ICAgICAgICAgICBicmVha3BvaW50c1tsaW5lTnVtYmVyXSA9IHRoaXMuX2JyZWFrcG9pbnRzW2xp
bmVOdW1iZXJdOwotICAgICAgICAgICAgdGhpcy5fYnJlYWtwb2ludHNbbGluZU51bWJlcl0ucmVt
b3ZlKCk7Ci0gICAgICAgIH0KKyAgICAgICAgdmFyIGJyZWFrcG9pbnRMb2NhdGlvbnMgPSB0aGlz
Ll9icmVha3BvaW50TWFuYWdlci5icmVha3BvaW50TG9jYXRpb25zRm9yVUlTb3VyY2VDb2RlKHRo
aXMuX3VpU291cmNlQ29kZSk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnJlYWtwb2lu
dExvY2F0aW9ucy5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIGJyZWFrcG9pbnRMb2NhdGlvbnNb
aV0uYnJlYWtwb2ludC5yZW1vdmUoKTsKICAgICAgICAgdGhpcy5zZXRDb250ZW50KGNvbnRlbnQs
IGZhbHNlLCAidGV4dC9qYXZhc2NyaXB0Iik7Ci0gICAgICAgIHRoaXMuX3VwZGF0ZUJyZWFrcG9p
bnRzQWZ0ZXJMaXZlRWRpdChvbGRDb250ZW50LCBjb250ZW50LCBicmVha3BvaW50cyk7CisgICAg
ICAgIHRoaXMuX3VwZGF0ZUJyZWFrcG9pbnRzQWZ0ZXJMaXZlRWRpdChvbGRDb250ZW50LCBjb250
ZW50LCBicmVha3BvaW50TG9jYXRpb25zKTsKICAgICB9LAogCiAgICAgcG9wdWxhdGVMaW5lR3V0
dGVyQ29udGV4dE1lbnU6IGZ1bmN0aW9uKGNvbnRleHRNZW51LCBsaW5lTnVtYmVyKQogICAgIHsK
ICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRlbShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoV2Vi
SW5zcGVjdG9yLnVzZUxvd2VyQ2FzZU1lbnVUaXRsZXMoKSA/ICJDb250aW51ZSB0byBoZXJlIiA6
ICJDb250aW51ZSB0byBIZXJlIiksIHRoaXMuX2NvbnRpbnVlVG9MaW5lLmJpbmQodGhpcywgbGlu
ZU51bWJlcikpOwogCi0gICAgICAgIHZhciBicmVha3BvaW50ID0gdGhpcy5fYnJlYWtwb2ludHNb
bGluZU51bWJlcl07CisgICAgICAgIHZhciBicmVha3BvaW50ID0gdGhpcy5fYnJlYWtwb2ludE1h
bmFnZXIuZmluZEJyZWFrcG9pbnQodGhpcy5fdWlTb3VyY2VDb2RlLCBsaW5lTnVtYmVyKTsKICAg
ICAgICAgaWYgKCFicmVha3BvaW50KSB7CiAgICAgICAgICAgICAvLyBUaGlzIHJvdyBkb2Vzbid0
IGhhdmUgYSBicmVha3BvaW50OiBXZSB3YW50IHRvIHNob3cgQWRkIEJyZWFrcG9pbnQgYW5kIEFk
ZCBhbmQgRWRpdCBCcmVha3BvaW50LgogICAgICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRl
bShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoV2ViSW5zcGVjdG9yLnVzZUxvd2VyQ2FzZU1lbnVUaXRs
ZXMoKSA/ICJBZGQgYnJlYWtwb2ludCIgOiAiQWRkIEJyZWFrcG9pbnQiKSwgdGhpcy5fc2V0QnJl
YWtwb2ludC5iaW5kKHRoaXMsIGxpbmVOdW1iZXIsICIiLCB0cnVlKSk7CkBAIC0xODEsMTUgKzE3
OCwxMyBAQCBXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZSA9IHsK
ICAgICB7CiAgICAgICAgIGlmICghdGhpcy5faXNEaXJ0eSkgewogICAgICAgICAgICAgLy8gRGlz
YWJsZSBhbGwgYnJlYWtwb2ludHMgaW4gdGhlIG1vZGVsLCBzdG9yZSB0aGVtIGFzIG11dGVkIGJy
ZWFrcG9pbnRzLgotICAgICAgICAgICAgZm9yICh2YXIgbGluZU51bWJlciA9IDA7IGxpbmVOdW1i
ZXIgPCB0aGlzLnRleHRNb2RlbC5saW5lc0NvdW50OyArK2xpbmVOdW1iZXIpIHsKLSAgICAgICAg
ICAgICAgICB2YXIgYnJlYWtwb2ludEF0dHJpYnV0ZSA9IHRoaXMudGV4dE1vZGVsLmdldEF0dHJp
YnV0ZShsaW5lTnVtYmVyLCAiYnJlYWtwb2ludCIpOwotICAgICAgICAgICAgICAgIGlmIChicmVh
a3BvaW50QXR0cmlidXRlKSB7Ci0gICAgICAgICAgICAgICAgICAgIHZhciBicmVha3BvaW50ID0g
dGhpcy5fYnJlYWtwb2ludHNbbGluZU51bWJlcl07Ci0gICAgICAgICAgICAgICAgICAgIGlmIChi
cmVha3BvaW50KQotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtwb2ludC5yZW1vdmUoKTsK
LSAgICAgICAgICAgICAgICAgICAgLy8gUmUtYWRkaW5nIGRlY29yYXRpb24gb25seS4KLSAgICAg
ICAgICAgICAgICAgICAgdGhpcy5fYWRkQnJlYWtwb2ludERlY29yYXRpb24obGluZU51bWJlciwg
YnJlYWtwb2ludEF0dHJpYnV0ZS5jb25kaXRpb24sIGJyZWFrcG9pbnRBdHRyaWJ1dGUuZW5hYmxl
ZCwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnRM
b2NhdGlvbnMgPSB0aGlzLl9icmVha3BvaW50TWFuYWdlci5icmVha3BvaW50TG9jYXRpb25zRm9y
VUlTb3VyY2VDb2RlKHRoaXMuX3VpU291cmNlQ29kZSk7CisgICAgICAgICAgICB2YXIgbGluZU51
bWJlcnMgPSB7fTsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnJlYWtwb2ludExv
Y2F0aW9ucy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAgIHZhciBicmVha3BvaW50ID0g
YnJlYWtwb2ludExvY2F0aW9uc1tpXS5icmVha3BvaW50OworICAgICAgICAgICAgICAgIGJyZWFr
cG9pbnRMb2NhdGlvbnNbaV0uYnJlYWtwb2ludC5yZW1vdmUoKTsKKyAgICAgICAgICAgICAgICAv
LyBSZS1hZGRpbmcgZGVjb3JhdGlvbiBvbmx5LgorICAgICAgICAgICAgICAgIHRoaXMuX2FkZEJy
ZWFrcG9pbnREZWNvcmF0aW9uKGJyZWFrcG9pbnRMb2NhdGlvbnNbaV0udWlMb2NhdGlvbi5saW5l
TnVtYmVyLCBicmVha3BvaW50LmNvbmRpdGlvbigpLCBicmVha3BvaW50LmVuYWJsZWQoKSwgdHJ1
ZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIApAQCAtMzg3LDcgKzM4Miw3IEBAIFdlYklu
c3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlID0gewogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB2YXIgbGluZU51bWJlciA9IHRhcmdldC5saW5lTnVtYmVyOwogCi0g
ICAgICAgIHZhciBicmVha3BvaW50ID0gdGhpcy5fYnJlYWtwb2ludHNbbGluZU51bWJlcl07Cisg
ICAgICAgIHZhciBicmVha3BvaW50ID0gdGhpcy5fYnJlYWtwb2ludE1hbmFnZXIuZmluZEJyZWFr
cG9pbnQodGhpcy5fdWlTb3VyY2VDb2RlLCBsaW5lTnVtYmVyKTsKICAgICAgICAgaWYgKGJyZWFr
cG9pbnQpIHsKICAgICAgICAgICAgIGlmIChldmVudC5zaGlmdEtleSkKICAgICAgICAgICAgICAg
ICBicmVha3BvaW50LnNldEVuYWJsZWQoIWJyZWFrcG9pbnQuZW5hYmxlZCgpKTsKQEAgLTUwMyw3
ICs0OTgsNiBAQCBXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZSA9
IHsKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICB2YXIgYnJlYWtwb2ludCA9IC8qKiBA
dHlwZSB7V2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLkJyZWFrcG9pbnR9ICovIGV2ZW50
LmRhdGEuYnJlYWtwb2ludDsKLSAgICAgICAgdGhpcy5fYnJlYWtwb2ludHNbdWlMb2NhdGlvbi5s
aW5lTnVtYmVyXSA9IGJyZWFrcG9pbnQ7CiAgICAgICAgIGlmICh0aGlzLmxvYWRlZCkKICAgICAg
ICAgICAgIHRoaXMuX2FkZEJyZWFrcG9pbnREZWNvcmF0aW9uKHVpTG9jYXRpb24ubGluZU51bWJl
ciwgYnJlYWtwb2ludC5jb25kaXRpb24oKSwgYnJlYWtwb2ludC5lbmFibGVkKCksIGZhbHNlKTsK
ICAgICB9LApAQCAtNTE1LDExICs1MDksMTAgQEAgV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3Vy
Y2VGcmFtZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdmFy
IGJyZWFrcG9pbnQgPSAvKiogQHR5cGUge1dlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5C
cmVha3BvaW50fSAqLyBldmVudC5kYXRhLmJyZWFrcG9pbnQ7Ci0gICAgICAgIGlmICh0aGlzLl9i
cmVha3BvaW50c1t1aUxvY2F0aW9uLmxpbmVOdW1iZXJdICE9PSBicmVha3BvaW50KQotICAgICAg
ICAgICAgcmV0dXJuOwotICAgICAgICBkZWxldGUgdGhpcy5fYnJlYWtwb2ludHNbdWlMb2NhdGlv
bi5saW5lTnVtYmVyXTsKLSAgICAgICAgaWYgKHRoaXMubG9hZGVkKQorICAgICAgICB2YXIgcmVt
YWluaW5nQnJlYWtwb2ludCA9IHRoaXMuX2JyZWFrcG9pbnRNYW5hZ2VyLmZpbmRCcmVha3BvaW50
KHRoaXMuX3VpU291cmNlQ29kZSwgdWlMb2NhdGlvbi5saW5lTnVtYmVyKTsKKyAgICAgICAgaWYg
KCFyZW1haW5pbmdCcmVha3BvaW50ICYmIHRoaXMubG9hZGVkKSB7CiAgICAgICAgICAgICB0aGlz
Ll9yZW1vdmVCcmVha3BvaW50RGVjb3JhdGlvbih1aUxvY2F0aW9uLmxpbmVOdW1iZXIpOworICAg
ICAgICB9CiAgICAgfSwKIAogICAgIF9jb25zb2xlTWVzc2FnZUFkZGVkOiBmdW5jdGlvbihldmVu
dCkKQEAgLTUzOSw5ICs1MzIsMTAgQEAgV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFt
ZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5fZXhlY3V0aW9uTGluZU51
bWJlciA9PT0gIm51bWJlciIpCiAgICAgICAgICAgICB0aGlzLnNldEV4ZWN1dGlvbkxpbmUodGhp
cy5fZXhlY3V0aW9uTGluZU51bWJlcik7CiAKLSAgICAgICAgZm9yICh2YXIgbGluZU51bWJlciBp
biB0aGlzLl9icmVha3BvaW50cykgewotICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnQgPSB0aGlz
Ll9icmVha3BvaW50c1tsaW5lTnVtYmVyXTsKLSAgICAgICAgICAgIHRoaXMuX2FkZEJyZWFrcG9p
bnREZWNvcmF0aW9uKHBhcnNlSW50KGxpbmVOdW1iZXIsIDEwKSwgYnJlYWtwb2ludC5jb25kaXRp
b24oKSwgYnJlYWtwb2ludC5lbmFibGVkKCksIGZhbHNlKTsKKyAgICAgICAgdmFyIGJyZWFrcG9p
bnRMb2NhdGlvbnMgPSB0aGlzLl9icmVha3BvaW50TWFuYWdlci5icmVha3BvaW50TG9jYXRpb25z
Rm9yVUlTb3VyY2VDb2RlKHRoaXMuX3VpU291cmNlQ29kZSk7CisgICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgYnJlYWtwb2ludExvY2F0aW9ucy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAg
dmFyIGJyZWFrcG9pbnQgPSBicmVha3BvaW50TG9jYXRpb25zW2ldLmJyZWFrcG9pbnQ7CisgICAg
ICAgICAgICB0aGlzLl9hZGRCcmVha3BvaW50RGVjb3JhdGlvbihicmVha3BvaW50TG9jYXRpb25z
W2ldLnVpTG9jYXRpb24ubGluZU51bWJlciwgYnJlYWtwb2ludC5jb25kaXRpb24oKSwgYnJlYWtw
b2ludC5lbmFibGVkKCksIGZhbHNlKTsKICAgICAgICAgfQogCiAgICAgICAgIHZhciBtZXNzYWdl
cyA9IHRoaXMuX3VpU291cmNlQ29kZS5jb25zb2xlTWVzc2FnZXMoKTsKQEAgLTU3MiwxMyArNTY2
LDE0IEBAIFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlID0gewog
ICAgIC8qKgogICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvbGRTb3VyY2UKICAgICAgKiBAcGFyYW0g
e3N0cmluZ30gbmV3U291cmNlCi0gICAgICogQHBhcmFtIHtPYmplY3QuPHN0cmluZywgV2ViSW5z
cGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLkJyZWFrcG9pbnQ+fSBicmVha3BvaW50cworICAgICAq
IEBwYXJhbSB7QXJyYXkuPE9iamVjdD59IGJyZWFrcG9pbnRMb2NhdGlvbnMKICAgICAgKi8KLSAg
ICBfdXBkYXRlQnJlYWtwb2ludHNBZnRlckxpdmVFZGl0OiBmdW5jdGlvbihvbGRTb3VyY2UsIG5l
d1NvdXJjZSwgYnJlYWtwb2ludHMpCisgICAgX3VwZGF0ZUJyZWFrcG9pbnRzQWZ0ZXJMaXZlRWRp
dDogZnVuY3Rpb24ob2xkU291cmNlLCBuZXdTb3VyY2UsIGJyZWFrcG9pbnRMb2NhdGlvbnMpCiAg
ICAgewogICAgICAgICAvLyBDbGVhciBhbmQgcmUtY3JlYXRlIGJyZWFrcG9pbnRzIGFjY29yZGlu
ZyB0byB0ZXh0IGRpZmYuCiAgICAgICAgIHZhciBkaWZmID0gQXJyYXkuZGlmZihvbGRTb3VyY2Uu
c3BsaXQoIlxuIiksIG5ld1NvdXJjZS5zcGxpdCgiXG4iKSk7Ci0gICAgICAgIGZvciAodmFyIGxp
bmVOdW1iZXIgaW4gYnJlYWtwb2ludHMpIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBi
cmVha3BvaW50TG9jYXRpb25zLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICB2YXIgbGluZU51
bWJlciA9IGJyZWFrcG9pbnRMb2NhdGlvbnNbaV0udWlMb2NhdGlvbi5saW5lTnVtYmVyOwogICAg
ICAgICAgICAgdmFyIG5ld0xpbmVOdW1iZXIgPSBkaWZmLmxlZnRbbGluZU51bWJlcl0ucm93Owog
ICAgICAgICAgICAgaWYgKG5ld0xpbmVOdW1iZXIgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAg
ICAgICAgIGZvciAodmFyIGkgPSBsaW5lTnVtYmVyIC0gMTsgaSA+PSAwOyAtLWkpIHsKQEAgLTU5
NCw3ICs1ODksNyBAQCBXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAo
bmV3TGluZU51bWJlciAhPT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGJyZWFr
cG9pbnQgPSBicmVha3BvaW50c1tsaW5lTnVtYmVyXTsKKyAgICAgICAgICAgICAgICB2YXIgYnJl
YWtwb2ludCA9IGJyZWFrcG9pbnRMb2NhdGlvbnNbaV0uYnJlYWtwb2ludDsKICAgICAgICAgICAg
ICAgICB0aGlzLl9zZXRCcmVha3BvaW50KG5ld0xpbmVOdW1iZXIsIGJyZWFrcG9pbnQuY29uZGl0
aW9uKCksIGJyZWFrcG9pbnQuZW5hYmxlZCgpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVz
dC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMK
aW5kZXggNmZiMjRiM2Y1NWZhOGFhYzY0ZDliOTdjZGU3ZDIzNTdkZDNhNDQxZS4uYjlmZjgyYTAy
Zjk1N2FhOTU3ZGFjNWY4ZWJkY2ZkMjM4YzMwNjZlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzCkBAIC0yMTcsOCArMjE3LDcgQEAg
SW5zcGVjdG9yVGVzdC5zZXRCcmVha3BvaW50ID0gZnVuY3Rpb24oc291cmNlRnJhbWUsIGxpbmVO
dW1iZXIsIGNvbmRpdGlvbiwgZW5hYmwKIAogSW5zcGVjdG9yVGVzdC5yZW1vdmVCcmVha3BvaW50
ID0gZnVuY3Rpb24oc291cmNlRnJhbWUsIGxpbmVOdW1iZXIpCiB7Ci0gICAgdmFyIGJyZWFrcG9p
bnQgPSBzb3VyY2VGcmFtZS5fYnJlYWtwb2ludHNbbGluZU51bWJlcl07Ci0gICAgYnJlYWtwb2lu
dC5yZW1vdmUoKTsKKyAgICBzb3VyY2VGcmFtZS5fYnJlYWtwb2ludE1hbmFnZXIuZmluZEJyZWFr
cG9pbnQoc291cmNlRnJhbWUuX3VpU291cmNlQ29kZSwgbGluZU51bWJlcikucmVtb3ZlKCk7CiB9
OwogCiAK
</data>
<flag name="review"
          id="146248"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>