<?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>65145</bug_id>
          
          <creation_ts>2011-07-25 15:55:32 -0700</creation_ts>
          <short_desc>SVG and HTML editing have conflicting inline isWhitespace functions</short_desc>
          <delta_ts>2011-08-18 05:25:24 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>krit</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>441937</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-07-25 15:55:32 -0700</bug_when>
    <thetext>There is a function named isWhitespace in SVG and another in HTML Editing. Both are in the WebCore namespace, both are inline, but they have different contents.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442124</commentid>
    <comment_count>1</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-07-25 23:26:42 -0700</bug_when>
    <thetext>Thats correct. Do you want to rename one of the functions? What is the problem? As long as you do not include SVGParserUtills.h into headers it should work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442531</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-07-26 14:30:57 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Thats correct. Do you want to rename one of the functions?

Yes.

&gt; What is the problem? As long as you do not include SVGParserUtills.h into headers it should work.

There are two problems:

    1) It&apos;s not good for us two have two different functions with the same name that do similar but different things. Even if these functions were guaranteed never to conflict, it&apos;s a recipe for confusion.

    1) Even though this currently works, it is not guaranteed to work. These functions are marked inline, but do not have internal linkage. The C++ standard does not allow two different functions with the same name with external linkage and different definitions. One thing that keeps this from being a practical problem right now is that the SVG function takes a const UChar&amp; instead of a UChar so the functions are distinct. But that&apos;s actually a mistake. It&apos;s not good to have the function take a const UChar&amp;.

I have a patch that fixes it by renaming the SVG parser utilities functions. I think you’ll probably like that patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452699</commentid>
    <comment_count>3</comment_count>
      <attachid>104273</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-08-17 16:24:24 -0700</bug_when>
    <thetext>Created attachment 104273
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452884</commentid>
    <comment_count>4</comment_count>
      <attachid>104273</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-08-18 00:33:46 -0700</bug_when>
    <thetext>Comment on attachment 104273
Patch

Looks reasonable, r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452968</commentid>
    <comment_count>5</comment_count>
      <attachid>104273</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-18 05:25:19 -0700</bug_when>
    <thetext>Comment on attachment 104273
Patch

Clearing flags on attachment: 104273

Committed r93300: &lt;http://trac.webkit.org/changeset/93300&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452969</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-18 05:25:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104273</attachid>
            <date>2011-08-17 16:24:24 -0700</date>
            <delta_ts>2011-08-18 05:25:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65145-20110817162423.patch</filename>
            <type>text/plain</type>
            <size>17301</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzMjU4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTIgQEAKKzIwMTEtMDgtMTcgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFNWRyBhbmQgSFRNTCBlZGl0aW5nIGhh
