<?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>198008</bug_id>
          
          <creation_ts>2019-05-17 16:46:47 -0700</creation_ts>
          <short_desc>generate-xcfilelists is stranding temporary files</short_desc>
          <delta_ts>2019-05-20 11:24:50 -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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Rollin">krollin</reporter>
          <assigned_to name="Keith Rollin">krollin</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1537330</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2019-05-17 16:46:47 -0700</bug_when>
    <thetext>generate-xcfilelists makes use of temporary files on disk. These files are opened with the OS&apos;s &quot;temporary&quot; bit set, causing them to get deleted when closed or the process exists. However, these temporary files actually end up persisting after the script exists. This is because `sed` is used to process the files, and is done so in a way that causes the &quot;temporary&quot; bit to get cleared.

Address this issue by no longer using `sed` and instead performing the equivalent processing the file content in-memory.

rdar://problem/50893659</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1537335</commentid>
    <comment_count>1</comment_count>
      <attachid>370169</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2019-05-17 16:49:20 -0700</bug_when>
    <thetext>Created attachment 370169
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1537337</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-05-17 16:51:58 -0700</bug_when>
    <thetext>Attachment 370169 did not pass style-queue:


ERROR: Tools/Scripts/webkitpy/generate_xcfilelists_lib/generators.py:368:  expected 1 blank line, found 0  [pep8/E301] [5]
Total errors found: 1 in 2 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>1537585</commentid>
    <comment_count>3</comment_count>
      <attachid>370169</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-05-20 08:32:33 -0700</bug_when>
    <thetext>Comment on attachment 370169
Patch

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

&gt; Tools/Scripts/webkitpy/generate_xcfilelists_lib/generators.py:346
&gt; +        return set([re.sub(to_replace, replace_with, line) for line in lines])

Putting these in a set will throw out any order you have, not sure if that&apos;s an OK side-effect here....it might not have correctness problems, but I could see it making the xcfilelists less readable.

&gt; Tools/Scripts/webkitpy/generate_xcfilelists_lib/generators.py:368
&gt; +        def get_lines(source):

The style checker is complaining about no newlines surrounding this. Given how you&apos;re using it, I wonder if this:

get_lines = lambda source: source if isinstance(source, set) else set(source) if isinstance(source, list) else self._get_file_lines(source)

would be more readable (and make the style checker happy)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1537586</commentid>
    <comment_count>4</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-05-20 08:35:58 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #3)
&gt; Comment on attachment 370169 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=370169&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/generate_xcfilelists_lib/generators.py:346
&gt; &gt; +        return set([re.sub(to_replace, replace_with, line) for line in lines])
&gt; 
&gt; Putting these in a set will throw out any order you have, not sure if that&apos;s
&gt; an OK side-effect here....it might not have correctness problems, but I
&gt; could see it making the xcfilelists less readable.

Actually, what we probably want to do is put everything in a set, then convert the set to a list, then sort the list.

&gt; ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1537589</commentid>
    <comment_count>5</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2019-05-20 09:13:44 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #4)

&gt; Actually, what we probably want to do is put everything in a set, then
&gt; convert the set to a list, then sort the list.

That&apos;s exactly what I do. See _merge_added_lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1537594</commentid>
    <comment_count>6</comment_count>
      <attachid>370257</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2019-05-20 09:48:10 -0700</bug_when>
    <thetext>Created attachment 370257
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1537595</commentid>
    <comment_count>7</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2019-05-20 09:48:29 -0700</bug_when>
    <thetext>Added blank lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1537641</commentid>
    <comment_count>8</comment_count>
      <attachid>370257</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-20 11:24:49 -0700</bug_when>
    <thetext>Comment on attachment 370257
Patch

Clearing flags on attachment: 370257

Committed r245531: &lt;https://trac.webkit.org/changeset/245531&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1537642</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-20 11:24:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370169</attachid>
            <date>2019-05-17 16:49:20 -0700</date>
            <delta_ts>2019-05-20 09:48:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198008-20190517164920.patch</filename>
            <type>text/plain</type>
            <size>8079</size>
            <attacher name="Keith Rollin">krollin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1NDgwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTE3ODk2MzQxM2ViOWE0OGM1ZjIyMDkxMTliYmE5MmZl
