<?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>142982</bug_id>
          
          <creation_ts>2015-03-23 14:02:59 -0700</creation_ts>
          <short_desc>[Seccomp Filters] Add helpers to get XDG base directory locations</short_desc>
          <delta_ts>2015-07-22 08:58:13 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>140072</blocked>
    
    <blocked>142987</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>mcatanzaro</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1079404</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-03-23 14:02:59 -0700</bug_when>
    <thetext>To implement a semi-robust syscall policy, we need to know the actual XDG base directories, instead of hardcoding them. This will help with that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079412</commentid>
    <comment_count>1</comment_count>
      <attachid>249268</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-03-23 14:11:00 -0700</bug_when>
    <thetext>Created attachment 249268
[Linux] Seccomp Filters: Add helper functions for common directories</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109107</commentid>
    <comment_count>2</comment_count>
      <attachid>256704</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-13 08:42:00 -0700</bug_when>
    <thetext>Created attachment 256704
[Linux] Seccomp Filters: Add helper functions for common directories</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110726</commentid>
    <comment_count>3</comment_count>
      <attachid>256704</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-20 13:13:35 -0700</bug_when>
    <thetext>Comment on attachment 256704
[Linux] Seccomp Filters: Add helper functions for common directories

This one&apos;s next, but I&apos;m pretty sure I should find a better home for these files than WebKit2/Shared/linux/SeccompFilters. Maybe WebCore/platform/FileSystemGLib.cpp?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110727</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-20 13:14:54 -0700</bug_when>
    <thetext>The point of these functions, btw, is to use the GLib base directory functions without actually making SyscallPolicy.cpp depend on GLib.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110728</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-20 13:16:25 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; The point of these functions, btw, is to use the GLib base directory
&gt; functions without actually making SyscallPolicy.cpp depend on GLib.

Which maybe is not a worthwhile venture, since GTK, EFL, and WPE all use GLib.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111250</commentid>
    <comment_count>6</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-07-22 06:05:19 -0700</bug_when>
    <thetext>I think it&apos;s okay to abstract away the GLib functions, but I&apos;m not sure where to put the files.

One option could be Source/WebCore/platform/seccompfilters, or a similarly named directory. The addition is specific to this feature, and the GLib-specific implementation could go into a UserDirectoriesGLib.cpp or similar, along with the UserDirectories.h header. (&apos;BaseDirectory&apos; sound odd to me.)

FileSystem.h is a more generic API used throughout the code, but the additions would for the moment only be used in seccomp filters and nowhere else, so half of the ports would end up with unused stub implementations, or the additions would be #if-guarded away (which I dislike).

Dunno.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111259</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-22 06:55:12 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; I think it&apos;s okay to abstract away the GLib functions, but I&apos;m not sure
&gt; where to put the files.
&gt; 
&gt; One option could be Source/WebCore/platform/seccompfilters, or a similarly
&gt; named directory.

I&apos;d rather keep all the seccompfilters stuff in the WebKit2 layer.

So that suggests we should keep it exactly where I added it in this patch, except perhaps renaming the file:

&gt; The addition is specific to this feature, and the
&gt; GLib-specific implementation could go into a UserDirectoriesGLib.cpp or
&gt; similar, along with the UserDirectories.h header. (&apos;BaseDirectory&apos; sound odd
&gt; to me.)

UserDirectories is fine by me. I picked BaseDirectory because the functions are wrappers for the XDG Base Directory Specification [1], but I don&apos;t care what we call the file.

[1] http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111265</commentid>
    <comment_count>8</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-07-22 07:15:18 -0700</bug_when>
    <thetext>XDGBaseDirectory.h could fit then as well. Wasn&apos;t aware of the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111267</commentid>
    <comment_count>9</comment_count>
      <attachid>256704</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-07-22 07:18:15 -0700</bug_when>
    <thetext>Comment on attachment 256704
[Linux] Seccomp Filters: Add helper functions for common directories

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

The remaining thing I&apos;d recommend is to rename the implementation file into BaseDirectoryGLib.cpp (or whatever name we end up choosing), since the implementation depends on and is specific to GLib-using ports.

&gt; Source/WebKit2/Shared/linux/SeccompFilters/BaseDirectory.cpp:32
&gt; +#include &lt;glib.h&gt;
&gt; +
&gt; +#if ENABLE(SECCOMP_FILTERS)

