<?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>145082</bug_id>
          
          <creation_ts>2015-05-15 17:13:36 -0700</creation_ts>
          <short_desc>prepare-ChangeLog reports function above deleted function as deleted; uninitialized value warning when staged non-empty file for commit</short_desc>
          <delta_ts>2015-05-18 16:56:32 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</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="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>darin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>matthew_hanson</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1095307</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-05-15 17:13:36 -0700</bug_when>
    <thetext>Perl warns of the use of an uninitialized variable in prepare-ChangeLog when the working copy has a non-empty new file staged for commit:

Use of uninitialized value $first_line in pattern match (m//) at Tools/Scripts/prepare-ChangeLog line 644.

Without loss of generality, you can reproduce this issue by running the following terminal commands inside the top-level directory of a Git checkout of the WebKit repository:

$ echo &apos;A&apos; &gt; A.txt
$ git add A.txt 
$ Tools/Scripts/prepare-ChangeLog

Then you will see output of the form:

  Running status to find changed, added, or removed files.
  Reviewing diff to determine which lines changed.
  Extracting affected function names from source files.
fatal: Path &apos;A.txt&apos; exists on disk, but not in &apos;HEAD&apos;.
Use of uninitialized value $first_line in pattern match (m//) at Tools/Scripts/prepare-ChangeLog line 644.
  Change author: Daniel Bates &lt;dabates@apple.com&gt;.
  Editing the ./ChangeLog file.
-- Please remember to include a detailed description in your ChangeLog entry. --
-- See &lt;http://webkit.org/coding/contributing.html&gt; for more info --</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095309</commentid>
    <comment_count>1</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-05-15 17:16:11 -0700</bug_when>
    <thetext>The logic for parsing a chunk range line of a unified diff is incorrect in extractLineRange{Before, After}Change(). In addition to causes this bug it also causes prepare-ChangeLog to always emit the name of the function f_0 above a deleted function regardless of whether f_0 changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095311</commentid>
    <comment_count>2</comment_count>
      <attachid>253243</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-05-15 17:21:50 -0700</bug_when>
    <thetext>Created attachment 253243
Patch and unit tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095314</commentid>
    <comment_count>3</comment_count>
      <attachid>253243</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-05-15 17:24:12 -0700</bug_when>
    <thetext>Comment on attachment 253243
Patch and unit tests

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

&gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/extractLineRangeBeforeAndAfterChange.pl:29
&gt; +use VCSUtils;

Will remove this before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095743</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-05-18 16:56:32 -0700</bug_when>
    <thetext>Committed r184521: &lt;http://trac.webkit.org/changeset/184521&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253243</attachid>
            <date>2015-05-15 17:21:50 -0700</date>
            <delta_ts>2015-05-17 09:55:37 -0700</delta_ts>
            <desc>Patch and unit tests</desc>
            <filename>bug-145082-20150515172025.patch</filename>
            <type>text/plain</type>
            <size>13740</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0MzI2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggN2MzOWQyOThkYWZiNjc3YzY2YjA4N2NiMmZmMzM1OGQz
MTlhYTgzMy4uZTYwMGZiODZiY2NlNzY5Y2JiYmU1ZWZkZDc4YzRiODFkNmQxNzA1ZCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQx
IEBACisyMDE1LTA1LTE1ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAg
ICAgICBwcmVwYXJlLUNoYW5nZUxvZyByZXBvcnRzIGZ1bmN0aW9uIGFib3ZlIGRlbGV0ZWQgZnVu
Y3Rpb24gYXMgZGVsZXRlZDsgdW5pbml0aWFsaXplZCB2YWx1ZSB3YXJuaW5nCisgICAgICAgIHdo
ZW4gc3RhZ2VkIG5vbi1lbXB0eSBmaWxlIGZvciBjb21taXQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTA4MgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGVzIHR3byBpc3N1ZXMgd2hlbiBydW5uaW5n
IHByZXBhcmUtQ2hhbmdlTG9nOgorICAgICAgICAgICAgMS4gVGhlIGZ1bmN0aW9uIGFib3ZlIGEg
ZGVsZXRlZCBmdW5jdGlvbiBpcyByZXBvcnRlZCBhcyBjaGFuZ2VkLgorICAgICAgICAgICAgMi4g
V2l0aCBhIEdpdCBjaGVja291dCBvZiBXZWJLaXQsIGEgUGVybCB1bmluaXRpYWxpemVkIHZhbHVl
IHdhcm5pbmcgaXMgZW1pdHRlZCB3aGVuCisgICAgICAgICAgICBhIG5ldyBub24tZW1wdHkgZmls
ZSBpcyBzdGFnZWQgZm9yIGNvbW1pdCAoZS5nLiBleHRyYWN0TGluZVJhbmdlQmVmb3JlQW5kQWZ0
ZXJDaGFuZ2UucGwsCisgICAgICAgICAgICBpbmNsdWRlZCBpbiB0aGlzIHBhdGNoKS4KKworICAg
ICAgICBTaW1wbGlmeSBjb2RlIGJ5IHVzaW5nIHVuaWZpZWQgZGlmZiBwYXJzaW5nIGxvZ2ljIGZv
ciBib3RoIFNWTiBhbmQgR2l0IHN1cHBvcnQuIEN1cnJlbnRseQorICAgICAgICBwcmVwYXJlLUNo
YW5nZUxvZyBoYXMgbG9naWMgdG8gcGFyc2Ugbm9ybWFsIGRpZmYtIGFuZCB1bmlmaWVkIGRpZmYt
IGNodW5rIHJhbmdlIGxpbmVzIGFzCisgICAgICAgIGdlbmVyYXRlZCBieSBgc3ZuIGRpZmZgIGFu
ZCBgZ2l0IGRpZmZgLCByZXNwZWN0aXZlbHkuIFRoZSBsb2dpYyBmb3IgcGFyc2luZyB0aGVzZSBm
b3JtYXRzCisgICAgICAgIGhhcyBjb3JyZWN0bmVzcyBpc3N1ZXMuIFdlIHNob3VsZCBtYWtlIHVz
ZSBvZiB0aGUgVkNTVXRpbDo6cGFyc2VDaHVua1JhbmdlKCkgdG8gcGFyc2UKKyAgICAgICAgY2h1
bmsgcmFuZ2UgbGluZXMgb2YgYSB1bmlmaWVkIGRpZmYgYXMgb3Bwb3NlZCB0byBoYXZpbmcgc3Bl
Y2lhbGl6ZWQgbG9naWMgaW4gcHJlcGFyZS1DaGFuZ2VMb2cuCisgICAgICAgIFZDU1V0aWw6OnBh
cnNlQ2h1bmtSYW5nZSgpIGhhcyBleGlzdGluZyB0ZXN0IGNvdmVyYWdlLgorCisgICAgICAgICog
U2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZzoKKyAgICAgICAgKGdlbmVyYXRlRnVuY3Rpb25MaXN0
cyk6IE9ubHkgYWRkIGEgbGluZSByYW5nZSB0byAlbGluZV9yYW5nZXNfYmVmb3JlX2NoYW5nZWQs
ICVsaW5lX3Jhbmdlc19hZnRlcl9jaGFuZ2VkCisgICAgICAgIHdoZW4gdGhlIGJlZ2lubmluZyBs
aW5lIG51bWJlciwgZW5kaW5nIGxpbmUgbnVtYmVyID49IDEuIE1vZGlmaWVkIGZvci1sb29wIGNv
bmRpdGlvbiB0byBpdGVyYXRlIG92ZXIKKyAgICAgICAgYWxsIHRoZSBmaWxlcyByZXByZXNlbnRl
ZCBieSAlbGluZV9yYW5nZXNfYmVmb3JlX2NoYW5nZWQgYW5kICVsaW5lX3Jhbmdlc19hZnRlcl9j
aGFuZ2VkIHNvIHRoYXQgd2UKKyAgICAgICAgZXhhbWluZSBmaWxlcyB0aGF0IG9ubHkgaGF2ZSBk
ZWxldGlvbnMuIEN1cnJlbnRseSB0aGlzIHdvcmtzIGFzIGEgc2lkZSBlZmZlY3Qgb2YgdGhlIGJl
aGF2aW9yIG9mCisgICAgICAgIGV4dHJhY3RMaW5lUmFuZ2VBZnRlckNoYW5nZSgpLCB3aGljaCBh
bHdheXMgcmV0dXJucyBhIHdlbGwtZm9ybWVkICh0aG91Z2ggbm9uc2Vuc2ljYWwpIGxpbmUgcmFu
Z2UgZm9yCisgICAgICAgIGEgY2hhbmdlIHRoYXQgcmVwcmVzZW50cyBhIGRlbGV0aW9uIChlLmcu
IGV4dHJhY3RMaW5lUmFuZ2VBZnRlckNoYW5nZSgiQEAgLTE2Niw2ICsxNjUsMCBAQCIpID0+IFsx
NjUsIDE2NV0pLgorICAgICAgICAoZGlmZkNvbW1hbmQpOiBHZW5lcmF0ZSBhIHVuaWZpZWQgZGlm
ZiBpbnN0ZWFkIG9mIGEgbm9ybWFsIGRpZmYgd2hlbiB1c2luZyBhIFNWTiBjaGVja291dCBvZiBX
ZWJLaXQuCisgICAgICAgIChleHRyYWN0TGluZVJhbmdlQWZ0ZXJDaGFuZ2UpOiBSZW1vdmUgbG9n
aWMgdG8gcGFyc2UgYSBub3JtYWwgZGlmZiBjaHVuayByYW5nZSBsaW5lIGFuZCB3cml0ZQorICAg
ICAgICB0aGUgbG9naWMgdG8gcGFyc2UgYSB1bmlmaWVkIGRpZmYgY2h1bmsgcmFuZ2UgbGluZSBp
biB0ZXJtcyBvZiBWQ1NVdGlsOjpwYXJzZUNodW5rUmFuZ2UoKS4KKyAgICAgICAgV2UgcmV0dXJu
ICgtMSwgLTEpIHdoZW4gdGhlIGNoYW5nZSByZXByZXNlbnRzIGEgZGVsZXRpb24uCisgICAgICAg
IChleHRyYWN0TGluZVJhbmdlQmVmb3JlQ2hhbmdlKTogUmVtb3ZlIGxvZ2ljIHRvIHBhcnNlIGEg
bm9ybWFsIGRpZmYgY2h1bmsgcmFuZ2UgbGluZSBhbmQgd3JpdGUKKyAgICAgICAgdGhlIGxvZ2lj
IHRvIHBhcnNlIGEgdW5pZmllZCBkaWZmIGNodW5rIHJhbmdlIGxpbmUgaW4gdGVybXMgb2YgVkNT
VXRpbDo6cGFyc2VDaHVua1JhbmdlKCkuCisgICAgICAgIFdlIHJldHVybiAoLTEsIC0xKSB3aGVu
IHRoZSBjaGFuZ2UgcmVwcmVzZW50cyBhbiBhZGRpdGlvbi4KKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2dfdW5pdHRlc3QvZXh0cmFjdExpbmVSYW5nZUJlZm9y
ZUFuZEFmdGVyQ2hhbmdlLnBsOiBBZGRlZDsKKyAgICAgICAgdW5pdCB0ZXN0cy4KKwogMjAxNS0w
NS0xMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFtDb250ZW50IEV4dGVuc2lvbnNdIFRlc3QgaW50ZXJhY3Rpb25zIGJldHdlZW4gbXVsdGlw
bGUgZXh0ZW5zaW9ucyBhbmQgbXVsdGlwbGUgZG9tYWlucy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvcHJlcGFyZS1DaGFuZ2VMb2cgYi9Ub29scy9TY3JpcHRzL3ByZXBhcmUtQ2hhbmdlTG9n
CmluZGV4IDY4MjFhZWVhZjY3ZmQ3NDdiMTFkOTI1NDY1ZjYzNmUzYWUzYWEzNjUuLjlkZWYxYWZm
MGZkNjliN2FkOTBhYWIyMDEwODQ3ZTRlNjlhZmU2YWIgMTAwNzU1Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvcHJlcGFyZS1DaGFuZ2VMb2cKKysrIGIvVG9vbHMvU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxv
ZwpAQCAtMjgxLDEzICsyODEsMTMgQEAgc3ViIGdlbmVyYXRlRnVuY3Rpb25MaXN0cygkJCQkJCkK
ICAgICAgICAgICAgICRmaWxlID0gbWFrZUZpbGVQYXRoUmVsYXRpdmUoJDEpIGlmICRfID1+IGRp
ZmZIZWFkZXJGb3JtYXQoKTsKICAgICAgICAgICAgIGlmIChkZWZpbmVkICRmaWxlKSB7CiAgICAg
ICAgICAgICAgICAgbXkgKCRiZWZvcmVfc3RhcnQsICRiZWZvcmVfZW5kKSA9IGV4dHJhY3RMaW5l
UmFuZ2VCZWZvcmVDaGFuZ2UoJF8pOwotICAgICAgICAgICAgICAgIGlmICgkYmVmb3JlX3N0YXJ0
ID49IDAgJiYgJGJlZm9yZV9lbmQgPj0gJGJlZm9yZV9zdGFydCkgeworICAgICAgICAgICAgICAg
IGlmICgkYmVmb3JlX3N0YXJ0ID49IDEgJiYgJGJlZm9yZV9lbmQgPj0gMSkgewogICAgICAgICAg
ICAgICAgICAgICBwdXNoIEB7JGxpbmVfcmFuZ2VzX2JlZm9yZV9jaGFuZ2VkeyRmaWxlfX0sIFsg
JGJlZm9yZV9zdGFydCwgJGJlZm9yZV9lbmQgXTsKICAgICAgICAgICAgICAgICB9IGVsc2lmICgv
RE9fTk9UX0NPTU1JVC8pIHsKICAgICAgICAgICAgICAgICAgICAgcHJpbnQgU1RERVJSICJXQVJO
SU5HOiBmaWxlICRmaWxlIGNvbnRhaW5zIHRoZSBzdHJpbmcgRE9fTk9UX0NPTU1JVCwgbGluZSAk
LlxuIjsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgbXkgKCRhZnRlcl9zdGFy
dCwgJGFmdGVyX2VuZCkgPSBleHRyYWN0TGluZVJhbmdlQWZ0ZXJDaGFuZ2UoJF8pOwotICAgICAg
ICAgICAgICAgIGlmICgkYWZ0ZXJfc3RhcnQgPj0gMCAmJiAkYWZ0ZXJfZW5kID49IDAgJiYgJGFm
dGVyX2VuZCA+PSAkYWZ0ZXJfc3RhcnQpIHsKKyAgICAgICAgICAgICAgICBpZiAoJGFmdGVyX3N0
YXJ0ID49IDEgJiYgJGFmdGVyX2VuZCA+PSAxKSB7CiAgICAgICAgICAgICAgICAgICAgIHB1c2gg
QHskbGluZV9yYW5nZXNfYWZ0ZXJfY2hhbmdlZHskZmlsZX19LCBbICRhZnRlcl9zdGFydCwgJGFm
dGVyX2VuZCBdOwogICAgICAgICAgICAgICAgIH0gZWxzaWYgKC9ET19OT1RfQ09NTUlULykgewog
ICAgICAgICAgICAgICAgICAgICBwcmludCBTVERFUlIgIldBUk5JTkc6IGZpbGUgJGZpbGUgY29u
dGFpbnMgdGhlIHN0cmluZyBET19OT1RfQ09NTUlULCBsaW5lICQuXG4iOwpAQCAtMjk5LDcgKzI5
OSw4IEBAIHN1YiBnZW5lcmF0ZUZ1bmN0aW9uTGlzdHMoJCQkJCQpCiAKICAgICAjIEZvciBlYWNo
IHNvdXJjZSBmaWxlLCBjb252ZXJ0IGxpbmUgcmFuZ2UgdG8gZnVuY3Rpb24gbGlzdC4KICAgICBw
cmludCBTVERFUlIgIiAgRXh0cmFjdGluZyBhZmZlY3RlZCBmdW5jdGlvbiBuYW1lcyBmcm9tIHNv
dXJjZSBmaWxlcy5cbiI7Ci0gICAgZm9yZWFjaCBteSAkZmlsZSAoa2V5cyAlbGluZV9yYW5nZXNf
YWZ0ZXJfY2hhbmdlZCkgeworICAgIG15ICVmaWxlc1RvRXhhbWluZSA9IG1hcCB7ICRfID0+IDEg
fSAoa2V5cyglbGluZV9yYW5nZXNfYmVmb3JlX2NoYW5nZWQpLCBrZXlzKCVsaW5lX3Jhbmdlc19h
ZnRlcl9jaGFuZ2VkKSk7CisgICAgZm9yZWFjaCBteSAkZmlsZSAoa2V5cyAlZmlsZXNUb0V4YW1p
bmUpIHsKICAgICAgICAgbXkgJXNhd19mdW5jdGlvbjsKICAgICAgICAgIyBGaW5kIGFsbCB0aGUg
ZnVuY3Rpb25zIGluIHRoZSBmaWxlLgogICAgICAgICBpZiAoJGxpbmVfcmFuZ2VzX2FmdGVyX2No
YW5nZWR7JGZpbGV9KSB7CkBAIC0xNzcyLDcgKzE3NzMsNyBAQCBzdWIgZGlmZkNvbW1hbmQoJCQk
JCkKICAgICBpZiAoaXNTVk4oKSkgewogICAgICAgICBteSBAZXNjYXBlZFBhdGhzID0gbWFwKGVz
Y2FwZVN1YnZlcnNpb25QYXRoKCRfKSwgQCRwYXRocyk7CiAgICAgICAgIG15ICRlc2NhcGVkUGF0
aHNTdHJpbmcgPSAiJyIgLiBqb2luKCInICciLCBAZXNjYXBlZFBhdGhzKSAuICInIjsKLSAgICAg
ICAgJGNvbW1hbmQgPSBTVk4gLiAiIGRpZmYgLS1kaWZmLWNtZCBkaWZmIC14IC1OICRlc2NhcGVk
UGF0aHNTdHJpbmciOworICAgICAgICAkY29tbWFuZCA9IFNWTiAuICIgZGlmZiAtLWRpZmYtY21k
IGRpZmYgLXggLXUgJGVzY2FwZWRQYXRoc1N0cmluZyI7CiAgICAgfSBlbHNpZiAoaXNHaXQoKSkg
ewogICAgICAgICBteSAkcGF0aHNTdHJpbmcgPSAiJyIgLiBqb2luKCInICciLCBAJHBhdGhzKSAu
ICInIjsgCiAgICAgICAgICRjb21tYW5kID0gR0lUIC4gIiBkaWZmIC0tbm8tZXh0LWRpZmYgLVUw
ICIgLiBkaWZmRnJvbVRvU3RyaW5nKCRnaXRDb21taXQsICRnaXRJbmRleCwgJG1lcmdlQmFzZSk7
CkBAIC0yMTAwLDM1ICsyMTAxLDIzIEBAIHN1YiBwcm9wZXJ0eUNoYW5nZURlc2NyaXB0aW9uKCQp
CiBzdWIgZXh0cmFjdExpbmVSYW5nZUFmdGVyQ2hhbmdlKCQpCiB7CiAgICAgbXkgKCRzdHJpbmcp
ID0gQF87Ci0KLSAgICBteSAoJHN0YXJ0LCAkZW5kKSA9ICgtMSwgLTEpOwotCi0gICAgaWYgKGlz
U1ZOKCkgJiYgJHN0cmluZyA9fiAvXlxkKygsXGQrKT9bYWNkXShcZCspKCwoXGQrKSk/Lykgewot
ICAgICAgICAkc3RhcnQgPSAkMjsKLSAgICAgICAgJGVuZCA9ICQ0IHx8ICQyOwotICAgIH0gZWxz
aWYgKGlzR2l0KCkgJiYgJHN0cmluZyA9fiAvXkBAIC1cZCsoLFxkKyk/IFwrKFxkKykoLChcZCsp
KT8gQEAvKSB7Ci0gICAgICAgICRzdGFydCA9ICQyOwotICAgICAgICAkZW5kID0gZGVmaW5lZCgk
NCkgPyBtYXgoJHN0YXJ0ICsgJDQgLSAxLCAkc3RhcnQpIDogJHN0YXJ0OworICAgIG15ICRjaHVu
a1JhbmdlID0gcGFyc2VDaHVua1JhbmdlKCRzdHJpbmcpOworICAgIGlmICghJGNodW5rUmFuZ2Ug
fHwgISRjaHVua1JhbmdlLT57bmV3U3RhcnRpbmdMaW5lfSB8fCAhJGNodW5rUmFuZ2UtPntuZXdM
aW5lQ291bnR9KSB7CisgICAgICAgICAjIERlbGV0aW9uOyBubyBsaW5lcyBleGlzdCBhZnRlciBj
aGFuZ2UuCisgICAgICAgIHJldHVybiAoLTEsIC0xKTsKICAgICB9Ci0KLSAgICByZXR1cm4gKCRz
dGFydCwgJGVuZCk7CisgICAgcmV0dXJuICgkY2h1bmtSYW5nZS0+e25ld1N0YXJ0aW5nTGluZX0s
ICRjaHVua1JhbmdlLT57bmV3U3RhcnRpbmdMaW5lfSArICRjaHVua1JhbmdlLT57bmV3TGluZUNv
dW50fSAtIDEpOwogfQogCiBzdWIgZXh0cmFjdExpbmVSYW5nZUJlZm9yZUNoYW5nZSgkKQogewog
ICAgIG15ICgkc3RyaW5nKSA9IEBfOwotCi0gICAgbXkgKCRzdGFydCwgJGVuZCkgPSAoLTEsIC0x
KTsKLQotICAgIGlmIChpc1NWTigpICYmICRzdHJpbmcgPX4gL14oXGQrKSgsKFxkKykpPyhbYWNk
XSlcZCsoLFxkKyk/LykgewotICAgICAgICAkc3RhcnQgPSAkMTsKLSAgICAgICAgJGVuZCA9ICQz
IHx8ICQxIGlmICQ0IG5lICJhIjsKLSAgICB9IGVsc2lmIChpc0dpdCgpICYmICRzdHJpbmcgPX4g
L15AQCAtKFxkKykoLChcZCspKT8gXCtcZCsoLFxkKyk/IEBALykgewotICAgICAgICAkc3RhcnQg
PSAkMTsKLSAgICAgICAgJGVuZCA9IGRlZmluZWQoJDMpID8gbWF4KCRzdGFydCArICQzIC0gMSwg
JHN0YXJ0KSA6ICRzdGFydDsKKyAgICBteSAkY2h1bmtSYW5nZSA9IHBhcnNlQ2h1bmtSYW5nZSgk
c3RyaW5nKTsKKyAgICBpZiAoISRjaHVua1JhbmdlIHx8ICEkY2h1bmtSYW5nZS0+e3N0YXJ0aW5n
TGluZX0gfHwgISRjaHVua1JhbmdlLT57bGluZUNvdW50fSkgeworICAgICAgICAjIEFkZGl0aW9u
OyBubyBsaW5lcyBleGlzdGVkIGJlZm9yZSBjaGFuZ2UuCisgICAgICAgIHJldHVybiAoLTEsIC0x
KTsKICAgICB9Ci0KLSAgICByZXR1cm4gKCRzdGFydCwgJGVuZCk7CisgICAgcmV0dXJuICgkY2h1
bmtSYW5nZS0+e3N0YXJ0aW5nTGluZX0sICRjaHVua1JhbmdlLT57c3RhcnRpbmdMaW5lfSArICRj
aHVua1JhbmdlLT57bGluZUNvdW50fSAtIDEpOwogfQogCiBzdWIgdGVzdExpc3RGb3JDaGFuZ2VM
b2coQCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9wcmVwYXJlLUNoYW5n
ZUxvZ191bml0dGVzdC9leHRyYWN0TGluZVJhbmdlQmVmb3JlQW5kQWZ0ZXJDaGFuZ2UucGwgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2dfdW5pdHRlc3QvZXh0cmFj
dExpbmVSYW5nZUJlZm9yZUFuZEFmdGVyQ2hhbmdlLnBsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUyYjQyMjgwYWIz
Y2NlZDJiNDg3MmI5YmM0MGM4NzVhOTAzZGY4NzQKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2dfdW5pdHRlc3QvZXh0cmFjdExpbmVS
YW5nZUJlZm9yZUFuZEFmdGVyQ2hhbmdlLnBsCkBAIC0wLDAgKzEsMjA3IEBACisjIS91c3IvYmlu
L3BlcmwgLXcKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorIyAKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisjIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyMgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKKyMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworIyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04KKyMgQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK3Vz
ZSBzdHJpY3Q7Cit1c2Ugd2FybmluZ3M7CisKK3VzZSBUZXN0OjpNb3JlOwordXNlIFZDU1V0aWxz
OwordXNlIEZpbmRCaW47Cit1c2UgbGliIEZpbGU6OlNwZWMtPmNhdGRpcigkRmluZEJpbjo6Qmlu
LCAiLi4iKTsKK3VzZSBMb2FkQXNNb2R1bGUgcXcoUHJlcGFyZUNoYW5nZUxvZyBwcmVwYXJlLUNo
YW5nZUxvZyk7CisKK215IEB0ZXN0Q2FzZUhhc2hSZWZzID0gKAorIyMjIworIyAgQWRkaXRpb25z
CisjIworeworICAgICMgTmV3IHRlc3QKKyAgICB0ZXN0TmFtZSA9PiAiYWRkIHNpbmdsZSBsaW5l
IHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUiLAorICAgIGlucHV0VGV4dCA9PiAiQEAgLTAs
MCArMSBAQCIsCisgICAgZXhwZWN0ZWRSZXN1bHRzID0+IHsKKyAgICAgICAgYmVmb3JlQ2hhbmdl
ID0+IFstMSwgLTFdLAorICAgICAgICBhZnRlckNoYW5nZSA9PiBbMSwgMV0sCisgICAgfQorfSwK
K3sKKyAgICAjIE5ldyB0ZXN0CisgICAgdGVzdE5hbWUgPT4gImFkZCB0d28gbGluZXMgdG8gdGhl
IGJlZ2lubmluZyBvZiB0aGUgZmlsZSIsCisgICAgaW5wdXRUZXh0ID0+ICJAQCAtMCwwICsxLDIg
QEAiLAorICAgIGV4cGVjdGVkUmVzdWx0cyA9PiB7CisgICAgICAgIGJlZm9yZUNoYW5nZSA9PiBb
LTEsIC0xXSwKKyAgICAgICAgYWZ0ZXJDaGFuZ2UgPT4gWzEsIDJdLAorICAgIH0KK30sCit7Cisg
ICAgIyBOZXcgdGVzdAorICAgIHRlc3ROYW1lID0+ICJhZGQgdHdvIGxpbmVzIGluIHRoZSBtaWRk
bGUgb2YgdGhlIGZpbGUiLAorICAgIGlucHV0VGV4dCA9PiAiQEAgLTQsMCArNSwyIEBAIiwKKyAg
ICBleHBlY3RlZFJlc3VsdHMgPT4geworICAgICAgICBiZWZvcmVDaGFuZ2UgPT4gWy0xLCAtMV0s
CisgICAgICAgIGFmdGVyQ2hhbmdlID0+IFs1LCA2XSwKKyAgICB9Cit9LAoreworICAgICMgTmV3
IHRlc3QKKyAgICB0ZXN0TmFtZSA9PiAiYXBwZW5kIGEgc2luZ2xlIGxpbmUgdG8gdGhlIGVuZCBv
ZiB0aGUgZmlsZSIsCisgICAgaW5wdXRUZXh0ID0+ICJAQCAtMSwwICsyIEBAIiwKKyAgICBleHBl
Y3RlZFJlc3VsdHMgPT4geworICAgICAgICBiZWZvcmVDaGFuZ2UgPT4gWy0xLCAtMV0sCisgICAg
ICAgIGFmdGVyQ2hhbmdlID0+IFsyLCAyXSwKKyAgICB9Cit9LAorIyMjIworIyAgRGVsZXRpb25z
CisjIworeworICAgICMgTmV3IHRlc3QKKyAgICB0ZXN0TmFtZSA9PiAicmVtb3ZlIHRoZSBmaXJz
dCBhbmQgb25seSBsaW5lIGluIHRoZSBmaWxlIiwKKyAgICBpbnB1dFRleHQgPT4gIkBAIC0xICsw
LDAgQEAiLAorICAgIGV4cGVjdGVkUmVzdWx0cyA9PiB7CisgICAgICAgIGJlZm9yZUNoYW5nZSA9
PiBbMSwgMV0sCisgICAgICAgIGFmdGVyQ2hhbmdlID0+IFstMSwgLTFdLAorICAgIH0KK30sCit7
CisgICAgIyBOZXcgdGVzdAorICAgIHRlc3ROYW1lID0+ICJyZW1vdmUgc2V2ZW4gb3V0IG9mIHNl
dmVuIGxpbmVzIGluIHRoZSBmaWxlIiwKKyAgICBpbnB1dFRleHQgPT4gIkBAIC0xLDcgKzAsMCBA
QCIsCisgICAgZXhwZWN0ZWRSZXN1bHRzID0+IHsKKyAgICAgICAgYmVmb3JlQ2hhbmdlID0+IFsx
LCA3XSwKKyAgICAgICAgYWZ0ZXJDaGFuZ2UgPT4gWy0xLCAtMV0sCisgICAgfQorfSwKK3sKKyAg
ICAjIE5ldyB0ZXN0CisgICAgdGVzdE5hbWUgPT4gInJlbW92ZSB0d28gbGluZXMgZnJvbSB0aGUg
bWlkZGxlIG9mIHRoZSBmaWxlIiwKKyAgICBpbnB1dFRleHQgPT4gIkBAIC00LDIgKzMsMCBAQCIs
CisgICAgZXhwZWN0ZWRSZXN1bHRzID0+IHsKKyAgICAgICAgYmVmb3JlQ2hhbmdlID0+IFs0LCA1
XSwKKyAgICAgICAgYWZ0ZXJDaGFuZ2UgPT4gWy0xLCAtMV0sCisgICAgfQorfSwKKyMjIyMKKyMg
IENoYW5nZXMKKyMjCit7CisgICAgIyBOZXcgdGVzdAorICAgIHRlc3ROYW1lID0+ICJjaGFuZ2Ug
dGhlIGZpcnN0IGxpbmUgb2YgdGhlIGZpbGUiLAorICAgIGlucHV0VGV4dCA9PiAiQEAgLTEgKzEg
QEAiLAorICAgIGV4cGVjdGVkUmVzdWx0cyA9PiB7CisgICAgICAgIGJlZm9yZUNoYW5nZSA9PiBb
MSwgMV0sCisgICAgICAgIGFmdGVyQ2hhbmdlID0+IFsxLCAxXSwKKyAgICB9Cit9LAoreworICAg
ICMgTmV3IHRlc3QKKyAgICB0ZXN0TmFtZSA9PiAiY2hhbmdlIHRoZSBmaXJzdCBsaW5lIG9mIHRo
ZSBmaWxlIGFuZCB0aGVuIGFwcGVuZCB0d28gbW9yZSBsaW5lcyIsCisgICAgaW5wdXRUZXh0ID0+
ICJAQCAtMSArMSwzIEBAIiwKKyAgICBleHBlY3RlZFJlc3VsdHMgPT4geworICAgICAgICBiZWZv
cmVDaGFuZ2UgPT4gWzEsIDFdLAorICAgICAgICBhZnRlckNoYW5nZSA9PiBbMSwgM10sCisgICAg
fQorfSwKK3sKKyAgICAjIE5ldyB0ZXN0CisgICAgdGVzdE5hbWUgPT4gInJlbW92ZSBzZXZlbiBv
dXQgb2Ygc2V2ZW4gbGluZXMgYW5kIHRoZW4gYWRkIG9uZSBsaW5lIiwKKyAgICBpbnB1dFRleHQg
PT4gIkBAIC0xLDcgKzEgQEAiLAorICAgIGV4cGVjdGVkUmVzdWx0cyA9PiB7CisgICAgICAgIGJl
Zm9yZUNoYW5nZSA9PiBbMSwgN10sCisgICAgICAgIGFmdGVyQ2hhbmdlID0+IFsxLCAxXSwKKyAg
ICB9Cit9LAoreworICAgICMgTmV3IHRlc3QKKyAgICB0ZXN0TmFtZSA9PiAicmVtb3ZlIHR3byBs
aW5lcyBmcm9tIHRoZSBtaWRkbGUgb2YgdGhlIGZpbGUiLAorICAgIGlucHV0VGV4dCA9PiAiQEAg
LTQsMiArNCwyIEBAIiwKKyAgICBleHBlY3RlZFJlc3VsdHMgPT4geworICAgICAgICBiZWZvcmVD
aGFuZ2UgPT4gWzQsIDVdLAorICAgICAgICBhZnRlckNoYW5nZSA9PiBbNCwgNV0sCisgICAgfQor
fSwKK3sKKyAgICAjIE5ldyB0ZXN0CisgICAgdGVzdE5hbWUgPT4gInJlbW92ZSB0d28gbGluZXMg
ZnJvbSB0aGUgbWlkZGxlIG9mIHRoZSBmaWxlIGFuZCB0aGVuIGFkZCBhIGxpbmUiLAorICAgIGlu
cHV0VGV4dCA9PiAiQEAgLTQsMiArNCwzIEBAIiwKKyAgICBleHBlY3RlZFJlc3VsdHMgPT4gewor
ICAgICAgICBiZWZvcmVDaGFuZ2UgPT4gWzQsIDVdLAorICAgICAgICBhZnRlckNoYW5nZSA9PiBb
NCwgNl0sCisgICAgfQorfSwKK3sKKyAgICAjIE5ldyB0ZXN0CisgICAgdGVzdE5hbWUgPT4gInJl
bW92ZSB0d28gbGluZXMgZnJvbSB0aGUgbWlkZGxlIG9mIHRoZSBmaWxlIGFuZCB0aGVuIGRlbGV0
ZSBhIGxpbmUiLAorICAgIGlucHV0VGV4dCA9PiAiQEAgLTQsMyArNCwyIEBAIiwKKyAgICBleHBl
Y3RlZFJlc3VsdHMgPT4geworICAgICAgICBiZWZvcmVDaGFuZ2UgPT4gWzQsIDZdLAorICAgICAg
ICBhZnRlckNoYW5nZSA9PiBbNCwgNV0sCisgICAgfQorfSwKKyMjIworIyAgSW52YWxpZCBhbmQg
bWFsZm9ybWVkIGNodW5rIHJhbmdlcworIyMKKyMgRklYTUU6IFdlIHNob3VsZCBtYWtlIHRoaXMg
c2V0IG9mIHRlc3RzIG1vcmUgY29tcHJlaGVuc2l2ZS4KK3sKKyAgICAjIE5ldyB0ZXN0CisgICAg
dGVzdE5hbWUgPT4gIltpbnZhbGlkXSBlbXB0eSBzdHJpbmciLAorICAgIGlucHV0VGV4dCA9PiAi
IiwKKyAgICBleHBlY3RlZFJlc3VsdHMgPT4geworICAgICAgICBiZWZvcmVDaGFuZ2UgPT4gWy0x
LCAtMV0sCisgICAgICAgIGFmdGVyQ2hhbmdlID0+IFstMSwgLTFdLAorICAgIH0KK30sCit7Cisg
ICAgIyBOZXcgdGVzdAorICAgIHRlc3ROYW1lID0+ICJbaW52YWxpZF0gYm9ndXMgY2h1bmsgcmFu
Z2UiLAorICAgIGlucHV0VGV4dCA9PiAidGhpcyBpcyBub3QgYSB2YWxpZCBjaHVuayByYW5nZSIs
CisgICAgZXhwZWN0ZWRSZXN1bHRzID0+IHsKKyAgICAgICAgYmVmb3JlQ2hhbmdlID0+IFstMSwg
LTFdLAorICAgICAgICBhZnRlckNoYW5nZSA9PiBbLTEsIC0xXSwKKyAgICB9Cit9LAoreworICAg
ICMgTmV3IHRlc3QKKyAgICB0ZXN0TmFtZSA9PiAiW2ludmFsaWRdIGNodW5rIHJhbmdlIG1pc3Np
bmcgbGVhZGluZyBzZW50aW5lbCIsCisgICAgaW5wdXRUZXh0ID0+ICItNCwzICs0LDIgQEAiLAor
ICAgIGV4cGVjdGVkUmVzdWx0cyA9PiB7CisgICAgICAgIGJlZm9yZUNoYW5nZSA9PiBbLTEsIC0x
XSwKKyAgICAgICAgYWZ0ZXJDaGFuZ2UgPT4gWy0xLCAtMV0sCisgICAgfQorfSwKKyk7CisKK215
ICR0ZXN0Q2FzZXNDb3VudCA9IEB0ZXN0Q2FzZUhhc2hSZWZzOworcGxhbih0ZXN0cyA9PiAyICog
JHRlc3RDYXNlc0NvdW50KTsgIyBUb3RhbCBudW1iZXIgb2YgYXNzZXJ0aW9ucy4KKworZm9yZWFj
aCBteSAkdGVzdENhc2UgKEB0ZXN0Q2FzZUhhc2hSZWZzKSB7CisgICAgbXkgJGV4cGVjdGVkUmVz
dWx0cyA9ICR0ZXN0Q2FzZS0+e2V4cGVjdGVkUmVzdWx0c307CisKKyAgICBteSAkdGVzdE5hbWVT
dGFydCA9ICJleHRyYWN0TGluZVJhbmdlQmVmb3JlQ2hhbmdlKCk6ICR0ZXN0Q2FzZS0+e3Rlc3RO
YW1lfTogY29tcGFyaW5nIjsKKyAgICBteSBAZ290ID0gUHJlcGFyZUNoYW5nZUxvZzo6ZXh0cmFj
dExpbmVSYW5nZUJlZm9yZUNoYW5nZSgkdGVzdENhc2UtPntpbnB1dFRleHR9KTsKKyAgICBpc19k
ZWVwbHkoXEBnb3QsICRleHBlY3RlZFJlc3VsdHMtPntiZWZvcmVDaGFuZ2V9LCAiJHRlc3ROYW1l
U3RhcnQgcmV0dXJuIHZhbHVlLiIpOworCisgICAgJHRlc3ROYW1lU3RhcnQgPSAiZXh0cmFjdExp
bmVSYW5nZUFmdGVyQ2hhbmdlKCk6ICR0ZXN0Q2FzZS0+e3Rlc3ROYW1lfTogY29tcGFyaW5nIjsK
KyAgICBAZ290ID0gUHJlcGFyZUNoYW5nZUxvZzo6ZXh0cmFjdExpbmVSYW5nZUFmdGVyQ2hhbmdl
KCR0ZXN0Q2FzZS0+e2lucHV0VGV4dH0pOworICAgIGlzX2RlZXBseShcQGdvdCwgJGV4cGVjdGVk
UmVzdWx0cy0+e2FmdGVyQ2hhbmdlfSwgIiR0ZXN0TmFtZVN0YXJ0IHJldHVybiB2YWx1ZS4iKTsK
K30K
</data>
<flag name="review"
          id="278119"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>