<?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>28408</bug_id>
          
          <creation_ts>2009-08-17 13:21:24 -0700</creation_ts>
          <short_desc>WebInspector: Migrate call frames interaction to the InjectedScript-based schema.</short_desc>
          <delta_ts>2009-08-24 03:10:02 -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>1</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>140808</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-08-17 13:21:24 -0700</bug_when>
    <thetext>Migrate call frames interaction to the InjectedScript-based schema.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141941</commentid>
    <comment_count>1</comment_count>
      <attachid>38386</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-08-21 12:30:13 -0700</bug_when>
    <thetext>Created attachment 38386
patch

I also removed some direct InspectorController.inspectedWindow usages in this patch.
DatabasesPanel.js is now the only file that uses it, I saved it for another bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142295</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-08-24 03:10:02 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/inspector/front-end/CallStackSidebarPane.js
	M	WebCore/inspector/front-end/ConsoleView.js
	M	WebCore/inspector/front-end/DOMAgent.js
	M	WebCore/inspector/front-end/ElementsPanel.js
	M	WebCore/inspector/front-end/InjectedScript.js
	M	WebCore/inspector/front-end/ObjectPropertiesSection.js
	M	WebCore/inspector/front-end/ObjectProxy.js
	M	WebCore/inspector/front-end/ResourcesPanel.js
	M	WebCore/inspector/front-end/ScopeChainSidebarPane.js
	M	WebCore/inspector/front-end/ScriptsPanel.js
Committed r47703</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38386</attachid>
            <date>2009-08-21 12:30:13 -0700</date>
            <delta_ts>2009-08-21 17:27:10 -0700</delta_ts>
            <desc>patch</desc>
            <filename>call_frame</filename>
            <type>text/plain</type>
            <size>23676</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZmRkZDQyNC4uYTI5YWMxNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MiBAQAorMjAwOS0wOC0yMSAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5
