<?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>9598</bug_id>
          
          <creation_ts>2006-06-26 04:35:10 -0700</creation_ts>
          <short_desc>[Drosera] add a JavaScript evaluator console</short_desc>
          <delta_ts>2008-05-17 09:55:52 -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>New Bugs</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>9731</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Timothy Hatcher">timothy</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>jhurshman</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>47258</commentid>
    <comment_count>0</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-06-26 04:35:10 -0700</bug_when>
    <thetext>Allow arbritrary JavaScript to be evaluated against the current stack, and display the result.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49191</commentid>
    <comment_count>1</comment_count>
      <attachid>9359</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-07-11 00:51:29 -0700</bug_when>
    <thetext>Created attachment 9359
Adds a console

This console is just a place to evaluate scripts against the currently selected call frame. In the future then can be used to show exceptions and other things like XMlHTTPRequests, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49214</commentid>
    <comment_count>2</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-11 03:37:45 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=9359) [edit]
&gt; Adds a console

Be careful when applying this patch with svn-apply.  The ChangeLog entry is probably not going to apply at the top of the ChangeLog (watch for an offset), and it&apos;s going to change the wrong date (since it changes the date on the line with &quot;+YYYY-MM-DD&quot;).  I have a plan to fix this by special-casing ChangeLog patches and &quot;fixing&quot; them in svn-create-patch.  See Bug 9848.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49321</commentid>
    <comment_count>3</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-07-11 11:08:31 -0700</bug_when>
    <thetext>Landed in r15336</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80735</commentid>
    <comment_count>4</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-05-17 09:55:52 -0700</bug_when>
    <thetext>Closing since Drosera has been replaced by the new Web Inspector debugger. Moving to the New Bugs component so the Drosera component can be closed and removed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9359</attachid>
            <date>2006-07-11 00:51:29 -0700</date>
            <delta_ts>2006-07-11 10:40:33 -0700</delta_ts>
            <desc>Adds a console</desc>
            <filename>9598.patch</filename>
            <type>text/plain</type>
            <size>28539</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDE1MzMy
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsMzkgQEAKIDIwMDYtMDct
MTEgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyA5NTk4OiBbRHJvc2VyYV0gYWRk
IGEgSmF2YVNjcmlwdCBldmFsdWF0b3IgY29uc29sZQorICAgICAgICBodHRwOi8vYnVnemlsbGEu
b3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTk1OTgKKworICAgICAgICAqIERyb3NlcmEv
RGVidWdnZXJBcHBsaWNhdGlvbi5oOgorICAgICAgICAqIERyb3NlcmEvRGVidWdnZXJBcHBsaWNh
dGlvbi5tOgorICAgICAgICAoLVtEZWJ1Z2dlckFwcGxpY2F0aW9uIGtub3duU2VydmVyc10pOgor
ICAgICAgICAqIERyb3NlcmEvRGVidWdnZXJEb2N1bWVudC5oOgorICAgICAgICAqIERyb3NlcmEv
RGVidWdnZXJEb2N1bWVudC5tOgorICAgICAgICAoLVtXZWJTY3JpcHRPYmplY3QgZXZhbHVhdGVT
Y3JpcHQ6aW5DYWxsRnJhbWU6XSk6CisgICAgICAgICgtW1dlYlNjcmlwdE9iamVjdCBzaG93Q29u
c29sZTpdKToKKyAgICAgICAgKC1bV2ViU2NyaXB0T2JqZWN0IHRvb2xiYXI6aXRlbUZvckl0ZW1J
ZGVudGlmaWVyOndpbGxCZUluc2VydGVkSW50b1Rvb2xiYXI6XSk6CisgICAgICAgICgtW1dlYlNj
cmlwdE9iamVjdCB0b29sYmFyRGVmYXVsdEl0ZW1JZGVudGlmaWVyczpdKToKKyAgICAgICAgKC1b
V2ViU2NyaXB0T2JqZWN0IHRvb2xiYXJBbGxvd2VkSXRlbUlkZW50aWZpZXJzOl0pOgorICAgICAg
ICAoLVtXZWJTY3JpcHRPYmplY3Qgd2ViVmlldzpjcmVhdGVXZWJWaWV3V2l0aFJlcXVlc3Q6XSk6
CisgICAgICAgICgtW1dlYlNjcmlwdE9iamVjdCB3ZWJWaWV3U2hvdzpdKToKKyAgICAgICAgKC1b
V2ViU2NyaXB0T2JqZWN0IHdlYlZpZXdBcmVUb29sYmFyc1Zpc2libGU6XSk6CisgICAgICAgICgt
W1dlYlNjcmlwdE9iamVjdCB3ZWJWaWV3OnNldFRvb2xiYXJzVmlzaWJsZTpdKToKKyAgICAgICAg
KC1bV2ViU2NyaXB0T2JqZWN0IHdlYlZpZXc6c2V0UmVzaXphYmxlOl0pOgorICAgICAgICAoLVtX
ZWJTY3JpcHRPYmplY3Qgd2ViVmlldzpydW5KYXZhU2NyaXB0QWxlcnRQYW5lbFdpdGhNZXNzYWdl
OmluaXRpYXRlZEJ5RnJhbWU6XSk6CisgICAgICAgICgtW1dlYlNjcmlwdE9iamVjdCBzY3JpcHRD
b25maXJtU2hlZXREaWRFbmQ6cmV0dXJuQ29kZTpjb250ZXh0SW5mbzpdKToKKyAgICAgICAgKC1b
V2ViU2NyaXB0T2JqZWN0IHdlYlZpZXc6cnVuSmF2YVNjcmlwdENvbmZpcm1QYW5lbFdpdGhNZXNz
YWdlOmluaXRpYXRlZEJ5RnJhbWU6XSk6CisgICAgICAgICgtW1dlYlNjcmlwdE9iamVjdCB3ZWJW
aWV3OndpbmRvd1NjcmlwdE9iamVjdEF2YWlsYWJsZTpdKToKKyAgICAgICAgKC1bV2ViU2NyaXB0
T2JqZWN0IHdlYlZpZXc6ZGlkRmluaXNoTG9hZEZvckZyYW1lOl0pOgorICAgICAgICAoLVtXZWJT
Y3JpcHRPYmplY3Qgd2ViVmlldzpkaWRSZWNlaXZlVGl0bGU6Zm9yRnJhbWU6XSk6CisgICAgICAg
ICogRHJvc2VyYS9Ecm9zZXJhLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
RHJvc2VyYS9JbWFnZXMvY29uc29sZS5wbmc6IEFkZGVkLgorICAgICAgICAqIERyb3NlcmEvY29u
c29sZS5jc3M6IEFkZGVkLgorICAgICAgICAqIERyb3NlcmEvY29uc29sZS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBEcm9zZXJhL2NvbnNvbGUuanM6IEFkZGVkLgorCisyMDA2LTA3LTExICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKwogICAgICAgICBSZXZpZXdlZCBieSBh
IHRpcmVkIEdlb2ZmLgogCiAgICAgICAgIEJ1ZyA5NTk3OiBbRHJvc2VyYV0gaG9vayB1cCB0aGUg
dmFyaWFibGVzIHRhYmxlIHRvIHNob3cgc3RhY2sgdmFyaWFibGVzCkluZGV4OiBEcm9zZXJhL0Rl
YnVnZ2VyQXBwbGljYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBEcm9zZXJhL0RlYnVnZ2VyQXBwbGlj
YXRpb24uaAkocmV2aXNpb24gMTUzMzApCisrKyBEcm9zZXJhL0RlYnVnZ2VyQXBwbGljYXRpb24u
aAkod29ya2luZyBjb3B5KQpAQCAtMzQsNCArMzQsNiBAQAogfQogLSAoSUJBY3Rpb24pc2hvd0F0
dGFjaFBhbmVsOihpZClzZW5kZXI7CiAtIChJQkFjdGlvbilhdHRhY2g6KGlkKXNlbmRlcjsKKwor
LSAoTlNEaWN0aW9uYXJ5ICopa25vd25TZXJ2ZXJzOwogQGVuZApJbmRleDogRHJvc2VyYS9EZWJ1
Z2dlckFwcGxpY2F0aW9uLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gRHJvc2VyYS9EZWJ1Z2dlckFwcGxpY2F0
aW9uLm0JKHJldmlzaW9uIDE1MzMwKQorKysgRHJvc2VyYS9EZWJ1Z2dlckFwcGxpY2F0aW9uLm0J
KHdvcmtpbmcgY29weSkKQEAgLTc2LDYgKzc2LDExIEBACiAgICAgW2F0dGFjaFRhYmxlIHJlbG9h
ZERhdGFdOwogfQogCistIChOU0RpY3Rpb25hcnkgKilrbm93blNlcnZlcnMKK3sKKyAgICByZXR1
cm4ga25vd25TZXJ2ZXJOYW1lczsKK30KKwogI3ByYWdtYSBtYXJrIC0KICNwcmFnbWEgbWFyayBB
dHRhY2ggUGFuZWwgQWN0aW9ucwogCkluZGV4OiBEcm9zZXJhL0RlYnVnZ2VyRG9jdW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBEcm9zZXJhL0RlYnVnZ2VyRG9jdW1lbnQuaAkocmV2aXNpb24gMTUzMzAp
CisrKyBEcm9zZXJhL0RlYnVnZ2VyRG9jdW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsNCAr
NDMsNSBAQAogLSAoSUJBY3Rpb24pc3RlcEludG86KGlkKXNlbmRlcjsKIC0gKElCQWN0aW9uKXN0
ZXBPdmVyOihpZClzZW5kZXI7CiAtIChJQkFjdGlvbilzdGVwT3V0OihpZClzZW5kZXI7CistIChJ
QkFjdGlvbilzaG93Q29uc29sZTooaWQpc2VuZGVyOwogQGVuZApJbmRleDogRHJvc2VyYS9EZWJ1
Z2dlckRvY3VtZW50Lm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gRHJvc2VyYS9EZWJ1Z2dlckRvY3VtZW50Lm0J
KHJldmlzaW9uIDE1MzMyKQorKysgRHJvc2VyYS9EZWJ1Z2dlckRvY3VtZW50Lm0JKHdvcmtpbmcg
Y29weSkKQEAgLTI5LDYgKzI5LDcgQEAKICNpbXBvcnQgIkRlYnVnZ2VyRG9jdW1lbnQuaCIKICNp
bXBvcnQgIkRlYnVnZ2VyQXBwbGljYXRpb24uaCIKIAorc3RhdGljIE5TU3RyaW5nICpEZWJ1Z2dl
ckNvbnNvbGVUb29sYmFySXRlbSA9IEAiRGVidWdnZXJDb25zb2xlVG9vbGJhckl0ZW0iOwogc3Rh
dGljIE5TU3RyaW5nICpEZWJ1Z2dlckNvbnRpbnVlVG9vbGJhckl0ZW0gPSBAIkRlYnVnZ2VyQ29u
dGludWVUb29sYmFySXRlbSI7CiBzdGF0aWMgTlNTdHJpbmcgKkRlYnVnZ2VyUGF1c2VUb29sYmFy
SXRlbSA9IEAiRGVidWdnZXJQYXVzZVRvb2xiYXJJdGVtIjsKIHN0YXRpYyBOU1N0cmluZyAqRGVi
dWdnZXJTdGVwSW50b1Rvb2xiYXJJdGVtID0gQCJEZWJ1Z2dlclN0ZXBJbnRvVG9vbGJhckl0ZW0i
OwpAQCAtOTEsNiArOTIsMjAgQEAgc3RhdGljIE5TU3RyaW5nICpEZWJ1Z2dlclN0ZXBPdXRUb29s
YmFySQogICAgIHJldHVybiBbcmVzdWx0IGF1dG9yZWxlYXNlXTsKIH0KIAorLSAoaWQpZXZhbHVh
dGVTY3JpcHQ6KE5TU3RyaW5nICopc2NyaXB0IGluQ2FsbEZyYW1lOihpbnQpZnJhbWUKK3sKKyAg
ICBXZWJTY3JpcHRDYWxsRnJhbWUgKmNmcmFtZSA9IGN1cnJlbnRGcmFtZTsKKyAgICBmb3IgKHVu
c2lnbmVkIGNvdW50ID0gMDsgY291bnQgPCBmcmFtZTsgY291bnQrKykKKyAgICAgICAgY2ZyYW1l
ID0gW2NmcmFtZSBjYWxsZXJdOworICAgIGlmICghY2ZyYW1lKQorICAgICAgICByZXR1cm4gbmls
OworCisgICAgaWQgcmVzdWx0ID0gW2NmcmFtZSBldmFsdWF0ZVdlYlNjcmlwdDpzY3JpcHRdOwor
ICAgIGlmIChbcmVzdWx0IGlzS2luZE9mQ2xhc3M6TlNDbGFzc0Zyb21TdHJpbmcoQCJXZWJTY3Jp
cHRPYmplY3QiKV0pCisgICAgICAgIHJldHVybiBbcmVzdWx0IGNhbGxXZWJTY3JpcHRNZXRob2Q6
QCJ0b1N0cmluZyIgd2l0aEFyZ3VtZW50czpuaWxdOworICAgIHJldHVybiByZXN1bHQ7Cit9CisK
IC0gKE5TQXJyYXkgKil3ZWJTY3JpcHRBdHRyaWJ1dGVLZXlzRm9yU2NyaXB0T2JqZWN0OihXZWJT
Y3JpcHRPYmplY3QgKilvYmplY3QKIHsKICAgICBXZWJTY3JpcHRPYmplY3QgKmZ1bmMgPSBbb2Jq
ZWN0IGV2YWx1YXRlV2ViU2NyaXB0OkAiKGZ1bmN0aW9uICgpIHsgdmFyIHJlc3VsdCA9IG5ldyBB
cnJheSgpOyBmb3IgKHZhciB4IGluIHRoaXMpIHsgcmVzdWx0LnB1c2goeCk7IH0gcmV0dXJuIHJl
c3VsdDsgfSkiXTsKQEAgLTIxMCw2ICsyMjUsMTEgQEAgc3RhdGljIE5TU3RyaW5nICpEZWJ1Z2dl
clN0ZXBPdXRUb29sYmFySQogICAgIFtbd2ViVmlldyB3aW5kb3dTY3JpcHRPYmplY3RdIGNhbGxX
ZWJTY3JpcHRNZXRob2Q6QCJzdGVwT3V0IiB3aXRoQXJndW1lbnRzOm5pbF07CiB9CiAKKy0gKElC
QWN0aW9uKXNob3dDb25zb2xlOihpZClzZW5kZXIKK3sKKyAgICBbW3dlYlZpZXcgd2luZG93U2Ny
aXB0T2JqZWN0XSBjYWxsV2ViU2NyaXB0TWV0aG9kOkAic2hvd0NvbnNvbGVXaW5kb3ciIHdpdGhB
cmd1bWVudHM6bmlsXTsKK30KKwogI3ByYWdtYSBtYXJrIC0KICNwcmFnbWEgbWFyayBXaW5kb3cg
Q29udHJvbGxlciBPdmVycmlkZXMKIApAQCAtMzE1LDYgKzMzNSwxOSBAQCBzdGF0aWMgTlNTdHJp
bmcgKkRlYnVnZ2VyU3RlcE91dFRvb2xiYXJJCiAgICAgICAgIFtpdGVtIHNldEFjdGlvbjpAc2Vs
ZWN0b3IocmVzdW1lOildOwogCiAgICAgICAgIHJldHVybiBbaXRlbSBhdXRvcmVsZWFzZV07Cisg
ICAgfSBlbHNlIGlmIChbaXRlbUlkZW50aWZpZXIgaXNFcXVhbFRvU3RyaW5nOkRlYnVnZ2VyQ29u
c29sZVRvb2xiYXJJdGVtXSkgeworICAgICAgICBOU1Rvb2xiYXJJdGVtICppdGVtID0gW1tOU1Rv
b2xiYXJJdGVtIGFsbG9jXSBpbml0V2l0aEl0ZW1JZGVudGlmaWVyOml0ZW1JZGVudGlmaWVyXTsK
KworICAgICAgICBbaXRlbSBzZXRMYWJlbDpAIkNvbnNvbGUiXTsKKyAgICAgICAgW2l0ZW0gc2V0
UGFsZXR0ZUxhYmVsOkAiQ29uc29sZSJdOworCisgICAgICAgIFtpdGVtIHNldFRvb2xUaXA6QCJD
b25zb2xlIl07CisgICAgICAgIFtpdGVtIHNldEltYWdlOltOU0ltYWdlIGltYWdlTmFtZWQ6QCJj
b25zb2xlIl1dOworCisgICAgICAgIFtpdGVtIHNldFRhcmdldDpzZWxmXTsKKyAgICAgICAgW2l0
ZW0gc2V0QWN0aW9uOkBzZWxlY3RvcihzaG93Q29uc29sZTopXTsKKworICAgICAgICByZXR1cm4g
W2l0ZW0gYXV0b3JlbGVhc2VdOwogICAgIH0gZWxzZSBpZiAoW2l0ZW1JZGVudGlmaWVyIGlzRXF1
YWxUb1N0cmluZzpEZWJ1Z2dlclBhdXNlVG9vbGJhckl0ZW1dKSB7CiAgICAgICAgIE5TVG9vbGJh
ckl0ZW0gKml0ZW0gPSBbW05TVG9vbGJhckl0ZW0gYWxsb2NdIGluaXRXaXRoSXRlbUlkZW50aWZp
ZXI6aXRlbUlkZW50aWZpZXJdOwogCkBAIC0zNzYsMTIgKzQwOSwxMiBAQCBzdGF0aWMgTlNTdHJp
bmcgKkRlYnVnZ2VyU3RlcE91dFRvb2xiYXJJCiB7CiAgICAgcmV0dXJuIFtOU0FycmF5IGFycmF5
V2l0aE9iamVjdHM6RGVidWdnZXJDb250aW51ZVRvb2xiYXJJdGVtLCBEZWJ1Z2dlclBhdXNlVG9v
bGJhckl0ZW0sCiAgICAgICAgIE5TVG9vbGJhclNlcGFyYXRvckl0ZW1JZGVudGlmaWVyLCBEZWJ1
Z2dlclN0ZXBJbnRvVG9vbGJhckl0ZW0sIERlYnVnZ2VyU3RlcE91dFRvb2xiYXJJdGVtLAotICAg
ICAgICBEZWJ1Z2dlclN0ZXBPdmVyVG9vbGJhckl0ZW0sIG5pbF07CisgICAgICAgIERlYnVnZ2Vy
U3RlcE92ZXJUb29sYmFySXRlbSwgTlNUb29sYmFyRmxleGlibGVTcGFjZUl0ZW1JZGVudGlmaWVy
LCBEZWJ1Z2dlckNvbnNvbGVUb29sYmFySXRlbSwgbmlsXTsKIH0KIAogLSAoTlNBcnJheSAqKXRv
b2xiYXJBbGxvd2VkSXRlbUlkZW50aWZpZXJzOihOU1Rvb2xiYXIqKXRvb2xiYXIKIHsKLSAgICBy
ZXR1cm4gW05TQXJyYXkgYXJyYXlXaXRoT2JqZWN0czpEZWJ1Z2dlckNvbnRpbnVlVG9vbGJhckl0
ZW0sIERlYnVnZ2VyUGF1c2VUb29sYmFySXRlbSwKKyAgICByZXR1cm4gW05TQXJyYXkgYXJyYXlX
aXRoT2JqZWN0czpEZWJ1Z2dlckNvbnNvbGVUb29sYmFySXRlbSwgRGVidWdnZXJDb250aW51ZVRv
b2xiYXJJdGVtLCBEZWJ1Z2dlclBhdXNlVG9vbGJhckl0ZW0sCiAgICAgICAgIERlYnVnZ2VyU3Rl
cEludG9Ub29sYmFySXRlbSwgRGVidWdnZXJTdGVwT3V0VG9vbGJhckl0ZW0sIERlYnVnZ2VyU3Rl
cE92ZXJUb29sYmFySXRlbSwgTlNUb29sYmFyQ3VzdG9taXplVG9vbGJhckl0ZW1JZGVudGlmaWVy
LAogICAgICAgICBOU1Rvb2xiYXJGbGV4aWJsZVNwYWNlSXRlbUlkZW50aWZpZXIsIE5TVG9vbGJh
clNwYWNlSXRlbUlkZW50aWZpZXIsIE5TVG9vbGJhclNlcGFyYXRvckl0ZW1JZGVudGlmaWVyLCBu
aWxdOwogfQpAQCAtNDAwLDE4ICs0MzMsMTE3IEBAIHN0YXRpYyBOU1N0cmluZyAqRGVidWdnZXJT
dGVwT3V0VG9vbGJhckkKIH0KIAogI3ByYWdtYSBtYXJrIC0KKyNwcmFnbWEgbWFyayBXZWJWaWV3
IFVJIERlbGVnYXRlCisKKy0gKFdlYlZpZXcgKil3ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIGNy
ZWF0ZVdlYlZpZXdXaXRoUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdAoreworICAgIFdl
YlZpZXcgKm5ld1dlYlZpZXcgPSBbW1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNaZXJv
UmVjdCBmcmFtZU5hbWU6bmlsIGdyb3VwTmFtZTpuaWxdOworICAgIFtuZXdXZWJWaWV3IHNldEF1
dG9yZXNpemluZ01hc2s6KE5TVmlld1dpZHRoU2l6YWJsZSB8IE5TVmlld0hlaWdodFNpemFibGUp
XTsKKyAgICBbbmV3V2ViVmlldyBzZXRVSURlbGVnYXRlOnNlbGZdOworICAgIFtuZXdXZWJWaWV3
IHNldFBvbGljeURlbGVnYXRlOnNlbGZdOworICAgIFtuZXdXZWJWaWV3IHNldEZyYW1lTG9hZERl
bGVnYXRlOnNlbGZdOworICAgIGlmIChyZXF1ZXN0KQorICAgICAgICBbW25ld1dlYlZpZXcgbWFp
bkZyYW1lXSBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsKKworICAgIE5TV2luZG93ICp3aW5kb3cgPSBb
W05TV2luZG93IGFsbG9jXSBpbml0V2l0aENvbnRlbnRSZWN0Ok5TWmVyb1JlY3Qgc3R5bGVNYXNr
OihOU1RpdGxlZFdpbmRvd01hc2sgfCBOU0Nsb3NhYmxlV2luZG93TWFzayB8IE5TTWluaWF0dXJp
emFibGVXaW5kb3dNYXNrIHwgTlNSZXNpemFibGVXaW5kb3dNYXNrIHwgTlNVbmlmaWVkVGl0bGVB
bmRUb29sYmFyV2luZG93TWFzaykgYmFja2luZzpOU0JhY2tpbmdTdG9yZUJ1ZmZlcmVkIGRlZmVy
Ok5PIHNjcmVlbjpbW3dlYlZpZXcgd2luZG93XSBzY3JlZW5dXTsKKyAgICBbd2luZG93IHNldFJl
bGVhc2VkV2hlbkNsb3NlZDpZRVNdOworICAgIFtuZXdXZWJWaWV3IHNldEZyYW1lOltbd2luZG93
IGNvbnRlbnRWaWV3XSBmcmFtZV1dOworICAgIFtbd2luZG93IGNvbnRlbnRWaWV3XSBhZGRTdWJ2
aWV3Om5ld1dlYlZpZXddOworICAgIFtuZXdXZWJWaWV3IHJlbGVhc2VdOworCisgICAgcmV0dXJu
IG5ld1dlYlZpZXc7Cit9CisKKy0gKHZvaWQpd2ViVmlld1Nob3c6KFdlYlZpZXcgKilzZW5kZXIK
K3sKKyAgICBbW3NlbmRlciB3aW5kb3ddIG1ha2VLZXlBbmRPcmRlckZyb250OnNlbmRlcl07Cit9
CisKKy0gKEJPT0wpd2ViVmlld0FyZVRvb2xiYXJzVmlzaWJsZTooV2ViVmlldyAqKXNlbmRlcgor
eworICAgIHJldHVybiBbW1tzZW5kZXIgd2luZG93XSB0b29sYmFyXSBpc1Zpc2libGVdOworfQor
CistICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKilzZW5kZXIgc2V0VG9vbGJhcnNWaXNpYmxlOihC
T09MKXZpc2libGUKK3sKKyAgICBbW1tzZW5kZXIgd2luZG93XSB0b29sYmFyXSBzZXRWaXNpYmxl
OnZpc2libGVdOworfQorCistICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKilzZW5kZXIgc2V0UmVz
aXphYmxlOihCT09MKXJlc2l6YWJsZQoreworICAgIFtbc2VuZGVyIHdpbmRvd10gc2V0U2hvd3NS
ZXNpemVJbmRpY2F0b3I6cmVzaXphYmxlXTsKKyAgICBbW1tzZW5kZXIgd2luZG93XSBzdGFuZGFy
ZFdpbmRvd0J1dHRvbjpOU1dpbmRvd1pvb21CdXR0b25dIHNldEVuYWJsZWQ6cmVzaXphYmxlXTsK
K30KKworLSAodm9pZCl3ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIHJ1bkphdmFTY3JpcHRBbGVy
dFBhbmVsV2l0aE1lc3NhZ2U6KE5TU3RyaW5nICopbWVzc2FnZSBpbml0aWF0ZWRCeUZyYW1lOihX
ZWJGcmFtZSAqKWZyYW1lCit7CisgICAgTlNSYW5nZSByYW5nZSA9IFttZXNzYWdlIHJhbmdlT2ZT
dHJpbmc6QCJcdCJdOworICAgIE5TU3RyaW5nICp0aXRsZSA9IEAiQWxlcnQiOworICAgIGlmIChy
YW5nZS5sb2NhdGlvbiAhPSBOU05vdEZvdW5kKSB7CisgICAgICAgIHRpdGxlID0gW21lc3NhZ2Ug
c3Vic3RyaW5nVG9JbmRleDpyYW5nZS5sb2NhdGlvbl07CisgICAgICAgIG1lc3NhZ2UgPSBbbWVz
c2FnZSBzdWJzdHJpbmdGcm9tSW5kZXg6KHJhbmdlLmxvY2F0aW9uICsgcmFuZ2UubGVuZ3RoKV07
CisgICAgfQorCisgICAgTlNCZWdpbkluZm9ybWF0aW9uYWxBbGVydFNoZWV0KHRpdGxlLCBuaWws
IG5pbCwgbmlsLCBbc2VuZGVyIHdpbmRvd10sIG5pbCwgTlVMTCwgTlVMTCwgTlVMTCwgbWVzc2Fn
ZSk7Cit9CisKKy0gKHZvaWQpc2NyaXB0Q29uZmlybVNoZWV0RGlkRW5kOihOU1dpbmRvdyAqKXNo
ZWV0IHJldHVybkNvZGU6KGludClyZXR1cm5Db2RlIGNvbnRleHRJbmZvOihpbnQgKiljb250ZXh0
SW5mbworeworICAgICpjb250ZXh0SW5mbyA9IHJldHVybkNvZGU7Cit9CisKKy0gKEJPT0wpd2Vi
VmlldzooV2ViVmlldyAqKXNlbmRlciBydW5KYXZhU2NyaXB0Q29uZmlybVBhbmVsV2l0aE1lc3Nh
Z2U6KE5TU3RyaW5nICopbWVzc2FnZSBpbml0aWF0ZWRCeUZyYW1lOihXZWJGcmFtZSAqKWZyYW1l
Cit7CisgICAgTlNSYW5nZSByYW5nZSA9IFttZXNzYWdlIHJhbmdlT2ZTdHJpbmc6QCJcdCJdOwor
ICAgIE5TU3RyaW5nICp0aXRsZSA9IEAiQWxlcnQiOworICAgIGlmIChyYW5nZS5sb2NhdGlvbiAh
PSBOU05vdEZvdW5kKSB7CisgICAgICAgIHRpdGxlID0gW21lc3NhZ2Ugc3Vic3RyaW5nVG9JbmRl
eDpyYW5nZS5sb2NhdGlvbl07CisgICAgICAgIG1lc3NhZ2UgPSBbbWVzc2FnZSBzdWJzdHJpbmdG
cm9tSW5kZXg6KHJhbmdlLmxvY2F0aW9uICsgcmFuZ2UubGVuZ3RoKV07CisgICAgfQorCisgICAg
aW50IHJlc3VsdCA9IE5TTm90Rm91bmQ7CisgICAgTlNCZWdpbkluZm9ybWF0aW9uYWxBbGVydFNo
ZWV0KHRpdGxlLCBuaWwsIEAiQ2FuY2VsIiwgbmlsLCBbc2VuZGVyIHdpbmRvd10sIHNlbGYsIEBz
ZWxlY3RvcihzY3JpcHRDb25maXJtU2hlZXREaWRFbmQ6cmV0dXJuQ29kZTpjb250ZXh0SW5mbzop
LCBOVUxMLCAmcmVzdWx0LCBtZXNzYWdlKTsKKworICAgIHdoaWxlIChyZXN1bHQgPT0gTlNOb3RG
b3VuZCkgeworICAgICAgICBOU0V2ZW50ICpuZXh0RXZlbnQgPSBbW05TQXBwbGljYXRpb24gc2hh
cmVkQXBwbGljYXRpb25dIG5leHRFdmVudE1hdGNoaW5nTWFzazpOU0FueUV2ZW50TWFzayB1bnRp
bERhdGU6W05TRGF0ZSBkaXN0YW50RnV0dXJlXSBpbk1vZGU6TlNEZWZhdWx0UnVuTG9vcE1vZGUg
ZGVxdWV1ZTpZRVNdOworICAgICAgICBbW05TQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25d
IHNlbmRFdmVudDpuZXh0RXZlbnRdOworICAgIH0KKworICAgIHJldHVybiByZXN1bHQ7Cit9CisK
KyNwcmFnbWEgbWFyayAtCiAjcHJhZ21hIG1hcmsgV2ViVmlldyBGcmFtZSBMb2FkIERlbGVnYXRl
CiAKIC0gKHZvaWQpd2ViVmlldzooV2ViVmlldyAqKXNlbmRlciB3aW5kb3dTY3JpcHRPYmplY3RB
dmFpbGFibGU6KFdlYlNjcmlwdE9iamVjdCAqKXdpbmRvd1NjcmlwdE9iamVjdAogewogICAgIC8v
IG5vdGU6IHRoaXMgaXMgdGhlIERlYnVnZ2VycydzIG93biBXZWJWaWV3LCBub3QgdGhlIG9uZSBi
ZWluZyBkZWJ1Z2dlZAotICAgIFtbc2VuZGVyIHdpbmRvd1NjcmlwdE9iamVjdF0gc2V0VmFsdWU6
c2VsZiBmb3JLZXk6QCJEZWJ1Z2dlckRvY3VtZW50Il07CisgICAgaWYgKFtbc2VuZGVyIHdpbmRv
d10gaXNFcXVhbDpbc2VsZiB3aW5kb3ddXSkKKyAgICAgICAgW1tzZW5kZXIgd2luZG93U2NyaXB0
T2JqZWN0XSBzZXRWYWx1ZTpzZWxmIGZvcktleTpAIkRlYnVnZ2VyRG9jdW1lbnQiXTsKIH0KIAog
LSAodm9pZCl3ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIGRpZEZpbmlzaExvYWRGb3JGcmFtZToo
V2ViRnJhbWUgKilmcmFtZQogewogICAgIC8vIG5vdGU6IHRoaXMgaXMgdGhlIERlYnVnZ2Vycydz
IG93biBXZWJWaWV3LCBub3QgdGhlIG9uZSBiZWluZyBkZWJ1Z2dlZAotICAgIHdlYlZpZXdMb2Fk
ZWQgPSBZRVM7CisgICAgaWYgKFtbc2VuZGVyIHdpbmRvd10gaXNFcXVhbDpbc2VsZiB3aW5kb3dd
XSkKKyAgICAgICAgd2ViVmlld0xvYWRlZCA9IFlFUzsKK30KKworLSAodm9pZCl3ZWJWaWV3OihX
ZWJWaWV3ICopc2VuZGVyIGRpZFJlY2VpdmVUaXRsZTooTlNTdHJpbmcgKil0aXRsZSBmb3JGcmFt
ZTooV2ViRnJhbWUgKilmcmFtZQoreworICAgIC8vIG5vdGU6IHRoaXMgaXMgdGhlIERlYnVnZ2Vy
cydzIG93biBXZWJWaWV3cywgbm90IHRoZSBvbmUgYmVpbmcgZGVidWdnZWQKKyAgICBpZiAoW2Zy
YW1lIGlzRXF1YWw6W3NlbmRlciBtYWluRnJhbWVdXSkgeworICAgICAgICBOU0RpY3Rpb25hcnkg
KmluZm8gPSBbWyhEZWJ1Z2dlckFwcGxpY2F0aW9uICopW1tOU0FwcGxpY2F0aW9uIHNoYXJlZEFw
cGxpY2F0aW9uXSBkZWxlZ2F0ZV0ga25vd25TZXJ2ZXJzXSBvYmplY3RGb3JLZXk6Y3VycmVudFNl
cnZlck5hbWVdOworICAgICAgICBOU1N0cmluZyAqcHJvY2Vzc05hbWUgPSBbaW5mbyBvYmplY3RG
b3JLZXk6V2ViU2NyaXB0RGVidWdTZXJ2ZXJQcm9jZXNzTmFtZUtleV07CisgICAgICAgIGlmIChp
bmZvICYmIFtwcm9jZXNzTmFtZSBsZW5ndGhdKSB7CisgICAgICAgICAgICBOU011dGFibGVTdHJp
bmcgKm5ld1RpdGxlID0gW1tOU011dGFibGVTdHJpbmcgYWxsb2NdIGluaXRXaXRoU3RyaW5nOnBy
b2Nlc3NOYW1lXTsKKyAgICAgICAgICAgIFtuZXdUaXRsZSBhcHBlbmRTdHJpbmc6QCIgLSAiXTsK
KyAgICAgICAgICAgIFtuZXdUaXRsZSBhcHBlbmRTdHJpbmc6dGl0bGVdOworICAgICAgICAgICAg
W1tzZW5kZXIgd2luZG93XSBzZXRUaXRsZTpuZXdUaXRsZV07CisgICAgICAgICAgICBbbmV3VGl0
bGUgcmVsZWFzZV07CisgICAgICAgIH0gZWxzZSAKKyAgICAgICAgICAgIFtbc2VuZGVyIHdpbmRv
d10gc2V0VGl0bGU6dGl0bGVdOworICAgIH0KIH0KIAogI3ByYWdtYSBtYXJrIC0KSW5kZXg6IERy
b3NlcmEvY29uc29sZS5jc3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gRHJvc2VyYS9jb25zb2xlLmNzcwkocmV2
aXNpb24gMCkKKysrIERyb3NlcmEvY29uc29sZS5jc3MJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MTA1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuICBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisgKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisgKiAzLiAgTmVpdGhlciB0
aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBv
ZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
CisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKK2ltZyB7IHBhZGRpbmc6IDA7IG1hcmdpbjogMDsgfQorYm9k
eSB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgfQorCisjbWFpbiB7
CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogMDsKKyAgICBib3R0b206IDA7Cisg
ICAgbGVmdDogMDsKKyAgICByaWdodDogMDsKK30KKworI3RvcCB7CisgICAgcG9zaXRpb246IGFi
c29sdXRlOworICAgIHRvcDogMDsKKyAgICBib3R0b206IDUwcHg7CisgICAgbGVmdDogMDsKKyAg
ICByaWdodDogMDsKK30KKworI2hpc3RvcnkgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAg
ICB0b3A6IDIwcHg7CisgICAgYm90dG9tOiAxMHB4OworICAgIGxlZnQ6IDA7CisgICAgcmlnaHQ6
IDA7CisgICAgb3ZlcmZsb3cteTogYXV0bzsKKyAgICBvdmVyZmxvdy14OiBoaWRkZW47Cit9CisK
KyNkaXZpZGVyIHsKKyAgICBjdXJzb3I6IHJvdy1yZXNpemU7CisgICAgcG9zaXRpb246IGFic29s
dXRlOworICAgIGJvdHRvbTogMDsKKyAgICBsZWZ0OiAwOworICAgIHJpZ2h0OiAwOworICAgIGJh
Y2tncm91bmQ6IHVybChzcGxpdHRlckRpbXBsZS50aWYpIDUwJSBuby1yZXBlYXQsIHVybChzcGxp
dHRlckJhci50aWYpIHJlcGVhdC14OworICAgIGhlaWdodDogMTBweDsKK30KKworI2lucHV0IHsK
KyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKKyAg
ICBoZWlnaHQ6IDUwcHg7CisgICAgbWF4LWhlaWdodDogMTUwcHg7CisgICAgbGVmdDogMDsKKyAg
ICByaWdodDogMDsKKyAgICBib3R0b206IDA7CisgICAgLXdlYmtpdC11c2VyLW1vZGlmeTogcmVh
ZC13cml0ZTsKKyAgICAtd2Via2l0LW5ic3AtbW9kZTogc3BhY2U7CisgICAgLXdlYmtpdC1saW5l
LWJyZWFrOiBhZnRlci13aGl0ZS1zcGFjZTsKKyAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7Cisg
ICAgb3V0bGluZTogbm9uZTsKKyAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOworICAgIGZvbnQt
c2l6ZTogMTFweDsKKyAgICBsaW5lLWhlaWdodDogMTRweDsKKyAgICBwYWRkaW5nOiAzcHg7Cit9
CisKKyNoaXN0b3J5IC5yb3cgeworICAgIGhlaWdodDogMzhweDsKKyAgICBwYWRkaW5nOiA0cHg7
CisgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKKyAgICBmb250LWZhbWlseTogbW9ub3NwYWNl
OworICAgIGZvbnQtc2l6ZTogMTJweDsKK30KKworI2hpc3RvcnkgLnJvdy5hbHQgeworICAgIGJh
Y2tncm91bmQtY29sb3I6IHJnYigyMzcsIDI0MywgMjU0KTsKK30KKworLmV4cHJlc3Npb24gewor
ICAgIGNvbG9yOiBibHVlOworfQorCisucmVzdWx0IHsKKyAgICBjb2xvcjogbmF2eTsKK30KSW5k
ZXg6IERyb3NlcmEvY29uc29sZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIERyb3NlcmEvY29uc29sZS5o
dG1sCShyZXZpc2lvbiAwKQorKysgRHJvc2VyYS9jb25zb2xlLmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNDcgQEAKKzwhLS0KK0NvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKK2FyZSBt
ZXQ6CisKKzEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gCiszLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRl
ciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICAgIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAgICBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uIAorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWQorRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQor
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQorRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsK
K0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORAorT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgor
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKy0tPgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAx
LjAgU3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0
cmljdC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHht
bDpsYW5nPSJlbiIgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iY29u
dGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+CisgICAgPHRp
dGxlPkNvbnNvbGU8L3RpdGxlPgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9ImNvbnNvbGUuanMiPjwvc2NyaXB0PiAKKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgor
ICAgICAgICBAaW1wb3J0ICJjb25zb2xlLmNzcyI7CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5IG9ubG9hZD0ibG9hZGVkKCkiPgorPGRpdiBpZD0ibWFpbiI+Cis8ZGl2IGlkPSJ0b3AiPgor
PGRpdiBpZD0iaGlzdG9yeSI+PC9kaXY+Cis8ZGl2IGlkPSJkaXZpZGVyIj48L2Rpdj4KKzwvZGl2
PgorPGRpdiBpZD0iaW5wdXQiPjwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBEcm9zZXJhL2NvbnNvbGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gRHJvc2VyYS9jb25zb2xlLmpzCShy
ZXZpc2lvbiAwKQorKysgRHJvc2VyYS9jb25zb2xlLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDc1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuICBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisgKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisgKiAzLiAgTmVpdGhlciB0
aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBv
ZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
CisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKK3ZhciBpbnB1dEVsZW1lbnQgPSBudWxsOwordmFyIG1haW5X
aW5kb3cgPSB3aW5kb3cub3BlbmVyOworCitmdW5jdGlvbiBsb2FkZWQoKQoreworICAgIGlucHV0
RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dCIpOworICAgIGlucHV0RWxl
bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgaW5wdXRLZXlEb3duLCBmYWxzZSk7Cisg
ICAgaW5wdXRFbGVtZW50LmZvY3VzKCk7Cit9CisKK2Z1bmN0aW9uIGlucHV0S2V5RG93bihldmVu
dCkKK3sKKyAgICBpZiAoZXZlbnQua2V5Q29kZSA9PSAxMyAmJiAhZXZlbnQuYWx0S2V5KSB7Cisg
ICAgICAgIGlmIChtYWluV2luZG93LmlzUGF1c2VkKCkgJiYgbWFpbldpbmRvdy5jdXJyZW50U3Rh
Y2spIHsKKyAgICAgICAgICAgIHNlbmRTY3JpcHQoaW5wdXRFbGVtZW50LmlubmVyVGV4dCk7Cisg
ICAgICAgICAgICBpbnB1dEVsZW1lbnQuaW5uZXJUZXh0ID0gIiI7CisgICAgICAgICAgICBpbnB1
dEVsZW1lbnQuZm9jdXMoKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBhbGVydCgiVGhl
IGRlYnVnZ2VyIG5lZWRzIHRvIGJlIHBhdXNlZC5cdEluIG9yZGVyIHRvIGV2YWx1YXRlIHlvdXIg
c2NyaXB0IGlucHV0IHlvdSBuZWVkIHRvIHBhdXNlIHRoZSBkZWJ1Z2dlciBpbiB0aGUgY29udGV4
dCBvZiBhbm90aGVyIHNjcmlwdC4iKTsKKyAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsK
KyAgICB9Cit9CisKK2Z1bmN0aW9uIHNlbmRTY3JpcHQoc2NyaXB0KQoreworICAgIHZhciBoaXN0
b3J5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhpc3RvcnkiKTsKKyAgICB2YXIgcm93ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgcm93LmNsYXNzTmFtZSA9ICJyb3ci
OworICAgIGlmIChoaXN0b3J5LmNoaWxkTm9kZXMubGVuZ3RoICUgMikKKyAgICAgICAgcm93LmNs
YXNzTmFtZSArPSAiIGFsdCI7CisKKyAgICB2YXIgZXhwcmVzc2lvbiA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImRpdiIpOworICAgIGV4cHJlc3Npb24uY2xhc3NOYW1lID0gImV4cHJlc3Npb24i
OworICAgIGV4cHJlc3Npb24uaW5uZXJUZXh0ID0gc2NyaXB0OworICAgIHJvdy5hcHBlbmRDaGls
ZChleHByZXNzaW9uKTsKKworICAgIHZhciByZXN1bHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKKyAgICByZXN1bHQuY2xhc3NOYW1lID0gInJlc3VsdCI7CisgICAgcmVzdWx0Lmlu
bmVyVGV4dCA9IG1haW5XaW5kb3cuRGVidWdnZXJEb2N1bWVudC5ldmFsdWF0ZVNjcmlwdF9pbkNh
bGxGcmFtZV8oc2NyaXB0LCBtYWluV2luZG93LmN1cnJlbnRDYWxsRnJhbWUuaW5kZXgpOworICAg
IHJvdy5hcHBlbmRDaGlsZChyZXN1bHQpOworCisgICAgaGlzdG9yeS5hcHBlbmRDaGlsZChyb3cp
OworICAgIGhpc3Rvcnkuc2Nyb2xsVG9wID0gaGlzdG9yeS5zY3JvbGxIZWlnaHQ7CisKKyAgICBp
ZiAoc2NyaXB0LmluZGV4T2YoIj0iKSkKKyAgICAgICAgbWFpbldpbmRvdy5jdXJyZW50Q2FsbEZy
YW1lLmxvYWRWYXJpYWJsZXMoKTsKK30KSW5kZXg6IERyb3NlcmEvRHJvc2VyYS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIERyb3NlcmEvRHJvc2VyYS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNTMzMCkKKysrIERyb3NlcmEvRHJvc2VyYS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw2ICsyMiwxMCBAQAog
CQkxQzRGRkU1RTBBNDY2RjVEMDAwMEQwNUQgLyogcHJvZ3JhbUNvdW50ZXJCcmVha1BvaW50LnRp
ZiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM0RkZF
NUMwQTQ2NkY1RDAwMDBEMDVEIC8qIHByb2dyYW1Db3VudGVyQnJlYWtQb2ludC50aWYgKi87IH07
CiAJCTFDNEZGRTVGMEE0NjZGNUQwMDAwRDA1RCAvKiBwcm9ncmFtQ291bnRlckJyZWFrUG9pbnRE
aXNhYmxlZC50aWYgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFDNEZGRTVEMEE0NjZGNUQwMDAwRDA1RCAvKiBwcm9ncmFtQ291bnRlckJyZWFrUG9pbnRE
aXNhYmxlZC50aWYgKi87IH07CiAJCTFDNkY4M0ZGMEE1OEU5N0QwMDRGQ0Q4OSAvKiBzdGVwT3V0
LnRpZiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM2
RjgzRkUwQTU4RTk3RDAwNEZDRDg5IC8qIHN0ZXBPdXQudGlmICovOyB9OworCQkxQzZGODQ1MjBB
NThFREZFMDA0RkNEODkgLyogY29uc29sZS5wbmcgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNkY4NDUxMEE1OEVERkUwMDRGQ0Q4OSAvKiBjb25zb2xl
LnBuZyAqLzsgfTsKKwkJMUM2Rjg0NTUwQTU4RUUwNjAwNEZDRDg5IC8qIGNvbnNvbGUuY3NzIGlu
IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzZGODQ1MzBB
NThFRTA2MDA0RkNEODkgLyogY29uc29sZS5jc3MgKi87IH07CisJCTFDNkY4NDU2MEE1OEVFMDYw
MDRGQ0Q4OSAvKiBjb25zb2xlLmh0bWwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFDNkY4NDU0MEE1OEVFMDYwMDRGQ0Q4OSAvKiBjb25zb2xlLmh0bWwg
Ki87IH07CisJCTFDNkY4NjczMEE1OUExOEIwMDRGQ0Q4OSAvKiBjb25zb2xlLmpzIGluIFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzZGODYxRjBBNTk5RjY1
MDA0RkNEODkgLyogY29uc29sZS5qcyAqLzsgfTsKIAkJMUM3NEYwMzUwQTQ3QkY4MzAwRkVDNjMy
IC8qIHZpZXdlci5odG1sIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQzc0RjAzNDBBNDdCRjgzMDBGRUM2MzIgLyogdmlld2VyLmh0bWwgKi87IH07CiAJ
CTFDNzRGMDRCMEE0N0JGRTgwMEZFQzYzMiAvKiB2aWV3ZXIuY3NzIGluIFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzc0RjAzQTBBNDdCRkQ2MDBGRUM2MzIg
Lyogdmlld2VyLmNzcyAqLzsgfTsKIAkJMUM3NEYxODUwQTQ3REVFNjAwRkVDNjMyIC8qIERlYnVn
Z2VyQXBwbGljYXRpb24ubSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFDNzRGMTg0MEE0N0RFRTYwMEZFQzYzMiAvKiBEZWJ1Z2dlckFwcGxpY2F0aW9uLm0g
Ki87IH07CkBAIC04Miw2ICs4NiwxMCBAQAogCQkxQzRGRkU1QzBBNDY2RjVEMDAwMEQwNUQgLyog
cHJvZ3JhbUNvdW50ZXJCcmVha1BvaW50LnRpZiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IGltYWdlLnRpZmY7IHBhdGggPSBwcm9ncmFtQ291bnRlckJy
ZWFrUG9pbnQudGlmOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzRGRkU1RDBBNDY2
RjVEMDAwMEQwNUQgLyogcHJvZ3JhbUNvdW50ZXJCcmVha1BvaW50RGlzYWJsZWQudGlmICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UudGlmZjsg
cGF0aCA9IHByb2dyYW1Db3VudGVyQnJlYWtQb2ludERpc2FibGVkLnRpZjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMUM2RjgzRkUwQTU4RTk3RDAwNEZDRDg5IC8qIHN0ZXBPdXQudGlm
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2Uu
dGlmZjsgcGF0aCA9IHN0ZXBPdXQudGlmOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
QzZGODQ1MTBBNThFREZFMDA0RkNEODkgLyogY29uc29sZS5wbmcgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBpbWFnZS5wbmc7IHBhdGggPSBjb25zb2xl
LnBuZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUM2Rjg0NTMwQTU4RUUwNjAwNEZD
RDg5IC8qIGNvbnNvbGUuY3NzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IGNvbnNvbGUuY3NzOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzZGODQ1NDBBNThFRTA2MDA0RkNEODkgLyog
Y29uc29sZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gY29uc29sZS5odG1sOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzZGODYxRjBBNTk5RjY1MDA0RkNEODkgLyog
Y29uc29sZS5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IGNvbnNv
bGUuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNzRGMDM0MEE0N0JGODMwMEZF
QzYzMiAvKiB2aWV3ZXIuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9IHZpZXdlci5o
dG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsg
fTsKIAkJMUM3NEYwM0EwQTQ3QkZENjAwRkVDNjMyIC8qIHZpZXdlci5jc3MgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gdmlld2VyLmNzczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGgg
PSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCTFDNzRGMTgzMEE0N0RFRTYwMEZFQzYzMiAvKiBEZWJ1
Z2dlckFwcGxpY2F0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlYnVn
Z2VyQXBwbGljYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1
c2VzVGFicyA9IDA7IH07CkBAIC0xNzQsNiArMTgyLDcgQEAKIAkJMUNDMDU4QjcwQTQ0QTIxMDAw
NkZFNTMzIC8qIEltYWdlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCisJCQkJMUM2Rjg0NTEwQTU4RURGRTAwNEZDRDg5IC8qIGNvbnNvbGUucG5nICovLAogCQkJ
CTFDNEZGNzUzMEE0NEY2MzIwMDAwRDA1RCAvKiBndXR0ZXIucG5nICovLAogCQkJCTFDNEZGOTFG
MEE0NUYzNTIwMDAwRDA1RCAvKiBnbG9zc3lIZWFkZXIucG5nICovLAogCQkJCTFDRDQzNEIxMEE0
Qjg2RjgwMEEwMDdBQiAvKiBnbG9zc3lIZWFkZXJQcmVzc2VkLnBuZyAqLywKQEAgLTI0NCw2ICsy
NTMsOSBAQAogCQkJCTFDNEZGNzQzMEE0NEY1MjYwMDAwRDA1RCAvKiBkZWJ1Z2dlci5jc3MgKi8s
CiAJCQkJMUM3NEYwMzQwQTQ3QkY4MzAwRkVDNjMyIC8qIHZpZXdlci5odG1sICovLAogCQkJCTFD
NzRGMDNBMEE0N0JGRDYwMEZFQzYzMiAvKiB2aWV3ZXIuY3NzICovLAorCQkJCTFDNkY4NjFGMEE1
OTlGNjUwMDRGQ0Q4OSAvKiBjb25zb2xlLmpzICovLAorCQkJCTFDNkY4NDU0MEE1OEVFMDYwMDRG
Q0Q4OSAvKiBjb25zb2xlLmh0bWwgKi8sCisJCQkJMUM2Rjg0NTMwQTU4RUUwNjAwNEZDRDg5IC8q
IGNvbnNvbGUuY3NzICovLAogCQkJKTsKIAkJCW5hbWUgPSBDbGFzc2VzOwogCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKQEAgLTM4OCw2ICs0MDAsMTAgQEAKIAkJCQkxQzI2MzJEQTBBNEFGMEQy
MDBFQTdDRDggLyogYmFja2dyb3VuZF9zdHJpcGUucG5nIGluIFJlc291cmNlcyAqLywKIAkJCQkx
Q0Q0MzRCMjBBNEI4NkY4MDBBMDA3QUIgLyogZ2xvc3N5SGVhZGVyUHJlc3NlZC5wbmcgaW4gUmVz
b3VyY2VzICovLAogCQkJCTFDNkY4M0ZGMEE1OEU5N0QwMDRGQ0Q4OSAvKiBzdGVwT3V0LnRpZiBp
biBSZXNvdXJjZXMgKi8sCisJCQkJMUM2Rjg0NTIwQTU4RURGRTAwNEZDRDg5IC8qIGNvbnNvbGUu
cG5nIGluIFJlc291cmNlcyAqLywKKwkJCQkxQzZGODQ1NTBBNThFRTA2MDA0RkNEODkgLyogY29u
c29sZS5jc3MgaW4gUmVzb3VyY2VzICovLAorCQkJCTFDNkY4NDU2MEE1OEVFMDYwMDRGQ0Q4OSAv
KiBjb25zb2xlLmh0bWwgaW4gUmVzb3VyY2VzICovLAorCQkJCTFDNkY4NjczMEE1OUExOEIwMDRG
Q0Q4OSAvKiBjb25zb2xlLmpzIGluIFJlc291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTQ3NSw2ICs0OTEsNyBAQAog
CQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CiAJCQlidWlsZFNldHRpbmdzID0gewogCQkJ
CUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKKwkJCQlHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGM5
OTsKIAkJCQlHQ0NfRFlOQU1JQ19OT19QSUMgPSBOTzsKIAkJCQlHQ0NfRU5BQkxFX0ZJWF9BTkRf
Q09OVElOVUUgPSBZRVM7CiAJCQkJR0NDX0VOQUJMRV9PQkpDX0VYQ0VQVElPTlMgPSBZRVM7CkBA
IC00OTEsNiArNTA4LDcgQEAKIAkJQzA1NzMzQzkwOEE5NTQ2QjAwOTk4QjE3IC8qIFJlbGVhc2Ug
Ki8gPSB7CiAJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKIAkJCWJ1aWxkU2V0dGluZ3Mg
PSB7CisJCQkJR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQgPSBjOTk7CiAJCQkJR0NDX0VOQUJMRV9P
QkpDX0VYQ0VQVElPTlMgPSBZRVM7CiAJCQkJR0NDX0dFTkVSQVRFX0RFQlVHR0lOR19TWU1CT0xT
ID0gTk87CiAJCQkJR0NDX01PREVMX1RVTklORyA9IEc1OwpJbmRleDogRHJvc2VyYS9JbWFnZXMv
Y29uc29sZS5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBi
aW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKUHJv
cGVydHkgY2hhbmdlcyBvbjogRHJvc2VyYS9JbWFnZXMvY29uc29sZS5wbmcKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpO
YW1lOiBzdm46bWltZS10eXBlCiAgICsgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgppVkJPUncw
S0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBZ0NBWUFBQUJ6ZW5yMEFBQUhVMGxFUVZSWWhlMldhMnhj
UnhYSGZ6UDMybDU3CjQ5amVoNzBieDNHY2h4MDdEa3JhS3JTZ1FBUlVCVUo0aUtKQWxDYXFrSUJh
alpSR1ZhVklnRnExU0VoVjBsU3FCSUpDQ1BDaFJWQXEKaFE4dGJWVFVsa0lUUWh1U1lQS3lrN2pl
OVQ0ZCsrNTYxN3Q3NS9EaDdxN2pwb0p2S1I4NDBtaG16dHg3ei8vOForYmNQL3pmUG1SVAoxZjcy
RHluK0tRVzBuRDE3Tm0vYk5wYWwwZHJDc2l5VVVtaXQwVnFqbE1heU5Fb3BsRlpvcFQzMFNua3Bp
RUxFQUdDTVFVUVFFVzlzCkJOZXRZS28rMTNVeHhsQXBWeGdjR3ZUYlFEQ1h5OUhjM0l4bFcxamFR
bXVOcFMwUGtHV2h0RVpFbzdSR2kwYVVnRklvcXZFQkVmRUEKaUNDdXdSV0RHSU14QnRlNEdOZlVn
N3ZHcFRCWEFBamFRSE1Oc1JoQlZCVzlDS3JhTUlKQjBCZ01Bc3BDVlVGSWxjdDYxdlZ2ZWNHTgpH
RVJBakVIRUxNVHhBRGZiQU5ldVhtUFdtVVZiRnBiV29CUmFxVVZib1pTcVV1NnQxYXcyRlBHNGtG
ckFHN2RCRE1ZMUdDTlZRSVlsClMxb0JzQUVPSGpxSTFocGp6S0pzYXEzbWE3QVZwYkpaNUFOQkli
aUdtNTZ2clZkZEgvaGRYVnNJQkFKczZyZjUxdDFMTWNZUUNvVzQKWTUzTnlHZmJNY1p3Ky9vUVIz
WWJ2dnFKQUNKQ01CamtCM3VFSjNlM2NlRHpRamdjUmtRNE5CTENHRU00SEVZcjRkRDkzdk1IUjBL
SQpDRDk4c0FjUm9iT3pjekdBZERxTnp6WlljOU1BSkpOSmZMWWhuYzZ5dXR2bXJuQ0tuYzhLSjBl
bitjT2pRaXFWd3ErRi9VZW1lZndZCi9PeStoSmRJT3p5M0R4S0pCSzZCSlNxRGlPQW5pWWlRbjU3
a2IwOEw4WGg4TVlCUUtFUytvSWhYQWtRRG1tOXM2ZURDUkFXM0tjRFYKcVFwOUcwSTh2S09GUFY5
Y3diRTNJQndPRXk4MmMraWhkUnk0VjdqL3FNZkFwVEdYSFU4Smg3OFRSRVNZS25WUXFWU1l5aTNG
Y1J4Swpwb20rWFZrT1A5Q3djQVpFaEdReVNYK1hqVE9USVY5VUZISVpydWNWZGpHTHZ3bmVlalBK
OHllRi9tVTV2cnhaU0NRU0ZHYUZoMzQxClNvTWw3UDVVZ3ArOEpPVHphU3FWQ2lPSEovalIvZzVP
dkhXUmRMcE1ZaUxCN0t3d25jcFRMRmJZOGYxcjdOdXpPYUpycHprVUN2SDYKNlJLNWhpNDJMSGY1
NS9Vd1d6Y0lyNHlIaUhaMXdKSUFBTTJoQVVyaTdYbEJOVlNaSzlQUjVtZG1ab1pLUXl1cFZBcTcw
Y2Z1eHk3VApHdTNBZFYxb1c0ZUlvTm8raGxaQ0pCTGg4TkVUVXhZUWpFUWllK2ZtNWhBUkNvN0Rm
QUd1SmZMb2VSaFA1cUU4eDB4cWp2UWN6RHNwCkN0a3k3NHhsTVZtSEUrY1Q1SEk1bkhpV3k2a3lw
VlNhOFl6Z09BNWxGOXpyRHVOWm9aeEtjWFVhU3FrclhFa0xzNDZETWVhWlJXZEEKUkJCZm1Fc1pv
YlVqek5tazUwL01DaGtkcGxBb2tDczM4dUtwTEQ2Zmo1Zk81UWtFdkZOK2VUNkNpSEErNy9YUmFC
UVI0Vi81eGY2TAp1UWltdWs2MWt2WnYzTGp4dkZMcXBqc3NJcFRMWllyRklzVmlrVktwZE5QNmY2
b2IvMjFlcVZRR05NRE9lOXJvam9ZQXVIdkxNTjFMCnl2ajlmdGIxYU5aMGFoekhZZHVXYnNaL0Nj
ZWZEUFAyVThMK2JkNlppRVFpYlAySUVQdE5KNk5ITzNqajBYWkV2RDBXRVpJdlJuajcKdXd2ekdq
UFBQaEpadUFYSDM3ek9wbldLaVlreXZVdkhtS3hrT0RtVzR1dDdRcHc1NWQzZjN4OGY1NFZYQlpF
RVEzM05mTEkvdzFDZgpuL3Z1alBISXI0WEl2VlAxekk0OUptejdYb3luUjRUd2wrTFZ6R01BeEdJ
eFRqNGI1WTV2ZW5NTENQcVdodmJ1L2tJZjUwNWZKajJqCmFXaHhDSFgxNHVZbWlUbEJycVhtNk9y
cXduRWNOZ3oyY2M5d2twZFBkeko2SlVzczE0bHRsWGw4MzFhR0Jycll1cjdDZ1I4N2RJU2oKN056
aTBMTjZFM2YyRjdpUzdXQjIxaUVhalRMeThSaEpzNW96RnpMUDJBQzdObWRwY0p2SkZ5dThleXJC
NTI2RG4rNzNzL1hiUXRKSgpJK0pWcnRZV2k0OTJqbkhtcERCNmRZcGdSeXZaN0JSU2dzeGZYNlZT
RkdaY3dlY1RZckVZVms2SW56aEZPQVNmV1NuODRqM1BuNTBXClppNWRYR0RnOUh1K3ZVUGRqUlN6
ZWZLTkVkNjU0QkJzRnZ6emMyU1VsM2xYVnhmOXl3eXRiZTM4N3U4NUlwRUlLL3hwUHIwK3dQSFIK
T2M0WElyeHl6bUd5SEdIUGNJNUx4UWpUT1lmWEpxTzgvQStIcjJ4czQwL25pMFNqVWFJOTdiendy
aC9IY1R3R0FHWkw4NVFyRUkvSAplWGpYTWw3Lzh5U3ZYUlpFNG5VR2VsdkJkbVlSOFRLWkZPSEVX
SWJiVmdsUGZDMUd4Z2laaTNFZS9LMjM1ODlQQ245OElzYWxNOElECnoxMnZ2N2RoaVJDTDFmL285
QWVEUVJrZUhwWmdNQ2hEUTBNU0NBUmtjSEJRMnR2YlpXQmdRTnJhMm1SZ1lFQmFXMXRsN2RxMTR2
ZjcKWmMyYU5kTFMwaUtyVnEwU244OG5LMWV1bEthbUp1bnQ3WldHaGdaWnNXS0YyTFl0UFQwOVls
bVdMRisrWExUVzB0M2RMVW9wV2JacwptUUQ5TnNEUGp4ekIxOWdFR3JTcWlROVExVEVvdEFLbHZi
RW5RaFpFU2MycU54d3hBdUtwS09UbU9pRWl6TS9QczMzN2R1OGFUbWV6Ck5EWTFvbFZOQVhuaVV5
bDFBeUJWRjZIcUE0TFhRUWlJRi9XR2dNYVRhcWFxa0lEUy9QeENIWEJkZzNGZFJJSFdDa1NCOFFJ
YVplcEEKdkorM3g0YndmaUNMbFE4MzZzTWJLdUNDUkhNWEFNVGpNZkw1UEZvdnlPMzNONnFzSzFS
ZEVkYzJRaFlnb0lRNjlUVXdOekpSWThqZgo0cSsvM3dQY1ZlMXZwVTBBZjFGQUN4QUVtbTh4Z0FL
UXVjVXgvd2Z0MytBVHNyVHlIZjhhQUFBQUFFbEZUa1N1UW1DQwoK
</data>
<flag name="review"
          id="2837"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>