NzViMDFhNi4uNzJlNDdmYmNlOTJlNjRiNWNjMWE4YTIwOGMxZmMyMGRiMDljYzZiMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5
IEBACisyMDE5LTA1LTE3ICBLZWl0aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KKworICAg
ICAgICBnZW5lcmF0ZS14Y2ZpbGVsaXN0cyBpcyBzdHJhbmRpbmcgdGVtcG9yYXJ5IGZpbGVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgwMDgKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzUwODkzNjU5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIGdlbmVyYXRlLXhjZmlsZWxpc3RzIG1ha2VzIHVzZSBv
ZiB0ZW1wb3JhcnkgZmlsZXMgb24gZGlzay4gVGhlc2UgZmlsZXMKKyAgICAgICAgYXJlIG9wZW5l
ZCB3aXRoIHRoZSBPUydzICJ0ZW1wb3JhcnkiIGJpdCBzZXQsIGNhdXNpbmcgdGhlbSB0byBnZXQK
KyAgICAgICAgZGVsZXRlZCB3aGVuIGNsb3NlZCBvciB0aGUgcHJvY2VzcyBleGlzdHMuIEhvd2V2
ZXIsIHRoZXNlIHRlbXBvcmFyeQorICAgICAgICBmaWxlcyBhY3R1YWxseSBlbmQgdXAgcGVyc2lz
dGluZyBhZnRlciB0aGUgc2NyaXB0IGV4aXN0cy4gVGhpcyBpcworICAgICAgICBiZWNhdXNlIGBz
ZWRgIGlzIHVzZWQgdG8gcHJvY2VzcyB0aGUgZmlsZXMsIGFuZCBpcyBkb25lIHNvIGluIGEgd2F5
CisgICAgICAgIHRoYXQgY2F1c2VzIHRoZSAidGVtcG9yYXJ5IiBiaXQgdG8gZ2V0IGNsZWFyZWQu
CisKKyAgICAgICAgQWRkcmVzcyB0aGlzIGlzc3VlIGJ5IG5vIGxvbmdlciB1c2luZyBgc2VkYCBh
bmQgaW5zdGVhZCBwZXJmb3JtaW5nIHRoZQorICAgICAgICBlcXVpdmFsZW50IHByb2Nlc3Npbmcg
dGhlIGZpbGUgY29udGVudCBpbi1tZW1vcnkuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2dlbmVyYXRlX3hjZmlsZWxpc3RzX2xpYi9nZW5lcmF0b3JzLnB5OgorICAgICAgICAoQmFzZUdl
bmVyYXRvci5fZ2VuZXJhdGVfZGVyaXZlZCk6CisgICAgICAgIChCYXNlR2VuZXJhdG9yLl9nZW5l
cmF0ZV91bmlmaWVkKToKKyAgICAgICAgKEJhc2VHZW5lcmF0b3IuX3JlcGxhY2UpOgorICAgICAg
ICAoQmFzZUdlbmVyYXRvci5fdW5leHBhbmQpOgorICAgICAgICAoQmFzZUdlbmVyYXRvci5fZmlu
ZF9hZGRlZF9saW5lcy5nZXRfbGluZXMpOgorICAgICAgICAoQmFzZUdlbmVyYXRvci5fZmluZF9h
ZGRlZF9saW5lcyk6CisKIDIwMTktMDUtMTcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9nZW5lcmF0ZV94Y2ZpbGVsaXN0c19saWIvZ2VuZXJhdG9ycy5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvZ2VuZXJhdGVfeGNmaWxlbGlzdHNfbGliL2dlbmVyYXRv
cnMucHkKaW5kZXggM2RiOWI5NmM1OWUxYzgyZWZkOTE4ZWYzOTIwYjM0OThlMzMwZWFkYS4uMTE4
MzkxMmRlOTdhNjIzYzM1NmJhNGE3YTBlMjhjYThjODI0ZDI1NCAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9nZW5lcmF0ZV94Y2ZpbGVsaXN0c19saWIvZ2VuZXJhdG9ycy5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2dlbmVyYXRlX3hjZmlsZWxpc3RzX2xpYi9nZW5l
cmF0b3JzLnB5CkBAIC01Nyw2ICs1Nyw3IEBAIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRf
ZnVuY3Rpb24KIAogaW1wb3J0IG9zCiBpbXBvcnQgcGlja2xlCitpbXBvcnQgcmUKIGltcG9ydCB0
ZW1wZmlsZQogaW1wb3J0IHRyYWNlYmFjawogCkBAIC0yNzIsMjMgKzI3MywyNiBAQCBjbGFzcyBC
YXNlR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgICAgICAjIFdlYkNvcmUsIGZvciBleGFtcGxl
LCB3aGVuIHByb2Nlc3NpbmcgdGhlIEphdmFTY3JpcHRDb3JlCiAgICAgICAgICAgICAjIHByb2pl
Y3QpLgogCi0gICAgICAgICAgICBzZWxmLl9yZXBsYWNlKGlucHV0Lm5hbWUsICJeSmF2YVNjcmlw
dENvcmUvIiwgICAgICAgICAgICAgICAiJChQUk9KRUNUX0RJUikvIikKLSAgICAgICAgICAgIHNl
bGYuX3JlcGxhY2UoaW5wdXQubmFtZSwgIl5KYXZhU2NyaXB0Q29yZVByaXZhdGVIZWFkZXJzLyIs
ICIkKEpBVkFTQ1JJUFRDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpLyIpCi0gICAgICAgICAgICBz
ZWxmLl9yZXBsYWNlKGlucHV0Lm5hbWUsICJeV2ViQ29yZS8iLCAgICAgICAgICAgICAgICAgICAg
ICAiJChQUk9KRUNUX0RJUikvIikKLSAgICAgICAgICAgIHNlbGYuX3JlcGxhY2UoaW5wdXQubmFt
ZSwgIl5XZWJLaXQyUHJpdmF0ZUhlYWRlcnMvIiwgICAgICAgICIkKFdFQktJVDJfUFJJVkFURV9I
RUFERVJTX0RJUikvIikKKyAgICAgICAgICAgIGlucHV0X2xpbmVzID0gc2VsZi5fZ2V0X2ZpbGVf
bGluZXMoaW5wdXQubmFtZSkKKyAgICAgICAgICAgIG91dHB1dF9saW5lcyA9IHNlbGYuX2dldF9m
aWxlX2xpbmVzKG91dHB1dC5uYW1lKQogCi0gICAgICAgICAgICBzZWxmLl91bmV4cGFuZChpbnB1
dC5uYW1lLCAiSkFWQVNDUklQVENPUkVfUFJJVkFURV9IRUFERVJTX0RJUiIpCi0gICAgICAgICAg
ICBzZWxmLl91bmV4cGFuZChpbnB1dC5uYW1lLCAiUFJPSkVDVF9ESVIiKQotICAgICAgICAgICAg
c2VsZi5fdW5leHBhbmQoaW5wdXQubmFtZSwgIldFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUiIp
Ci0gICAgICAgICAgICBzZWxmLl91bmV4cGFuZChpbnB1dC5uYW1lLCAiV0VCS0lUMl9QUklWQVRF
X0hFQURFUlNfRElSIikKLSAgICAgICAgICAgIHNlbGYuX3VuZXhwYW5kKGlucHV0Lm5hbWUsICJX
RUJLSVRBRERJVElPTlNfSEVBREVSU19GT0xERVJfUEFUSCIpCi0gICAgICAgICAgICBzZWxmLl91
bmV4cGFuZChpbnB1dC5uYW1lLCAiQlVJTFRfUFJPRFVDVFNfRElSIikgICAgIyBEbyB0aGlzIGxh
c3QsIHNpbmNlIGl0J3MgYSBwcmVmaXggb2Ygc29tZSBvdGhlciB2YXJpYWJsZXMgYW5kIHdpbGwg
ImludGVyY2VwdCIgdGhlbSBpZiBleGVjdXRlZCBlYXJsaWVyIHRoYW4gdGhlbS4KKyAgICAgICAg
ICAgIGlucHV0X2xpbmVzID0gc2VsZi5fcmVwbGFjZShpbnB1dF9saW5lcywgIl5KYXZhU2NyaXB0
Q29yZS8iLCAgICAgICAgICAgICAgICIkKFBST0pFQ1RfRElSKS8iKQorICAgICAgICAgICAgaW5w
dXRfbGluZXMgPSBzZWxmLl9yZXBsYWNlKGlucHV0X2xpbmVzLCAiXkphdmFTY3JpcHRDb3JlUHJp
dmF0ZUhlYWRlcnMvIiwgIiQoSkFWQVNDUklQVENPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvIikK
KyAgICAgICAgICAgIGlucHV0X2xpbmVzID0gc2VsZi5fcmVwbGFjZShpbnB1dF9saW5lcywgIl5X
ZWJDb3JlLyIsICAgICAgICAgICAgICAgICAgICAgICIkKFBST0pFQ1RfRElSKS8iKQorICAgICAg
ICAgICAgaW5wdXRfbGluZXMgPSBzZWxmLl9yZXBsYWNlKGlucHV0X2xpbmVzLCAiXldlYktpdDJQ
cml2YXRlSGVhZGVycy8iLCAgICAgICAgIiQoV0VCS0lUMl9QUklWQVRFX0hFQURFUlNfRElSKS8i
KQogCi0gICAgICAgICAgICBzZWxmLl9yZXBsYWNlKG91dHB1dC5uYW1lLCAiXiIsIHNlbGYuX2dl
dF9kZXJpdmVkX3NvdXJjZXNfZGlyKCkgKyAiLyIpCi0gICAgICAgICAgICBzZWxmLl91bmV4cGFu
ZChvdXRwdXQubmFtZSwgIkJVSUxUX1BST0RVQ1RTX0RJUiIpCisgICAgICAgICAgICBpbnB1dF9s
aW5lcyA9IHNlbGYuX3VuZXhwYW5kKGlucHV0X2xpbmVzLCAiSkFWQVNDUklQVENPUkVfUFJJVkFU
RV9IRUFERVJTX0RJUiIpCisgICAgICAgICAgICBpbnB1dF9saW5lcyA9IHNlbGYuX3VuZXhwYW5k
KGlucHV0X2xpbmVzLCAiUFJPSkVDVF9ESVIiKQorICAgICAgICAgICAgaW5wdXRfbGluZXMgPSBz
ZWxmLl91bmV4cGFuZChpbnB1dF9saW5lcywgIldFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUiIp
CisgICAgICAgICAgICBpbnB1dF9saW5lcyA9IHNlbGYuX3VuZXhwYW5kKGlucHV0X2xpbmVzLCAi
V0VCS0lUMl9QUklWQVRFX0hFQURFUlNfRElSIikKKyAgICAgICAgICAgIGlucHV0X2xpbmVzID0g
c2VsZi5fdW5leHBhbmQoaW5wdXRfbGluZXMsICJXRUJLSVRBRERJVElPTlNfSEVBREVSU19GT0xE
RVJfUEFUSCIpCisgICAgICAgICAgICBpbnB1dF9saW5lcyA9IHNlbGYuX3VuZXhwYW5kKGlucHV0
X2xpbmVzLCAiQlVJTFRfUFJPRFVDVFNfRElSIikgICAgIyBEbyB0aGlzIGxhc3QsIHNpbmNlIGl0
J3MgYSBwcmVmaXggb2Ygc29tZSBvdGhlciB2YXJpYWJsZXMgYW5kIHdpbGwgImludGVyY2VwdCIg
dGhlbSBpZiBleGVjdXRlZCBlYXJsaWVyIHRoYW4gdGhlbS4KIAotICAgICAgICAgICAgc2VsZi5h
ZGRlZF9saW5lc19pbnB1dF9kZXJpdmVkID0gc2VsZi5fZmluZF9hZGRlZF9saW5lcyhpbnB1dC5u
YW1lLCBzZWxmLl9nZXRfaW5wdXRfZGVyaXZlZF94Y2ZpbGVsaXN0X3Byb2plY3RfcGF0aCgpKQot
ICAgICAgICAgICAgc2VsZi5hZGRlZF9saW5lc19vdXRwdXRfZGVyaXZlZCA9IHNlbGYuX2ZpbmRf
YWRkZWRfbGluZXMob3V0cHV0Lm5hbWUsIHNlbGYuX2dldF9vdXRwdXRfZGVyaXZlZF94Y2ZpbGVs
aXN0X3Byb2plY3RfcGF0aCgpKQorICAgICAgICAgICAgb3V0cHV0X2xpbmVzID0gc2VsZi5fcmVw
bGFjZShvdXRwdXRfbGluZXMsICJeIiwgc2VsZi5fZ2V0X2Rlcml2ZWRfc291cmNlc19kaXIoKSAr
ICIvIikKKyAgICAgICAgICAgIG91dHB1dF9saW5lcyA9IHNlbGYuX3VuZXhwYW5kKG91dHB1dF9s
aW5lcywgIkJVSUxUX1BST0RVQ1RTX0RJUiIpCisKKyAgICAgICAgICAgIHNlbGYuYWRkZWRfbGlu
ZXNfaW5wdXRfZGVyaXZlZCA9IHNlbGYuX2ZpbmRfYWRkZWRfbGluZXMoaW5wdXRfbGluZXMsIHNl
bGYuX2dldF9pbnB1dF9kZXJpdmVkX3hjZmlsZWxpc3RfcHJvamVjdF9wYXRoKCkpCisgICAgICAg
ICAgICBzZWxmLmFkZGVkX2xpbmVzX291dHB1dF9kZXJpdmVkID0gc2VsZi5fZmluZF9hZGRlZF9s
aW5lcyhvdXRwdXRfbGluZXMsIHNlbGYuX2dldF9vdXRwdXRfZGVyaXZlZF94Y2ZpbGVsaXN0X3By
b2plY3RfcGF0aCgpKQogCiAgICAgQHV0aWwuTG9nRW50cnlFeGl0CiAgICAgZGVmIF9tZXJnZV9k
ZXJpdmVkKHNlbGYpOgpAQCAtMzIxLDEwICszMjUsMTMgQEAgY2xhc3MgQmFzZUdlbmVyYXRvcihv
YmplY3QpOgogICAgICAgICAgICAgICAgICAgICAgICAgIi0tb3V0cHV0LXhjZmlsZWxpc3QtcGF0
aCIsIG91dHB1dC5uYW1lXSwKICAgICAgICAgICAgICAgICAgICAgZW52PWVudikKIAotICAgICAg
ICAgICAgc2VsZi5fdW5leHBhbmQob3V0cHV0Lm5hbWUsICJCVUlMVF9QUk9EVUNUU19ESVIiKQor
ICAgICAgICAgICAgaW5wdXRfbGluZXMgPSBOb25lCisgICAgICAgICAgICBvdXRwdXRfbGluZXMg
PSBzZWxmLl9nZXRfZmlsZV9saW5lcyhvdXRwdXQubmFtZSkKKworICAgICAgICAgICAgb3V0cHV0
X2xpbmVzID0gc2VsZi5fdW5leHBhbmQob3V0cHV0X2xpbmVzLCAiQlVJTFRfUFJPRFVDVFNfRElS
IikKIAotICAgICAgICAgICAgc2VsZi5hZGRlZF9saW5lc19pbnB1dF91bmlmaWVkID0gc2VsZi5f
ZmluZF9hZGRlZF9saW5lcyhOb25lLCBzZWxmLl9nZXRfaW5wdXRfdW5pZmllZF94Y2ZpbGVsaXN0
X3Byb2plY3RfcGF0aCgpKQotICAgICAgICAgICAgc2VsZi5hZGRlZF9saW5lc19vdXRwdXRfdW5p
ZmllZCA9IHNlbGYuX2ZpbmRfYWRkZWRfbGluZXMob3V0cHV0Lm5hbWUsIHNlbGYuX2dldF9vdXRw
dXRfdW5pZmllZF94Y2ZpbGVsaXN0X3Byb2plY3RfcGF0aCgpKQorICAgICAgICAgICAgc2VsZi5h
ZGRlZF9saW5lc19pbnB1dF91bmlmaWVkID0gc2VsZi5fZmluZF9hZGRlZF9saW5lcyhpbnB1dF9s
aW5lcywgc2VsZi5fZ2V0X2lucHV0X3VuaWZpZWRfeGNmaWxlbGlzdF9wcm9qZWN0X3BhdGgoKSkK
KyAgICAgICAgICAgIHNlbGYuYWRkZWRfbGluZXNfb3V0cHV0X3VuaWZpZWQgPSBzZWxmLl9maW5k
X2FkZGVkX2xpbmVzKG91dHB1dF9saW5lcywgc2VsZi5fZ2V0X291dHB1dF91bmlmaWVkX3hjZmls
ZWxpc3RfcHJvamVjdF9wYXRoKCkpCiAKICAgICBAdXRpbC5Mb2dFbnRyeUV4aXQKICAgICBkZWYg
X21lcmdlX3VuaWZpZWQoc2VsZik6CkBAIC0zMzUsMjMgKzM0MiwxOSBAQCBjbGFzcyBCYXNlR2Vu
ZXJhdG9yKG9iamVjdCk6CiAgICAgIyByZXBsYWNlIHRleHQgaW4gdGhlIGZpbGUuCiAKICAgICBA
dXRpbC5Mb2dFbnRyeUV4aXQKLSAgICBkZWYgX3JlcGxhY2Uoc2VsZiwgZmlsZV9uYW1lLCB0b19y
ZXBsYWNlLCByZXBsYWNlX3dpdGgpOgotICAgICAgICB1dGlsLnN1YnByb2Nlc3NfcnVuKFsKLSAg
ICAgICAgICAgICJzZWQiLCAiLUUiLCAiLWUiLAotICAgICAgICAgICAgInN8e318e318Ii5mb3Jt
YXQodG9fcmVwbGFjZSwgcmVwbGFjZV93aXRoKSwKLSAgICAgICAgICAgICItaSIsICInJyIsIGZp
bGVfbmFtZV0pCisgICAgZGVmIF9yZXBsYWNlKHNlbGYsIGxpbmVzLCB0b19yZXBsYWNlLCByZXBs
YWNlX3dpdGgpOgorICAgICAgICByZXR1cm4gc2V0KFtyZS5zdWIodG9fcmVwbGFjZSwgcmVwbGFj
ZV93aXRoLCBsaW5lKSBmb3IgbGluZSBpbiBsaW5lc10pCiAKICAgICAjIFV0aWxpdHkgZm9yIHBv
c3QtcHJvY2Vzc2luZyB0aGUgaW5pdGlhbCAueGNmaWxlbGlzdCBjb250ZW50LiBVc2VkIHRvCiAg
ICAgIyByZXBsYWNlIGZpbGUgcGF0aCBzZWdtZW50cyB3aXRoIHRoZSB2YXJpYWJsZXMgdGhhdCBy
ZXByZXNlbnQgdGhvc2UgcGF0aAogICAgICMgc2VnbWVudHMuCiAKICAgICBAdXRpbC5Mb2dFbnRy
eUV4aXQKLSAgICBkZWYgX3VuZXhwYW5kKHNlbGYsIGZpbGVfbmFtZSwgdmFyaWFibGVfbmFtZSk6
CisgICAgZGVmIF91bmV4cGFuZChzZWxmLCBsaW5lcywgdmFyaWFibGVfbmFtZSk6CiAgICAgICAg
IHRvX3JlcGxhY2UgPSBzZWxmLl9nZXRlbnYodmFyaWFibGVfbmFtZSkKICAgICAgICAgaWYgbm90
IHRvX3JlcGxhY2U6Ci0gICAgICAgICAgICByZXR1cm4KLQotICAgICAgICBzZWxmLl9yZXBsYWNl
KGZpbGVfbmFtZSwgIl57fS8iLmZvcm1hdCh0b19yZXBsYWNlKSwgIiQoe30pLyIuZm9ybWF0KHZh
cmlhYmxlX25hbWUpKQorICAgICAgICAgICAgcmV0dXJuIGxpbmVzCisgICAgICAgIHJldHVybiBz
ZWxmLl9yZXBsYWNlKGxpbmVzLCAiXnt9LyIuZm9ybWF0KHRvX3JlcGxhY2UpLCAiJCh7fSkvIi5m
b3JtYXQodmFyaWFibGVfbmFtZSkpCiAKICAgICAjIEdpdmVuIGEgc291cmNlIGZpbGUgd2l0aCBu
ZXcgLnhjZmlsZWxpc3QgY29udGVudCBhbmQgYSBkZXN0IGZpbGUgdGhhdAogICAgICMgY29udGFp
bnMgdGhlIG9yaWdpbmFsL3ByZXZpb3VzIC54Y2ZpbGVsaXN0IGNvbnRlbnQgKHRoYXQgaXMsIGxp
a2VseSB0aGUKQEAgLTM2Miw4ICszNjUsMTAgQEAgY2xhc3MgQmFzZUdlbmVyYXRvcihvYmplY3Qp
OgogICAgIGRlZiBfZmluZF9hZGRlZF9saW5lcyhzZWxmLCBzb3VyY2UsIGRlc3QpOgogICAgICAg
ICBpZiBub3Qgc291cmNlOgogICAgICAgICAgICAgcmV0dXJuIHNldCgpCi0gICAgICAgIHNvdXJj
ZV9saW5lcyA9IHNldChzb3VyY2UpIGlmIGlzaW5zdGFuY2Uoc291cmNlLCBsaXN0KSBlbHNlIHNl
bGYuX2dldF9maWxlX2xpbmVzKHNvdXJjZSkKLSAgICAgICAgZGVzdF9saW5lcyA9IHNldChkZXN0
KSBpZiBpc2luc3RhbmNlKGRlc3QsIGxpc3QpIGVsc2Ugc2VsZi5fZ2V0X2ZpbGVfbGluZXMoZGVz
dCkKKyAgICAgICAgZGVmIGdldF9saW5lcyhzb3VyY2UpOgorICAgICAgICAgICAgcmV0dXJuIHNv
dXJjZSBpZiBpc2luc3RhbmNlKHNvdXJjZSwgc2V0KSBlbHNlIHNldChzb3VyY2UpIGlmIGlzaW5z
dGFuY2Uoc291cmNlLCBsaXN0KSBlbHNlIHNlbGYuX2dldF9maWxlX2xpbmVzKHNvdXJjZSkKKyAg
ICAgICAgc291cmNlX2xpbmVzID0gZ2V0X2xpbmVzKHNvdXJjZSkKKyAgICAgICAgZGVzdF9saW5l
cyA9IGdldF9saW5lcyhkZXN0KQogICAgICAgICBkZWx0YV9saW5lcyA9IHNvdXJjZV9saW5lcyAt
IGRlc3RfbGluZXMKICAgICAgICAgcmV0dXJuIGRlbHRhX2xpbmVzCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370257</attachid>
            <date>2019-05-20 09:48:10 -0700</date>
            <delta_ts>2019-05-20 11:24:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198008-20190520094809.patch</filename>
            <type>text/plain</type>
            <size>8118</size>
            <attacher name="Keith Rollin">krollin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1NTE2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOWQ4ODk0NDlmNzY0ZTI5NzhiZGQ2YTBhMzFlN2YyYjFh