IEhhdGNoZXIuCisKKyAgICAgICAgV2ViSW5zcGVjdG9yOiBNaWdyYXRlIGNhbGwgZnJhbWVzIGlu
dGVyYWN0aW9uIHRvIHRoZSBJbmplY3RlZFNjcmlwdC1iYXNlZCBzY2hlbWEuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4NDA4CisKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NhbGxTdGFja1NpZGViYXJQYW5lLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNhbGxTdGFja1NpZGViYXJQYW5lLnByb3RvdHlwZS51cGRhdGUpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLmRvRXZhbEluV2luZG93KToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5Db25zb2xlVGV4dE1lc3NhZ2UpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvRE9NQWdlbnQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NQWdlbnQucHJv
dG90eXBlLmdldCBkb21XaW5kb3cpOgorICAgICAgICAoSW5zcGVjdG9yQ29udHJvbGxlci5vcGVu
SW5JbnNwZWN0ZWRXaW5kb3cpOgorICAgICAgICAoSW5zcGVjdG9yQ29udHJvbGxlci5nZXRDYWxs
RnJhbWVzKToKKyAgICAgICAgKEluc3BlY3RvckNvbnRyb2xsZXIuZXZhbHVhdGVJbkNhbGxGcmFt
ZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlLnJlc2V0KToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZS5nZW5lcmF0ZVN0eWxlc2hl
ZXQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSW5qZWN0ZWRTY3JpcHQuanM6Cisg
ICAgICAgIChJbmplY3RlZFNjcmlwdC5ldmFsdWF0ZSk6CisgICAgICAgIChJbmplY3RlZFNjcmlw
dC5fZXZhbHVhdGVPbik6CisgICAgICAgIChJbmplY3RlZFNjcmlwdC5vcGVuSW5JbnNwZWN0ZWRX
aW5kb3cpOgorICAgICAgICAoSW5qZWN0ZWRTY3JpcHQuZ2V0Q2FsbEZyYW1lcyk6CisgICAgICAg
IChJbmplY3RlZFNjcmlwdC5ldmFsdWF0ZUluQ2FsbEZyYW1lKToKKyAgICAgICAgKEluamVjdGVk
U2NyaXB0Ll9jYWxsRnJhbWVGb3JJZCk6CisgICAgICAgIChJbmplY3RlZFNjcmlwdC5fb2JqZWN0
Rm9ySWQpOgorICAgICAgICAoSW5qZWN0ZWRTY3JpcHQuQ2FsbEZyYW1lUHJveHkpOgorICAgICAg
ICAoSW5qZWN0ZWRTY3JpcHQuQ2FsbEZyYW1lUHJveHkucHJvdG90eXBlLl93cmFwU2NvcGVDaGFp
bik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9wZXJ0aWVzU2VjdGlv
bi5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5wcm90
b3R5cGUuX3VwZGF0ZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm94
eS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0eVByb3h5KToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlJlc291cmNlU2lkZWJhclRyZWVFbGVtZW50LnByb3RvdHlwZS5vbmRibGNsaWNr
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Njb3BlQ2hhaW5TaWRlYmFyUGFuZS5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY29wZUNoYWluU2lkZWJhclBhbmUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNjb3BlQ2hhaW5TaWRlYmFyUGFuZS5wcm90b3R5cGUudXBkYXRlKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5TY29wZVZhcmlhYmxlVHJlZUVsZW1lbnQucHJvdG90eXBl
Lm9uYXR0YWNoKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY29wZVZhcmlhYmxlVHJlZUVsZW1l
bnQucHJvdG90eXBlLm9uZXhwYW5kKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY29wZVZhcmlh
YmxlVHJlZUVsZW1lbnQucHJvdG90eXBlLm9uY29sbGFwc2UpOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlw
dHNQYW5lbC5wcm90b3R5cGUuZG9FdmFsSW5DYWxsRnJhbWUpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUudmFyaWFibGVzSW5TZWxlY3RlZENhbGxGcmFtZSk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5kZWJ1Z2dlclBh
dXNlZC5jYWxsYmFjayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3Rv
dHlwZS5kZWJ1Z2dlclBhdXNlZCk6CisKIDIwMDktMDgtMjAgIENocmlzIEZsZWl6YWNoICA8Y2Zs
ZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DYWxsU3RhY2tTaWRlYmFyUGFu
ZS5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DYWxsU3RhY2tTaWRlYmFyUGFuZS5q
cwppbmRleCBjMDhjYzdhLi4yZmU0MzE1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvQ2FsbFN0YWNrU2lkZWJhclBhbmUuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0NhbGxTdGFja1NpZGViYXJQYW5lLmpzCkBAIC0zOSwxNCArMzksMTQgQEAgV2Vi
SW5zcGVjdG9yLkNhbGxTdGFja1NpZGViYXJQYW5lID0gZnVuY3Rpb24oKQogfQogCiBXZWJJbnNw
ZWN0b3IuQ2FsbFN0YWNrU2lkZWJhclBhbmUucHJvdG90eXBlID0gewotICAgIHVwZGF0ZTogZnVu
Y3Rpb24oY2FsbEZyYW1lLCBzb3VyY2VJRE1hcCkKKyAgICB1cGRhdGU6IGZ1bmN0aW9uKGNhbGxG
cmFtZXMsIHNvdXJjZUlETWFwKQogICAgIHsKICAgICAgICAgdGhpcy5ib2R5RWxlbWVudC5yZW1v
dmVDaGlsZHJlbigpOwogCiAgICAgICAgIHRoaXMucGxhY2FyZHMgPSBbXTsKICAgICAgICAgZGVs
ZXRlIHRoaXMuX3NlbGVjdGVkQ2FsbEZyYW1lOwogCi0gICAgICAgIGlmICghY2FsbEZyYW1lKSB7
CisgICAgICAgIGlmICghY2FsbEZyYW1lcykgewogICAgICAgICAgICAgdmFyIGluZm9FbGVtZW50
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgICAgICAgICBpbmZvRWxlbWVu
dC5jbGFzc05hbWUgPSAiaW5mbyI7CiAgICAgICAgICAgICBpbmZvRWxlbWVudC50ZXh0Q29udGVu
dCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTm90IFBhdXNlZCIpOwpAQCAtNTgsNyArNTgsOCBA
QCBXZWJJbnNwZWN0b3IuQ2FsbFN0YWNrU2lkZWJhclBhbmUucHJvdG90eXBlID0gewogICAgICAg
ICB2YXIgc3VidGl0bGU7CiAgICAgICAgIHZhciBzY3JpcHRPclJlc291cmNlOwogCi0gICAgICAg
IGRvIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjYWxsRnJhbWVzLmxlbmd0aDsgKytp
KSB7CisgICAgICAgICAgICB2YXIgY2FsbEZyYW1lID0gY2FsbEZyYW1lc1tpXTsKICAgICAgICAg
ICAgIHN3aXRjaCAoY2FsbEZyYW1lLnR5cGUpIHsKICAgICAgICAgICAgIGNhc2UgImZ1bmN0aW9u
IjoKICAgICAgICAgICAgICAgICB0aXRsZSA9IGNhbGxGcmFtZS5mdW5jdGlvbk5hbWUgfHwgV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCIoYW5vbnltb3VzIGZ1bmN0aW9uKSIpOwpAQCAtODUsOSArODYs
NyBAQCBXZWJJbnNwZWN0b3IuQ2FsbFN0YWNrU2lkZWJhclBhbmUucHJvdG90eXBlID0gewogCiAg
ICAgICAgICAgICB0aGlzLnBsYWNhcmRzLnB1c2gocGxhY2FyZCk7CiAgICAgICAgICAgICB0aGlz
LmJvZHlFbGVtZW50LmFwcGVuZENoaWxkKHBsYWNhcmQuZWxlbWVudCk7Ci0KLSAgICAgICAgICAg
IGNhbGxGcmFtZSA9IGNhbGxGcmFtZS5jYWxsZXI7Ci0gICAgICAgIH0gd2hpbGUgKGNhbGxGcmFt
ZSk7CisgICAgICAgIH0KICAgICB9LAogCiAgICAgZ2V0IHNlbGVjdGVkQ2FsbEZyYW1lKCkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcyBiL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwppbmRleCA4ODRkOWZmLi40
MmZmM2Y3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZp
ZXcuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCkBA
IC0zNDMsMTMgKzM0Myw5IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUgPSB7
CiAgICAgICAgICAgICBleHByZXNzaW9uID0gInRoaXMiOwogICAgICAgICB9CiAKLSAgICAgICAg
dmFyIHNlbGYgPSB0aGlzOwogICAgICAgICBmdW5jdGlvbiBldmFsQ2FsbGJhY2socmVzdWx0KQog
ICAgICAgICB7Ci0gICAgICAgICAgICBpZiAocmVzdWx0LmV4Y2VwdGlvbikKLSAgICAgICAgICAg
ICAgICBjYWxsYmFjayhyZXN1bHQuZXhjZXB0aW9uLCB0cnVlKTsKLSAgICAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgICAgICBjYWxsYmFjayhyZXN1bHQudmFsdWUsIGZhbHNlKTsKKyAgICAgICAg
ICAgIGNhbGxiYWNrKHJlc3VsdC52YWx1ZSwgcmVzdWx0LmlzRXhjZXB0aW9uKTsKICAgICAgICAg
fTsKICAgICAgICAgSW5zcGVjdG9yQ29udHJvbGxlci5ldmFsdWF0ZShleHByZXNzaW9uLCBldmFs
Q2FsbGJhY2spOwogICAgIH0sCkBAIC01ODEsNyArNTc3LDcgQEAgV2ViSW5zcGVjdG9yLkNvbnNv
bGVNZXNzYWdlLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3Iu
Y29uc29sZS5fZm9ybWF0KG9iaiwgdHJ1ZSk7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoT2Jq
ZWN0LnR5cGUocGFyYW1ldGVyc1swXSwgSW5zcGVjdG9yQ29udHJvbGxlci5pbnNwZWN0ZWRXaW5k
b3coKSkgPT09ICJzdHJpbmciKSB7CisgICAgICAgIGlmICh0eXBlb2YgcGFyYW1ldGVyc1swXSA9
PT0gInN0cmluZyIpIHsKICAgICAgICAgICAgIHZhciBmb3JtYXR0ZXJzID0ge30KICAgICAgICAg
ICAgIGZvciAodmFyIGkgaW4gU3RyaW5nLnN0YW5kYXJkRm9ybWF0dGVycykKICAgICAgICAgICAg
ICAgICBmb3JtYXR0ZXJzW2ldID0gU3RyaW5nLnN0YW5kYXJkRm9ybWF0dGVyc1tpXTsKQEAgLTgz
NSw2ICs4MzEsMTQgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVDb21tYW5kLnByb3RvdHlwZSA9IHsK
ICAgICB9CiB9CiAKK1dlYkluc3BlY3Rvci5Db25zb2xlVGV4dE1lc3NhZ2UgPSBmdW5jdGlvbih0
ZXh0LCBsZXZlbCkKK3sKKyAgICBsZXZlbCA9IGxldmVsIHx8IFdlYkluc3BlY3Rvci5Db25zb2xl
TWVzc2FnZS5NZXNzYWdlTGV2ZWwuTG9nOworICAgIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2Fn
ZS5jYWxsKHRoaXMsIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlU291cmNlLkpT
LCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZVR5cGUuTG9nLCBsZXZlbCwgMCwg
bnVsbCwgbnVsbCwgMSwgdGV4dCk7Cit9CisKK1dlYkluc3BlY3Rvci5Db25zb2xlVGV4dE1lc3Nh
Z2UucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5wcm90
b3R5cGU7CisKIFdlYkluc3BlY3Rvci5Db25zb2xlQ29tbWFuZFJlc3VsdCA9IGZ1bmN0aW9uKHJl
c3VsdCwgZXhjZXB0aW9uLCBvcmlnaW5hdGluZ0NvbW1hbmQpCiB7CiAgICAgdmFyIGxldmVsID0g
KGV4Y2VwdGlvbiA/IFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlTGV2ZWwuRXJy
b3IgOiBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZUxldmVsLkxvZyk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanMgYi9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanMKaW5kZXggYTMyMDA5Yi4uNzU4OTkwYyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzCisrKyBi
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qcwpAQCAtMzE1LDcgKzMxNSw3
IEBAIFdlYkluc3BlY3Rvci5ET01BZ2VudCA9IGZ1bmN0aW9uKCkgewogfQogCiBXZWJJbnNwZWN0
b3IuRE9NQWdlbnQucHJvdG90eXBlID0gewotICAgIGdldCBpbnNwZWN0ZWRXaW5kb3coKQorICAg
IGdldCBkb21XaW5kb3coKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX3dpbmRvdzsKICAg
ICB9LApAQCAtNzM5LDMgKzczOSwyNCBAQCBJbnNwZWN0b3JDb250cm9sbGVyLmdldENvb2tpZXMg
PSBmdW5jdGlvbihjYWxsYmFjaykKICAgICAgICAgY2FsbGJhY2soSW5qZWN0ZWRTY3JpcHQuZ2V0
Q29va2llcygpKTsKICAgICB9LCAwKTsKIH0KKworSW5zcGVjdG9yQ29udHJvbGxlci5vcGVuSW5J
bnNwZWN0ZWRXaW5kb3cgPSBmdW5jdGlvbih1cmwsIGNhbGxiYWNrKQoreworICAgIHNldFRpbWVv
dXQoZnVuY3Rpb24oKSB7CisgICAgICAgIGNhbGxiYWNrKEluamVjdGVkU2NyaXB0Lm9wZW5Jbklu
c3BlY3RlZFdpbmRvdyh1cmwpKTsKKyAgICB9LCAwKTsKK30KKworSW5zcGVjdG9yQ29udHJvbGxl
ci5nZXRDYWxsRnJhbWVzID0gZnVuY3Rpb24oY2FsbGJhY2spCit7CisgICAgc2V0VGltZW91dChm
dW5jdGlvbigpIHsKKyAgICAgICAgY2FsbGJhY2soSW5qZWN0ZWRTY3JpcHQuZ2V0Q2FsbEZyYW1l
cygpKTsKKyAgICB9LCAwKTsKK30KKworSW5zcGVjdG9yQ29udHJvbGxlci5ldmFsdWF0ZUluQ2Fs
bEZyYW1lID0gZnVuY3Rpb24oY2FsbEZyYW1lSWQsIGNvZGUsIGNhbGxiYWNrKQoreworICAgIHNl
dFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgIGNhbGxiYWNrKEluamVjdGVkU2NyaXB0LmV2
YWx1YXRlSW5DYWxsRnJhbWUoY2FsbEZyYW1lSWQsIGNvZGUpKTsKKyAgICB9LCAwKTsKK30KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzIGIv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMKaW5kZXggMTc0ODE1
OS4uYjI2YWIyZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1l
bnRzUGFuZWwuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFu
ZWwuanMKQEAgLTE3NSw4ICsxNzUsOCBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90
b3R5cGUgPSB7CiAgICAgICAgIGRlbGV0ZSB0aGlzLmN1cnJlbnRRdWVyeTsKICAgICAgICAgdGhp
cy5zZWFyY2hDYW5jZWxlZCgpOwogCi0gICAgICAgIHZhciBpbnNwZWN0ZWRXaW5kb3cgPSBXZWJJ
bnNwZWN0b3IuZG9tQWdlbnQuaW5zcGVjdGVkV2luZG93OwotICAgICAgICBpZiAoIWluc3BlY3Rl
ZFdpbmRvdyB8fCAhaW5zcGVjdGVkV2luZG93LmRvY3VtZW50IHx8ICFpbnNwZWN0ZWRXaW5kb3cu
ZG9jdW1lbnQuZmlyc3RDaGlsZCkKKyAgICAgICAgdmFyIGRvbVdpbmRvdyA9IFdlYkluc3BlY3Rv
ci5kb21BZ2VudC5kb21XaW5kb3c7CisgICAgICAgIGlmICghZG9tV2luZG93IHx8ICFkb21XaW5k
b3cuZG9jdW1lbnQgfHwgIWRvbVdpbmRvdy5kb2N1bWVudC5maXJzdENoaWxkKQogICAgICAgICAg
ICAgcmV0dXJuOwogCiAgICAgICAgIC8vIElmIHRoZSB3aW5kb3cgaXNuJ3QgdmlzaWJsZSwgcmV0
dXJuIGVhcmx5IHNvIHRoZSBET00gdHJlZSBpc24ndCBidWlsdApAQCAtMTg0LDcgKzE4NCw3IEBA
IFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKCFJ
bnNwZWN0b3JDb250cm9sbGVyLmlzV2luZG93VmlzaWJsZSgpKQogICAgICAgICAgICAgcmV0dXJu
OwogCi0gICAgICAgIHZhciBpbnNwZWN0ZWRSb290RG9jdW1lbnQgPSBpbnNwZWN0ZWRXaW5kb3cu
ZG9jdW1lbnQ7CisgICAgICAgIHZhciBpbnNwZWN0ZWRSb290RG9jdW1lbnQgPSBkb21XaW5kb3cu
ZG9jdW1lbnQ7CiAgICAgICAgIGluc3BlY3RlZFJvb3REb2N1bWVudC5hZGRFdmVudExpc3RlbmVy
KCJET01Ob2RlSW5zZXJ0ZWQiLCB0aGlzLl9ub2RlSW5zZXJ0ZWQuYmluZCh0aGlzKSk7CiAgICAg
ICAgIGluc3BlY3RlZFJvb3REb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Ob2RlUmVtb3Zl
ZCIsIHRoaXMuX25vZGVSZW1vdmVkLmJpbmQodGhpcykpOwogCkBAIC00MDgsOCArNDA4LDcgQEAg
V2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB9CiAKICAg
ICAgICAgV2ViSW5zcGVjdG9yLnNob3dDb25zb2xlKCk7Ci0gICAgICAgIHZhciByZXN1bHQgPSBi
dWlsZGVyLmpvaW4oIlxuIik7Ci0gICAgICAgIEluc3BlY3RvckNvbnRyb2xsZXIuaW5zcGVjdGVk
V2luZG93KCkuY29uc29sZS5sb2cocmVzdWx0KTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLmNvbnNv
bGUuYWRkTWVzc2FnZShuZXcgV2ViSW5zcGVjdG9yLkNvbnNvbGVUZXh0TWVzc2FnZShidWlsZGVy
LmpvaW4oIlxuIikpKTsKICAgICB9LAogCiAgICAgZ2V0IHJvb3RET01Ob2RlKCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbmplY3RlZFNjcmlwdC5qcyBiL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbmplY3RlZFNjcmlwdC5qcwppbmRleCA5Yzc0Y2I2Li41
OTViZmFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5qZWN0ZWRT
Y3JpcHQuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0
LmpzCkBAIC00OTEsNiArNDkxLDExIEBAIEluamVjdGVkU2NyaXB0LnNldFByb3BlcnR5VmFsdWUg
PSBmdW5jdGlvbihvYmplY3RQcm94eSwgcHJvcGVydHlOYW1lLCBleHByZXNzaW9uCiAKIEluamVj
dGVkU2NyaXB0LmV2YWx1YXRlID0gZnVuY3Rpb24oZXhwcmVzc2lvbikKIHsKKyAgICByZXR1cm4g
SW5qZWN0ZWRTY3JpcHQuX2V2YWx1YXRlT24oSW5qZWN0ZWRTY3JpcHQuX3dpbmRvdygpLmV2YWws
IEluamVjdGVkU2NyaXB0Ll93aW5kb3coKSwgZXhwcmVzc2lvbik7Cit9CisKK0luamVjdGVkU2Ny
aXB0Ll9ldmFsdWF0ZU9uID0gZnVuY3Rpb24oZXZhbEZ1bmN0aW9uLCBvYmplY3QsIGV4cHJlc3Np
b24pCit7CiAgICAgSW5qZWN0ZWRTY3JpcHQuX2Vuc3VyZUNvbW1hbmRMaW5lQVBJSW5zdGFsbGVk
KCk7CiAgICAgLy8gU3Vycm91bmQgdGhlIGV4cHJlc3Npb24gaW4gd2l0aCBzdGF0ZW1lbnRzIHRv
IGluamVjdCBvdXIgY29tbWFuZCBsaW5lIEFQSSBzbyB0aGF0CiAgICAgLy8gdGhlIHdpbmRvdyBv
YmplY3QgcHJvcGVydGllcyBzdGlsbCB0YWtlIG1vcmUgcHJlY2VkZW50IHRoYW4gb3VyIEFQSSBm
dW5jdGlvbnMuCkBAIC00OTgsMTQgKzUwMywxNyBAQCBJbmplY3RlZFNjcmlwdC5ldmFsdWF0ZSA9
IGZ1bmN0aW9uKGV4cHJlc3Npb24pCiAKICAgICB2YXIgcmVzdWx0ID0ge307CiAgICAgdHJ5IHsK
LSAgICAgICAgdmFyIHZhbHVlID0gSW5qZWN0ZWRTY3JpcHQuX3dpbmRvdygpLmV2YWwoZXhwcmVz
c2lvbik7CisgICAgICAgIHZhciB2YWx1ZSA9IGV2YWxGdW5jdGlvbi5jYWxsKG9iamVjdCwgZXhw
cmVzc2lvbik7CiAgICAgICAgIHZhciB3cmFwcGVyID0gSW5zcGVjdG9yQ29udHJvbGxlci53cmFw
T2JqZWN0KHZhbHVlKTsKLSAgICAgICAgaWYgKHR5cGVvZiB3cmFwcGVyID09PSAib2JqZWN0IiAm
JiB3cmFwcGVyLmV4Y2VwdGlvbikKLSAgICAgICAgICAgIHJlc3VsdC5leGNlcHRpb24gPSB3cmFw
cGVyLmV4Y2VwdGlvbjsKLSAgICAgICAgZWxzZQorICAgICAgICBpZiAodHlwZW9mIHdyYXBwZXIg
PT09ICJvYmplY3QiICYmIHdyYXBwZXIuZXhjZXB0aW9uKSB7CisgICAgICAgICAgICByZXN1bHQu
dmFsdWUgPSB3cmFwcGVyLmV4Y2VwdGlvbjsKKyAgICAgICAgICAgIHJlc3VsdC5pc0V4Y2VwdGlv
biA9IHRydWU7CisgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICByZXN1bHQudmFsdWUgPSB3
cmFwcGVyOworICAgICAgICB9CiAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICByZXN1bHQuZXhj
ZXB0aW9uID0gZS50b1N0cmluZygpOworICAgICAgICByZXN1bHQudmFsdWUgPSBlLnRvU3RyaW5n
KCk7CisgICAgICAgIHJlc3VsdC5pc0V4Y2VwdGlvbiA9IHRydWU7CiAgICAgfQogICAgIHJldHVy
biByZXN1bHQ7CiB9CkBAIC03NjQsNiArNzcyLDQyIEBAIEluamVjdGVkU2NyaXB0LmdldENvb2tp
ZXMgPSBmdW5jdGlvbigpCiAgICAgcmV0dXJuIEluamVjdGVkU2NyaXB0Ll93aW5kb3coKS5kb2N1
bWVudC5jb29raWU7CiB9CiAKK0luamVjdGVkU2NyaXB0Lm9wZW5Jbkluc3BlY3RlZFdpbmRvdyA9
IGZ1bmN0aW9uKHVybCkKK3sKKyAgICBJbmplY3RlZFNjcmlwdC5fd2luZG93KCkub3Blbih1cmwp
OworfQorCitJbmplY3RlZFNjcmlwdC5nZXRDYWxsRnJhbWVzID0gZnVuY3Rpb24oKQoreworICAg
IHZhciBjYWxsRnJhbWUgPSBJbnNwZWN0b3JDb250cm9sbGVyLmN1cnJlbnRDYWxsRnJhbWUoKTsK
KyAgICBpZiAoIWNhbGxGcmFtZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgdmFyIHJl
c3VsdCA9IFtdOworICAgIHZhciBkZXB0aCA9IDA7CisgICAgZG8geworICAgICAgICByZXN1bHQu
cHVzaChuZXcgSW5qZWN0ZWRTY3JpcHQuQ2FsbEZyYW1lUHJveHkoZGVwdGgrKywgY2FsbEZyYW1l
KSk7CisgICAgICAgIGNhbGxGcmFtZSA9IGNhbGxGcmFtZS5jYWxsZXI7CisgICAgfSB3aGlsZSAo
Y2FsbEZyYW1lKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitJbmplY3RlZFNjcmlwdC5ldmFs
dWF0ZUluQ2FsbEZyYW1lID0gZnVuY3Rpb24oY2FsbEZyYW1lSWQsIGNvZGUpCit7CisgICAgdmFy
IGNhbGxGcmFtZSA9IEluamVjdGVkU2NyaXB0Ll9jYWxsRnJhbWVGb3JJZChjYWxsRnJhbWVJZCk7
CisgICAgaWYgKCFjYWxsRnJhbWUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4g
SW5qZWN0ZWRTY3JpcHQuX2V2YWx1YXRlT24oY2FsbEZyYW1lLmV2YWx1YXRlLCBjYWxsRnJhbWUs
IGNvZGUpOworfQorCitJbmplY3RlZFNjcmlwdC5fY2FsbEZyYW1lRm9ySWQgPSBmdW5jdGlvbihp
ZCkKK3sKKyAgICB2YXIgY2FsbEZyYW1lID0gSW5zcGVjdG9yQ29udHJvbGxlci5jdXJyZW50Q2Fs
bEZyYW1lKCk7CisgICAgd2hpbGUgKC0taWQgPj0gMCAmJiBjYWxsRnJhbWUpCisgICAgICAgIGNh
bGxGcmFtZSA9IGNhbGxGcmFtZS5jYWxsZXI7CisgICAgcmV0dXJuIGNhbGxGcmFtZTsKK30KKwog
SW5qZWN0ZWRTY3JpcHQuX2Vuc3VyZUNvbW1hbmRMaW5lQVBJSW5zdGFsbGVkID0gZnVuY3Rpb24o
aW5zcGVjdGVkV2luZG93KQogewogICAgIHZhciBpbnNwZWN0ZWRXaW5kb3cgPSBJbmplY3RlZFNj
cmlwdC5fd2luZG93KCk7CkBAIC04NTQsMTIgKzg5OCwyMSBAQCBJbmplY3RlZFNjcmlwdC5fbm9k
ZUZvcklkID0gZnVuY3Rpb24obm9kZUlkKQogCiBJbmplY3RlZFNjcmlwdC5fb2JqZWN0Rm9ySWQg
PSBmdW5jdGlvbihvYmplY3RJZCkKIHsKLSAgICBpZiAodHlwZW9mIG9iamVjdElkID09PSAibnVt
YmVyIikKKyAgICAvLyBUaGVyZSBhcmUgdGhyZWUgdHlwZXMgb2Ygb2JqZWN0IGlkcyB1c2VkOgor
ICAgIC8vIC0gbnVtYmVycyBwb2ludCB0byBET00gTm9kZSB2aWEgdGhlIEluc3BlY3RvckRPTUFn
ZW50IG1hcHBpbmcKKyAgICAvLyAtIHN0cmluZ3MgcG9pbnQgdG8gY29uc29sZSBvYmplY3RzIGNh
Y2hlZCBpbiBJbnNwZWN0b3JDb250cm9sbGVyIGZvciBsYXp5IGV2YWx1YXRpb24gdXBvbiB0aGVt
CisgICAgLy8gLSBvYmplY3RzIGNvbnRhaW4gY29tcGxleCBpZHMgYW5kIGFyZSBjdXJyZW50bHkg
dXNlZCBmb3Igc2NvcGVkIG9iamVjdHMKKyAgICBpZiAodHlwZW9mIG9iamVjdElkID09PSAibnVt
YmVyIikgewogICAgICAgICByZXR1cm4gSW5qZWN0ZWRTY3JpcHQuX25vZGVGb3JJZChvYmplY3RJ
ZCk7Ci0gICAgZWxzZSBpZiAodHlwZW9mIG9iamVjdElkID09PSAic3RyaW5nIikKKyAgICB9IGVs
c2UgaWYgKHR5cGVvZiBvYmplY3RJZCA9PT0gInN0cmluZyIpIHsKICAgICAgICAgcmV0dXJuIElu
c3BlY3RvckNvbnRyb2xsZXIudW53cmFwT2JqZWN0KG9iamVjdElkKTsKLQotICAgIC8vIFRPRE86
IG1vdmUgc2NvcGUgY2hhaW4gb2JqZWN0cyB0byBwcm94eS1iYXNlZCBzY2hlbWEuCisgICAgfSBl
bHNlIGlmICh0eXBlb2Ygb2JqZWN0SWQgPT09ICJvYmplY3QiKSB7CisgICAgICAgIHZhciBjYWxs
RnJhbWUgPSBJbmplY3RlZFNjcmlwdC5fY2FsbEZyYW1lRm9ySWQob2JqZWN0SWQuY2FsbEZyYW1l
KTsKKyAgICAgICAgaWYgKG9iamVjdElkLnRoaXNPYmplY3QpCisgICAgICAgICAgICByZXR1cm4g
Y2FsbEZyYW1lLnRoaXNPYmplY3Q7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJldHVybiBj
YWxsRnJhbWUuc2NvcGVDaGFpbltvYmplY3RJZC5jaGFpbkluZGV4XTsKKyAgICB9CiAgICAgcmV0
dXJuIG9iamVjdElkOwogfQogCkBAIC04OTIsMyArOTQ1LDQ3IEBAIEluamVjdGVkU2NyaXB0LmNy
ZWF0ZVByb3h5T2JqZWN0ID0gZnVuY3Rpb24ob2JqZWN0LCBvYmplY3RJZCkKICAgICB9CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KKworSW5qZWN0ZWRTY3JpcHQuQ2FsbEZyYW1lUHJveHkgPSBmdW5j
dGlvbihpZCwgY2FsbEZyYW1lKQoreworICAgIHRoaXMuaWQgPSBpZDsKKyAgICB0aGlzLnR5cGUg
PSBjYWxsRnJhbWUudHlwZTsKKyAgICB0aGlzLmZ1bmN0aW9uTmFtZSA9IGNhbGxGcmFtZS5mdW5j
dGlvbk5hbWU7CisgICAgdGhpcy5zb3VyY2VJRCA9IGNhbGxGcmFtZS5zb3VyY2VJRDsKKyAgICB0
aGlzLmxpbmUgPSBjYWxsRnJhbWUubGluZTsKKyAgICB0aGlzLnNjb3BlQ2hhaW4gPSB0aGlzLl93
cmFwU2NvcGVDaGFpbihjYWxsRnJhbWUpOworfQorCitJbmplY3RlZFNjcmlwdC5DYWxsRnJhbWVQ
cm94eS5wcm90b3R5cGUgPSB7CisgICAgX3dyYXBTY29wZUNoYWluOiBmdW5jdGlvbihjYWxsRnJh
bWUpCisgICAgeworICAgICAgICB2YXIgZm91bmRMb2NhbFNjb3BlID0gZmFsc2U7CisgICAgICAg
IHZhciBzY29wZUNoYWluID0gY2FsbEZyYW1lLnNjb3BlQ2hhaW47CisgICAgICAgIHZhciBzY29w
ZUNoYWluUHJveHkgPSBbXTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzY29wZUNoYWlu
Lmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICB2YXIgc2NvcGVPYmplY3QgPSBzY29wZUNoYWlu
W2ldOworICAgICAgICAgICAgdmFyIHNjb3BlT2JqZWN0UHJveHkgPSBJbmplY3RlZFNjcmlwdC5j
cmVhdGVQcm94eU9iamVjdChzY29wZU9iamVjdCwgeyBjYWxsRnJhbWU6IHRoaXMuaWQsIGNoYWlu
SW5kZXg6IGkgfSk7CisgICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5j
YWxsKHNjb3BlT2JqZWN0KSA9PT0gIltvYmplY3QgSlNBY3RpdmF0aW9uXSIpIHsKKyAgICAgICAg
ICAgICAgICBpZiAoIWZvdW5kTG9jYWxTY29wZSkKKyAgICAgICAgICAgICAgICAgICAgc2NvcGVP
YmplY3RQcm94eS50aGlzT2JqZWN0ID0gSW5qZWN0ZWRTY3JpcHQuY3JlYXRlUHJveHlPYmplY3Qo
Y2FsbEZyYW1lLnRoaXNPYmplY3QsIHsgY2FsbEZyYW1lOiB0aGlzLmlkLCB0aGlzT2JqZWN0OiB0
cnVlIH0pOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgc2NvcGVP
YmplY3RQcm94eS5pc0Nsb3N1cmUgPSB0cnVlOworICAgICAgICAgICAgICAgIGZvdW5kTG9jYWxT
Y29wZSA9IHRydWU7CisgICAgICAgICAgICAgICAgc2NvcGVPYmplY3RQcm94eS5pc0xvY2FsID0g
dHJ1ZTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoZm91bmRMb2NhbFNjb3BlICYmIHNjb3BlT2Jq
ZWN0IGluc3RhbmNlb2YgSW5qZWN0ZWRTY3JpcHQuX3dpbmRvdygpLkVsZW1lbnQpCisgICAgICAg
ICAgICAgICAgc2NvcGVPYmplY3RQcm94eS5pc0VsZW1lbnQgPSB0cnVlOworICAgICAgICAgICAg
ZWxzZSBpZiAoZm91bmRMb2NhbFNjb3BlICYmIHNjb3BlT2JqZWN0IGluc3RhbmNlb2YgSW5qZWN0
ZWRTY3JpcHQuX3dpbmRvdygpLkRvY3VtZW50KQorICAgICAgICAgICAgICAgIHNjb3BlT2JqZWN0
UHJveHkuaXNEb2N1bWVudCA9IHRydWU7CisgICAgICAgICAgICBlbHNlIGlmICghZm91bmRMb2Nh
bFNjb3BlICYmICFsb2NhbFNjb3BlKQorICAgICAgICAgICAgICAgIHNjb3BlT2JqZWN0UHJveHku
aXNXaXRoQmxvY2sgPSB0cnVlOworICAgICAgICAgICAgc2NvcGVPYmplY3RQcm94eS5wcm9wZXJ0
aWVzID0gW107CisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgIGZvciAodmFyIHBy
b3BlcnR5TmFtZSBpbiBzY29wZU9iamVjdCkKKyAgICAgICAgICAgICAgICAgICAgc2NvcGVPYmpl
Y3RQcm94eS5wcm9wZXJ0aWVzLnB1c2gocHJvcGVydHlOYW1lKTsKKyAgICAgICAgICAgIH0gY2F0
Y2ggKGUpIHsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHNjb3BlQ2hhaW5Qcm94eS5wdXNo
KHNjb3BlT2JqZWN0UHJveHkpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBzY29wZUNoYWlu
UHJveHk7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L09iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L09iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzCmluZGV4IGYwYjg3N2QuLjYzMDczYmQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9wZXJ0aWVzU2VjdGlv
bi5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvT2JqZWN0UHJvcGVydGllc1Nl
Y3Rpb24uanMKQEAgLTU2LDggKzU2LDggQEAgV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnRpZXNT
ZWN0aW9uLnByb3RvdHlwZSA9IHsKICAgICBfdXBkYXRlOiBmdW5jdGlvbihwcm9wZXJ0aWVzKQog
ICAgIHsKICAgICAgICAgaWYgKHRoaXMuZXh0cmFQcm9wZXJ0aWVzKQotICAgICAgICAgICAgZm9y
ICh2YXIgcHJvcCBpbiB0aGlzLmV4dHJhUHJvcGVydGllcykKLSAgICAgICAgICAgICAgICBwcm9w
ZXJ0aWVzLnB1c2gobmV3IFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0eVByb3h5KHByb3AsIHRo
aXMuZXh0cmFQcm9wZXJ0aWVzW3Byb3BdKSk7CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IHRoaXMuZXh0cmFQcm9wZXJ0aWVzLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgICAgIHBy
b3BlcnRpZXMucHVzaCh0aGlzLmV4dHJhUHJvcGVydGllc1tpXSk7CiAgICAgICAgIHByb3BlcnRp
ZXMuc29ydCh0aGlzLl9kaXNwbGF5U29ydCk7CiAKICAgICAgICAgdGhpcy5wcm9wZXJ0aWVzVHJl
ZU91dGxpbmUucmVtb3ZlQ2hpbGRyZW4oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9PYmplY3RQcm94eS5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9P
YmplY3RQcm94eS5qcwppbmRleCBkYmI5ZTQ4Li4wM2QxNmFiIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvT2JqZWN0UHJveHkuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL09iamVjdFByb3h5LmpzCkBAIC0zNyw4ICszNyw4IEBAIFdlYkluc3BlY3Rv
ci5PYmplY3RQcm94eSA9IGZ1bmN0aW9uKG9iamVjdElkLCBwYXRoLCBwcm90b0RlcHRoLCBkZXNj
cmlwdGlvbiwgaGFzCiAgICAgdGhpcy5oYXNDaGlsZHJlbiA9IGhhc0NoaWxkcmVuOwogfQogCi1X
ZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydHlQcm94eSA9IGZ1bmN0aW9uKG5hbWUsIG9iamVjdCkK
K1dlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0eVByb3h5ID0gZnVuY3Rpb24obmFtZSwgdmFsdWUp
CiB7CiAgICAgdGhpcy5uYW1lID0gbmFtZTsKLSAgICB0aGlzLnZhbHVlID0gbmV3IFdlYkluc3Bl
Y3Rvci5PYmplY3RQcm94eShvYmplY3QsIFtdLCAwLCBPYmplY3QuZGVzY3JpYmUob2JqZWN0LCB0
cnVlKSwgdHJ1ZSk7CisgICAgdGhpcy52YWx1ZSA9IHZhbHVlOwogfQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzCmluZGV4IGJiN2ZhYTYuLjQwZTdkZDQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5q
cworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMKQEAg
LTE1MTIsNyArMTUxMiw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVNpZGViYXJUcmVlRWxlbWVu
dC5wcm90b3R5cGUgPSB7CiAgICAgCiAgICAgb25kYmxjbGljazogZnVuY3Rpb24odHJlZUVsZW1l
bnQsIGV2ZW50KQogICAgIHsKLSAgICAgICAgSW5zcGVjdG9yQ29udHJvbGxlci5pbnNwZWN0ZWRX
aW5kb3coKS5vcGVuKHRoaXMucmVzb3VyY2UudXJsKTsKKyAgICAgICAgSW5zcGVjdG9yQ29udHJv
bGxlci5vcGVuSW5JbnNwZWN0ZWRXaW5kb3codGhpcy5yZXNvdXJjZS51cmwpOwogICAgIH0sCiAK
ICAgICBnZXQgbWFpblRpdGxlKCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9TY29wZUNoYWluU2lkZWJhclBhbmUuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvU2NvcGVDaGFpblNpZGViYXJQYW5lLmpzCmluZGV4IGEyOTNmYTAuLmMzNzFlNDIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY29wZUNoYWluU2lkZWJhclBhbmUu
anMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Njb3BlQ2hhaW5TaWRlYmFyUGFu
ZS5qcwpAQCAtMjYsNiArMjYsNyBAQAogV2ViSW5zcGVjdG9yLlNjb3BlQ2hhaW5TaWRlYmFyUGFu
ZSA9IGZ1bmN0aW9uKCkKIHsKICAgICBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUuY2FsbCh0aGlz
LCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNjb3BlIFZhcmlhYmxlcyIpKTsKKyAgICB0aGlzLl9l
eHBhbmRlZFByb3BlcnRpZXMgPSBbXTsKIH0KIAogV2ViSW5zcGVjdG9yLlNjb3BlQ2hhaW5TaWRl
YmFyUGFuZS5wcm90b3R5cGUgPSB7CkBAIC00NCw0OCArNDUsMzcgQEAgV2ViSW5zcGVjdG9yLlNj
b3BlQ2hhaW5TaWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KIAotICAgICAgICBpZiAoIWNhbGxGcmFtZS5fZXhwYW5kZWRQcm9wZXJ0aWVzKSB7
Ci0gICAgICAgICAgICAvLyBGSVhNRTogZml4IHRoaXMgd2hlbiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0MTAgaXMgZml4ZWQuCi0gICAgICAgICAgICAvLyBUaGUg
Y2FsbEZyYW1lIGlzIGEgSlNJbnNwZWN0ZWRPYmplY3RXcmFwcGVyLCBzbyB3ZSBhcmUgbm90IGFs
bG93ZWQgdG8gYXNzaWduCi0gICAgICAgICAgICAvLyBhbiBvYmplY3QgY3JlYXRlZCBpbiB0aGUg
SW5zcGVjdG9yJ3MgY29udGV4dCB0byB0aGF0IG9iamVjdC4gU28gY3JlYXRlIGFuCi0gICAgICAg
ICAgICAvLyBPYmplY3QgZnJvbSB0aGUgaW5zcGVjdGVkV2luZG93LgotICAgICAgICAgICAgdmFy
IGluc3BlY3RlZFdpbmRvdyA9IEluc3BlY3RvckNvbnRyb2xsZXIuaW5zcGVjdGVkV2luZG93KCk7
Ci0gICAgICAgICAgICBjYWxsRnJhbWUuX2V4cGFuZGVkUHJvcGVydGllcyA9IG5ldyBpbnNwZWN0
ZWRXaW5kb3cuT2JqZWN0OwotICAgICAgICB9Ci0KICAgICAgICAgdmFyIGZvdW5kTG9jYWxTY29w
ZSA9IGZhbHNlOwogICAgICAgICB2YXIgc2NvcGVDaGFpbiA9IGNhbGxGcmFtZS5zY29wZUNoYWlu
OwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNjb3BlQ2hhaW4ubGVuZ3RoOyArK2kpIHsK
LSAgICAgICAgICAgIHZhciBzY29wZU9iamVjdCA9IHNjb3BlQ2hhaW5baV07CisgICAgICAgICAg
ICB2YXIgc2NvcGVPYmplY3RQcm94eSA9IHNjb3BlQ2hhaW5baV07CiAgICAgICAgICAgICB2YXIg
dGl0bGUgPSBudWxsOwotICAgICAgICAgICAgdmFyIHN1YnRpdGxlID0gT2JqZWN0LmRlc2NyaWJl
KHNjb3BlT2JqZWN0LCB0cnVlKTsKKyAgICAgICAgICAgIHZhciBzdWJ0aXRsZSA9IHNjb3BlT2Jq
ZWN0UHJveHkuZGVzY3JpcHRpb247CiAgICAgICAgICAgICB2YXIgZW1wdHlQbGFjZWhvbGRlciA9
IG51bGw7CiAgICAgICAgICAgICB2YXIgbG9jYWxTY29wZSA9IGZhbHNlOwogICAgICAgICAgICAg
dmFyIGV4dHJhUHJvcGVydGllcyA9IG51bGw7CiAKLSAgICAgICAgICAgIGlmIChPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwoc2NvcGVPYmplY3QpID09PSAiW29iamVjdCBKU0FjdGl2YXRp
b25dIikgewotICAgICAgICAgICAgICAgIGlmICghZm91bmRMb2NhbFNjb3BlKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGV4dHJhUHJvcGVydGllcyA9IHsgInRoaXMiOiBjYWxsRnJhbWUudGhpc09i
amVjdCB9OworICAgICAgICAgICAgaWYgKHNjb3BlT2JqZWN0UHJveHkuaXNMb2NhbCkgeworICAg
ICAgICAgICAgICAgIGlmIChzY29wZU9iamVjdFByb3h5LnRoaXNPYmplY3QpIHsKKyAgICAgICAg
ICAgICAgICAgICAgZXh0cmFQcm9wZXJ0aWVzID0gWyBuZXcgV2ViSW5zcGVjdG9yLk9iamVjdFBy
b3BlcnR5UHJveHkoInRoaXMiLCBzY29wZU9iamVjdFByb3h5LnRoaXNPYmplY3QpIF07CiAgICAg
ICAgICAgICAgICAgICAgIHRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMb2NhbCIpOwog
ICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICB0aXRsZSA9IFdlYklu
c3BlY3Rvci5VSVN0cmluZygiQ2xvc3VyZSIpOwogICAgICAgICAgICAgICAgIGVtcHR5UGxhY2Vo
b2xkZXIgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk5vIFZhcmlhYmxlcyIpOwogICAgICAgICAg
ICAgICAgIHN1YnRpdGxlID0gbnVsbDsKLSAgICAgICAgICAgICAgICBmb3VuZExvY2FsU2NvcGUg
PSB0cnVlOwotICAgICAgICAgICAgICAgIGxvY2FsU2NvcGUgPSB0cnVlOwogICAgICAgICAgICAg
fSBlbHNlIGlmIChpID09PSAoc2NvcGVDaGFpbi5sZW5ndGggLSAxKSkKICAgICAgICAgICAgICAg
ICB0aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiR2xvYmFsIik7Ci0gICAgICAgICAgICBl
bHNlIGlmIChmb3VuZExvY2FsU2NvcGUgJiYgc2NvcGVPYmplY3QgaW5zdGFuY2VvZiBJbnNwZWN0
b3JDb250cm9sbGVyLmluc3BlY3RlZFdpbmRvdygpLkVsZW1lbnQpCisgICAgICAgICAgICBlbHNl
IGlmIChzY29wZU9iamVjdFByb3h5LmlzRWxlbWVudCkKICAgICAgICAgICAgICAgICB0aXRsZSA9
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRXZlbnQgVGFyZ2V0Iik7Ci0gICAgICAgICAgICBlbHNl
IGlmIChmb3VuZExvY2FsU2NvcGUgJiYgc2NvcGVPYmplY3QgaW5zdGFuY2VvZiBJbnNwZWN0b3JD
b250cm9sbGVyLmluc3BlY3RlZFdpbmRvdygpLkRvY3VtZW50KQorICAgICAgICAgICAgZWxzZSBp
ZiAoc2NvcGVPYmplY3RQcm94eS5pc0RvY3VtZW50KQogICAgICAgICAgICAgICAgIHRpdGxlID0g
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJFdmVudCBEb2N1bWVudCIpOwotICAgICAgICAgICAgZWxz
ZSBpZiAoIWZvdW5kTG9jYWxTY29wZSAmJiAhbG9jYWxTY29wZSkKKyAgICAgICAgICAgIGVsc2Ug
aWYgKHNjb3BlT2JqZWN0UHJveHkuaXNXaXRoQmxvY2spCiAgICAgICAgICAgICAgICAgdGl0bGUg
PSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIldpdGggQmxvY2siKTsKIAogICAgICAgICAgICAgaWYg
KCF0aXRsZSB8fCB0aXRsZSA9PT0gc3VidGl0bGUpCiAgICAgICAgICAgICAgICAgc3VidGl0bGUg
PSBudWxsOwogCi0gICAgICAgICAgICB2YXIgc2VjdGlvbiA9IG5ldyBXZWJJbnNwZWN0b3IuT2Jq
ZWN0UHJvcGVydGllc1NlY3Rpb24obmV3IFdlYkluc3BlY3Rvci5PYmplY3RQcm94eShzY29wZU9i
amVjdCksIHRpdGxlLCBzdWJ0aXRsZSwgZW1wdHlQbGFjZWhvbGRlciwgdHJ1ZSwgZXh0cmFQcm9w
ZXJ0aWVzLCBXZWJJbnNwZWN0b3IuU2NvcGVWYXJpYWJsZVRyZWVFbGVtZW50KTsKKyAgICAgICAg
ICAgIHZhciBzZWN0aW9uID0gbmV3IFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlv
bihzY29wZU9iamVjdFByb3h5LCB0aXRsZSwgc3VidGl0bGUsIGVtcHR5UGxhY2Vob2xkZXIsIHRy
dWUsIGV4dHJhUHJvcGVydGllcywgV2ViSW5zcGVjdG9yLlNjb3BlVmFyaWFibGVUcmVlRWxlbWVu
dCk7CiAgICAgICAgICAgICBzZWN0aW9uLmVkaXRJblNlbGVjdGVkQ2FsbEZyYW1lV2hlblBhdXNl
ZCA9IHRydWU7CiAgICAgICAgICAgICBzZWN0aW9uLnBhbmUgPSB0aGlzOwogCkBAIC0xMDksMTgg
Kzk5LDE4IEBAIFdlYkluc3BlY3Rvci5TY29wZVZhcmlhYmxlVHJlZUVsZW1lbnQucHJvdG90eXBl
ID0gewogICAgIG9uYXR0YWNoOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICBXZWJJbnNwZWN0
b3IuT2JqZWN0UHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUub25hdHRhY2guY2FsbCh0aGlz
KTsKLSAgICAgICAgaWYgKHRoaXMuaGFzQ2hpbGRyZW4gJiYgdGhpcy5wcm9wZXJ0eUlkZW50aWZp
ZXIgaW4gdGhpcy50cmVlT3V0bGluZS5zZWN0aW9uLnBhbmUuY2FsbEZyYW1lLl9leHBhbmRlZFBy
b3BlcnRpZXMpCisgICAgICAgIGlmICh0aGlzLmhhc0NoaWxkcmVuICYmIHRoaXMucHJvcGVydHlJ
ZGVudGlmaWVyIGluIHRoaXMudHJlZU91dGxpbmUuc2VjdGlvbi5wYW5lLl9leHBhbmRlZFByb3Bl
cnRpZXMpCiAgICAgICAgICAgICB0aGlzLmV4cGFuZCgpOwogICAgIH0sCiAKICAgICBvbmV4cGFu
ZDogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgdGhpcy50cmVlT3V0bGluZS5zZWN0aW9uLnBh
bmUuY2FsbEZyYW1lLl9leHBhbmRlZFByb3BlcnRpZXNbdGhpcy5wcm9wZXJ0eUlkZW50aWZpZXJd
ID0gdHJ1ZTsKKyAgICAgICAgdGhpcy50cmVlT3V0bGluZS5zZWN0aW9uLnBhbmUuX2V4cGFuZGVk
UHJvcGVydGllc1t0aGlzLnByb3BlcnR5SWRlbnRpZmllcl0gPSB0cnVlOwogICAgIH0sCiAKICAg
ICBvbmNvbGxhcHNlOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICBkZWxldGUgdGhpcy50cmVl
T3V0bGluZS5zZWN0aW9uLnBhbmUuY2FsbEZyYW1lLl9leHBhbmRlZFByb3BlcnRpZXNbdGhpcy5w
cm9wZXJ0eUlkZW50aWZpZXJdOworICAgICAgICBkZWxldGUgdGhpcy50cmVlT3V0bGluZS5zZWN0
aW9uLnBhbmUuX2V4cGFuZGVkUHJvcGVydGllc1t0aGlzLnByb3BlcnR5SWRlbnRpZmllcl07CiAg
ICAgfSwKIAogICAgIGdldCBwcm9wZXJ0eUlkZW50aWZpZXIoKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKaW5kZXggYTk3ZDVjZi4uZDE3ZmQwYyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcworKysgYi9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCkBAIC0zNzEsMTYgKzM3
MSwxMiBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKIAogICAgIGRv
RXZhbEluQ2FsbEZyYW1lOiBmdW5jdGlvbihjYWxsRnJhbWUsIGNvZGUsIGNhbGxiYWNrKQogICAg
IHsKLSAgICAgICAgdmFyIHBhbmVsID0gdGhpczsKLSAgICAgICAgZnVuY3Rpb24gZGVsYXllZEV2
YWx1YXRpb24oKQorICAgICAgICBmdW5jdGlvbiBldmFsQ2FsbGJhY2socmVzdWx0KQogICAgICAg
ICB7Ci0gICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgIGNhbGxiYWNrKEluc3BlY3Rv
ckNvbnRyb2xsZXIud3JhcE9iamVjdChjYWxsRnJhbWUuZXZhbHVhdGUoY29kZSkpKTsKLSAgICAg
ICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgICAgICBjYWxsYmFjayhlLCB0cnVlKTsK
LSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChyZXN1bHQpCisgICAgICAgICAgICAgICAg
Y2FsbGJhY2socmVzdWx0LnZhbHVlLCByZXN1bHQuaXNFeGNlcHRpb24pOwogICAgICAgICB9Ci0g
ICAgICAgIHNldFRpbWVvdXQoZGVsYXllZEV2YWx1YXRpb24sIDApOworICAgICAgICBJbnNwZWN0
b3JDb250cm9sbGVyLmV2YWx1YXRlSW5DYWxsRnJhbWUoY2FsbEZyYW1lLmlkLCBjb2RlLCBldmFs
Q2FsbGJhY2spOwogICAgIH0sCiAKICAgICB2YXJpYWJsZXNJblNlbGVjdGVkQ2FsbEZyYW1lOiBm
dW5jdGlvbigpCkBAIC0zOTIsOSArMzg4LDkgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5w
cm90b3R5cGUgPSB7CiAgICAgICAgIHZhciByZXN1bHQgPSB7fTsKICAgICAgICAgdmFyIHNjb3Bl
Q2hhaW4gPSBzZWxlY3RlZENhbGxGcmFtZS5zY29wZUNoYWluOwogICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IHNjb3BlQ2hhaW4ubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZhciBzY29w
ZU9iamVjdCA9IHNjb3BlQ2hhaW5baV07Ci0gICAgICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBp
biBzY29wZU9iamVjdCkKLSAgICAgICAgICAgICAgICByZXN1bHRbcHJvcGVydHldID0gdHJ1ZTsK
KyAgICAgICAgICAgIHZhciBzY29wZU9iamVjdFByb3BlcnRpZXMgPSBzY29wZUNoYWluW2ldLnBy
b3BlcnRpZXM7CisgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHNjb3BlT2JqZWN0UHJv
cGVydGllcy5sZW5ndGg7ICsraikKKyAgICAgICAgICAgICAgICByZXN1bHRbc2NvcGVPYmplY3RQ
cm9wZXJ0aWVzW2pdXSA9IHRydWU7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHJlc3VsdDsK
ICAgICB9LApAQCAtNDA3LDEzICs0MDMsMTcgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5w
cm90b3R5cGUgPSB7CiAKICAgICAgICAgdGhpcy5fdXBkYXRlRGVidWdnZXJCdXR0b25zKCk7CiAK
KyAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwogICAgICAgICB2YXIgY2FsbFN0YWNrUGFuZSA9IHRo
aXMuc2lkZWJhclBhbmVzLmNhbGxzdGFjazsKLSAgICAgICAgdmFyIGN1cnJlbnRGcmFtZSA9IElu
c3BlY3RvckNvbnRyb2xsZXIuY3VycmVudENhbGxGcmFtZSgpOwotICAgICAgICBjYWxsU3RhY2tQ
YW5lLnVwZGF0ZShjdXJyZW50RnJhbWUsIHRoaXMuX3NvdXJjZUlETWFwKTsKLSAgICAgICAgY2Fs
bFN0YWNrUGFuZS5zZWxlY3RlZENhbGxGcmFtZSA9IGN1cnJlbnRGcmFtZTsKKyAgICAgICAgZnVu
Y3Rpb24gY2FsbGJhY2soY2FsbEZyYW1lcykKKyAgICAgICAgeworICAgICAgICAgICAgY2FsbFN0
YWNrUGFuZS51cGRhdGUoY2FsbEZyYW1lcywgc2VsZi5fc291cmNlSURNYXApOworICAgICAgICAg
ICAgY2FsbFN0YWNrUGFuZS5zZWxlY3RlZENhbGxGcmFtZSA9IGNhbGxGcmFtZXNbMF07CiAKLSAg
ICAgICAgV2ViSW5zcGVjdG9yLmN1cnJlbnRQYW5lbCA9IHRoaXM7Ci0gICAgICAgIHdpbmRvdy5m
b2N1cygpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmN1cnJlbnRQYW5lbCA9IHNlbGY7Cisg
ICAgICAgICAgICB3aW5kb3cuZm9jdXMoKTsKKyAgICAgICAgfQorICAgICAgICBJbnNwZWN0b3JD
b250cm9sbGVyLmdldENhbGxGcmFtZXMoY2FsbGJhY2spOwogICAgIH0sCiAKICAgICBkZWJ1Z2dl
clJlc3VtZWQ6IGZ1bmN0aW9uKCkK
</data>
<flag name="review"
          id="19422"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>