glib.h should be included after the ENABLE() guard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111281</commentid>
    <comment_count>10</comment_count>
      <attachid>257270</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-22 08:14:13 -0700</bug_when>
    <thetext>Created attachment 257270
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111282</commentid>
    <comment_count>11</comment_count>
      <attachid>257271</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-22 08:18:29 -0700</bug_when>
    <thetext>Created attachment 257271
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111283</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-22 08:19:14 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; The remaining thing I&apos;d recommend is to rename the implementation file into
&gt; BaseDirectoryGLib.cpp (or whatever name we end up choosing), since the
&gt; implementation depends on and is specific to GLib-using ports.

OK, done. I went with XDGBaseDirectoryGLib.cpp.

&gt; glib.h should be included after the ENABLE() guard.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111297</commentid>
    <comment_count>13</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-22 08:58:13 -0700</bug_when>
    <thetext>Committed r187159: &lt;http://trac.webkit.org/changeset/187159&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249268</attachid>
            <date>2015-03-23 14:11:00 -0700</date>
            <delta_ts>2015-07-13 08:41:57 -0700</delta_ts>
            <desc>[Linux] Seccomp Filters: Add helper functions for common directories</desc>
            <filename>bug-142982-20150323161024.patch</filename>
            <type>text/plain</type>
            <size>6661</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxODI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNDcxYWM4OTJlNTFiNWVl
