<?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>153688</bug_id>
          
          <creation_ts>2016-01-29 16:43:15 -0800</creation_ts>
          <short_desc>Modern IDB: Some tests crash with specific odd database names</short_desc>
          <delta_ts>2016-02-02 16:05:32 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>Safari 9</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>
          
          <blocked>149117</blocked>
    
    <blocked>153021</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1160336</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-01-29 16:43:15 -0800</bug_when>
    <thetext>Modern IDB: Some tests crash with specific odd database names</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160337</commentid>
    <comment_count>1</comment_count>
      <attachid>270271</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-01-29 16:45:06 -0800</bug_when>
    <thetext>Created attachment 270271
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160367</commentid>
    <comment_count>2</comment_count>
      <attachid>270271</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-01-29 18:18:12 -0800</bug_when>
    <thetext>Comment on attachment 270271
Patch v1

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

&gt; Source/WebCore/platform/FileSystem.cpp:89
&gt; +enum class UCharEscapeMode {
&gt; +    NoEscape,
&gt; +    Escape1Byte,
&gt; +    Escape2Bytes,
&gt; +};

Could just have kept the shouldEscape function returning a boolean. It’s really easy (and logical) for the caller to check if the character fits in a byte after the fact and decide which kind of escaping to do.

&gt; Source/WebCore/platform/FileSystem.cpp:91
&gt; +static inline UCharEscapeMode shouldEscapeUChar(UChar c, UChar prev, UChar next)

I would have named these character, previousCharacter, and nextCharacter.

&gt; Source/WebCore/platform/FileSystem.cpp:96
&gt; +    if (U16_IS_LEAD(c) &amp;&amp; (!next || !U16_IS_TRAIL(next)))

No need for the !next check here. 0 is not a trailing surrogate.

&gt; Source/WebCore/platform/FileSystem.cpp:99
&gt; +    if (U16_IS_TRAIL(c) &amp;&amp; (!prev || !U16_IS_LEAD(prev)))

No need for the !prev check here. 0 is not a leading surrogate.

&gt; Source/WebCore/platform/FileSystem.cpp:109
&gt;      unsigned length = inputString.length();

Normally we would reserve capacity here for the string builder to slightly improve memory use.

&gt; Source/WebCore/platform/FileSystem.cpp:111
&gt;          UChar character = (*stringImpl)[i];

Kind of strange to use stringImpl instead of inputString here. Seems to be a preexisting unnecessary attempt at optimization.

&gt; Source/WebCore/platform/FileSystem.cpp:112
&gt; +        UChar prev = !i ? 0 : (*stringImpl)[i - 1];

I would have written:

    UChar previousCharacter = i ? inputString[i] : 0;

And if I really cared so much about optimization I would have tried to keep the previous character from the last time through the loop instead of re-fetching it.

&gt; Source/WebCore/platform/FileSystem.cpp:113
&gt; +        UChar next = i + 1 == length ? 0 : (*stringImpl)[i + 1];

I would have written:

    UChar nextCharacter = i + 1 &lt; length ? inputString[i + 1] : 0;

&gt; Source/WebCore/platform/FileSystem.cpp:115
&gt; +        auto escapeMode = shouldEscapeUChar(character, prev, next);

Seems like this should be a switch rather than cascading if statements. If we keep the enum type at all.

&gt; Source/WebCore/platform/FileSystem.cpp:120
&gt; +            result.append(&quot;%+&quot;);

Should use appendLiteral.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160532</commentid>
    <comment_count>3</comment_count>
      <attachid>270318</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-01-30 13:48:39 -0800</bug_when>
    <thetext>Created attachment 270318
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160541</commentid>
    <comment_count>4</comment_count>
      <attachid>270318</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-30 14:25:29 -0800</bug_when>
    <thetext>Comment on attachment 270318
Patch for landing

Clearing flags on attachment: 270318

Committed r195913: &lt;http://trac.webkit.org/changeset/195913&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270271</attachid>
            <date>2016-01-29 16:45:06 -0800</date>
            <delta_ts>2016-01-29 22:10:05 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>4073</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjZTk2N2RkLi40MzBiMjQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTQgQEAKIDIwMTYtMDEt
MjkgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCisgICAgICAgIE1vZGVybiBJ
REI6IFNvbWUgdGVzdHMgY3Jhc2ggd2l0aCBzcGVjaWZpYyBvZGQgZGF0YWJhc2UgbmFtZXMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM2ODgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3Jt
L21hYy13azEvVGVzdEV4cGVjdGF0aW9uczoKKworMjAxNi0wMS0yOSAgQnJhZHkgRWlkc29uICA8
YmVpZHNvbkBhcHBsZS5jb20+CisKICAgICAgICAgVW5yZXZpZXdlZCB0ZXN0IGdhcmRlbmluZy4K
IAogICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9uczogQnJlYWsgb3V0
IHNvbWUgSURCIGZhaWx1cmVzIHdpdGggYmV0dGVyIGRlc2NyaXB0aW9ucy4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBhODZkNzUxLi4zYmU0
ZWExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25z
CkBAIC0yNzEsOSArMjcxLDcgQEAgc3RvcmFnZS9pbmRleGVkZGIvcHJlZmV0Y2gtaW52YWxpZGF0
aW9uLmh0bWwgWyBTa2lwIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNvb3JkaW5h
dGlvbi13aXRoaW4tZGF0YWJhc2UuaHRtbCBbIFNraXAgXQogCiAjIFNRTGl0ZSBiYWNrZW5kIHRl
c3RzIHRoYXQgY3Jhc2ggb3IgQVNTRVJUCi1zdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1vZGQt
bmFtZXMuaHRtbCBbIFNraXAgXQogc3RvcmFnZS9pbmRleGVkZGIvZG9udC13ZWRnZS5odG1sIFsg
U2tpcCBdCi1zdG9yYWdlL2luZGV4ZWRkYi9vZGQtc3RyaW5ncy5odG1sIFsgU2tpcCBdCiAKICMj
IyBFTkQgT0YgKDMpIEluZGV4ZWREQiBmYWlsdXJlcyB3aXRoIFNRTGl0ZQogIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGY0NGZiODMuLmY3MGJi
MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxOCBAQAogMjAxNi0wMS0yOSAgQnJhZHkgRWlkc29u
ICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKKyAgICAgICAgTW9kZXJuIElEQjogU29tZSB0ZXN0cyBj
cmFzaCB3aXRoIHNwZWNpZmljIG9kZCBkYXRhYmFzZSBuYW1lcy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzY4OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoMiBleGlzdGluZyB0
ZXN0cyBub3cgcGFzcykuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9GaWxlU3lzdGVtLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnNob3VsZEVzY2FwZVVDaGFyKTogUmV0dXJuIDMgZGVjaXNpb25zIChO
byBlc2NhcGUsIGVzY2FwZSAxIGJ5dGUsIGVzY2FwZSAyIGJ5dGVzKS4KKyAgICAgICAgKFdlYkNv
cmU6OmVuY29kZUZvckZpbGVOYW1lKTogUGFzcyBhbG9uZyB0aGUgcHJldmlvdXMgYW5kIG5leHQg
Y2hhcmFjdGVycywgYXMgd2VsbC4KKworMjAxNi0wMS0yOSAgQnJhZHkgRWlkc29uICA8YmVpZHNv
bkBhcHBsZS5jb20+CisKICAgICAgICAgTW9kZXJuIElEQjogR2V0dGluZyByZWNvcmRzIGZvciBr
ZXkgcmFuZ2VzIHdpdGggbnVsbCBrZXlzIGFyZW4ndCBwcm9wZXJseSBoYW5kbGVkIGluIFNRTGl0
ZSBiYWNrZW5kCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTM2NjYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3Rl
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmNwcAppbmRleCA4N2Uz
MDUzLi5hNGQ4NmI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lz
dGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmNwcApAQCAt
ODIsOSArODIsMjQgQEAgc3RhdGljIGNvbnN0IGJvb2wgbmVlZHNFc2NhcGluZ1sxMjhdID0gewog
ICAgIC8qIDc4LTdGICovIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCAgZmFsc2Us
IGZhbHNlLCB0cnVlLCAKIH07CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBzaG91bGRFc2NhcGVVQ2hh
cihVQ2hhciBjKQorZW51bSBjbGFzcyBVQ2hhckVzY2FwZU1vZGUgeworICAgIE5vRXNjYXBlLAor
ICAgIEVzY2FwZTFCeXRlLAorICAgIEVzY2FwZTJCeXRlcywKK307CisKK3N0YXRpYyBpbmxpbmUg
VUNoYXJFc2NhcGVNb2RlIHNob3VsZEVzY2FwZVVDaGFyKFVDaGFyIGMsIFVDaGFyIHByZXYsIFVD
aGFyIG5leHQpCiB7Ci0gICAgcmV0dXJuIGMgPiAxMjcgPyBmYWxzZSA6IG5lZWRzRXNjYXBpbmdb
Y107CisgICAgaWYgKGMgPD0gMTI3KQorICAgICAgICByZXR1cm4gbmVlZHNFc2NhcGluZ1tjXSA/
IFVDaGFyRXNjYXBlTW9kZTo6RXNjYXBlMUJ5dGUgOiBVQ2hhckVzY2FwZU1vZGU6Ok5vRXNjYXBl
OworCisgICAgaWYgKFUxNl9JU19MRUFEKGMpICYmICghbmV4dCB8fCAhVTE2X0lTX1RSQUlMKG5l
eHQpKSkKKyAgICAgICAgcmV0dXJuIFVDaGFyRXNjYXBlTW9kZTo6RXNjYXBlMkJ5dGVzOworCisg
ICAgaWYgKFUxNl9JU19UUkFJTChjKSAmJiAoIXByZXYgfHwgIVUxNl9JU19MRUFEKHByZXYpKSkK
KyAgICAgICAgcmV0dXJuIFVDaGFyRXNjYXBlTW9kZTo6RXNjYXBlMkJ5dGVzOworCisgICAgcmV0
dXJuIFVDaGFyRXNjYXBlTW9kZTo6Tm9Fc2NhcGU7CiB9CiAKIFN0cmluZyBlbmNvZGVGb3JGaWxl
TmFtZShjb25zdCBTdHJpbmcmIGlucHV0U3RyaW5nKQpAQCAtOTQsOSArMTA5LDE3IEBAIFN0cmlu
ZyBlbmNvZGVGb3JGaWxlTmFtZShjb25zdCBTdHJpbmcmIGlucHV0U3RyaW5nKQogICAgIHVuc2ln
bmVkIGxlbmd0aCA9IGlucHV0U3RyaW5nLmxlbmd0aCgpOwogICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBsZW5ndGg7ICsraSkgewogICAgICAgICBVQ2hhciBjaGFyYWN0ZXIgPSAoKnN0cmlu
Z0ltcGwpW2ldOwotICAgICAgICBpZiAoc2hvdWxkRXNjYXBlVUNoYXIoY2hhcmFjdGVyKSkgewor
ICAgICAgICBVQ2hhciBwcmV2ID0gIWkgPyAwIDogKCpzdHJpbmdJbXBsKVtpIC0gMV07CisgICAg
ICAgIFVDaGFyIG5leHQgPSBpICsgMSA9PSBsZW5ndGggPyAwIDogKCpzdHJpbmdJbXBsKVtpICsg
MV07CisKKyAgICAgICAgYXV0byBlc2NhcGVNb2RlID0gc2hvdWxkRXNjYXBlVUNoYXIoY2hhcmFj
dGVyLCBwcmV2LCBuZXh0KTsKKyAgICAgICAgaWYgKGVzY2FwZU1vZGUgPT0gVUNoYXJFc2NhcGVN
b2RlOjpFc2NhcGUxQnl0ZSkgewogICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnJScpOwogICAg
ICAgICAgICAgYXBwZW5kQnl0ZUFzSGV4KGNoYXJhY3RlciwgcmVzdWx0KTsKKyAgICAgICAgfSBl
bHNlIGlmIChlc2NhcGVNb2RlID09IFVDaGFyRXNjYXBlTW9kZTo6RXNjYXBlMkJ5dGVzKSB7Cisg
ICAgICAgICAgICByZXN1bHQuYXBwZW5kKCIlKyIpOworICAgICAgICAgICAgYXBwZW5kQnl0ZUFz
SGV4KGNoYXJhY3RlciA+PiA4LCByZXN1bHQpOworICAgICAgICAgICAgYXBwZW5kQnl0ZUFzSGV4
KGNoYXJhY3RlciwgcmVzdWx0KTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICByZXN1bHQu
YXBwZW5kKGNoYXJhY3Rlcik7CiAgICAgfQo=
</data>
<flag name="review"
          id="295113"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270318</attachid>
            <date>2016-01-30 13:48:39 -0800</date>
            <delta_ts>2016-01-30 14:25:29 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>4066</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiOTI4YjFiLi5kYTMwZTdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMDEt
MzAgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1vZGVybiBJ
REI6IFNvbWUgdGVzdHMgY3Jhc2ggd2l0aCBzcGVjaWZpYyBvZGQgZGF0YWJhc2UgbmFtZXMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM2ODgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIHBsYXRmb3JtL21h
Yy13azEvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxNi0wMS0zMCAgTWljaGFlbCBDYXRhbnphcm8g
IDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gVHdvIGRpc2sgY2FjaGUg
dGVzdHMgYXJlIGZhaWxpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCBhODZkNzUxLi4zYmU0ZWExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC0yNzEsOSArMjcxLDcgQEAgc3RvcmFn
ZS9pbmRleGVkZGIvcHJlZmV0Y2gtaW52YWxpZGF0aW9uLmh0bWwgWyBTa2lwIF0KIHN0b3JhZ2Uv
aW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNvb3JkaW5hdGlvbi13aXRoaW4tZGF0YWJhc2UuaHRtbCBb
IFNraXAgXQogCiAjIFNRTGl0ZSBiYWNrZW5kIHRlc3RzIHRoYXQgY3Jhc2ggb3IgQVNTRVJUCi1z
dG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1vZGQtbmFtZXMuaHRtbCBbIFNraXAgXQogc3RvcmFn
ZS9pbmRleGVkZGIvZG9udC13ZWRnZS5odG1sIFsgU2tpcCBdCi1zdG9yYWdlL2luZGV4ZWRkYi9v
ZGQtc3RyaW5ncy5odG1sIFsgU2tpcCBdCiAKICMjIyBFTkQgT0YgKDMpIEluZGV4ZWREQiBmYWls
dXJlcyB3aXRoIFNRTGl0ZQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGI5MTBjYmMuLjI1NjI5MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NyBAQAorMjAxNi0wMS0zMCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgTW9kZXJuIElEQjogU29tZSB0ZXN0cyBjcmFzaCB3aXRoIHNwZWNpZmljIG9kZCBkYXRh
YmFzZSBuYW1lcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1MzY4OAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cyAoMiBleGlzdGluZyB0ZXN0cyBub3cgcGFzcykuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9GaWxlU3lzdGVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZEVzY2FwZVVD
aGFyKTogUmV0dXJuIHRydWUgZm9yIHNvbWUgc3Vycm9nYXRlLXBhaXIgc2l0dWF0aW9ucy4KKyAg
ICAgICAgKFdlYkNvcmU6OmVuY29kZUZvckZpbGVOYW1lKTogUGFzcyBhbG9uZyB0aGUgcHJldmlv
dXMgYW5kIG5leHQgY2hhcmFjdGVycywgYXMgd2VsbCwKKyAgICAgICAgICBhbmQgZG8gYSB0d28g
Ynl0ZSBlc2NhcGluZyBmb3Igc29tZSBjaGFyYWN0ZXJzLgorCiAyMDE2LTAxLTMwIERhdmUgSHlh
dHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgU3VwcG9ydCBicmVhay1hZnRlciwgYnJl
YWstYmVmb3JlIGFuZCBicmVhay1pbnNpZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9GaWxlU3lzdGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0
ZW0uY3BwCmluZGV4IDg3ZTMwNTMuLjJiNTM5N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0ZpbGVTeXN0ZW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Zp
bGVTeXN0ZW0uY3BwCkBAIC04MiwyMSArODIsNDYgQEAgc3RhdGljIGNvbnN0IGJvb2wgbmVlZHNF
c2NhcGluZ1sxMjhdID0gewogICAgIC8qIDc4LTdGICovIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZh
bHNlLCB0cnVlLCAgZmFsc2UsIGZhbHNlLCB0cnVlLCAKIH07CiAKLXN0YXRpYyBpbmxpbmUgYm9v
bCBzaG91bGRFc2NhcGVVQ2hhcihVQ2hhciBjKQorc3RhdGljIGlubGluZSBib29sIHNob3VsZEVz
Y2FwZVVDaGFyKFVDaGFyIGNoYXJhY3RlciwgVUNoYXIgcHJldmlvdXNDaGFyYWN0ZXIsIFVDaGFy
IG5leHRDaGFyYWN0ZXIpCiB7Ci0gICAgcmV0dXJuIGMgPiAxMjcgPyBmYWxzZSA6IG5lZWRzRXNj
YXBpbmdbY107CisgICAgaWYgKGNoYXJhY3RlciA8PSAxMjcpCisgICAgICAgIHJldHVybiBuZWVk
c0VzY2FwaW5nW2NoYXJhY3Rlcl07CisKKyAgICBpZiAoVTE2X0lTX0xFQUQoY2hhcmFjdGVyKSAm
JiAhVTE2X0lTX1RSQUlMKG5leHRDaGFyYWN0ZXIpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgIGlmIChVMTZfSVNfVFJBSUwoY2hhcmFjdGVyKSAmJiAhVTE2X0lTX0xFQUQocHJldmlvdXND
aGFyYWN0ZXIpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBmYWxzZTsKIH0K
IAogU3RyaW5nIGVuY29kZUZvckZpbGVOYW1lKGNvbnN0IFN0cmluZyYgaW5wdXRTdHJpbmcpCiB7
Ci0gICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7Ci0gICAgU3RyaW5nSW1wbCogc3RyaW5nSW1wbCA9
IGlucHV0U3RyaW5nLmltcGwoKTsKICAgICB1bnNpZ25lZCBsZW5ndGggPSBpbnB1dFN0cmluZy5s
ZW5ndGgoKTsKKyAgICBpZiAoIWxlbmd0aCkKKyAgICAgICAgcmV0dXJuIGlucHV0U3RyaW5nOwor
CisgICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7CisgICAgcmVzdWx0LnJlc2VydmVDYXBhY2l0eShs
ZW5ndGgpOworCisgICAgVUNoYXIgcHJldmlvdXNDaGFyYWN0ZXI7CisgICAgVUNoYXIgY2hhcmFj
dGVyID0gMDsKKyAgICBVQ2hhciBuZXh0Q2hhcmFjdGVyID0gaW5wdXRTdHJpbmdbMF07CiAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7Ci0gICAgICAgIFVDaGFyIGNo
YXJhY3RlciA9ICgqc3RyaW5nSW1wbClbaV07Ci0gICAgICAgIGlmIChzaG91bGRFc2NhcGVVQ2hh
cihjaGFyYWN0ZXIpKSB7Ci0gICAgICAgICAgICByZXN1bHQuYXBwZW5kKCclJyk7Ci0gICAgICAg
ICAgICBhcHBlbmRCeXRlQXNIZXgoY2hhcmFjdGVyLCByZXN1bHQpOworICAgICAgICBwcmV2aW91
c0NoYXJhY3RlciA9IGNoYXJhY3RlcjsKKyAgICAgICAgY2hhcmFjdGVyID0gbmV4dENoYXJhY3Rl
cjsKKyAgICAgICAgbmV4dENoYXJhY3RlciA9IGkgKyAxIDwgbGVuZ3RoID8gaW5wdXRTdHJpbmdb
aSArIDFdIDogMDsKKworICAgICAgICBpZiAoc2hvdWxkRXNjYXBlVUNoYXIoY2hhcmFjdGVyLCBw
cmV2aW91c0NoYXJhY3RlciwgbmV4dENoYXJhY3RlcikpIHsKKyAgICAgICAgICAgIGlmIChjaGFy
YWN0ZXIgPD0gMjU1KSB7CisgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnJScpOworICAg
ICAgICAgICAgICAgIGFwcGVuZEJ5dGVBc0hleChjaGFyYWN0ZXIsIHJlc3VsdCk7CisgICAgICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCIlKyIp
OworICAgICAgICAgICAgICAgIGFwcGVuZEJ5dGVBc0hleChjaGFyYWN0ZXIgPj4gOCwgcmVzdWx0
KTsKKyAgICAgICAgICAgICAgICBhcHBlbmRCeXRlQXNIZXgoY2hhcmFjdGVyLCByZXN1bHQpOwor
ICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQo
Y2hhcmFjdGVyKTsKICAgICB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>