MjgzNWQ5NC4uYjk0NWM3NzE3MDI3N2I0YWE5ZDM2MGEwYmFkNWU4ZjE3NzcwMjAyZCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5
IEBACisyMDE5LTA1LTIwICBLZWl0aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KKworICAg
ICAgICBnZW5lcmF0ZS14Y2ZpbGVsaXN0cyBpcyBzdHJhbmRpbmcgdGVtcG9yYXJ5IGZpbGVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgwMDgKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzUwODkzNjU5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIGdlbmVyYXRlLXhjZmlsZWxpc3RzIG1ha2VzIHVzZSBv
ZiB0ZW1wb3JhcnkgZmlsZXMgb24gZGlzay4gVGhlc2UgZmlsZXMKKyAgICAgICAgYXJlIG9wZW5l
ZCB3aXRoIHRoZSBPUydzICJ0ZW1wb3JhcnkiIGJpdCBzZXQsIGNhdXNpbmcgdGhlbSB0byBnZXQK
KyAgICAgICAgZGVsZXRlZCB3aGVuIGNsb3NlZCBvciB0aGUgcHJvY2VzcyBleGlzdHMuIEhvd2V2
ZXIsIHRoZXNlIHRlbXBvcmFyeQorICAgICAgICBmaWxlcyBhY3R1YWxseSBlbmQgdXAgcGVyc2lz
dGluZyBhZnRlciB0aGUgc2NyaXB0IGV4aXN0cy4gVGhpcyBpcworICAgICAgICBiZWNhdXNlIGBz
ZWRgIGlzIHVzZWQgdG8gcHJvY2VzcyB0aGUgZmlsZXMsIGFuZCBpcyBkb25lIHNvIGluIGEgd2F5
CisgICAgICAgIHRoYXQgY2F1c2VzIHRoZSAidGVtcG9yYXJ5IiBiaXQgdG8gZ2V0IGNsZWFyZWQu
CisKKyAgICAgICAgQWRkcmVzcyB0aGlzIGlzc3VlIGJ5IG5vIGxvbmdlciB1c2luZyBgc2VkYCBh
bmQgaW5zdGVhZCBwZXJmb3JtaW5nIHRoZQorICAgICAgICBlcXVpdmFsZW50IHByb2Nlc3Npbmcg
dGhlIGZpbGUgY29udGVudCBpbi1tZW1vcnkuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2dlbmVyYXRlX3hjZmlsZWxpc3RzX2xpYi9nZW5lcmF0b3JzLnB5OgorICAgICAgICAoQmFzZUdl
bmVyYXRvci5fZ2VuZXJhdGVfZGVyaXZlZCk6CisgICAgICAgIChCYXNlR2VuZXJhdG9yLl9nZW5l
cmF0ZV91bmlmaWVkKToKKyAgICAgICAgKEJhc2VHZW5lcmF0b3IuX3JlcGxhY2UpOgorICAgICAg
ICAoQmFzZUdlbmVyYXRvci5fdW5leHBhbmQpOgorICAgICAgICAoQmFzZUdlbmVyYXRvci5fZmlu
ZF9hZGRlZF9saW5lcy5nZXRfbGluZXMpOgorICAgICAgICAoQmFzZUdlbmVyYXRvci5fZmluZF9h
ZGRlZF9saW5lcyk6CisKIDIwMTktMDUtMjAgIEx1ZG92aWNvIGRlIE5pdHRpcyAgPGx1ZG92aWNv
LmRlbml0dGlzQGNvbGxhYm9yYS5jb20+CiAKICAgICAgICAgW1dQRV1bUXRdIFVzZSBDKysxNyBp
bnN0ZWFkIG9mIEMrKzE0CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2dlbmVy
YXRlX3hjZmlsZWxpc3RzX2xpYi9nZW5lcmF0b3JzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9nZW5lcmF0ZV94Y2ZpbGVsaXN0c19saWIvZ2VuZXJhdG9ycy5weQppbmRleCAzZGI5Yjk2YzU5
ZTFjODJlZmQ5MThlZjM5MjBiMzQ5OGUzMzBlYWRhLi43YTc4M2M0ZTFmYTQ5ZGZlNzk5YmQwY2M0
NjNjYTQ0NjMxNzZmOWE3IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2dlbmVy
YXRlX3hjZmlsZWxpc3RzX2xpYi9nZW5lcmF0b3JzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvZ2VuZXJhdGVfeGNmaWxlbGlzdHNfbGliL2dlbmVyYXRvcnMucHkKQEAgLTU3LDYgKzU3
LDcgQEAgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgogCiBpbXBvcnQgb3MK
IGltcG9ydCBwaWNrbGUKK2ltcG9ydCByZQogaW1wb3J0IHRlbXBmaWxlCiBpbXBvcnQgdHJhY2Vi
YWNrCiAKQEAgLTI3MiwyMyArMjczLDI2IEBAIGNsYXNzIEJhc2VHZW5lcmF0b3Iob2JqZWN0KToK
ICAgICAgICAgICAgICMgV2ViQ29yZSwgZm9yIGV4YW1wbGUsIHdoZW4gcHJvY2Vzc2luZyB0aGUg
SmF2YVNjcmlwdENvcmUKICAgICAgICAgICAgICMgcHJvamVjdCkuCiAKLSAgICAgICAgICAgIHNl
bGYuX3JlcGxhY2UoaW5wdXQubmFtZSwgIl5KYXZhU2NyaXB0Q29yZS8iLCAgICAgICAgICAgICAg
ICIkKFBST0pFQ1RfRElSKS8iKQotICAgICAgICAgICAgc2VsZi5fcmVwbGFjZShpbnB1dC5uYW1l
LCAiXkphdmFTY3JpcHRDb3JlUHJpdmF0ZUhlYWRlcnMvIiwgIiQoSkFWQVNDUklQVENPUkVfUFJJ
VkFURV9IRUFERVJTX0RJUikvIikKLSAgICAgICAgICAgIHNlbGYuX3JlcGxhY2UoaW5wdXQubmFt
ZSwgIl5XZWJDb3JlLyIsICAgICAgICAgICAgICAgICAgICAgICIkKFBST0pFQ1RfRElSKS8iKQot
ICAgICAgICAgICAgc2VsZi5fcmVwbGFjZShpbnB1dC5uYW1lLCAiXldlYktpdDJQcml2YXRlSGVh
ZGVycy8iLCAgICAgICAgIiQoV0VCS0lUMl9QUklWQVRFX0hFQURFUlNfRElSKS8iKQorICAgICAg
ICAgICAgaW5wdXRfbGluZXMgPSBzZWxmLl9nZXRfZmlsZV9saW5lcyhpbnB1dC5uYW1lKQorICAg
ICAgICAgICAgb3V0cHV0X2xpbmVzID0gc2VsZi5fZ2V0X2ZpbGVfbGluZXMob3V0cHV0Lm5hbWUp
CiAKLSAgICAgICAgICAgIHNlbGYuX3VuZXhwYW5kKGlucHV0Lm5hbWUsICJKQVZBU0NSSVBUQ09S
RV9QUklWQVRFX0hFQURFUlNfRElSIikKLSAgICAgICAgICAgIHNlbGYuX3VuZXhwYW5kKGlucHV0
Lm5hbWUsICJQUk9KRUNUX0RJUiIpCi0gICAgICAgICAgICBzZWxmLl91bmV4cGFuZChpbnB1dC5u
YW1lLCAiV0VCQ09SRV9QUklWQVRFX0hFQURFUlNfRElSIikKLSAgICAgICAgICAgIHNlbGYuX3Vu
ZXhwYW5kKGlucHV0Lm5hbWUsICJXRUJLSVQyX1BSSVZBVEVfSEVBREVSU19ESVIiKQotICAgICAg
ICAgICAgc2VsZi5fdW5leHBhbmQoaW5wdXQubmFtZSwgIldFQktJVEFERElUSU9OU19IRUFERVJT
X0ZPTERFUl9QQVRIIikKLSAgICAgICAgICAgIHNlbGYuX3VuZXhwYW5kKGlucHV0Lm5hbWUsICJC
VUlMVF9QUk9EVUNUU19ESVIiKSAgICAjIERvIHRoaXMgbGFzdCwgc2luY2UgaXQncyBhIHByZWZp
eCBvZiBzb21lIG90aGVyIHZhcmlhYmxlcyBhbmQgd2lsbCAiaW50ZXJjZXB0IiB0aGVtIGlmIGV4
ZWN1dGVkIGVhcmxpZXIgdGhhbiB0aGVtLgorICAgICAgICAgICAgaW5wdXRfbGluZXMgPSBzZWxm
Ll9yZXBsYWNlKGlucHV0X2xpbmVzLCAiXkphdmFTY3JpcHRDb3JlLyIsICAgICAgICAgICAgICAg
IiQoUFJPSkVDVF9ESVIpLyIpCisgICAgICAgICAgICBpbnB1dF9saW5lcyA9IHNlbGYuX3JlcGxh
Y2UoaW5wdXRfbGluZXMsICJeSmF2YVNjcmlwdENvcmVQcml2YXRlSGVhZGVycy8iLCAiJChKQVZB
U0NSSVBUQ09SRV9QUklWQVRFX0hFQURFUlNfRElSKS8iKQorICAgICAgICAgICAgaW5wdXRfbGlu
ZXMgPSBzZWxmLl9yZXBsYWNlKGlucHV0X2xpbmVzLCAiXldlYkNvcmUvIiwgICAgICAgICAgICAg
ICAgICAgICAgIiQoUFJPSkVDVF9ESVIpLyIpCisgICAgICAgICAgICBpbnB1dF9saW5lcyA9IHNl
bGYuX3JlcGxhY2UoaW5wdXRfbGluZXMsICJeV2ViS2l0MlByaXZhdGVIZWFkZXJzLyIsICAgICAg
ICAiJChXRUJLSVQyX1BSSVZBVEVfSEVBREVSU19ESVIpLyIpCiAKLSAgICAgICAgICAgIHNlbGYu
X3JlcGxhY2Uob3V0cHV0Lm5hbWUsICJeIiwgc2VsZi5fZ2V0X2Rlcml2ZWRfc291cmNlc19kaXIo
KSArICIvIikKLSAgICAgICAgICAgIHNlbGYuX3VuZXhwYW5kKG91dHB1dC5uYW1lLCAiQlVJTFRf
UFJPRFVDVFNfRElSIikKKyAgICAgICAgICAgIGlucHV0X2xpbmVzID0gc2VsZi5fdW5leHBhbmQo
aW5wdXRfbGluZXMsICJKQVZBU0NSSVBUQ09SRV9QUklWQVRFX0hFQURFUlNfRElSIikKKyAgICAg
ICAgICAgIGlucHV0X2xpbmVzID0gc2VsZi5fdW5leHBhbmQoaW5wdXRfbGluZXMsICJQUk9KRUNU
X0RJUiIpCisgICAgICAgICAgICBpbnB1dF9saW5lcyA9IHNlbGYuX3VuZXhwYW5kKGlucHV0X2xp
bmVzLCAiV0VCQ09SRV9QUklWQVRFX0hFQURFUlNfRElSIikKKyAgICAgICAgICAgIGlucHV0X2xp
bmVzID0gc2VsZi5fdW5leHBhbmQoaW5wdXRfbGluZXMsICJXRUJLSVQyX1BSSVZBVEVfSEVBREVS
U19ESVIiKQorICAgICAgICAgICAgaW5wdXRfbGluZXMgPSBzZWxmLl91bmV4cGFuZChpbnB1dF9s
aW5lcywgIldFQktJVEFERElUSU9OU19IRUFERVJTX0ZPTERFUl9QQVRIIikKKyAgICAgICAgICAg
IGlucHV0X2xpbmVzID0gc2VsZi5fdW5leHBhbmQoaW5wdXRfbGluZXMsICJCVUlMVF9QUk9EVUNU
U19ESVIiKSAgICAjIERvIHRoaXMgbGFzdCwgc2luY2UgaXQncyBhIHByZWZpeCBvZiBzb21lIG90
aGVyIHZhcmlhYmxlcyBhbmQgd2lsbCAiaW50ZXJjZXB0IiB0aGVtIGlmIGV4ZWN1dGVkIGVhcmxp
ZXIgdGhhbiB0aGVtLgogCi0gICAgICAgICAgICBzZWxmLmFkZGVkX2xpbmVzX2lucHV0X2Rlcml2
ZWQgPSBzZWxmLl9maW5kX2FkZGVkX2xpbmVzKGlucHV0Lm5hbWUsIHNlbGYuX2dldF9pbnB1dF9k
ZXJpdmVkX3hjZmlsZWxpc3RfcHJvamVjdF9wYXRoKCkpCi0gICAgICAgICAgICBzZWxmLmFkZGVk
X2xpbmVzX291dHB1dF9kZXJpdmVkID0gc2VsZi5fZmluZF9hZGRlZF9saW5lcyhvdXRwdXQubmFt
ZSwgc2VsZi5fZ2V0X291dHB1dF9kZXJpdmVkX3hjZmlsZWxpc3RfcHJvamVjdF9wYXRoKCkpCisg
ICAgICAgICAgICBvdXRwdXRfbGluZXMgPSBzZWxmLl9yZXBsYWNlKG91dHB1dF9saW5lcywgIl4i
LCBzZWxmLl9nZXRfZGVyaXZlZF9zb3VyY2VzX2RpcigpICsgIi8iKQorICAgICAgICAgICAgb3V0
cHV0X2xpbmVzID0gc2VsZi5fdW5leHBhbmQob3V0cHV0X2xpbmVzLCAiQlVJTFRfUFJPRFVDVFNf
RElSIikKKworICAgICAgICAgICAgc2VsZi5hZGRlZF9saW5lc19pbnB1dF9kZXJpdmVkID0gc2Vs
Zi5fZmluZF9hZGRlZF9saW5lcyhpbnB1dF9saW5lcywgc2VsZi5fZ2V0X2lucHV0X2Rlcml2ZWRf
eGNmaWxlbGlzdF9wcm9qZWN0X3BhdGgoKSkKKyAgICAgICAgICAgIHNlbGYuYWRkZWRfbGluZXNf
b3V0cHV0X2Rlcml2ZWQgPSBzZWxmLl9maW5kX2FkZGVkX2xpbmVzKG91dHB1dF9saW5lcywgc2Vs
Zi5fZ2V0X291dHB1dF9kZXJpdmVkX3hjZmlsZWxpc3RfcHJvamVjdF9wYXRoKCkpCiAKICAgICBA
dXRpbC5Mb2dFbnRyeUV4aXQKICAgICBkZWYgX21lcmdlX2Rlcml2ZWQoc2VsZik6CkBAIC0zMjEs
MTAgKzMyNSwxMyBAQCBjbGFzcyBCYXNlR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgICAgICAg
ICAgICAgICAgICAiLS1vdXRwdXQteGNmaWxlbGlzdC1wYXRoIiwgb3V0cHV0Lm5hbWVdLAogICAg
ICAgICAgICAgICAgICAgICBlbnY9ZW52KQogCi0gICAgICAgICAgICBzZWxmLl91bmV4cGFuZChv
dXRwdXQubmFtZSwgIkJVSUxUX1BST0RVQ1RTX0RJUiIpCisgICAgICAgICAgICBpbnB1dF9saW5l
cyA9IE5vbmUKKyAgICAgICAgICAgIG91dHB1dF9saW5lcyA9IHNlbGYuX2dldF9maWxlX2xpbmVz
KG91dHB1dC5uYW1lKQorCisgICAgICAgICAgICBvdXRwdXRfbGluZXMgPSBzZWxmLl91bmV4cGFu
ZChvdXRwdXRfbGluZXMsICJCVUlMVF9QUk9EVUNUU19ESVIiKQogCi0gICAgICAgICAgICBzZWxm
LmFkZGVkX2xpbmVzX2lucHV0X3VuaWZpZWQgPSBzZWxmLl9maW5kX2FkZGVkX2xpbmVzKE5vbmUs
IHNlbGYuX2dldF9pbnB1dF91bmlmaWVkX3hjZmlsZWxpc3RfcHJvamVjdF9wYXRoKCkpCi0gICAg
ICAgICAgICBzZWxmLmFkZGVkX2xpbmVzX291dHB1dF91bmlmaWVkID0gc2VsZi5fZmluZF9hZGRl
ZF9saW5lcyhvdXRwdXQubmFtZSwgc2VsZi5fZ2V0X291dHB1dF91bmlmaWVkX3hjZmlsZWxpc3Rf
cHJvamVjdF9wYXRoKCkpCisgICAgICAgICAgICBzZWxmLmFkZGVkX2xpbmVzX2lucHV0X3VuaWZp
ZWQgPSBzZWxmLl9maW5kX2FkZGVkX2xpbmVzKGlucHV0X2xpbmVzLCBzZWxmLl9nZXRfaW5wdXRf
dW5pZmllZF94Y2ZpbGVsaXN0X3Byb2plY3RfcGF0aCgpKQorICAgICAgICAgICAgc2VsZi5hZGRl
ZF9saW5lc19vdXRwdXRfdW5pZmllZCA9IHNlbGYuX2ZpbmRfYWRkZWRfbGluZXMob3V0cHV0X2xp
bmVzLCBzZWxmLl9nZXRfb3V0cHV0X3VuaWZpZWRfeGNmaWxlbGlzdF9wcm9qZWN0X3BhdGgoKSkK
IAogICAgIEB1dGlsLkxvZ0VudHJ5RXhpdAogICAgIGRlZiBfbWVyZ2VfdW5pZmllZChzZWxmKToK
QEAgLTMzNSwyMyArMzQyLDE5IEBAIGNsYXNzIEJhc2VHZW5lcmF0b3Iob2JqZWN0KToKICAgICAj
IHJlcGxhY2UgdGV4dCBpbiB0aGUgZmlsZS4KIAogICAgIEB1dGlsLkxvZ0VudHJ5RXhpdAotICAg
IGRlZiBfcmVwbGFjZShzZWxmLCBmaWxlX25hbWUsIHRvX3JlcGxhY2UsIHJlcGxhY2Vfd2l0aCk6
Ci0gICAgICAgIHV0aWwuc3VicHJvY2Vzc19ydW4oWwotICAgICAgICAgICAgInNlZCIsICItRSIs
ICItZSIsCi0gICAgICAgICAgICAic3x7fXx7fXwiLmZvcm1hdCh0b19yZXBsYWNlLCByZXBsYWNl
X3dpdGgpLAotICAgICAgICAgICAgIi1pIiwgIicnIiwgZmlsZV9uYW1lXSkKKyAgICBkZWYgX3Jl
cGxhY2Uoc2VsZiwgbGluZXMsIHRvX3JlcGxhY2UsIHJlcGxhY2Vfd2l0aCk6CisgICAgICAgIHJl
dHVybiBzZXQoW3JlLnN1Yih0b19yZXBsYWNlLCByZXBsYWNlX3dpdGgsIGxpbmUpIGZvciBsaW5l
IGluIGxpbmVzXSkKIAogICAgICMgVXRpbGl0eSBmb3IgcG9zdC1wcm9jZXNzaW5nIHRoZSBpbml0
aWFsIC54Y2ZpbGVsaXN0IGNvbnRlbnQuIFVzZWQgdG8KICAgICAjIHJlcGxhY2UgZmlsZSBwYXRo
IHNlZ21lbnRzIHdpdGggdGhlIHZhcmlhYmxlcyB0aGF0IHJlcHJlc2VudCB0aG9zZSBwYXRoCiAg
ICAgIyBzZWdtZW50cy4KIAogICAgIEB1dGlsLkxvZ0VudHJ5RXhpdAotICAgIGRlZiBfdW5leHBh
bmQoc2VsZiwgZmlsZV9uYW1lLCB2YXJpYWJsZV9uYW1lKToKKyAgICBkZWYgX3VuZXhwYW5kKHNl
bGYsIGxpbmVzLCB2YXJpYWJsZV9uYW1lKToKICAgICAgICAgdG9fcmVwbGFjZSA9IHNlbGYuX2dl
dGVudih2YXJpYWJsZV9uYW1lKQogICAgICAgICBpZiBub3QgdG9fcmVwbGFjZToKLSAgICAgICAg
ICAgIHJldHVybgotCi0gICAgICAgIHNlbGYuX3JlcGxhY2UoZmlsZV9uYW1lLCAiXnt9LyIuZm9y
bWF0KHRvX3JlcGxhY2UpLCAiJCh7fSkvIi5mb3JtYXQodmFyaWFibGVfbmFtZSkpCisgICAgICAg
ICAgICByZXR1cm4gbGluZXMKKyAgICAgICAgcmV0dXJuIHNlbGYuX3JlcGxhY2UobGluZXMsICJe
e30vIi5mb3JtYXQodG9fcmVwbGFjZSksICIkKHt9KS8iLmZvcm1hdCh2YXJpYWJsZV9uYW1lKSkK
IAogICAgICMgR2l2ZW4gYSBzb3VyY2UgZmlsZSB3aXRoIG5ldyAueGNmaWxlbGlzdCBjb250ZW50
IGFuZCBhIGRlc3QgZmlsZSB0aGF0CiAgICAgIyBjb250YWlucyB0aGUgb3JpZ2luYWwvcHJldmlv
dXMgLnhjZmlsZWxpc3QgY29udGVudCAodGhhdCBpcywgbGlrZWx5IHRoZQpAQCAtMzYyLDggKzM2
NSwxMiBAQCBjbGFzcyBCYXNlR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgZGVmIF9maW5kX2FkZGVk
X2xpbmVzKHNlbGYsIHNvdXJjZSwgZGVzdCk6CiAgICAgICAgIGlmIG5vdCBzb3VyY2U6CiAgICAg
ICAgICAgICByZXR1cm4gc2V0KCkKLSAgICAgICAgc291cmNlX2xpbmVzID0gc2V0KHNvdXJjZSkg
aWYgaXNpbnN0YW5jZShzb3VyY2UsIGxpc3QpIGVsc2Ugc2VsZi5fZ2V0X2ZpbGVfbGluZXMoc291
cmNlKQotICAgICAgICBkZXN0X2xpbmVzID0gc2V0KGRlc3QpIGlmIGlzaW5zdGFuY2UoZGVzdCwg
bGlzdCkgZWxzZSBzZWxmLl9nZXRfZmlsZV9saW5lcyhkZXN0KQorCisgICAgICAgIGRlZiBnZXRf
bGluZXMoc291cmNlKToKKyAgICAgICAgICAgIHJldHVybiBzb3VyY2UgaWYgaXNpbnN0YW5jZShz
b3VyY2UsIHNldCkgZWxzZSBzZXQoc291cmNlKSBpZiBpc2luc3RhbmNlKHNvdXJjZSwgbGlzdCkg
ZWxzZSBzZWxmLl9nZXRfZmlsZV9saW5lcyhzb3VyY2UpCisKKyAgICAgICAgc291cmNlX2xpbmVz
ID0gZ2V0X2xpbmVzKHNvdXJjZSkKKyAgICAgICAgZGVzdF9saW5lcyA9IGdldF9saW5lcyhkZXN0
KQogICAgICAgICBkZWx0YV9saW5lcyA9IHNvdXJjZV9saW5lcyAtIGRlc3RfbGluZXMKICAgICAg
ICAgcmV0dXJuIGRlbHRhX2xpbmVzCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>