<?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>37103</bug_id>
          
          <creation_ts>2010-04-05 11:57:26 -0700</creation_ts>
          <short_desc>assorted helper functions and cleanup of git utilities</short_desc>
          <delta_ts>2010-04-08 17:35:18 -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>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>36394</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ojan Vafai">ojan</reporter>
          <assigned_to name="Ojan Vafai">ojan</assigned_to>
          <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>208611</commentid>
    <comment_count>0</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-04-05 11:57:26 -0700</bug_when>
    <thetext>assorted helper functions and cleanup of git utilities</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208612</commentid>
    <comment_count>1</comment_count>
      <attachid>52551</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-04-05 12:01:49 -0700</bug_when>
    <thetext>Created attachment 52551
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208617</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-05 12:04:03 -0700</bug_when>
    <thetext>Attachment 52551 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKitTools/Scripts/webkitpy/common/checkout/scm.py:211:  deprecated form of raising exception  [pep8/W602] [5]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208620</commentid>
    <comment_count>3</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-04-05 12:06:11 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; WebKitTools/Scripts/webkitpy/common/checkout/scm.py:211:  deprecated form of
&gt; raising exception  [pep8/W602] [5]

Not sure what the correct form of raising an exception is, but this is certainly consistent with the bzillion other such cases in this file. Not fixing now. This should probably be fixed throughout the file at once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208632</commentid>
    <comment_count>4</comment_count>
      <attachid>52551</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-05 12:16:45 -0700</bug_when>
    <thetext>Comment on attachment 52551
Patch

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209475</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-06 23:45:40 -0700</bug_when>
    <thetext>Attachment 52551 was posted by a committer and has review+, assigning to Ojan Vafai for commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>210501</commentid>
    <comment_count>6</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-04-08 17:35:18 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/57091</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52551</attachid>
            <date>2010-04-05 12:01:49 -0700</date>
            <delta_ts>2010-04-05 12:16:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37103-20100405120148.patch</filename>
            <type>text/plain</type>
            <size>13936</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAyOTlhNzhhLi4wNmI0OTBhIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjMgQEAKIDIwMTAtMDQt
MDUgIE9qYW4gVmFmYWkgIDxvamFuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBhc3NvcnRlZCBoZWxwZXIgZnVuY3Rpb25zIGFu
ZCBjbGVhbnVwIG9mIGdpdCB1dGlsaXRpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTM3MTAzCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9jaGVja291dC9zY20ucHk6CisgICAgICAgIE5vIGNvZGUgY3VycmVudGx5IHVzZXMgdGhl
IG9wdGlvbmFsIGRyeV9ydW4gYXJndW1lbnQuIFNvIHJlbW92aW5nIGl0LgorICAgICAgICBDaGFu
Z2UgYWxsIHVzZXMgb2YgInRydW5rIiB0byByZWFkIHRoZSBjb3JyZWN0IHZhbHVlIG91dCBvZiB0
aGUgZ2l0IGNvbmZpZy4KKyAgICAgICAgTWFkZSB0aGUgZGNvbW1pdCBjYWxsIGFjdHVhbGx5IGdl
dCBjYWxsZWQgd2hlbiBkcnlfcnVuPT10cnVlLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL2NoZWNrb3V0L3NjbV91bml0dGVzdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9uZXQvY3JlZGVudGlhbHMucHk6CisgICAgICAgIE1vdmUgdGhlIGdpdCBjb25m
aWcgY2FsbCBpbnRvIHNjbS4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQv
Y3JlZGVudGlhbHNfdW5pdHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21t
b24vc3lzdGVtL2V4ZWN1dGl2ZS5weToKKyAgICAgICAgSWYgcmV0dXJuX2V4aXRfY29kZT09dHJ1
ZSwgZG9uJ3QgZXJyb3Igb3V0LCBqdXN0IHJldHVybiB0aGUgZXhpdF9jb2RlLgorCisyMDEwLTA0
LTA1ICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgUmV2aWV3ZWQg
YnkgRXJpYyBTZWlkZWwuCiAKICAgICAgICAgcHJlcGFyZS1DaGFuZ2VMb2cgc2hvdWxkIHRha2Ug
YSBtZXJnZS1iYXNlIGZvciB3aGljaCBnaXQgYnJhbmNoIHRvIGRpZmYgYWdhaW5zdC4KZGlmZiAt
LWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS5w
eSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS5weQpp
bmRleCAxZTA2NzE0Li42NTVhOTlkIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20ucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtLnB5CkBAIC0zNiw2ICszNiw3IEBAIGZyb20gd2Vi
a2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IEV4ZWN1dGl2ZSwgcnVuX2NvbW1h
bmQsIFNjcmlwdEVycm9yCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0udXNlciBpbXBvcnQg
VXNlcgogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmRlcHJlY2F0ZWRfbG9nZ2luZyBpbXBv
cnQgZXJyb3IsIGxvZwogCisKIGRlZiBkZXRlY3Rfc2NtX3N5c3RlbShwYXRoKToKICAgICBpZiBT
Vk4uaW5fd29ya2luZ19kaXJlY3RvcnkocGF0aCk6CiAgICAgICAgIHJldHVybiBTVk4oY3dkPXBh
dGgpCkBAIC00NSw2ICs0Niw3IEBAIGRlZiBkZXRlY3Rfc2NtX3N5c3RlbShwYXRoKToKICAgICAK
ICAgICByZXR1cm4gTm9uZQogCisKIGRlZiBmaXJzdF9ub25fZW1wdHlfbGluZV9hZnRlcl9pbmRl
eChsaW5lcywgaW5kZXg9MCk6CiAgICAgZmlyc3Rfbm9uX2VtcHR5X2xpbmUgPSBpbmRleAogICAg
IGZvciBsaW5lIGluIGxpbmVzW2luZGV4Ol06CkBAIC04OSwxMCArOTEsMTAgQEAgZGVmIGNvbW1p
dF9lcnJvcl9oYW5kbGVyKGVycm9yKToKIAogCiBjbGFzcyBTQ006Ci0gICAgZGVmIF9faW5pdF9f
KHNlbGYsIGN3ZCwgZHJ5cnVuPUZhbHNlKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgY3dkKToK
ICAgICAgICAgc2VsZi5jd2QgPSBjd2QKICAgICAgICAgc2VsZi5jaGVja291dF9yb290ID0gc2Vs
Zi5maW5kX2NoZWNrb3V0X3Jvb3Qoc2VsZi5jd2QpCi0gICAgICAgIHNlbGYuZHJ5cnVuID0gZHJ5
cnVuCisgICAgICAgIHNlbGYuZHJ5cnVuID0gRmFsc2UKIAogICAgIGRlZiBzY3JpcHRzX2RpcmVj
dG9yeShzZWxmKToKICAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbihzZWxmLmNoZWNrb3V0X3Jv
b3QsICJXZWJLaXRUb29scyIsICJTY3JpcHRzIikKQEAgLTIwNSw2ICsyMDcsOSBAQCBjbGFzcyBT
Q006CiAgICAgZGVmIHN1cHBvcnRzX2xvY2FsX2NvbW1pdHMoKToKICAgICAgICAgcmFpc2UgTm90
SW1wbGVtZW50ZWRFcnJvciwgInN1YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQiCiAKKyAgICBkZWYg
c3ZuX21lcmdlX2Jhc2UoKToKKyAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvciwgInN1
YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQiCisKICAgICBkZWYgY3JlYXRlX3BhdGNoX2Zyb21fbG9j
YWxfY29tbWl0KHNlbGYsIGNvbW1pdF9pZCk6CiAgICAgICAgIGVycm9yKCJZb3VyIHNvdXJjZSBj
b250cm9sIG1hbmFnZXIgZG9lcyBub3Qgc3VwcG9ydCBjcmVhdGluZyBhIHBhdGNoIGZyb20gYSBs
b2NhbCBjb21taXQuIikKIApAQCAtMjI2LDggKzIzMSw4IEBAIGNsYXNzIFNWTihTQ00pOgogICAg
IHN2bl9zZXJ2ZXJfaG9zdCA9ICJzdm4ud2Via2l0Lm9yZyIKICAgICBzdm5fc2VydmVyX3JlYWxt
ID0gIjxodHRwOi8vc3ZuLndlYmtpdC5vcmc6ODA+IE1hYyBPUyBGb3JnZSIKIAotICAgIGRlZiBf
X2luaXRfXyhzZWxmLCBjd2QsIGRyeXJ1bj1GYWxzZSk6Ci0gICAgICAgIFNDTS5fX2luaXRfXyhz
ZWxmLCBjd2QsIGRyeXJ1bikKKyAgICBkZWYgX19pbml0X18oc2VsZiwgY3dkKToKKyAgICAgICAg
U0NNLl9faW5pdF9fKHNlbGYsIGN3ZCkKICAgICAgICAgc2VsZi5jYWNoZWRfdmVyc2lvbiA9IE5v
bmUKICAgICAKICAgICBAc3RhdGljbWV0aG9kCkBAIC0zNjUsOCArMzcwLDggQEAgY2xhc3MgU1ZO
KFNDTSk6CiAKICMgQWxsIGdpdC1zcGVjaWZpYyBsb2dpYyBzaG91bGQgZ28gaGVyZS4KIGNsYXNz
IEdpdChTQ00pOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjd2QsIGRyeXJ1bj1GYWxzZSk6Ci0g
ICAgICAgIFNDTS5fX2luaXRfXyhzZWxmLCBjd2QsIGRyeXJ1bikKKyAgICBkZWYgX19pbml0X18o
c2VsZiwgY3dkKToKKyAgICAgICAgU0NNLl9faW5pdF9fKHNlbGYsIGN3ZCkKIAogICAgIEBjbGFz
c21ldGhvZAogICAgIGRlZiBpbl93b3JraW5nX2RpcmVjdG9yeShjbHMsIHBhdGgpOgpAQCAtMzgw
LDE2ICszODUsMjEgQEAgY2xhc3MgR2l0KFNDTSk6CiAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlz
YWJzKGNoZWNrb3V0X3Jvb3QpOiAjIFNvbWV0aW1lcyBnaXQgcmV0dXJucyByZWxhdGl2ZSBwYXRo
cwogICAgICAgICAgICAgY2hlY2tvdXRfcm9vdCA9IG9zLnBhdGguam9pbihwYXRoLCBjaGVja291
dF9yb290KQogICAgICAgICByZXR1cm4gY2hlY2tvdXRfcm9vdAotICAgIAorCisgICAgQGNsYXNz
bWV0aG9kCisgICAgZGVmIHJlYWRfZ2l0X2NvbmZpZyhjbHMsIGtleSk6CisgICAgICAgIHJldHVy
biBydW5fY29tbWFuZChbImdpdCIsICJjb25maWciLCBrZXldLAorICAgICAgICAgICAgZXJyb3Jf
aGFuZGxlcj1FeGVjdXRpdmUuaWdub3JlX2Vycm9yKS5yc3RyaXAoJ1xuJykKKwogICAgIEBzdGF0
aWNtZXRob2QKICAgICBkZWYgY29tbWl0X3N1Y2Nlc3NfcmVnZXhwKCk6CiAgICAgICAgIHJldHVy
biAiXkNvbW1pdHRlZCByKD9QPHN2bl9yZXZpc2lvbj5cZCspJCIKIAogICAgIGRlZiBkaXNjYXJk
X2xvY2FsX2NvbW1pdHMoc2VsZik6Ci0gICAgICAgIHJ1bl9jb21tYW5kKFsnZ2l0JywgJ3Jlc2V0
JywgJy0taGFyZCcsICd0cnVuayddKQorICAgICAgICBydW5fY29tbWFuZChbJ2dpdCcsICdyZXNl
dCcsICctLWhhcmQnLCBzZWxmLnN2bl9icmFuY2hfbmFtZSgpXSkKICAgICAKICAgICBkZWYgbG9j
YWxfY29tbWl0cyhzZWxmKToKLSAgICAgICAgcmV0dXJuIHJ1bl9jb21tYW5kKFsnZ2l0JywgJ2xv
ZycsICctLXByZXR0eT1vbmVsaW5lJywgJ0hFQUQuLi50cnVuayddKS5zcGxpdGxpbmVzKCkKKyAg
ICAgICAgcmV0dXJuIHJ1bl9jb21tYW5kKFsnZ2l0JywgJ2xvZycsICctLXByZXR0eT1vbmVsaW5l
JywgJ0hFQUQuLi4nICsgc2VsZi5zdm5fYnJhbmNoX25hbWUoKV0pLnNwbGl0bGluZXMoKQogCiAg
ICAgZGVmIHJlYmFzZV9pbl9wcm9ncmVzcyhzZWxmKToKICAgICAgICAgcmV0dXJuIG9zLnBhdGgu
ZXhpc3RzKG9zLnBhdGguam9pbihzZWxmLmNoZWNrb3V0X3Jvb3QsICcuZ2l0L3JlYmFzZS1hcHBs
eScpKQpAQCAtNDE0LDEzICs0MjQsMTYgQEAgY2xhc3MgR2l0KFNDTSk6CiAgICAgICAgIHN0YXR1
c19jb21tYW5kID0gWydnaXQnLCAnZGlmZicsICctcicsICctLW5hbWUtc3RhdHVzJywgJy1DJywg
Jy1NJywgJ0hFQUQnXQogICAgICAgICByZXR1cm4gc2VsZi5ydW5fc3RhdHVzX2FuZF9leHRyYWN0
X2ZpbGVuYW1lcyhzdGF0dXNfY29tbWFuZCwgc2VsZi5fc3RhdHVzX3JlZ2V4cCgiQURNIikpCiAK
LSAgICBkZWYgY2hhbmdlZF9maWxlc19mb3JfcmV2aXNpb24oc2VsZiwgcmV2aXNpb24pOgotICAg
ICAgICBjb21taXRfaWQgPSBzZWxmLmdpdF9jb21taXRfZnJvbV9zdm5fcmV2aXNpb24ocmV2aXNp
b24pCisgICAgZGVmIF9jaGFuZ2VzX2ZpbGVzX2Zvcl9jb21taXQoc2VsZiwgZ2l0X2NvbW1pdCk6
CiAgICAgICAgICMgLS1wcmV0dHk9ImZvcm1hdDoiIG1ha2VzIGdpdCBzaG93IG5vdCBwcmludCB0
aGUgY29tbWl0IGxvZyBoZWFkZXIsCi0gICAgICAgIGNoYW5nZWRfZmlsZXMgPSBydW5fY29tbWFu
ZChbImdpdCIsICJzaG93IiwgIi0tcHJldHR5PWZvcm1hdDoiLCAiLS1uYW1lLW9ubHkiLCBjb21t
aXRfaWRdKS5zcGxpdGxpbmVzKCkKKyAgICAgICAgY2hhbmdlZF9maWxlcyA9IHJ1bl9jb21tYW5k
KFsiZ2l0IiwgInNob3ciLCAiLS1wcmV0dHk9Zm9ybWF0OiIsICItLW5hbWUtb25seSIsIGdpdF9j
b21taXRdKS5zcGxpdGxpbmVzKCkKICAgICAgICAgIyBpbnN0ZWFkIGl0IGp1c3QgcHJpbnRzIGEg
YmxhbmsgbGluZSBhdCB0aGUgdG9wLCBzbyB3ZSBza2lwIHRoZSBibGFuayBsaW5lOgogICAgICAg
ICByZXR1cm4gY2hhbmdlZF9maWxlc1sxOl0KIAorICAgIGRlZiBjaGFuZ2VkX2ZpbGVzX2Zvcl9y
ZXZpc2lvbihzZWxmLCByZXZpc2lvbik6CisgICAgICAgIGNvbW1pdF9pZCA9IHNlbGYuZ2l0X2Nv
bW1pdF9mcm9tX3N2bl9yZXZpc2lvbihyZXZpc2lvbikKKyAgICAgICAgcmV0dXJuIHNlbGYuX2No
YW5nZXNfZmlsZXNfZm9yX2NvbW1pdChjb21taXRfaWQpCisKICAgICBkZWYgY29uZmxpY3RlZF9m
aWxlcyhzZWxmKToKICAgICAgICAgc3RhdHVzX2NvbW1hbmQgPSBbJ2dpdCcsICdkaWZmJywgJy0t
bmFtZS1zdGF0dXMnLCAnLUMnLCAnLU0nLCAnLS1kaWZmLWZpbHRlcj1VJ10KICAgICAgICAgcmV0
dXJuIHNlbGYucnVuX3N0YXR1c19hbmRfZXh0cmFjdF9maWxlbmFtZXMoc3RhdHVzX2NvbW1hbmQs
IHNlbGYuX3N0YXR1c19yZWdleHAoIlUiKSkKQEAgLTQ3OSw2ICs0OTIsMTYgQEAgY2xhc3MgR2l0
KFNDTSk6CiAKICAgICAjIEdpdC1zcGVjaWZpYyBtZXRob2RzOgogCisgICAgZGVmIGRlbGV0ZV9i
cmFuY2goc2VsZiwgYnJhbmNoKToKKyAgICAgICAgaWYgcnVuX2NvbW1hbmQoWydnaXQnLCAnc2hv
dy1yZWYnLCAnLS1xdWlldCcsICctLXZlcmlmeScsICdyZWZzL2hlYWRzLycgKyBicmFuY2hdLCBy
ZXR1cm5fZXhpdF9jb2RlPVRydWUpID09IDA6CisgICAgICAgICAgICBydW5fY29tbWFuZChbJ2dp
dCcsICdicmFuY2gnLCAnLUQnLCBicmFuY2hdKQorCisgICAgZGVmIHN2bl9tZXJnZV9iYXNlKHNl
bGYpOgorICAgICAgICByZXR1cm4gcnVuX2NvbW1hbmQoWydnaXQnLCAnbWVyZ2UtYmFzZScsIHNl
bGYuc3ZuX2JyYW5jaF9uYW1lKCksICdIRUFEJ10pLnN0cmlwKCkKKworICAgIGRlZiBzdm5fYnJh
bmNoX25hbWUoc2VsZik6CisgICAgICAgIHJldHVybiBHaXQucmVhZF9naXRfY29uZmlnKCdzdm4t
cmVtb3RlLnN2bi5mZXRjaCcpLnNwbGl0KCc6JylbMV0KKwogICAgIGRlZiBjcmVhdGVfcGF0Y2hf
ZnJvbV9sb2NhbF9jb21taXQoc2VsZiwgY29tbWl0X2lkKToKICAgICAgICAgcmV0dXJuIHJ1bl9j
b21tYW5kKFsnZ2l0JywgJ2RpZmYnLCAnLS1iaW5hcnknLCBjb21taXRfaWQgKyAiXi4uIiArIGNv
bW1pdF9pZF0pCiAKQEAgLTQ4NywxMiArNTEwLDE2IEBAIGNsYXNzIEdpdChTQ00pOgogCiAgICAg
ZGVmIGNvbW1pdF9sb2NhbGx5X3dpdGhfbWVzc2FnZShzZWxmLCBtZXNzYWdlKToKICAgICAgICAg
cnVuX2NvbW1hbmQoWydnaXQnLCAnY29tbWl0JywgJy0tYWxsJywgJy1GJywgJy0nXSwgaW5wdXQ9
bWVzc2FnZSkKLSAgICAgICAgCisKICAgICBkZWYgcHVzaF9sb2NhbF9jb21taXRzX3RvX3NlcnZl
cihzZWxmKToKKyAgICAgICAgZGNvbW1pdF9jb21tYW5kID0gWydnaXQnLCAnc3ZuJywgJ2Rjb21t
aXQnXQogICAgICAgICBpZiBzZWxmLmRyeXJ1bjoKLSAgICAgICAgICAgICMgUmV0dXJuIGEgc3Ry
aW5nIHdoaWNoIGxvb2tzIGxpa2UgYSBjb21taXQgc28gdGhhdCB0aGluZ3Mgd2hpY2ggcGFyc2Ug
dGhpcyBvdXRwdXQgd2lsbCBzdWNjZWVkLgotICAgICAgICAgICAgcmV0dXJuICJEcnkgcnVuLCBu
byByZW1vdGUgY29tbWl0LlxuQ29tbWl0dGVkIHIwIgotICAgICAgICByZXR1cm4gcnVuX2NvbW1h
bmQoWydnaXQnLCAnc3ZuJywgJ2Rjb21taXQnXSwgZXJyb3JfaGFuZGxlcj1jb21taXRfZXJyb3Jf
aGFuZGxlcikKKyAgICAgICAgICAgIGRjb21taXRfY29tbWFuZC5hcHBlbmQoJy0tZHJ5LXJ1bicp
CisgICAgICAgIG91dHB1dCA9IHJ1bl9jb21tYW5kKGRjb21taXRfY29tbWFuZCwgZXJyb3JfaGFu
ZGxlcj1jb21taXRfZXJyb3JfaGFuZGxlcikKKyAgICAgICAgIyBSZXR1cm4gYSBzdHJpbmcgd2hp
Y2ggbG9va3MgbGlrZSBhIGNvbW1pdCBzbyB0aGF0IHRoaW5ncyB3aGljaCBwYXJzZSB0aGlzIG91
dHB1dCB3aWxsIHN1Y2NlZWQuCisgICAgICAgIGlmIHNlbGYuZHJ5cnVuOgorICAgICAgICAgICAg
b3V0cHV0ICs9ICJcbkNvbW1pdHRlZCByMCIKKyAgICAgICAgcmV0dXJuIG91dHB1dAogCiAgICAg
IyBUaGlzIGZ1bmN0aW9uIHN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgYXJndW1lbnQgZm9ybWF0czoK
ICAgICAjIG5vIGFyZ3MgOiByZXYtbGlzdCB0cnVuay4uSEVBRApAQCAtNTAxLDggKzUyOCw3IEBA
IGNsYXNzIEdpdChTQ00pOgogICAgICMgQSBCICAgICA6IFtBLCBCXSAgKGRpZmZlcmVudCBmcm9t
IGdpdCBkaWZmLCB3aGljaCB3b3VsZCB1c2UgInJldi1saXN0IEEuLkIiKQogICAgIGRlZiBjb21t
aXRfaWRzX2Zyb21fY29tbWl0aXNoX2FyZ3VtZW50cyhzZWxmLCBhcmdzKToKICAgICAgICAgaWYg
bm90IGxlbihhcmdzKToKLSAgICAgICAgICAgICMgRklYTUU6IHRydW5rIGlzIG5vdCBhbHdheXMg
dGhlIHJlbW90ZSBicmFuY2ggbmFtZSwgbmVlZCBhIHdheSB0byBkZXRlY3QgdGhlIG5hbWUuCi0g
ICAgICAgICAgICBhcmdzLmFwcGVuZCgndHJ1bmsuLkhFQUQnKQorICAgICAgICAgICAgYXJncy5h
cHBlbmQoJyVzLi5IRUFEJyAlIHNlbGYuc3ZuX2JyYW5jaF9uYW1lKCkpCiAKICAgICAgICAgY29t
bWl0X2lkcyA9IFtdCiAgICAgICAgIGZvciBjb21taXRpc2ggaW4gYXJnczoKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbV91bml0dGVz
dC5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbV91
bml0dGVzdC5weQppbmRleCA1ODYxNjM1Li5kNDg3NTk4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY21fdW5pdHRlc3QucHkKKysrIGIv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtX3VuaXR0ZXN0
LnB5CkBAIC01NjQsNiArNTY0LDUyIEBAIGNsYXNzIEdpdFRlc3QoU0NNVGVzdCk6CiAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoc2NtLmRpc3BsYXlfbmFtZSgpLCAiZ2l0IikKICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChzY20uc3VwcG9ydHNfbG9jYWxfY29tbWl0cygpLCBUcnVlKQogCisgICAg
ZGVmIHRlc3RfcmVhZF9naXRfY29uZmlnKHNlbGYpOgorICAgICAgICBrZXkgPSAndGVzdC5naXQt
Y29uZmlnJworICAgICAgICB2YWx1ZSA9ICdnaXQtY29uZmlnIHZhbHVlJworICAgICAgICBydW5f
Y29tbWFuZChbJ2dpdCcsICdjb25maWcnLCBrZXksIHZhbHVlXSkKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChzZWxmLnNjbS5yZWFkX2dpdF9jb25maWcoa2V5KSwgdmFsdWUpCisKKyAgICBkZWYg
dGVzdF9sb2NhbF9jb21taXRzKHNlbGYpOgorICAgICAgICB0ZXN0X2ZpbGUgPSBvcy5wYXRoLmpv
aW4oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCwgJ3Rlc3RfZmlsZScpCisgICAgICAgIHdyaXRlX2lu
dG9fZmlsZV9hdF9wYXRoKHRlc3RfZmlsZSwgJ2ZvbycpCisgICAgICAgIHJ1bl9jb21tYW5kKFsn
Z2l0JywgJ2NvbW1pdCcsICctYScsICctbScsICdsb2NhbCBjb21taXQnXSkKKworICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGxlbihzZWxmLnNjbS5sb2NhbF9jb21taXRzKCkpLCAxKQorCisgICAg
ZGVmIHRlc3RfZGlzY2FyZF9sb2NhbF9jb21taXRzKHNlbGYpOgorICAgICAgICB0ZXN0X2ZpbGUg
PSBvcy5wYXRoLmpvaW4oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCwgJ3Rlc3RfZmlsZScpCisgICAg
ICAgIHdyaXRlX2ludG9fZmlsZV9hdF9wYXRoKHRlc3RfZmlsZSwgJ2ZvbycpCisgICAgICAgIHJ1
bl9jb21tYW5kKFsnZ2l0JywgJ2NvbW1pdCcsICctYScsICctbScsICdsb2NhbCBjb21taXQnXSkK
KworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZWxmLnNjbS5sb2NhbF9jb21taXRzKCkp
LCAxKQorICAgICAgICBzZWxmLnNjbS5kaXNjYXJkX2xvY2FsX2NvbW1pdHMoKQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGxlbihzZWxmLnNjbS5sb2NhbF9jb21taXRzKCkpLCAwKQorCisgICAg
ZGVmIHRlc3RfZGVsZXRlX2JyYW5jaChzZWxmKToKKyAgICAgICAgb2xkX2JyYW5jaCA9IHJ1bl9j
b21tYW5kKFsnZ2l0JywgJ3N5bWJvbGljLXJlZicsICdIRUFEJ10pLnN0cmlwKCkKKyAgICAgICAg
bmV3X2JyYW5jaCA9ICdmb28nCisKKyAgICAgICAgcnVuX2NvbW1hbmQoWydnaXQnLCAnY2hlY2tv
dXQnLCAnLWInLCBuZXdfYnJhbmNoXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChydW5fY29t
bWFuZChbJ2dpdCcsICdzeW1ib2xpYy1yZWYnLCAnSEVBRCddKS5zdHJpcCgpLCAncmVmcy9oZWFk
cy8nICsgbmV3X2JyYW5jaCkKKworICAgICAgICBydW5fY29tbWFuZChbJ2dpdCcsICdjaGVja291
dCcsIG9sZF9icmFuY2hdKQorICAgICAgICBzZWxmLnNjbS5kZWxldGVfYnJhbmNoKG5ld19icmFu
Y2gpCisKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShyZS5zZWFyY2gocidmb28nLCBydW5fY29t
bWFuZChbJ2dpdCcsICdicmFuY2gnXSkpKQorCisgICAgZGVmIHRlc3Rfc3ZuX21lcmdlX2Jhc2Uo
c2VsZik6CisgICAgICAgICMgRGlmZiB0byBtZXJnZS1iYXNlIHNob3VsZCBpbmNsdWRlIHdvcmtp
bmctY29weSBjaGFuZ2VzLAorICAgICAgICAjIHdoaWNoIHRoZSBkaWZmIHRvIHN2bl9icmFuY2gu
LiBkb2Vzbid0LgorICAgICAgICB0ZXN0X2ZpbGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5naXRfY2hl
Y2tvdXRfcGF0aCwgJ3Rlc3RfZmlsZScpCisgICAgICAgIHdyaXRlX2ludG9fZmlsZV9hdF9wYXRo
KHRlc3RfZmlsZSwgJ2ZvbycpCisKKyAgICAgICAgZGlmZl90b19jb21tb25fYmFzZSA9IHJ1bl9j
b21tYW5kKFsnZ2l0JywgJ2RpZmYnLCBzZWxmLnNjbS5zdm5fYnJhbmNoX25hbWUoKSArICcuLidd
KQorICAgICAgICBkaWZmX3RvX21lcmdlX2Jhc2UgPSBydW5fY29tbWFuZChbJ2dpdCcsICdkaWZm
Jywgc2VsZi5zY20uc3ZuX21lcmdlX2Jhc2UoKV0pCisKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxz
ZShyZS5zZWFyY2gocidmb28nLCBkaWZmX3RvX2NvbW1vbl9iYXNlKSkKKyAgICAgICAgc2VsZi5h
c3NlcnRUcnVlKHJlLnNlYXJjaChyJ2ZvbycsIGRpZmZfdG9fbWVyZ2VfYmFzZSkpCisKICAgICBk
ZWYgdGVzdF9yZWJhc2VfaW5fcHJvZ3Jlc3Moc2VsZik6CiAgICAgICAgIHN2bl90ZXN0X2ZpbGUg
PSBvcy5wYXRoLmpvaW4oc2VsZi5zdm5fY2hlY2tvdXRfcGF0aCwgJ3Rlc3RfZmlsZScpCiAgICAg
ICAgIHdyaXRlX2ludG9fZmlsZV9hdF9wYXRoKHN2bl90ZXN0X2ZpbGUsICJzdm5fY2hlY2tvdXQi
KQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2Ny
ZWRlbnRpYWxzLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2Ny
ZWRlbnRpYWxzLnB5CmluZGV4IDQ3ZmMxNzEuLjFkNWY4M2QgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9jcmVkZW50aWFscy5weQorKysgYi9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvY3JlZGVudGlhbHMucHkKQEAgLTQ0
LDIwICs0NCwxMyBAQCBjbGFzcyBDcmVkZW50aWFscyhvYmplY3QpOgogCiAgICAgZGVmIF9faW5p
dF9fKHNlbGYsIGhvc3QsIGdpdF9wcmVmaXg9Tm9uZSwgZXhlY3V0aXZlPU5vbmUsIGN3ZD1vcy5n
ZXRjd2QoKSk6CiAgICAgICAgIHNlbGYuaG9zdCA9IGhvc3QKLSAgICAgICAgc2VsZi5naXRfcHJl
Zml4ID0gZ2l0X3ByZWZpeAorICAgICAgICBzZWxmLmdpdF9wcmVmaXggPSAiJXMuIiAlIGdpdF9w
cmVmaXggaWYgZ2l0X3ByZWZpeCBlbHNlICIiCiAgICAgICAgIHNlbGYuZXhlY3V0aXZlID0gZXhl
Y3V0aXZlIG9yIEV4ZWN1dGl2ZSgpCiAgICAgICAgIHNlbGYuY3dkID0gY3dkCiAKICAgICBkZWYg
X2NyZWRlbnRpYWxzX2Zyb21fZ2l0KHNlbGYpOgotICAgICAgICByZXR1cm4gW3NlbGYuX3JlYWRf
Z2l0X2NvbmZpZygidXNlcm5hbWUiKSwKLSAgICAgICAgICAgICAgICBzZWxmLl9yZWFkX2dpdF9j
b25maWcoInBhc3N3b3JkIildCi0KLSAgICBkZWYgX3JlYWRfZ2l0X2NvbmZpZyhzZWxmLCBrZXkp
OgotICAgICAgICBjb25maWdfa2V5ID0gIiVzLiVzIiAlIChzZWxmLmdpdF9wcmVmaXgsIGtleSkg
aWYgc2VsZi5naXRfcHJlZml4IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGVsc2Uga2V5Ci0gICAgICAgIHJldHVybiBzZWxmLmV4ZWN1dGl2
ZS5ydW5fY29tbWFuZCgKLSAgICAgICAgICAgICAgICBbImdpdCIsICJjb25maWciLCAiLS1nZXQi
LCBjb25maWdfa2V5XSwKLSAgICAgICAgICAgICAgICBlcnJvcl9oYW5kbGVyPUV4ZWN1dGl2ZS5p
Z25vcmVfZXJyb3IpLnJzdHJpcCgnXG4nKQorICAgICAgICByZXR1cm4gW0dpdC5yZWFkX2dpdF9j
b25maWcoc2VsZi5naXRfcHJlZml4ICsgInVzZXJuYW1lIiksCisgICAgICAgICAgICAgICAgR2l0
LnJlYWRfZ2l0X2NvbmZpZyhzZWxmLmdpdF9wcmVmaXggKyAicGFzc3dvcmQiKV0KIAogICAgIGRl
ZiBfa2V5Y2hhaW5fdmFsdWVfd2l0aF9sYWJlbChzZWxmLCBsYWJlbCwgc291cmNlX3RleHQpOgog
ICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaCgiJXNcIig/UDx2YWx1ZT4uKylcIiIgJSBsYWJlbCwK
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9jcmVk
ZW50aWFsc191bml0dGVzdC5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L25ldC9jcmVkZW50aWFsc191bml0dGVzdC5weQppbmRleCBhODMwYjEzLi45YTQyYmRkIDEwMDY0
NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvY3JlZGVudGlh
bHNfdW5pdHRlc3QucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
bmV0L2NyZWRlbnRpYWxzX3VuaXR0ZXN0LnB5CkBAIC0xMDEsMTYgKzEwMSw2IEBAIHBhc3N3b3Jk
OiAiU0VDUkVUU0FVQ0UiCiAgICAgICAgIHNlbGYuX2Fzc2VydF9zZWN1cml0eV9jYWxsKCkKICAg
ICAgICAgc2VsZi5fYXNzZXJ0X3NlY3VyaXR5X2NhbGwodXNlcm5hbWU9ImZvbyIpCiAKLSAgICBk
ZWYgdGVzdF9naXRfY29uZmlnX2NhbGxzKHNlbGYpOgotICAgICAgICBleGVjdXRpdmVfbW9jayA9
IE1vY2soKQotICAgICAgICBjcmVkZW50aWFscyA9IENyZWRlbnRpYWxzKCJleGFtcGxlLmNvbSIs
IGV4ZWN1dGl2ZT1leGVjdXRpdmVfbW9jaykKLSAgICAgICAgY3JlZGVudGlhbHMuX3JlYWRfZ2l0
X2NvbmZpZygiZm9vIikKLSAgICAgICAgZXhlY3V0aXZlX21vY2sucnVuX2NvbW1hbmQuYXNzZXJ0
X2NhbGxlZF93aXRoKFsiZ2l0IiwgImNvbmZpZyIsICItLWdldCIsICJmb28iXSwgZXJyb3JfaGFu
ZGxlcj1FeGVjdXRpdmUuaWdub3JlX2Vycm9yKQotCi0gICAgICAgIGNyZWRlbnRpYWxzID0gQ3Jl
ZGVudGlhbHMoImV4YW1wbGUuY29tIiwgZ2l0X3ByZWZpeD0idGVzdF9wcmVmaXgiLCBleGVjdXRp
dmU9ZXhlY3V0aXZlX21vY2spCi0gICAgICAgIGNyZWRlbnRpYWxzLl9yZWFkX2dpdF9jb25maWco
ImZvbyIpCi0gICAgICAgIGV4ZWN1dGl2ZV9tb2NrLnJ1bl9jb21tYW5kLmFzc2VydF9jYWxsZWRf
d2l0aChbImdpdCIsICJjb25maWciLCAiLS1nZXQiLCAidGVzdF9wcmVmaXguZm9vIl0sIGVycm9y
X2hhbmRsZXI9RXhlY3V0aXZlLmlnbm9yZV9lcnJvcikKLQogICAgIGRlZiB0ZXN0X3JlYWRfY3Jl
ZGVudGlhbHNfd2l0aG91dF9naXRfcmVwbyhzZWxmKToKICAgICAgICAgY2xhc3MgRmFrZUNyZWRl
bnRpYWxzKENyZWRlbnRpYWxzKToKICAgICAgICAgICAgIGRlZiBfaXNfbWFjX29zX3goc2VsZik6
CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0v
ZXhlY3V0aXZlLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVt
L2V4ZWN1dGl2ZS5weQppbmRleCBiMzk5ZGU5Li4wMGJlMWNjIDEwMDY0NAotLS0gYS9XZWJLaXRU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5CisrKyBiL1dl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmUucHkKQEAg
LTE2NCwxMiArMTY0LDE0IEBAIGNsYXNzIEV4ZWN1dGl2ZShvYmplY3QpOgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjd2Q9Y3dkKQogICAgICAgICBvdXRwdXQgPSBwcm9jZXNz
LmNvbW11bmljYXRlKHN0cmluZ190b19jb21tdW5pY2F0ZSlbMF0KICAgICAgICAgZXhpdF9jb2Rl
ID0gcHJvY2Vzcy53YWl0KCkKKworICAgICAgICBpZiByZXR1cm5fZXhpdF9jb2RlOgorICAgICAg
ICAgICAgcmV0dXJuIGV4aXRfY29kZQorCiAgICAgICAgIGlmIGV4aXRfY29kZToKICAgICAgICAg
ICAgIHNjcmlwdF9lcnJvciA9IFNjcmlwdEVycm9yKHNjcmlwdF9hcmdzPWFyZ3MsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGl0X2NvZGU9ZXhpdF9jb2RlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0PW91dHB1dCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN3ZD1jd2QpCiAgICAgICAgICAgICAo
ZXJyb3JfaGFuZGxlciBvciBzZWxmLmRlZmF1bHRfZXJyb3JfaGFuZGxlcikoc2NyaXB0X2Vycm9y
KQotICAgICAgICBpZiByZXR1cm5fZXhpdF9jb2RlOgotICAgICAgICAgICAgcmV0dXJuIGV4aXRf
Y29kZQogICAgICAgICByZXR1cm4gb3V0cHV0Cg==
</data>
<flag name="review"
          id="36054"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>