dmUgY29uZmxpY3RpbmcgaW5saW5lIGlzV2hpdGVzcGFjZSBmdW5jdGlvbnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTQ1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lZCB0aGUgU1ZHLXNwZWNp
ZmljIHdoaXRlc3BhY2UgZnVuY3Rpb25zIHRvIGNhbGwgaXQgIlNWRyBzcGFjZSIKKyAgICAgICAg
cmF0aGVyIHRoYW4ganVzdCAid2hpdGVzcGFjZSIuIEFuIGFsdGVybmF0aXZlIHdvdWxkIGhhdmUg
YmVlbiB0byBwdXQKKyAgICAgICAgdGhlIGZ1bmN0aW9ucyBpbnRvIGFuIFNWRyBuYW1lc3BhY2Ug
aW5zdGVhZCBvZiB0aGUgdG9wIGxldmVsIFdlYkNvcmUKKyAgICAgICAgbmFtZXNwYWNlLgorCisg
ICAgICAgICogc3ZnL1NWR0FuaW1hdGVNb3Rpb25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnBhcnNlUG9pbnQpOiBDYWxsIHNraXBPcHRpb25hbFNWR1NwYWNlcy4KKyAgICAgICAgKiBz
dmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwYXJzZUtleVNw
bGluZXMpOiBEaXR0by4KKyAgICAgICAgKiBzdmcvU1ZHRml0VG9WaWV3Qm94LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0ZpdFRvVmlld0JveDo6cGFyc2VWaWV3Qm94KTogRGl0dG8uCisgICAg
ICAgICogc3ZnL1NWR0xlbmd0aExpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3Ro
TGlzdDo6cGFyc2UpOiBDYWxsIGlzU1ZHU3BhY2UgYW5kCisgICAgICAgIHNraXBPcHRpb25hbFNW
R1NwYWNlc09yRGVsaW1pdGVyLgorICAgICAgICAqIHN2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Z2VuZXJpY1BhcnNlTnVtYmVyKTogQ2FsbCBza2lwT3B0aW9u
YWxTVkdTcGFjZXNPckRlbGltaXRlci4KKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlQXJjRmxhZyk6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VSZWN0KTogQ2FsbCBza2lwT3B0aW9uYWxT
VkdTcGFjZXMuCisgICAgICAgIChXZWJDb3JlOjpwb2ludHNMaXN0RnJvbVNWR0RhdGEpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlR2x5cGhOYW1lKTogQ2FsbCBza2lwT3B0aW9uYWxT
VkdTcGFjZXMsIGlzU1ZHU3BhY2UsCisgICAgICAgIGFuZCBza2lwT3B0aW9uYWxTVkdTcGFjZXNP
ckRlbGltaXRlci4KKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlRGVsaW1pdGVkU3RyaW5nKTogQ2Fs
bCBza2lwT3B0aW9uYWxTVkdTcGFjZXMuCisKKyAgICAgICAgKiBzdmcvU1ZHUGFyc2VyVXRpbGl0
aWVzLmg6CisgICAgICAgIChXZWJDb3JlOjppc1NWR1NwYWNlKTogUmVuYW1lZCBmcm9tIGlzV2hp
dGVzcGFjZS4gVGhpcyBiZXR0ZXIgbWF0Y2hlcworICAgICAgICB0aGUgY29tbWVudCB3aGljaCBz
cGVjaWZpY2FsbHkgdGFsa3MgYWJvdXQgU1ZHLgorICAgICAgICAoV2ViQ29yZTo6c2tpcE9wdGlv
bmFsU1ZHU3BhY2VzKTogUmVuYW1lZCBmcm9tIHNraXBPcHRpb25hbFNwYWNlcy4KKyAgICAgICAg
KFdlYkNvcmU6OnNraXBPcHRpb25hbFNWR1NwYWNlc09yRGVsaW1pdGVyKTogUmVuYW1lZCBmcm9t
CisgICAgICAgIHNraXBPcHRpb25hbFNWR1NwYWNlc09yRGVsaW1pdGVyLgorCisgICAgICAgICog
c3ZnL1NWR1BhdGhTdHJpbmdTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aFN0
cmluZ1NvdXJjZTo6bW92ZVRvTmV4dFRva2VuKTogQ2FsbCBza2lwT3B0aW9uYWxTVkdTcGFjZXMu
CisgICAgICAgICogc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6cGFyc2VQcmVzZXJ2ZUFzcGVjdFJhdGlvKTog
RGl0dG8uCisgICAgICAgICogc3ZnL1NWR1N0cmluZ0xpc3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHU3RyaW5nTGlzdDo6cGFyc2UpOiBDYWxsIGlzU1ZHU3BhY2UgYW5kCisgICAgICAgIHNr
aXBPcHRpb25hbFNWR1NwYWNlc09yRGVsaW1pdGVyLgorICAgICAgICAqIHN2Zy9TVkdUcmFuc2Zv
cm1hYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlVHJhbnNmb3JtUGFyYW1MaXN0KTog
Q2FsbCBza2lwT3B0aW9uYWxTVkdTcGFjZXMgYW5kCisgICAgICAgIHNraXBPcHRpb25hbFNWR1Nw
YWNlc09yRGVsaW1pdGVyLgorICAgICAgICAoV2ViQ29yZTo6U1ZHVHJhbnNmb3JtYWJsZTo6cGFy
c2VUcmFuc2Zvcm1BdHRyaWJ1dGUpOiBDYWxsIHNraXBPcHRpb25hbFNWR1NwYWNlcy4KKwogMjAx
MS0wOC0xNyAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzU0IGFuZCA8cmRhcjovL3By
b2JsZW0vOTk2NTIwOT4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlTW90aW9u
RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVN
b3Rpb25FbGVtZW50LmNwcAkocmV2aXNpb24gOTMxNjEpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTAsNyArMTUw
LDcgQEAgc3RhdGljIGJvb2wgcGFyc2VQb2ludChjb25zdCBTdHJpbmcmIHMsIAogICAgIGNvbnN0
IFVDaGFyKiBjdXIgPSBzLmNoYXJhY3RlcnMoKTsKICAgICBjb25zdCBVQ2hhciogZW5kID0gY3Vy
ICsgcy5sZW5ndGgoKTsKICAgICAKLSAgICBpZiAoIXNraXBPcHRpb25hbFNwYWNlcyhjdXIsIGVu
ZCkpCisgICAgaWYgKCFza2lwT3B0aW9uYWxTVkdTcGFjZXMoY3VyLCBlbmQpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgCiAgICAgZmxvYXQgeCA9IDA7CkBAIC0xNjQsNyArMTY0LDcgQEAg
c3RhdGljIGJvb2wgcGFyc2VQb2ludChjb25zdCBTdHJpbmcmIHMsIAogICAgIHBvaW50ID0gRmxv
YXRQb2ludCh4LCB5KTsKICAgICAKICAgICAvLyBkaXNhbGxvdyBhbnl0aGluZyBleGNlcHQgc3Bh
Y2VzIGF0IHRoZSBlbmQKLSAgICByZXR1cm4gIXNraXBPcHRpb25hbFNwYWNlcyhjdXIsIGVuZCk7
CisgICAgcmV0dXJuICFza2lwT3B0aW9uYWxTVkdTcGFjZXMoY3VyLCBlbmQpOwogfQogICAgIAog
dm9pZCBTVkdBbmltYXRlTW90aW9uRWxlbWVudDo6cmVzZXRUb0Jhc2VWYWx1ZShjb25zdCBTdHJp
bmcmKQpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmNwcAko
cmV2aXNpb24gOTMxNjEpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMCw3ICsxMDAsNyBAQCBzdGF0aWMgdm9pZCBwYXJz
ZUtleVNwbGluZXMoY29uc3QgU3RyaW5nCiAgICAgY29uc3QgVUNoYXIqIGN1ciA9IHBhcnNlLmNo
YXJhY3RlcnMoKTsKICAgICBjb25zdCBVQ2hhciogZW5kID0gY3VyICsgcGFyc2UubGVuZ3RoKCk7
CiAKLSAgICBza2lwT3B0aW9uYWxTcGFjZXMoY3VyLCBlbmQpOworICAgIHNraXBPcHRpb25hbFNW
R1NwYWNlcyhjdXIsIGVuZCk7CiAKICAgICBib29sIGRlbGltUGFyc2VkID0gZmFsc2U7CiAgICAg
d2hpbGUgKGN1ciA8IGVuZCkgewpAQCAtMTI5LDEzICsxMjksMTMgQEAgc3RhdGljIHZvaWQgcGFy
c2VLZXlTcGxpbmVzKGNvbnN0IFN0cmluZwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CiAKLSAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKGN1ciwgZW5kKTsKKyAgICAgICAgc2tpcE9w
dGlvbmFsU1ZHU3BhY2VzKGN1ciwgZW5kKTsKIAogICAgICAgICBpZiAoY3VyIDwgZW5kICYmICpj
dXIgPT0gJzsnKSB7CiAgICAgICAgICAgICBkZWxpbVBhcnNlZCA9IHRydWU7CiAgICAgICAgICAg
ICBjdXIrKzsKICAgICAgICAgfQotICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXMoY3VyLCBlbmQp
OworICAgICAgICBza2lwT3B0aW9uYWxTVkdTcGFjZXMoY3VyLCBlbmQpOwogCiAgICAgICAgIHJl
c3VsdC5hcHBlbmQoVW5pdEJlemllcihwb3NBLCBwb3NCLCBwb3NDLCBwb3NEKSk7CiAgICAgfQpJ
bmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHAJKHJldmlzaW9uIDkzMTYx
KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQ2LDcgKzQ2LDcgQEAgYm9vbCBTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlVmlld0JveChE
b2N1bQogewogICAgIFN0cmluZyBzdHIoYywgZW5kIC0gYyk7CiAKLSAgICBza2lwT3B0aW9uYWxT
cGFjZXMoYywgZW5kKTsKKyAgICBza2lwT3B0aW9uYWxTVkdTcGFjZXMoYywgZW5kKTsKIAogICAg
IGZsb2F0IHggPSAwLjBmOwogICAgIGZsb2F0IHkgPSAwLjBmOwpAQCAtNzAsNyArNzAsNyBAQCBi
b29sIFNWR0ZpdFRvVmlld0JveDo6cGFyc2VWaWV3Qm94KERvY3VtCiAgICAgICAgIGRvYy0+YWNj
ZXNzU1ZHRXh0ZW5zaW9ucygpLT5yZXBvcnRFcnJvcigiQSBuZWdhdGl2ZSB2YWx1ZSBmb3IgVmll
d0JveCBoZWlnaHQgaXMgbm90IGFsbG93ZWQiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IH0KLSAgICBza2lwT3B0aW9uYWxTcGFjZXMoYywgZW5kKTsKKyAgICBza2lwT3B0aW9uYWxTVkdT
cGFjZXMoYywgZW5kKTsKICAgICBpZiAoYyA8IGVuZCkgeyAvLyBub3RoaW5nIHNob3VsZCBjb21l
IGFmdGVyIHRoZSBsYXN0LCBmb3VydGggbnVtYmVyCiAgICAgICAgIGRvYy0+YWNjZXNzU1ZHRXh0
ZW5zaW9ucygpLT5yZXBvcnRXYXJuaW5nKCJQcm9ibGVtIHBhcnNpbmcgdmlld0JveD1cIiIgKyBz
dHIgKyAiXCIiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpJbmRleDogU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0xlbmd0aExpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdMZW5ndGhMaXN0LmNwcAkocmV2aXNpb24gOTMxNjEpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHTGVuZ3RoTGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAgdm9pZCBT
VkdMZW5ndGhMaXN0OjpwYXJzZShjb25zdCBTdHJpbmcmIAogICAgIGNvbnN0IFVDaGFyKiBlbmQg
PSBwdHIgKyB2YWx1ZS5sZW5ndGgoKTsKICAgICB3aGlsZSAocHRyIDwgZW5kKSB7CiAgICAgICAg
IGNvbnN0IFVDaGFyKiBzdGFydCA9IHB0cjsKLSAgICAgICAgd2hpbGUgKHB0ciA8IGVuZCAmJiAq
cHRyICE9ICcsJyAmJiAhaXNXaGl0ZXNwYWNlKCpwdHIpKQorICAgICAgICB3aGlsZSAocHRyIDwg
ZW5kICYmICpwdHIgIT0gJywnICYmICFpc1NWR1NwYWNlKCpwdHIpKQogICAgICAgICAgICAgcHRy
Kys7CiAgICAgICAgIGlmIChwdHIgPT0gc3RhcnQpCiAgICAgICAgICAgICBicmVhazsKQEAgLTUw
LDcgKzUwLDcgQEAgdm9pZCBTVkdMZW5ndGhMaXN0OjpwYXJzZShjb25zdCBTdHJpbmcmIAogICAg
ICAgICBpZiAoZWMpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGFwcGVuZChsZW5ndGgp
OwotICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXNPckRlbGltaXRlcihwdHIsIGVuZCk7CisgICAg
ICAgIHNraXBPcHRpb25hbFNWR1NwYWNlc09yRGVsaW1pdGVyKHB0ciwgZW5kKTsKICAgICB9CiB9
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuY3BwCShyZXZp
c2lvbiA5MzE2MSkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMzcsNyArMTM3LDcgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIEZs
b2F0VHlwZT4gc3RhdGljIGJvbwogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAoc2tp
cCkKLSAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzT3JEZWxpbWl0ZXIocHRyLCBlbmQpOworICAg
ICAgICBza2lwT3B0aW9uYWxTVkdTcGFjZXNPckRlbGltaXRlcihwdHIsIGVuZCk7CiAKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KQEAgLTE2Niw3ICsxNjYsNyBAQCBib29sIHBhcnNlQXJjRmxhZyhjb25z
dCBVQ2hhciomIHB0ciwgY29uCiAgICAgZWxzZQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
Ci0gICAgc2tpcE9wdGlvbmFsU3BhY2VzT3JEZWxpbWl0ZXIocHRyLCBlbmQpOworICAgIHNraXBP
cHRpb25hbFNWR1NwYWNlc09yRGVsaW1pdGVyKHB0ciwgZW5kKTsKICAgICAKICAgICByZXR1cm4g
dHJ1ZTsKIH0KQEAgLTE5Myw3ICsxOTMsNyBAQCBib29sIHBhcnNlUmVjdChjb25zdCBTdHJpbmcm
IHN0cmluZywgRmxvCiB7CiAgICAgY29uc3QgVUNoYXIqIHB0ciA9IHN0cmluZy5jaGFyYWN0ZXJz
KCk7CiAgICAgY29uc3QgVUNoYXIqIGVuZCA9IHB0ciArIHN0cmluZy5sZW5ndGgoKTsKLSAgICBz
a2lwT3B0aW9uYWxTcGFjZXMocHRyLCBlbmQpOworICAgIHNraXBPcHRpb25hbFNWR1NwYWNlcyhw
dHIsIGVuZCk7CiAgICAgCiAgICAgZmxvYXQgeCA9IDA7CiAgICAgZmxvYXQgeSA9IDA7CkBAIC0y
MTEsNyArMjExLDcgQEAgYm9vbCBwb2ludHNMaXN0RnJvbVNWR0RhdGEoU1ZHUG9pbnRMaXN0Jgog
ICAgIGNvbnN0IFVDaGFyKiBjdXIgPSBwb2ludHMuY2hhcmFjdGVycygpOwogICAgIGNvbnN0IFVD
aGFyKiBlbmQgPSBjdXIgKyBwb2ludHMubGVuZ3RoKCk7CiAKLSAgICBza2lwT3B0aW9uYWxTcGFj
ZXMoY3VyLCBlbmQpOworICAgIHNraXBPcHRpb25hbFNWR1NwYWNlcyhjdXIsIGVuZCk7CiAKICAg
ICBib29sIGRlbGltUGFyc2VkID0gZmFsc2U7CiAgICAgd2hpbGUgKGN1ciA8IGVuZCkgewpAQCAt
MjI0LDEzICsyMjQsMTMgQEAgYm9vbCBwb2ludHNMaXN0RnJvbVNWR0RhdGEoU1ZHUG9pbnRMaXN0
JgogICAgICAgICBpZiAoIXBhcnNlTnVtYmVyKGN1ciwgZW5kLCB5UG9zLCBmYWxzZSkpCiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKGN1ciwg
ZW5kKTsKKyAgICAgICAgc2tpcE9wdGlvbmFsU1ZHU3BhY2VzKGN1ciwgZW5kKTsKIAogICAgICAg
ICBpZiAoY3VyIDwgZW5kICYmICpjdXIgPT0gJywnKSB7CiAgICAgICAgICAgICBkZWxpbVBhcnNl
ZCA9IHRydWU7CiAgICAgICAgICAgICBjdXIrKzsKICAgICAgICAgfQotICAgICAgICBza2lwT3B0
aW9uYWxTcGFjZXMoY3VyLCBlbmQpOworICAgICAgICBza2lwT3B0aW9uYWxTVkdTcGFjZXMoY3Vy
LCBlbmQpOwogCiAgICAgICAgIHBvaW50c0xpc3QuYXBwZW5kKEZsb2F0UG9pbnQoeFBvcywgeVBv
cykpOwogICAgIH0KQEAgLTI0NCw3ICsyNDQsNyBAQCBib29sIHBhcnNlR2x5cGhOYW1lKGNvbnN0
IFN0cmluZyYgaW5wdXQsCiAKICAgICBjb25zdCBVQ2hhciogcHRyID0gaW5wdXQuY2hhcmFjdGVy
cygpOwogICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBwdHIgKyBpbnB1dC5sZW5ndGgoKTsKLSAgICBz
a2lwT3B0aW9uYWxTcGFjZXMocHRyLCBlbmQpOworICAgIHNraXBPcHRpb25hbFNWR1NwYWNlcyhw
dHIsIGVuZCk7CiAKICAgICB3aGlsZSAocHRyIDwgZW5kKSB7CiAgICAgICAgIC8vIExlYWRpbmcg
YW5kIHRyYWlsaW5nIHdoaXRlIHNwYWNlLCBhbmQgd2hpdGUgc3BhY2UgYmVmb3JlIGFuZCBhZnRl
ciBzZXBhcmF0b3JzLCB3aWxsIGJlIGlnbm9yZWQuCkBAIC0yNTcsMTEgKzI1NywxMSBAQCBib29s
IHBhcnNlR2x5cGhOYW1lKGNvbnN0IFN0cmluZyYgaW5wdXQsCiAKICAgICAgICAgLy8gd2FsayBi
YWNrd2FyZHMgZnJvbSB0aGUgOyB0byBpZ25vcmUgYW55IHdoaXRlc3BhY2UKICAgICAgICAgY29u
c3QgVUNoYXIqIGlucHV0RW5kID0gcHRyIC0gMTsKLSAgICAgICAgd2hpbGUgKGlucHV0U3RhcnQg
PCBpbnB1dEVuZCAmJiBpc1doaXRlc3BhY2UoKmlucHV0RW5kKSkKKyAgICAgICAgd2hpbGUgKGlu
cHV0U3RhcnQgPCBpbnB1dEVuZCAmJiBpc1NWR1NwYWNlKCppbnB1dEVuZCkpCiAgICAgICAgICAg
ICAtLWlucHV0RW5kOwogCiAgICAgICAgIHZhbHVlcy5hZGQoU3RyaW5nKGlucHV0U3RhcnQsIGlu
cHV0RW5kIC0gaW5wdXRTdGFydCArIDEpKTsKLSAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzT3JE
ZWxpbWl0ZXIocHRyLCBlbmQsICcsJyk7CisgICAgICAgIHNraXBPcHRpb25hbFNWR1NwYWNlc09y
RGVsaW1pdGVyKHB0ciwgZW5kLCAnLCcpOwogICAgIH0KIAogICAgIHJldHVybiB0cnVlOwpAQCAt
MzY4LDcgKzM2OCw3IEBAIFZlY3RvcjxTdHJpbmc+IHBhcnNlRGVsaW1pdGVkU3RyaW5nKGNvbnMK
IAogICAgIGNvbnN0IFVDaGFyKiBwdHIgPSBpbnB1dC5jaGFyYWN0ZXJzKCk7CiAgICAgY29uc3Qg
VUNoYXIqIGVuZCA9IHB0ciArIGlucHV0Lmxlbmd0aCgpOwotICAgIHNraXBPcHRpb25hbFNwYWNl
cyhwdHIsIGVuZCk7CisgICAgc2tpcE9wdGlvbmFsU1ZHU3BhY2VzKHB0ciwgZW5kKTsKIAogICAg
IHdoaWxlIChwdHIgPCBlbmQpIHsKICAgICAgICAgLy8gTGVhZGluZyBhbmQgdHJhaWxpbmcgd2hp
dGUgc3BhY2UsIGFuZCB3aGl0ZSBzcGFjZSBiZWZvcmUgYW5kIGFmdGVyIHNlbWljb2xvbiBzZXBh
cmF0b3JzLCB3aWxsIGJlIGlnbm9yZWQuCkBAIC0zODEsMTEgKzM4MSwxMSBAQCBWZWN0b3I8U3Ry
aW5nPiBwYXJzZURlbGltaXRlZFN0cmluZyhjb25zCiAKICAgICAgICAgLy8gd2FsayBiYWNrd2Fy
ZHMgZnJvbSB0aGUgOyB0byBpZ25vcmUgYW55IHdoaXRlc3BhY2UKICAgICAgICAgY29uc3QgVUNo
YXIqIGlucHV0RW5kID0gcHRyIC0gMTsKLSAgICAgICAgd2hpbGUgKGlucHV0U3RhcnQgPCBpbnB1
dEVuZCAmJiBpc1doaXRlc3BhY2UoKmlucHV0RW5kKSkKKyAgICAgICAgd2hpbGUgKGlucHV0U3Rh
cnQgPCBpbnB1dEVuZCAmJiBpc1NWR1NwYWNlKCppbnB1dEVuZCkpCiAgICAgICAgICAgICBpbnB1
dEVuZC0tOwogCiAgICAgICAgIHZhbHVlcy5hcHBlbmQoU3RyaW5nKGlucHV0U3RhcnQsIGlucHV0
RW5kIC0gaW5wdXRTdGFydCArIDEpKTsKLSAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzT3JEZWxp
bWl0ZXIocHRyLCBlbmQsIHNlcGVyYXRvcik7CisgICAgICAgIHNraXBPcHRpb25hbFNWR1NwYWNl
c09yRGVsaW1pdGVyKHB0ciwgZW5kLCBzZXBlcmF0b3IpOwogICAgIH0KIAogICAgIHJldHVybiB2
YWx1ZXM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFyc2VyVXRpbGl0aWVzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhcnNlclV0aWxpdGllcy5oCShyZXZp
c2lvbiA5MzE2MSkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJzZXJVdGlsaXRpZXMuaAko
d29ya2luZyBjb3B5KQpAQCAtNDEsMjYgKzQxLDI2IEBAIGJvb2wgcGFyc2VSZWN0KGNvbnN0IFN0
cmluZyYsIEZsb2F0UmVjdCYKIAogLy8gU1ZHIGFsbG93cyBzZXZlcmFsIGRpZmZlcmVudCB3aGl0
ZXNwYWNlIGNoYXJhY3RlcnM6CiAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvcGF0aHMuaHRt
bCNQYXRoRGF0YUJORgotaW5saW5lIGJvb2wgaXNXaGl0ZXNwYWNlKGNvbnN0IFVDaGFyJiBjKQor
aW5saW5lIGJvb2wgaXNTVkdTcGFjZShVQ2hhciBjKQogewogICAgIHJldHVybiBjID09ICcgJyB8
fCBjID09ICdcdCcgfHwgYyA9PSAnXG4nIHx8IGMgPT0gJ1xyJzsKIH0KIAotaW5saW5lIGJvb2wg
c2tpcE9wdGlvbmFsU3BhY2VzKGNvbnN0IFVDaGFyKiYgcHRyLCBjb25zdCBVQ2hhciogZW5kKQor
aW5saW5lIGJvb2wgc2tpcE9wdGlvbmFsU1ZHU3BhY2VzKGNvbnN0IFVDaGFyKiYgcHRyLCBjb25z
dCBVQ2hhciogZW5kKQogewotICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgaXNXaGl0ZXNwYWNlKCpw
dHIpKQorICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgaXNTVkdTcGFjZSgqcHRyKSkKICAgICAgICAg
cHRyKys7CiAgICAgcmV0dXJuIHB0ciA8IGVuZDsKIH0KIAotaW5saW5lIGJvb2wgc2tpcE9wdGlv
bmFsU3BhY2VzT3JEZWxpbWl0ZXIoY29uc3QgVUNoYXIqJiBwdHIsIGNvbnN0IFVDaGFyKiBlbmQs
IFVDaGFyIGRlbGltaXRlciA9ICcsJykKK2lubGluZSBib29sIHNraXBPcHRpb25hbFNWR1NwYWNl
c09yRGVsaW1pdGVyKGNvbnN0IFVDaGFyKiYgcHRyLCBjb25zdCBVQ2hhciogZW5kLCBVQ2hhciBk
ZWxpbWl0ZXIgPSAnLCcpCiB7Ci0gICAgaWYgKHB0ciA8IGVuZCAmJiAhaXNXaGl0ZXNwYWNlKCpw
dHIpICYmICpwdHIgIT0gZGVsaW1pdGVyKQorICAgIGlmIChwdHIgPCBlbmQgJiYgIWlzU1ZHU3Bh
Y2UoKnB0cikgJiYgKnB0ciAhPSBkZWxpbWl0ZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICBpZiAoc2tpcE9wdGlvbmFsU3BhY2VzKHB0ciwgZW5kKSkgeworICAgIGlmIChza2lwT3B0aW9u
YWxTVkdTcGFjZXMocHRyLCBlbmQpKSB7CiAgICAgICAgIGlmIChwdHIgPCBlbmQgJiYgKnB0ciA9
PSBkZWxpbWl0ZXIpIHsKICAgICAgICAgICAgIHB0cisrOwotICAgICAgICAgICAgc2tpcE9wdGlv
bmFsU3BhY2VzKHB0ciwgZW5kKTsKKyAgICAgICAgICAgIHNraXBPcHRpb25hbFNWR1NwYWNlcyhw
dHIsIGVuZCk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIHB0ciA8IGVuZDsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU3RyaW5nU291cmNlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFN0cmluZ1NvdXJjZS5jcHAJKHJldmlzaW9uIDkz
MTYxKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTdHJpbmdTb3VyY2UuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MSw3ICs0MSw3IEBAIGJvb2wgU1ZHUGF0aFN0cmluZ1NvdXJjZTo6aGFz
TW9yZURhdGEoKSAKIAogYm9vbCBTVkdQYXRoU3RyaW5nU291cmNlOjptb3ZlVG9OZXh0VG9rZW4o
KQogewotICAgIHJldHVybiBza2lwT3B0aW9uYWxTcGFjZXMobV9jdXJyZW50LCBtX2VuZCk7Cisg
ICAgcmV0dXJuIHNraXBPcHRpb25hbFNWR1NwYWNlcyhtX2N1cnJlbnQsIG1fZW5kKTsKIH0KIAog
Ym9vbCBTVkdQYXRoU3RyaW5nU291cmNlOjpwYXJzZVNWR1NlZ21lbnRUeXBlKFNWR1BhdGhTZWdU
eXBlJiBwYXRoU2VnVHlwZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpby5jcHAJKHJldmlzaW9uIDkzMTYxKQorKysgU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NSwyMSArNjUs
MjEgQEAgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyBTVkdQcmVzZXJ2ZUFzcGVjdAogICAgIHJlc3Vs
dCA9IGZhbHNlOwogCiAgICAgLy8gRklYTUU6IFJld3JpdGUgdGhpcyBwYXJzZXIsIHdpdGhvdXQg
Z290b3MhCi0gICAgaWYgKCFza2lwT3B0aW9uYWxTcGFjZXMoY3VyclBhcmFtLCBlbmQpKQorICAg
IGlmICghc2tpcE9wdGlvbmFsU1ZHU3BhY2VzKGN1cnJQYXJhbSwgZW5kKSkKICAgICAgICAgZ290
byBiYWlsT3V0OwogCiAgICAgaWYgKCpjdXJyUGFyYW0gPT0gJ2QnKSB7CiAgICAgICAgIGlmICgh
c2tpcFN0cmluZyhjdXJyUGFyYW0sIGVuZCwgImRlZmVyIikpCiAgICAgICAgICAgICBnb3RvIGJh
aWxPdXQ7CiAgICAgICAgIC8vIEZJWE1FOiBXZSBqdXN0IGlnbm9yZSB0aGUgImRlZmVyIiBoZXJl
LgotICAgICAgICBpZiAoIXNraXBPcHRpb25hbFNwYWNlcyhjdXJyUGFyYW0sIGVuZCkpCisgICAg
ICAgIGlmICghc2tpcE9wdGlvbmFsU1ZHU3BhY2VzKGN1cnJQYXJhbSwgZW5kKSkKICAgICAgICAg
ICAgIGdvdG8gYmFpbE91dDsKICAgICB9CiAKICAgICBpZiAoKmN1cnJQYXJhbSA9PSAnbicpIHsK
ICAgICAgICAgaWYgKCFza2lwU3RyaW5nKGN1cnJQYXJhbSwgZW5kLCAibm9uZSIpKQogICAgICAg
ICAgICAgZ290byBiYWlsT3V0OwotICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXMoY3VyclBhcmFt
LCBlbmQpOworICAgICAgICBza2lwT3B0aW9uYWxTVkdTcGFjZXMoY3VyclBhcmFtLCBlbmQpOwog
ICAgIH0gZWxzZSBpZiAoKmN1cnJQYXJhbSA9PSAneCcpIHsKICAgICAgICAgaWYgKChlbmQgLSBj
dXJyUGFyYW0pIDwgOCkKICAgICAgICAgICAgIGdvdG8gYmFpbE91dDsKQEAgLTEyNyw3ICsxMjcs
NyBAQCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIFNWR1ByZXNlcnZlQXNwZWN0CiAgICAgICAgIH0g
ZWxzZQogICAgICAgICAgICAgZ290byBiYWlsT3V0OwogICAgICAgICBjdXJyUGFyYW0gKz0gODsK
LSAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKGN1cnJQYXJhbSwgZW5kKTsKKyAgICAgICAgc2tp
cE9wdGlvbmFsU1ZHU3BhY2VzKGN1cnJQYXJhbSwgZW5kKTsKICAgICB9IGVsc2UKICAgICAgICAg
Z290byBiYWlsT3V0OwogCkBAIC0xMzUsMTEgKzEzNSwxMSBAQCBTVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvIFNWR1ByZXNlcnZlQXNwZWN0CiAgICAgICAgIGlmICgqY3VyclBhcmFtID09ICdtJykgewog
ICAgICAgICAgICAgaWYgKCFza2lwU3RyaW5nKGN1cnJQYXJhbSwgZW5kLCAibWVldCIpKQogICAg
ICAgICAgICAgICAgIGdvdG8gYmFpbE91dDsKLSAgICAgICAgICAgIHNraXBPcHRpb25hbFNwYWNl
cyhjdXJyUGFyYW0sIGVuZCk7CisgICAgICAgICAgICBza2lwT3B0aW9uYWxTVkdTcGFjZXMoY3Vy
clBhcmFtLCBlbmQpOwogICAgICAgICB9IGVsc2UgaWYgKCpjdXJyUGFyYW0gPT0gJ3MnKSB7CiAg
ICAgICAgICAgICBpZiAoIXNraXBTdHJpbmcoY3VyclBhcmFtLCBlbmQsICJzbGljZSIpKQogICAg
ICAgICAgICAgICAgIGdvdG8gYmFpbE91dDsKLSAgICAgICAgICAgIHNraXBPcHRpb25hbFNwYWNl
cyhjdXJyUGFyYW0sIGVuZCk7CisgICAgICAgICAgICBza2lwT3B0aW9uYWxTVkdTcGFjZXMoY3Vy
clBhcmFtLCBlbmQpOwogICAgICAgICAgICAgaWYgKGFzcGVjdFJhdGlvLm1fYWxpZ24gIT0gU1ZH
X1BSRVNFUlZFQVNQRUNUUkFUSU9fTk9ORSkKICAgICAgICAgICAgICAgICBhc3BlY3RSYXRpby5t
X21lZXRPclNsaWNlID0gU1ZHX01FRVRPUlNMSUNFX1NMSUNFOyAgICAKICAgICAgICAgfQpJbmRl
eDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0cmluZ0xpc3QuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHJpbmdMaXN0LmNwcAkocmV2aXNpb24gOTMxNjEpCisrKyBT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3RyaW5nTGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0
LDEyICs1NCwxMiBAQCB2b2lkIFNWR1N0cmluZ0xpc3Q6OnBhcnNlKGNvbnN0IFN0cmluZyYgCiAg
ICAgY29uc3QgVUNoYXIqIGVuZCA9IHB0ciArIGRhdGEubGVuZ3RoKCk7CiAgICAgd2hpbGUgKHB0
ciA8IGVuZCkgewogICAgICAgICBjb25zdCBVQ2hhciogc3RhcnQgPSBwdHI7Ci0gICAgICAgIHdo
aWxlIChwdHIgPCBlbmQgJiYgKnB0ciAhPSBkZWxpbWl0ZXIgJiYgIWlzV2hpdGVzcGFjZSgqcHRy
KSkKKyAgICAgICAgd2hpbGUgKHB0ciA8IGVuZCAmJiAqcHRyICE9IGRlbGltaXRlciAmJiAhaXNT
VkdTcGFjZSgqcHRyKSkKICAgICAgICAgICAgIHB0cisrOwogICAgICAgICBpZiAocHRyID09IHN0
YXJ0KQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGFwcGVuZChTdHJpbmcoc3RhcnQsIHB0
ciAtIHN0YXJ0KSk7Ci0gICAgICAgIHNraXBPcHRpb25hbFNwYWNlc09yRGVsaW1pdGVyKHB0ciwg
ZW5kLCBkZWxpbWl0ZXIpOworICAgICAgICBza2lwT3B0aW9uYWxTVkdTcGFjZXNPckRlbGltaXRl
cihwdHIsIGVuZCwgZGVsaW1pdGVyKTsKICAgICB9CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdUcmFuc2Zvcm1hYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVHJhbnNmb3JtYWJsZS5jcHAJKHJldmlzaW9uIDkzMTYxKQorKysgU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1RyYW5zZm9ybWFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNywyNCArMzcs
MjQgQEAgc3RhdGljIGludCBwYXJzZVRyYW5zZm9ybVBhcmFtTGlzdChjb25zdAogewogICAgIGlu
dCBvcHRpb25hbFBhcmFtcyA9IDAsIHJlcXVpcmVkUGFyYW1zID0gMDsKICAgICAKLSAgICBpZiAo
IXNraXBPcHRpb25hbFNwYWNlcyhwdHIsIGVuZCkgfHwgKnB0ciAhPSAnKCcpCisgICAgaWYgKCFz
a2lwT3B0aW9uYWxTVkdTcGFjZXMocHRyLCBlbmQpIHx8ICpwdHIgIT0gJygnKQogICAgICAgICBy
ZXR1cm4gLTE7CiAgICAgCiAgICAgcHRyKys7CiAgICAKLSAgICBza2lwT3B0aW9uYWxTcGFjZXMo
cHRyLCBlbmQpOworICAgIHNraXBPcHRpb25hbFNWR1NwYWNlcyhwdHIsIGVuZCk7CiAKICAgICB3
aGlsZSAocmVxdWlyZWRQYXJhbXMgPCByZXF1aXJlZCkgewogICAgICAgICBpZiAocHRyID49IGVu
ZCB8fCAhcGFyc2VOdW1iZXIocHRyLCBlbmQsIHZhbHVlc1tyZXF1aXJlZFBhcmFtc10sIGZhbHNl
KSkKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgcmVxdWlyZWRQYXJhbXMrKzsKICAg
ICAgICAgaWYgKHJlcXVpcmVkUGFyYW1zIDwgcmVxdWlyZWQpCi0gICAgICAgICAgICBza2lwT3B0
aW9uYWxTcGFjZXNPckRlbGltaXRlcihwdHIsIGVuZCk7CisgICAgICAgICAgICBza2lwT3B0aW9u
YWxTVkdTcGFjZXNPckRlbGltaXRlcihwdHIsIGVuZCk7CiAgICAgfQotICAgIGlmICghc2tpcE9w
dGlvbmFsU3BhY2VzKHB0ciwgZW5kKSkKKyAgICBpZiAoIXNraXBPcHRpb25hbFNWR1NwYWNlcyhw
dHIsIGVuZCkpCiAgICAgICAgIHJldHVybiAtMTsKICAgICAKLSAgICBib29sIGRlbGltUGFyc2Vk
ID0gc2tpcE9wdGlvbmFsU3BhY2VzT3JEZWxpbWl0ZXIocHRyLCBlbmQpOworICAgIGJvb2wgZGVs
aW1QYXJzZWQgPSBza2lwT3B0aW9uYWxTVkdTcGFjZXNPckRlbGltaXRlcihwdHIsIGVuZCk7CiAK
ICAgICBpZiAocHRyID49IGVuZCkKICAgICAgICAgcmV0dXJuIC0xOwpAQCAtNjksMTMgKzY5LDEz
IEBAIHN0YXRpYyBpbnQgcGFyc2VUcmFuc2Zvcm1QYXJhbUxpc3QoY29uc3QKICAgICAgICAgICAg
ICAgICByZXR1cm4gLTE7CiAgICAgICAgICAgICBvcHRpb25hbFBhcmFtcysrOwogICAgICAgICAg
ICAgaWYgKG9wdGlvbmFsUGFyYW1zIDwgb3B0aW9uYWwpCi0gICAgICAgICAgICAgICAgc2tpcE9w
dGlvbmFsU3BhY2VzT3JEZWxpbWl0ZXIocHRyLCBlbmQpOworICAgICAgICAgICAgICAgIHNraXBP
cHRpb25hbFNWR1NwYWNlc09yRGVsaW1pdGVyKHB0ciwgZW5kKTsKICAgICAgICAgfQogICAgICAg
ICAKLSAgICAgICAgaWYgKCFza2lwT3B0aW9uYWxTcGFjZXMocHRyLCBlbmQpKQorICAgICAgICBp
ZiAoIXNraXBPcHRpb25hbFNWR1NwYWNlcyhwdHIsIGVuZCkpCiAgICAgICAgICAgICByZXR1cm4g
LTE7CiAgICAgICAgIAotICAgICAgICBkZWxpbVBhcnNlZCA9IHNraXBPcHRpb25hbFNwYWNlc09y
RGVsaW1pdGVyKHB0ciwgZW5kKTsKKyAgICAgICAgZGVsaW1QYXJzZWQgPSBza2lwT3B0aW9uYWxT
VkdTcGFjZXNPckRlbGltaXRlcihwdHIsIGVuZCk7CiAgICAgICAgIAogICAgICAgICBpZiAocHRy
ID49IGVuZCB8fCAqcHRyICE9ICcpJyB8fCBkZWxpbVBhcnNlZCkKICAgICAgICAgICAgIHJldHVy
biAtMTsKQEAgLTE4NSw3ICsxODUsNyBAQCBib29sIFNWR1RyYW5zZm9ybWFibGU6OnBhcnNlVHJh
bnNmb3JtQXR0CiAgICAgd2hpbGUgKGN1cnJUcmFuc2Zvcm0gPCBlbmQpIHsKICAgICAgICAgZGVs
aW1QYXJzZWQgPSBmYWxzZTsKICAgICAgICAgdW5zaWduZWQgc2hvcnQgdHlwZSA9IFNWR1RyYW5z
Zm9ybTo6U1ZHX1RSQU5TRk9STV9VTktOT1dOOwotICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXMo
Y3VyclRyYW5zZm9ybSwgZW5kKTsKKyAgICAgICAgc2tpcE9wdGlvbmFsU1ZHU3BhY2VzKGN1cnJU
cmFuc2Zvcm0sIGVuZCk7CiAKICAgICAgICAgaWYgKCFwYXJzZUFuZFNraXBUeXBlKGN1cnJUcmFu
c2Zvcm0sIGVuZCwgdHlwZSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xOTUsMTIg
KzE5NSwxMiBAQCBib29sIFNWR1RyYW5zZm9ybWFibGU6OnBhcnNlVHJhbnNmb3JtQXR0CiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgbGlzdC5hcHBlbmQodHJhbnNmb3JtKTsK
LSAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKGN1cnJUcmFuc2Zvcm0sIGVuZCk7CisgICAgICAg
IHNraXBPcHRpb25hbFNWR1NwYWNlcyhjdXJyVHJhbnNmb3JtLCBlbmQpOwogICAgICAgICBpZiAo
Y3VyclRyYW5zZm9ybSA8IGVuZCAmJiAqY3VyclRyYW5zZm9ybSA9PSAnLCcpIHsKICAgICAgICAg
ICAgIGRlbGltUGFyc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICsrY3VyclRyYW5zZm9ybTsKICAg
ICAgICAgfQotICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXMoY3VyclRyYW5zZm9ybSwgZW5kKTsK
KyAgICAgICAgc2tpcE9wdGlvbmFsU1ZHU3BhY2VzKGN1cnJUcmFuc2Zvcm0sIGVuZCk7CiAgICAg
fQogCiAgICAgcmV0dXJuICFkZWxpbVBhcnNlZDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>