MGM4NmJhODQ0Njg4MGFlYTMxM2ViMTNmOS4uZDlkNmJiMjE3NzE0NzI1OTYwNDllYWQ5NGJjOGJm
MDU0ODBiZTNmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE1LTAzLTIzICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KIAorICAgICAgICBbU2VjY29t
cF0gQWRkIGhlbHBlcnMgdG8gZ2V0IFhERyBiYXNlIGRpcmVjdG9yeSBsb2NhdGlvbnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0Mjk4MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGxhdGZvcm1FZmwu
Y21ha2U6IEJ1aWxkIEJhc2VEaXJlY3RvcnkuY3BwCisgICAgICAgICogUGxhdGZvcm1HVEsuY21h
a2U6IERpdHRvCisgICAgICAgICogU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL0Jhc2VEaXJl
Y3RvcnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6dXNlckhvbWVEaXJlY3RvcnkpOgor
ICAgICAgICAoV2ViS2l0Ojp1c2VyQ2FjaGVEaXJlY3RvcnkpOgorICAgICAgICAoV2ViS2l0Ojp1
c2VyQ29uZmlnRGlyZWN0b3J5KToKKyAgICAgICAgKFdlYktpdDo6dXNlckRhdGFEaXJlY3Rvcnkp
OgorICAgICAgICAoV2ViS2l0Ojp1c2VyUnVudGltZURpcmVjdG9yeSk6CisgICAgICAgICogU2hh
cmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL0Jhc2VEaXJlY3RvcnkuaDogQWRkZWQuCisKKzIwMTUt
MDMtMjMgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgorCiAgICAg
ICAgIFtTZWNjb21wXSBTaG91bGQgYmUgZWFzaWVyIHRvIGRlYnVnIGJsb2NrZWQgc3lzY2FsbHMK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0Mjk4MAog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDIxYTA3Nzg5YWU2ZDE3NjZiY2FmN2QwMTk5
NzdiNzJhOGI5MmNkYWUuLjU5N2I4ZDNjMTk1NDIyOGY4OGM1YTlmZTZjMDQ0NzIyZDI5YmI1ZmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC00Niw2ICs0Niw3IEBAIGxpc3QoQVBQRU5E
IFdlYktpdDJfU09VUkNFUwogCiAgICAgU2hhcmVkL2xpbnV4L1dlYk1lbW9yeVNhbXBsZXJMaW51
eC5jcHAKIAorICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9CYXNlRGlyZWN0b3J5LmNw
cAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9PcGVuU3lzY2FsbC5jcHAKICAgICBT
aGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU2VjY29tcEJyb2tlci5jcHAKICAgICBTaGFyZWQv
bGludXgvU2VjY29tcEZpbHRlcnMvU2VjY29tcEZpbHRlcnMuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RL
LmNtYWtlCmluZGV4IDAzZGUxYjg5NTkxODBiNjk1ZGUyN2JlZDI3NTBiYmIzMzBlZjRjMmQuLmFi
OTIyNjM3NWQ2MmMyYzVhYzhjZDU4ZjdlYTI2MTgyOWNkMDcwYzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
R1RLLmNtYWtlCkBAIC02Nyw2ICs2Nyw3IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwog
CiAgICAgU2hhcmVkL2xpbnV4L1dlYk1lbW9yeVNhbXBsZXJMaW51eC5jcHAKIAorICAgIFNoYXJl
ZC9saW51eC9TZWNjb21wRmlsdGVycy9CYXNlRGlyZWN0b3J5LmNwcAogICAgIFNoYXJlZC9saW51
eC9TZWNjb21wRmlsdGVycy9PcGVuU3lzY2FsbC5jcHAKICAgICBTaGFyZWQvbGludXgvU2VjY29t
cEZpbHRlcnMvU2VjY29tcEJyb2tlci5jcHAKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRl
cnMvU2VjY29tcEZpbHRlcnMuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bGludXgvU2VjY29tcEZpbHRlcnMvQmFzZURpcmVjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvQmFzZURpcmVjdG9yeS5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTA0MzQ4ZWEzNzYxMDc4YzgxOTQ2ZmY3YmY3MDg0NWZjNmUyM2U3NAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9CYXNlRGlyZWN0
b3J5LmNwcApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IElnYWxp
YSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQmFz
ZURpcmVjdG9yeS5oIgorCisjaW5jbHVkZSA8Z2xpYi5oPgorCisjaWYgRU5BQkxFKFNFQ0NPTVBf
RklMVEVSUykKKworbmFtZXNwYWNlIFdlYktpdCB7CisKKyNpZiBVU0UoR0xJQikKKworU3RyaW5n
IHVzZXJIb21lRGlyZWN0b3J5KCkKK3sKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChnX2dl
dF9ob21lX2RpcigpKTsKK30KKworU3RyaW5nIHVzZXJDYWNoZURpcmVjdG9yeSgpCit7CisgICAg
cmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoZ19nZXRfdXNlcl9jYWNoZV9kaXIoKSk7Cit9CisKK1N0
cmluZyB1c2VyQ29uZmlnRGlyZWN0b3J5KCkKK3sKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRG
OChnX2dldF91c2VyX2NvbmZpZ19kaXIoKSk7Cit9CisKK1N0cmluZyB1c2VyRGF0YURpcmVjdG9y
eSgpCit7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoZ19nZXRfdXNlcl9kYXRhX2Rpcigp
KTsKK30KKworU3RyaW5nIHVzZXJSdW50aW1lRGlyZWN0b3J5KCkKK3sKKyAgICByZXR1cm4gU3Ry
aW5nOjpmcm9tVVRGOChnX2dldF91c2VyX3J1bnRpbWVfZGlyKCkpOworfQorCisjZW5kaWYgLy8g
VVNFKEdMSUIpCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFNF
Q0NPTVBfRklMVEVSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9T
ZWNjb21wRmlsdGVycy9CYXNlRGlyZWN0b3J5LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGlu
dXgvU2VjY29tcEZpbHRlcnMvQmFzZURpcmVjdG9yeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEwODg3Y2IxMjVi
YzcxNGQ4NTU1Y2FjMjVmYTE5ZjUxYzU5ZGE1ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvQmFzZURpcmVjdG9yeS5oCkBAIC0w
LDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgSWdhbGlhIFMuTC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgQmFzZURpcmVjdG9yeV9oCisjZGVmaW5lIEJhc2VEaXJlY3Rvcnlf
aAorCisjaWYgRU5BQkxFKFNFQ0NPTVBfRklMVEVSUykKKworI2luY2x1ZGUgInd0Zi90ZXh0L1dU
RlN0cmluZy5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworU3RyaW5nIHVzZXJDYWNoZURpcmVj
dG9yeSgpOworU3RyaW5nIHVzZXJDb25maWdEaXJlY3RvcnkoKTsKK1N0cmluZyB1c2VyRGF0YURp
cmVjdG9yeSgpOworU3RyaW5nIHVzZXJIb21lRGlyZWN0b3J5KCk7CitTdHJpbmcgdXNlclJ1bnRp
bWVEaXJlY3RvcnkoKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFC
TEUoU0VDQ09NUF9GSUxURVJTKQorCisjZW5kaWYgLy8gQmFzZURpcmVjdG9yeV9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256704</attachid>
            <date>2015-07-13 08:42:00 -0700</date>
            <delta_ts>2015-07-22 08:14:09 -0700</delta_ts>
            <desc>[Linux] Seccomp Filters: Add helper functions for common directories</desc>
            <filename>bug-142982-20150713104054.patch</filename>
            <type>text/plain</type>
            <size>6661</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2NzYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTZhMzg1NDUyZWU3YTVi
ZTM0OWE2NmM3ZTVkOGU0ZWIyYzZlZDFlNy4uNWMxMTMyZmUxOTk1MThlZTlhMTRhZDQzMGE4OTI5
NTgwY2ZjNDIwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE1LTA3LTEzICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KIAorICAgICAgICBbU2VjY29t
cF0gQWRkIGhlbHBlcnMgdG8gZ2V0IFhERyBiYXNlIGRpcmVjdG9yeSBsb2NhdGlvbnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0Mjk4MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGxhdGZvcm1FZmwu
Y21ha2U6IEJ1aWxkIEJhc2VEaXJlY3RvcnkuY3BwCisgICAgICAgICogUGxhdGZvcm1HVEsuY21h
a2U6IERpdHRvCisgICAgICAgICogU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL0Jhc2VEaXJl
Y3RvcnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6dXNlckhvbWVEaXJlY3RvcnkpOgor
ICAgICAgICAoV2ViS2l0Ojp1c2VyQ2FjaGVEaXJlY3RvcnkpOgorICAgICAgICAoV2ViS2l0Ojp1
c2VyQ29uZmlnRGlyZWN0b3J5KToKKyAgICAgICAgKFdlYktpdDo6dXNlckRhdGFEaXJlY3Rvcnkp
OgorICAgICAgICAoV2ViS2l0Ojp1c2VyUnVudGltZURpcmVjdG9yeSk6CisgICAgICAgICogU2hh
cmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL0Jhc2VEaXJlY3RvcnkuaDogQWRkZWQuCisKKzIwMTUt
MDMtMjMgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgorCiAgICAg
ICAgIFtTZWNjb21wXSBTaG91bGQgYmUgZWFzaWVyIHRvIGRlYnVnIGJsb2NrZWQgc3lzY2FsbHMK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0Mjk4MAog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IGEzMWQ2NjllYmNlMGI4ZjhkNDlkODA5ZmYw
MzBjYjJhNDAzMWNhMzguLmRkNzc2Y2U0YmY2MDFiNzEwZTlkNWQyOTI0ODAwZGQxODI4YTU0NmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC00Nyw2ICs0Nyw3IEBAIGxpc3QoQVBQRU5E
IFdlYktpdDJfU09VUkNFUwogCiAgICAgU2hhcmVkL2xpbnV4L1dlYk1lbW9yeVNhbXBsZXJMaW51
eC5jcHAKIAorICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9CYXNlRGlyZWN0b3J5LmNw
cAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9PcGVuU3lzY2FsbC5jcHAKICAgICBT
aGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU2VjY29tcEJyb2tlci5jcHAKICAgICBTaGFyZWQv
bGludXgvU2VjY29tcEZpbHRlcnMvU2VjY29tcEZpbHRlcnMuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RL
LmNtYWtlCmluZGV4IDhjMDU1NmIxNDgwYTA1NjFhNTI1YzJiMTRlMjdlOWIwZDQ5ZTRlNDAuLjdl
MTVkNzg5YzkxMTMzZmRhYjQ0NDNkZjk0MTQ5NjA0MTZkYjJiZjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
R1RLLmNtYWtlCkBAIC03NSw2ICs3NSw3IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwog
CiAgICAgU2hhcmVkL2xpbnV4L1dlYk1lbW9yeVNhbXBsZXJMaW51eC5jcHAKIAorICAgIFNoYXJl
ZC9saW51eC9TZWNjb21wRmlsdGVycy9CYXNlRGlyZWN0b3J5LmNwcAogICAgIFNoYXJlZC9saW51
eC9TZWNjb21wRmlsdGVycy9PcGVuU3lzY2FsbC5jcHAKICAgICBTaGFyZWQvbGludXgvU2VjY29t
cEZpbHRlcnMvU2VjY29tcEJyb2tlci5jcHAKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRl
cnMvU2VjY29tcEZpbHRlcnMuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bGludXgvU2VjY29tcEZpbHRlcnMvQmFzZURpcmVjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvQmFzZURpcmVjdG9yeS5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTA0MzQ4ZWEzNzYxMDc4YzgxOTQ2ZmY3YmY3MDg0NWZjNmUyM2U3NAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9CYXNlRGlyZWN0
b3J5LmNwcApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IElnYWxp
YSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQmFz
ZURpcmVjdG9yeS5oIgorCisjaW5jbHVkZSA8Z2xpYi5oPgorCisjaWYgRU5BQkxFKFNFQ0NPTVBf
RklMVEVSUykKKworbmFtZXNwYWNlIFdlYktpdCB7CisKKyNpZiBVU0UoR0xJQikKKworU3RyaW5n
IHVzZXJIb21lRGlyZWN0b3J5KCkKK3sKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChnX2dl
dF9ob21lX2RpcigpKTsKK30KKworU3RyaW5nIHVzZXJDYWNoZURpcmVjdG9yeSgpCit7CisgICAg
cmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoZ19nZXRfdXNlcl9jYWNoZV9kaXIoKSk7Cit9CisKK1N0
cmluZyB1c2VyQ29uZmlnRGlyZWN0b3J5KCkKK3sKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRG
OChnX2dldF91c2VyX2NvbmZpZ19kaXIoKSk7Cit9CisKK1N0cmluZyB1c2VyRGF0YURpcmVjdG9y
eSgpCit7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoZ19nZXRfdXNlcl9kYXRhX2Rpcigp
KTsKK30KKworU3RyaW5nIHVzZXJSdW50aW1lRGlyZWN0b3J5KCkKK3sKKyAgICByZXR1cm4gU3Ry
aW5nOjpmcm9tVVRGOChnX2dldF91c2VyX3J1bnRpbWVfZGlyKCkpOworfQorCisjZW5kaWYgLy8g
VVNFKEdMSUIpCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFNF
Q0NPTVBfRklMVEVSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9T
ZWNjb21wRmlsdGVycy9CYXNlRGlyZWN0b3J5LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGlu
dXgvU2VjY29tcEZpbHRlcnMvQmFzZURpcmVjdG9yeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhMDIwZmY1ZTIy
NDVlMmYyNTkzZTNmNGM3NjkyZThjMjUzMTVjNTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvQmFzZURpcmVjdG9yeS5oCkBAIC0w
LDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgSWdhbGlhIFMuTC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgQmFzZURpcmVjdG9yeV9oCisjZGVmaW5lIEJhc2VEaXJlY3Rvcnlf
aAorCisjaWYgRU5BQkxFKFNFQ0NPTVBfRklMVEVSUykKKworI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworU3RyaW5nIHVzZXJDYWNoZURpcmVj
dG9yeSgpOworU3RyaW5nIHVzZXJDb25maWdEaXJlY3RvcnkoKTsKK1N0cmluZyB1c2VyRGF0YURp
cmVjdG9yeSgpOworU3RyaW5nIHVzZXJIb21lRGlyZWN0b3J5KCk7CitTdHJpbmcgdXNlclJ1bnRp
bWVEaXJlY3RvcnkoKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFC
TEUoU0VDQ09NUF9GSUxURVJTKQorCisjZW5kaWYgLy8gQmFzZURpcmVjdG9yeV9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257270</attachid>
            <date>2015-07-22 08:14:13 -0700</date>
            <delta_ts>2015-07-22 08:18:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142982-20150722101258.patch</filename>
            <type>text/plain</type>
            <size>6647</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDhlZmUyMWVmYWU0M2Zi
Y2M1NjQ4YjI2MTNiOGM3OWI3OGU3YzYzMS4uNTRhYTBiMzFmYjZhMTcwZjBkMWFiNDRiZTk4NDQy
YzM0ZDQ3NDEzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE1LTA3LTIyICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBbU2VjY29t
cCBGaWx0ZXJzXSBBZGQgaGVscGVycyB0byBnZXQgWERHIGJhc2UgZGlyZWN0b3J5IGxvY2F0aW9u
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyOTgy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWmFuIERvYmVyc2VrLgorCisgICAgICAgICogUGxhdGZv
cm1FZmwuY21ha2U6CisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogU2hh
cmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1hER0Jhc2VEaXJlY3RvcnkuaDogQWRkZWQuCisgICAg
ICAgICogU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1hER0Jhc2VEaXJlY3RvcnlHTGliLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OnVzZXJIb21lRGlyZWN0b3J5KToKKyAgICAgICAg
KFdlYktpdDo6dXNlckNhY2hlRGlyZWN0b3J5KToKKyAgICAgICAgKFdlYktpdDo6dXNlckNvbmZp
Z0RpcmVjdG9yeSk6CisgICAgICAgIChXZWJLaXQ6OnVzZXJEYXRhRGlyZWN0b3J5KToKKyAgICAg
ICAgKFdlYktpdDo6dXNlclJ1bnRpbWVEaXJlY3RvcnkpOgorCiAyMDE1LTA3LTIyICBHeXV5b3Vu
ZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBbRUZMXVtXSzJdIEVX
SzJDb250ZXh0VGVzdE11bHRpcGxlUHJvY2Vzc2VzLmV3a19jb250ZXh0X25ldHdvcmtfcHJvY2Vz
c19tb2RlbCBmYWlscyB0byBwYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IGEzMWQ2
NjllYmNlMGI4ZjhkNDlkODA5ZmYwMzBjYjJhNDAzMWNhMzguLjAwZjM4M2RkYmVlYjY0NTQ5ODBh
NjY1YWFiNWRhOTZjZTMyMjIyZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
RWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC01NCw2
ICs1NCw3IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9saW51eC9T
ZWNjb21wRmlsdGVycy9TaWdwcm9jbWFza1N5c2NhbGwuY3BwCiAgICAgU2hhcmVkL2xpbnV4L1Nl
Y2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3BwCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJz
L1N5c2NhbGxQb2xpY3kuY3BwCisgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1hER0Jh
c2VEaXJlY3RvcnlHTGliLmNwcAogCiAgICAgU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzU291cC5jcHAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21h
a2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCA4NGZlYmY5YzMyODAw
OGY1ZGNiODM1MzQxNDE1NDk3NTEyZTcwMWVmLi40NzUzMGExY2UzMTk1YmZiYjhmZWVlOTFjY2Q1
NjNhYzkyY2JiOTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFr
ZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtODMsNiArODMsNyBA
QCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZp
bHRlcnMvU2lncHJvY21hc2tTeXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmls
dGVycy9TeXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxs
UG9saWN5LmNwcAorICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9YREdCYXNlRGlyZWN0
b3J5R0xpYi5jcHAKIAogICAgIFNoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAu
Y3BwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmls
dGVycy9YREdCYXNlRGlyZWN0b3J5LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2Vj
Y29tcEZpbHRlcnMvWERHQmFzZURpcmVjdG9yeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlNjhjNWExMTVhNjVi
MTUxYjM4OTg3YjYwZTM3OWJlY2RkMjU2YzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvWERHQmFzZURpcmVjdG9yeS5oCkBAIC0w
LDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgSWdhbGlhIFMuTC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgWERHQmFzZURpcmVjdG9yeV9oCisjZGVmaW5lIFhER0Jhc2VEaXJl
Y3RvcnlfaAorCisjaWYgRU5BQkxFKFNFQ0NPTVBfRklMVEVSUykKKworI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworU3RyaW5nIHVzZXJDYWNo
ZURpcmVjdG9yeSgpOworU3RyaW5nIHVzZXJDb25maWdEaXJlY3RvcnkoKTsKK1N0cmluZyB1c2Vy
RGF0YURpcmVjdG9yeSgpOworU3RyaW5nIHVzZXJIb21lRGlyZWN0b3J5KCk7CitTdHJpbmcgdXNl
clJ1bnRpbWVEaXJlY3RvcnkoKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAv
LyBFTkFCTEUoU0VDQ09NUF9GSUxURVJTKQorCisjZW5kaWYgLy8gWERHQmFzZURpcmVjdG9yeV9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMv
WERHQmFzZURpcmVjdG9yeUdMaWIuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1Nl
Y2NvbXBGaWx0ZXJzL1hER0Jhc2VEaXJlY3RvcnlHTGliLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYzI4MmFl
YmFhNGEzYzUwZDA4ZTc5ZmRkMjQ0ODZkMTIzYjBhODhmCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1hER0Jhc2VEaXJlY3RvcnlH
TGliLmNwcApAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IElnYWxp
YSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiWERH
QmFzZURpcmVjdG9yeS5oIgorCisjaW5jbHVkZSA8Z2xpYi5oPgorCisjaWYgRU5BQkxFKFNFQ0NP
TVBfRklMVEVSUykKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1N0cmluZyB1c2VySG9tZURpcmVj
dG9yeSgpCit7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoZ19nZXRfaG9tZV9kaXIoKSk7
Cit9CisKK1N0cmluZyB1c2VyQ2FjaGVEaXJlY3RvcnkoKQoreworICAgIHJldHVybiBTdHJpbmc6
OmZyb21VVEY4KGdfZ2V0X3VzZXJfY2FjaGVfZGlyKCkpOworfQorCitTdHJpbmcgdXNlckNvbmZp
Z0RpcmVjdG9yeSgpCit7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoZ19nZXRfdXNlcl9j
b25maWdfZGlyKCkpOworfQorCitTdHJpbmcgdXNlckRhdGFEaXJlY3RvcnkoKQoreworICAgIHJl
dHVybiBTdHJpbmc6OmZyb21VVEY4KGdfZ2V0X3VzZXJfZGF0YV9kaXIoKSk7Cit9CisKK1N0cmlu
ZyB1c2VyUnVudGltZURpcmVjdG9yeSgpCit7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgo
Z19nZXRfdXNlcl9ydW50aW1lX2RpcigpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisK
KyNlbmRpZiAvLyBFTkFCTEUoU0VDQ09NUF9GSUxURVJTKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257271</attachid>
            <date>2015-07-22 08:18:29 -0700</date>
            <delta_ts>2015-07-22 08:18:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142982-20150722101714.patch</filename>
            <type>text/plain</type>
            <size>6647</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDhlZmUyMWVmYWU0M2Zi
Y2M1NjQ4YjI2MTNiOGM3OWI3OGU3YzYzMS4uNTRhYTBiMzFmYjZhMTcwZjBkMWFiNDRiZTk4NDQy
YzM0ZDQ3NDEzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE1LTA3LTIyICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBbU2VjY29t
cCBGaWx0ZXJzXSBBZGQgaGVscGVycyB0byBnZXQgWERHIGJhc2UgZGlyZWN0b3J5IGxvY2F0aW9u
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyOTgy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWmFuIERvYmVyc2VrLgorCisgICAgICAgICogUGxhdGZv
cm1FZmwuY21ha2U6CisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogU2hh
cmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1hER0Jhc2VEaXJlY3RvcnkuaDogQWRkZWQuCisgICAg
ICAgICogU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1hER0Jhc2VEaXJlY3RvcnlHTGliLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OnVzZXJIb21lRGlyZWN0b3J5KToKKyAgICAgICAg
KFdlYktpdDo6dXNlckNhY2hlRGlyZWN0b3J5KToKKyAgICAgICAgKFdlYktpdDo6dXNlckNvbmZp
Z0RpcmVjdG9yeSk6CisgICAgICAgIChXZWJLaXQ6OnVzZXJEYXRhRGlyZWN0b3J5KToKKyAgICAg
ICAgKFdlYktpdDo6dXNlclJ1bnRpbWVEaXJlY3RvcnkpOgorCiAyMDE1LTA3LTIyICBHeXV5b3Vu
ZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBbRUZMXVtXSzJdIEVX
SzJDb250ZXh0VGVzdE11bHRpcGxlUHJvY2Vzc2VzLmV3a19jb250ZXh0X25ldHdvcmtfcHJvY2Vz
c19tb2RlbCBmYWlscyB0byBwYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IGEzMWQ2
NjllYmNlMGI4ZjhkNDlkODA5ZmYwMzBjYjJhNDAzMWNhMzguLjAwZjM4M2RkYmVlYjY0NTQ5ODBh
NjY1YWFiNWRhOTZjZTMyMjIyZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
RWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC01NCw2
ICs1NCw3IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9saW51eC9T
ZWNjb21wRmlsdGVycy9TaWdwcm9jbWFza1N5c2NhbGwuY3BwCiAgICAgU2hhcmVkL2xpbnV4L1Nl
Y2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3BwCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJz
L1N5c2NhbGxQb2xpY3kuY3BwCisgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1hER0Jh
c2VEaXJlY3RvcnlHTGliLmNwcAogCiAgICAgU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzU291cC5jcHAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21h
a2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCA4NGZlYmY5YzMyODAw
OGY1ZGNiODM1MzQxNDE1NDk3NTEyZTcwMWVmLi40NzUzMGExY2UzMTk1YmZiYjhmZWVlOTFjY2Q1
NjNhYzkyY2JiOTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFr
ZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtODMsNiArODMsNyBA
QCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZp
bHRlcnMvU2lncHJvY21hc2tTeXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmls
dGVycy9TeXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxs
UG9saWN5LmNwcAorICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9YREdCYXNlRGlyZWN0
b3J5R0xpYi5jcHAKIAogICAgIFNoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAu
Y3BwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmls
dGVycy9YREdCYXNlRGlyZWN0b3J5LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2Vj
Y29tcEZpbHRlcnMvWERHQmFzZURpcmVjdG9yeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlNjhjNWExMTVhNjVi
MTUxYjM4OTg3YjYwZTM3OWJlY2RkMjU2YzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvWERHQmFzZURpcmVjdG9yeS5oCkBAIC0w
LDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgSWdhbGlhIFMuTC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgWERHQmFzZURpcmVjdG9yeV9oCisjZGVmaW5lIFhER0Jhc2VEaXJl
Y3RvcnlfaAorCisjaWYgRU5BQkxFKFNFQ0NPTVBfRklMVEVSUykKKworI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworU3RyaW5nIHVzZXJDYWNo
ZURpcmVjdG9yeSgpOworU3RyaW5nIHVzZXJDb25maWdEaXJlY3RvcnkoKTsKK1N0cmluZyB1c2Vy
RGF0YURpcmVjdG9yeSgpOworU3RyaW5nIHVzZXJIb21lRGlyZWN0b3J5KCk7CitTdHJpbmcgdXNl
clJ1bnRpbWVEaXJlY3RvcnkoKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAv
LyBFTkFCTEUoU0VDQ09NUF9GSUxURVJTKQorCisjZW5kaWYgLy8gWERHQmFzZURpcmVjdG9yeV9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMv
WERHQmFzZURpcmVjdG9yeUdMaWIuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1Nl
Y2NvbXBGaWx0ZXJzL1hER0Jhc2VEaXJlY3RvcnlHTGliLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNmRhZmVk
ZmE5NzA2NTgxZTcxODFkN2M5ZDA3ODZkYjAzNTE2ZTkxCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1hER0Jhc2VEaXJlY3RvcnlH
TGliLmNwcApAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IElnYWxp
YSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiWERH
QmFzZURpcmVjdG9yeS5oIgorCisjaWYgRU5BQkxFKFNFQ0NPTVBfRklMVEVSUykKKworI2luY2x1
ZGUgPGdsaWIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1N0cmluZyB1c2VySG9tZURpcmVj
dG9yeSgpCit7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoZ19nZXRfaG9tZV9kaXIoKSk7
Cit9CisKK1N0cmluZyB1c2VyQ2FjaGVEaXJlY3RvcnkoKQoreworICAgIHJldHVybiBTdHJpbmc6
OmZyb21VVEY4KGdfZ2V0X3VzZXJfY2FjaGVfZGlyKCkpOworfQorCitTdHJpbmcgdXNlckNvbmZp
Z0RpcmVjdG9yeSgpCit7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoZ19nZXRfdXNlcl9j
b25maWdfZGlyKCkpOworfQorCitTdHJpbmcgdXNlckRhdGFEaXJlY3RvcnkoKQoreworICAgIHJl
dHVybiBTdHJpbmc6OmZyb21VVEY4KGdfZ2V0X3VzZXJfZGF0YV9kaXIoKSk7Cit9CisKK1N0cmlu
ZyB1c2VyUnVudGltZURpcmVjdG9yeSgpCit7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgo
Z19nZXRfdXNlcl9ydW50aW1lX2RpcigpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisK
KyNlbmRpZiAvLyBFTkFCTEUoU0VDQ09NUF9GSUxURVJTKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>