[TriLUG] questions regarding PPP and compression
M. Mueller/bhu5nji
trilug@trilug.org
Fri, 28 Dec 2001 03:44:31 -0500
--------------Boundary-00=_7MP19EUDIU57UVAR8K4E
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
> > > modprobe: Can't locate module net-pf-4
> >
> > ipx
> >
> > > modprobe: Can't locate module net-pf-5
> >
> > appletalk
>
> oooookay ... and why would firing up PPP be trying to load modules
> for ipx or appletalk? i certainly didn't select those features
> either for the kernel or as modules. am i missing something here?
I dunno, but there they are in RH and Mandrake. I didn't put them there and
I don't want em. I don't have the modules in my /lib/modules/2.x.x/net so
they are not going to be found. Even if they were found and loaded, they
would be unloaded after about 1 minute of disuse
Did some research and here's what I found:
1. net-pf-x is a syslog style reference to "network protocol family x"; you
can grep -r PF_INET /usr/src/linux/* to see code symbolic references; also
PF_IPX, etc.
2. Here is a description of how kmod works (just like kerneld, but better);
this section is from /usr/src/linux/Documentation/modules.txt (attached, from
2.2.14)
This is what happens:
- The kernel notices that a feature is requested that is not
resident in the kernel.
- The kernel sends a message to kerneld, with a symbolic
description of the requested feature.
- The kerneld daemon asks e.g. modprobe to load a module that
fits this symbolic description.
- modprobe looks into its internal "alias" translation table
to see if there is a match. This table can be reconfigured
and expanded by having "alias" lines in "/etc/conf.modules".
- insmod is then asked to insert the module(s) that modprobe
has decided that the kernel needs. Every module will be
configured according to the "options" lines in "/etc/conf.modules".
- modprobe exits and kerneld tells the kernel that the request
succeeded (or failed...)
- The kernel uses the freshly installed feature just as if it
had been configured into the kernel as a "resident" part.
3. for the adventurous souls...
a. look in /lib/modules/2.x.x/modules.dep (file made by depmod)
b. no references to IPX or Appletalk? good...
c. vi /etc/conf.modules or /etc/modules.conf and add:
alias net-pf-4 off
alias net-pf-5 off
4. I would depmod -a at this point and reboot; but I'm sure there is a more
elegant way to get the changes to take effect
5. A grep on the modprobe source will probably yield some output statement
that uses "net-pf-%d"; from this we could trace a connection to the PF_xxxxxx
value.
--------------Boundary-00=_7MP19EUDIU57UVAR8K4E
Content-Type: text/plain;
charset="iso-8859-1";
name="modules.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="modules.txt"
VGhpcyBmaWxlIGRlc2NyaWJlcyB0aGUgc3RyYXRlZ3kgZm9yIGR5bmFtaWNhbGx5IGxvYWRhYmxl
IG1vZHVsZXMKaW4gdGhlIExpbnV4IGtlcm5lbC4gVGhpcyBpcyBub3QgYSB0ZWNobmljYWwgZGVz
Y3JpcHRpb24gb24KdGhlIGludGVybmFscyBvZiBtb2R1bGUsIGJ1dCBtb3N0bHkgYSBzYW1wbGUg
b2YgaG93IHRvIGNvbXBpbGUKYW5kIHVzZSBtb2R1bGVzLgoKTm90ZTogWW91IHNob3VsZCBlbnN1
cmUgdGhhdCB0aGUgbW9kdXRpbHMtWC5ZLloudGFyLmd6IHlvdSBhcmUgdXNpbmcKaXMgdGhlIG1v
c3QgdXAgdG8gZGF0ZSBvbmUgZm9yIHRoaXMga2VybmVsLiBUaGUgIlguWS5aIiB3aWxsIHJlZmxl
Y3QKdGhlIGtlcm5lbCB2ZXJzaW9uIGF0IHRoZSB0aW1lIG9mIHRoZSByZWxlYXNlIG9mIHRoZSBt
b2R1bGVzIHBhY2thZ2UuClNvbWUgb2xkZXIgbW9kdWxlcyBwYWNrYWdlcyBhcmVuJ3QgYXdhcmUg
b2Ygc29tZSBvZiB0aGUgbmV3ZXIgbW9kdWxhcgpmZWF0dXJlcyB0aGF0IHRoZSBrZXJuZWwgbm93
IHN1cHBvcnRzLiAgVGhlIGN1cnJlbnQgcmVxdWlyZWQgdmVyc2lvbgppcyBsaXN0ZWQgaW4gdGhl
IGZpbGUgbGludXgvRG9jdW1lbnRhdGlvbi9DaGFuZ2VzLgoKKiAqICogTk9URSAqICogKgpUaGUg
a2VybmVsIGhhcyBiZWVuIGNoYW5nZWQgdG8gcmVtb3ZlIGtlcm5lbGQgc3VwcG9ydCBhbmQgdXNl
CnRoZSBuZXcga21vZCBzdXBwb3J0LiAgS2VlcCB0aGlzIGluIG1pbmQgd2hlbiByZWFkaW5nIHRo
aXMgZmlsZS4gIEttb2QKZG9lcyB0aGUgZXhhY3Qgc2FtZSB0aGluZyBhcyBrZXJuZWxkLCBidXQg
ZG9lc24ndCByZXF1aXJlIGFuIGV4dGVybmFsCnByb2dyYW0gKHNlZSBEb2N1bWVudGF0aW9uL2tt
b2QudHh0KQoKSW4gdGhlIGJlZ2lubmluZy4uLgotLS0tLS0tLS0tLS0tLS0tLS0tCgpBbnl3YXks
IHlvdXIgZmlyc3Qgc3RlcCBpcyB0byBjb21waWxlIHRoZSBrZXJuZWwsIGFzIGV4cGxhaW5lZCBp
biB0aGUKZmlsZSBsaW51eC9SRUFETUUuICBJdCBnZW5lcmFsbHkgZ29lcyBsaWtlOgoKCW1ha2Ug
Y29uZmlnCgltYWtlIGRlcAoJbWFrZSBjbGVhbgoJbWFrZSB6SW1hZ2Ugb3IgbWFrZSB6bGlsbwoK
SW4gIm1ha2UgY29uZmlnIiwgeW91IHNlbGVjdCB3aGF0IHlvdSB3YW50IHRvIGluY2x1ZGUgaW4g
dGhlICJyZXNpZGVudCIKa2VybmVsIGFuZCB3aGF0IGZlYXR1cmVzIHlvdSB3YW50IHRvIGhhdmUg
YXZhaWxhYmxlIGFzIGxvYWRhYmxlIG1vZHVsZXMuCllvdSB3aWxsIGdlbmVyYWxseSBzZWxlY3Qg
dGhlIG1pbmltYWwgcmVzaWRlbnQgc2V0IHRoYXQgaXMgbmVlZGVkIHRvIGJvb3Q6CgoJVGhlIGZp
bGVzeXN0ZW0gb2YgeW91ciByb290IHBhcnRpdGlvbgoJQSBzY3NpIGRyaXZlciwgYnV0IHNlZSBi
ZWxvdyBmb3IgYSBsaXN0IG9mIFNDU0kgbW9kdWxlcyEKCU5vcm1hbCBoYXJkIGRyaXZlIHN1cHBv
cnQKCU5ldCBzdXBwb3J0IChDT05GSUdfTkVUKQoJVENQL0lQIHN1cHBvcnQgKENPTkZJR19JTkVU
KSwgYnV0IG5vIGRyaXZlcnMhCgoJcGx1cyB0aG9zZSB0aGluZ3MgdGhhdCB5b3UganVzdCBjYW4n
dCBsaXZlIHdpdGhvdXQuLi4KClRoZSBzZXQgb2YgbW9kdWxlcyBpcyBjb25zdGFudGx5IGluY3Jl
YXNpbmcsIGFuZCB5b3Ugd2lsbCBiZSBhYmxlIHRvIHNlbGVjdAp0aGUgb3B0aW9uICJtIiBpbiAi
bWFrZSBjb25maWciIGZvciB0aG9zZSBmZWF0dXJlcyB0aGF0IHRoZSBjdXJyZW50IGtlcm5lbApj
YW4gb2ZmZXIgYXMgbG9hZGFibGUgbW9kdWxlcy4KCllvdSBhbHNvIGhhdmUgYSBwb3NzaWJpbGl0
eSB0byBjcmVhdGUgbW9kdWxlcyB0aGF0IGFyZSBsZXNzIGRlcGVuZGVudCBvbgp0aGUga2VybmVs
IHZlcnNpb24uICBUaGlzIG9wdGlvbiBjYW4gYmUgc2VsZWN0ZWQgZHVyaW5nICJtYWtlIGNvbmZp
ZyIsIGJ5CmVuYWJsaW5nIENPTkZJR19NT0RWRVJTSU9OUywgYW5kIGlzIG1vc3QgdXNlZnVsIG9u
ICJzdGFibGUiIGtlcm5lbCB2ZXJzaW9ucywKc3VjaCBhcyB0aGUga2VybmVscyBmcm9tIHRoZSAx
LjIgYW5kIDIuMCBzZXJpZXMuCklmIHlvdSBoYXZlIG1vZHVsZXMgdGhhdCBhcmUgYmFzZWQgb24g
c291cmNlcyB0aGF0IGFyZSBub3QgaW5jbHVkZWQgaW4KdGhlIG9mZmljaWFsIGtlcm5lbCBzb3Vy
Y2VzLCB5b3Ugd2lsbCBjZXJ0YWlubHkgbGlrZSB0aGlzIG9wdGlvbi4uLgoKSGVyZSBpcyBhIHNh
bXBsZSBvZiB0aGUgYXZhaWxhYmxlIG1vZHVsZXMgaW5jbHVkZWQgaW4gdGhlIGtlcm5lbCBzb3Vy
Y2VzOgoKCU1vc3QgZmlsZXN5c3RlbXM6IG1pbml4LCBtc2RvcywgdW1zZG9zLCBzeXN2LCBpc29m
cywgaHBmcywKCQkJICBzbWJmcywgbmZzCgoJTWlkLWxldmVsIFNDU0kgc3VwcG9ydCAocmVxdWly
ZWQgYnkgdG9wIGFuZCBsb3cgbGV2ZWwgc2NzaSBkcml2ZXJzKS4KCU1vc3QgbG93LWxldmVsIFND
U0kgZHJpdmVyczogKGkuZS4gYWhhMTU0MiwgaW4yMDAwKQoJQWxsIFNDU0kgaGlnaC1sZXZlbCBk
cml2ZXJzOiBkaXNrLCB0YXBlLCBjZHJvbSwgZ2VuZXJpYy4KCglNb3N0IEV0aGVybmV0IGRyaXZl
cnM6ICh0b28gbWFueSB0byBsaXN0LCBwbGVhc2Ugc2VlIHRoZSBmaWxlCgkJCQkuL0RvY3VtZW50
YXRpb24vbmV0d29ya2luZy9uZXQtbW9kdWxlcy50eHQpCgoJTW9zdCBDRFJPTSBkcml2ZXJzOgoJ
CWF6dGNkOiAgICAgQXp0ZWNoLE9yY2hpZCxPa2FubyxXZWFybmVzCgkJY20yMDY6ICAgICBQaGls
aXBzL0xNUyBDTTIwNgoJCWdzY2Q6ICAgICAgR29sZHN0YXIgR0NEUi00MjAKCQltY2QsIG1jZHg6
IE1pdHN1bWkgTFUwMDUsIEZYMDAxCgkJb3B0Y2Q6ICAgICBPcHRpY3MgU3RvcmFnZSBEb2xwaGlu
IDgwMDBBVAoJCXNqY2Q6ICAgICAgU2FueW8gQ0RSLUg5NEEKCQlzYnBjZDogICAgIE1hdHN1c2hp
dGEvUGFuYXNvbmljIENSNTJ4LCBDUjU2eCwgQ0QyMDAsCgkJICAgICAgICAgICBMb25nc2hpbmUg
TENTLTcyNjAsIFRFQUMgQ0QtNTVBCgkJc29ueWNkNTM1OiBTb255IENEVS01MzEvNTM1LCBDRFUt
NTEwLzUxNQoKCUFuZCBhIGxvdCBvZiBtaXNjIG1vZHVsZXMsIHN1Y2ggYXM6CgkJbHA6IGxpbmUg
cHJpbnRlcgoJCWJpbmZtdF9lbGY6IGVsZiBsb2FkZXIKCQliaW5mbXRfamF2YTogamF2YSBsb2Fk
ZXIKCQlpc3AxNjogY2Ryb20gaW50ZXJmYWNlCgkJc2VyaWFsOiB0aGUgc2VyaWFsICh0dHkpIGlu
dGVyZmFjZQoKV2hlbiB5b3UgaGF2ZSBtYWRlIHRoZSBrZXJuZWwsIHlvdSBjcmVhdGUgdGhlIG1v
ZHVsZXMgYnkgZG9pbmc6CgoJbWFrZSBtb2R1bGVzCgpUaGlzIHdpbGwgY29tcGlsZSBhbGwgbW9k
dWxlcyBhbmQgdXBkYXRlIHRoZSBsaW51eC9tb2R1bGVzIGRpcmVjdG9yeS4KSW4gdGhpcyBkaXJl
Y3RvcnkgeW91IHdpbGwgdGhlbiBmaW5kIGEgYnVuY2ggb2Ygc3ltYm9saWMgbGlua3MsCnBvaW50
aW5nIHRvIHRoZSB2YXJpb3VzIG9iamVjdCBmaWxlcyBpbiB0aGUga2VybmVsIHRyZWUuCk5vdywg
YWZ0ZXIgeW91IGhhdmUgY3JlYXRlZCBhbGwgeW91ciBtb2R1bGVzLCB5b3Ugc2hvdWxkIGFsc28g
ZG86CgoJbWFrZSBtb2R1bGVzX2luc3RhbGwKClRoaXMgd2lsbCBjb3B5IGFsbCBuZXdseSBtYWRl
IG1vZHVsZXMgaW50byBzdWJkaXJlY3RvcmllcyB1bmRlcgoiL2xpYi9tb2R1bGVzL2tlcm5lbF9y
ZWxlYXNlLyIsIHdoZXJlICJrZXJuZWxfcmVsZWFzZSIgaXMgc29tZXRoaW5nCmxpa2UgMi4wLjEs
IG9yIHdoYXRldmVyIHRoZSBjdXJyZW50IGtlcm5lbCB2ZXJzaW9uIGlzLi4uCgpBcyBzb29uIGFz
IHlvdSBoYXZlIHJlYm9vdGVkIHRoZSBuZXdseSBtYWRlIGtlcm5lbCwgeW91IGNhbiBpbnN0YWxs
CmFuZCByZW1vdmUgbW9kdWxlcyBhdCB3aWxsIHdpdGggdGhlIHV0aWxpdGllczogImluc21vZCIg
YW5kICJybW1vZCIuCkFmdGVyIHJlYWRpbmcgdGhlIG1hbi1wYWdlIGZvciBpbnNtb2QsIHlvdSB3
aWxsIGFsc28ga25vdyBob3cgZWFzeQppdCBpcyB0byBjb25maWd1cmUgYSBtb2R1bGUgd2hlbiB5
b3UgZG8gImluc21vZCIgKGhpbnQ6IHN5bWJvbD12YWx1ZSkuCgoKTmlmdHkgZmVhdHVyZXM6Ci0t
LS0tLS0tLS0tLS0tLQoKWW91IGFsc28gaGF2ZSBhY2Nlc3MgdG8gdHdvIHV0aWxpdGllczogIm1v
ZHByb2JlIiBhbmQgImRlcG1vZCIsIHdoZXJlCm1vZHByb2JlIGlzIGEgIndyYXBwZXIiIGZvciAo
b3IgZXh0ZW5zaW9uIHRvKSAiaW5zbW9kIi4KVGhlc2UgdXRpbGl0aWVzIHVzZSAoYW5kIG1haW50
YWluKSBhIHNldCBvZiBmaWxlcyB0aGF0IGRlc2NyaWJlIGFsbCB0aGUKbW9kdWxlcyB0aGF0IGFy
ZSBhdmFpbGFibGUgZm9yIHRoZSBjdXJyZW50IGtlcm5lbCBpbiB0aGUgL2xpYi9tb2R1bGVzCmhp
ZXJhcmNoeSBhcyB3ZWxsIGFzIHRoZWlyIGludGVyZGVwZW5kZW5jaWVzLgoKVXNpbmcgdGhlIG1v
ZHByb2JlIHV0aWxpdHksIHlvdSBjYW4gbG9hZCBhbnkgbW9kdWxlIGxpa2UgdGhpczoKCgkvc2Jp
bi9tb2Rwcm9iZSBtb2R1bGUKCndpdGhvdXQgcGF5aW5nIG11Y2ggYXR0ZW50aW9uIHRvIHdoaWNo
IGtlcm5lbCB5b3UgYXJlIHJ1bm5pbmcsIG9yIHdoYXQKb3RoZXIgbW9kdWxlcyB0aGlzIG1vZHVs
ZSBkZXBlbmRzIG9uLgoKV2l0aCB0aGUgaGVscCBvZiB0aGUgbW9kcHJvYmUgY29uZmlndXJhdGlv
biBmaWxlOiAiL2V0Yy9jb25mLm1vZHVsZXMiCnlvdSBjYW4gdHVuZSB0aGUgYmVoYXZpb3VyIG9m
IG1vZHByb2JlIGluIG1hbnkgd2F5cywgaW5jbHVkaW5nIGFuCmF1dG9tYXRpYyBzZXR0aW5nIG9m
IGluc21vZCBvcHRpb25zIGZvciBlYWNoIG1vZHVsZS4KQW5kLCB5ZXMsIHRoZXJlIF9hcmVfIG1h
bi1wYWdlcyBmb3IgYWxsIHRoaXMuLi4KClRvIHVzZSBtb2Rwcm9iZSBzdWNjZXNzZnVsbHksIHlv
dSBnZW5lcmFsbHkgcGxhY2UgdGhlIGZvbGxvd2luZwpjb21tYW5kIGluIHlvdXIgL2V0Yy9yYy5k
L3JjLlMgc2NyaXB0LiAgKFJlYWQgbW9yZSBhYm91dCB0aGlzIGluIHRoZQoicmMuaGludHMiIGZp
bGUgaW4gdGhlIG1vZHVsZSB1dGlsaXRpZXMgcGFja2FnZSwgIm1vZHVsZXMteC55LnoudGFyLmd6
Ii4pCgoJL3NiaW4vZGVwbW9kIC1hCgpUaGlzIGNvbXB1dGVzIHRoZSBkZXBlbmRlbmNpZXMgYmV0
d2VlbiB0aGUgZGlmZmVyZW50IG1vZHVsZXMuClRoZW4gaWYgeW91IGRvLCBmb3IgZXhhbXBsZQoK
CS9zYmluL21vZHByb2JlIHVtc2RvcwoKeW91IHdpbGwgYXV0b21hdGljYWxseSBsb2FkIF9ib3Ro
XyB0aGUgbXNkb3MgYW5kIHVtc2RvcyBtb2R1bGVzLApzaW5jZSB1bXNkb3MgcnVucyBwaWdneWJh
Y2sgb24gbXNkb3MuCgoKVGhlICJ1bHRpbWF0ZSIgdXRpbGl0eToKLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KCk9LLCB5b3UgaGF2ZSByZWFkIGFsbCBvZiB0aGUgYWJvdmUsIGFuZCBmZWVsIGFtcGx5
IGltcHJlc3NlZC4uLgpOb3csIHdlIHRlbGwgeW91IHRvIGZvcmdldCBhbGwgYWJvdXQgaG93IHRv
IGluc3RhbGwgYW5kIHJlbW92ZQpsb2FkYWJsZSBtb2R1bGVzLi4uCldpdGggdGhlIGtlcm5lbGQg
ZGFlbW9uLCBhbGwgb2YgdGhlc2UgY2hvcmVzIHdpbGwgYmUgdGFrZW4gY2FyZSBvZgphdXRvbWF0
aWNhbGx5LiAgSnVzdCBhbnN3ZXIgIlkiIHRvIENPTkZJR19LRVJORUxEIGluICJtYWtlIGNvbmZp
ZyIsCmFuZCBtYWtlIHN1cmUgdGhhdCAvc2Jpbi9rZXJuZWxkIGlzIHN0YXJ0ZWQgYXMgc29vbiBh
cyBwb3NzaWJsZQphZnRlciBib290IGFuZCB0aGF0ICIvc2Jpbi9kZXBtb2QgLWEiIGhhcyBiZWVu
IGV4ZWN1dGVkIGZvciB0aGUKY3VycmVudCBrZXJuZWwuIChSZWFkIG1vcmUgYWJvdXQgdGhpcyBp
biB0aGUgbW9kdWxlIHV0aWxpdGllcyBwYWNrYWdlLikKCldoZW5ldmVyIGEgcHJvZ3JhbSB3YW50
cyB0aGUga2VybmVsIHRvIHVzZSBhIGZlYXR1cmUgdGhhdCBpcyBvbmx5CmF2YWlsYWJsZSBhcyBh
IGxvYWRhYmxlIG1vZHVsZSwgYW5kIGlmIHRoZSBrZXJuZWwgaGFzbid0IGdvdCB0aGUKbW9kdWxl
IGluc3RhbGxlZCB5ZXQsIHRoZSBrZXJuZWwgd2lsbCBhc2sgdGhlIGtlcm5lbGQgZGFlbW9uIHRv
IHRha2UKY2FyZSBvZiB0aGUgc2l0dWF0aW9uIGFuZCBtYWtlIHRoZSBiZXN0IG9mIGl0LgoKVGhp
cyBpcyB3aGF0IGhhcHBlbnM6CgoJLSBUaGUga2VybmVsIG5vdGljZXMgdGhhdCBhIGZlYXR1cmUg
aXMgcmVxdWVzdGVkIHRoYXQgaXMgbm90CgkgIHJlc2lkZW50IGluIHRoZSBrZXJuZWwuCgktIFRo
ZSBrZXJuZWwgc2VuZHMgYSBtZXNzYWdlIHRvIGtlcm5lbGQsIHdpdGggYSBzeW1ib2xpYwoJICBk
ZXNjcmlwdGlvbiBvZiB0aGUgcmVxdWVzdGVkIGZlYXR1cmUuCgktIFRoZSBrZXJuZWxkIGRhZW1v
biBhc2tzIGUuZy4gbW9kcHJvYmUgdG8gbG9hZCBhIG1vZHVsZSB0aGF0CgkgIGZpdHMgdGhpcyBz
eW1ib2xpYyBkZXNjcmlwdGlvbi4KCS0gbW9kcHJvYmUgbG9va3MgaW50byBpdHMgaW50ZXJuYWwg
ImFsaWFzIiB0cmFuc2xhdGlvbiB0YWJsZQoJICB0byBzZWUgaWYgdGhlcmUgaXMgYSBtYXRjaC4g
IFRoaXMgdGFibGUgY2FuIGJlIHJlY29uZmlndXJlZAoJICBhbmQgZXhwYW5kZWQgYnkgaGF2aW5n
ICJhbGlhcyIgbGluZXMgaW4gIi9ldGMvY29uZi5tb2R1bGVzIi4KCS0gaW5zbW9kIGlzIHRoZW4g
YXNrZWQgdG8gaW5zZXJ0IHRoZSBtb2R1bGUocykgdGhhdCBtb2Rwcm9iZQoJICBoYXMgZGVjaWRl
ZCB0aGF0IHRoZSBrZXJuZWwgbmVlZHMuICBFdmVyeSBtb2R1bGUgd2lsbCBiZQoJICBjb25maWd1
cmVkIGFjY29yZGluZyB0byB0aGUgIm9wdGlvbnMiIGxpbmVzIGluICIvZXRjL2NvbmYubW9kdWxl
cyIuCgktIG1vZHByb2JlIGV4aXRzIGFuZCBrZXJuZWxkIHRlbGxzIHRoZSBrZXJuZWwgdGhhdCB0
aGUgcmVxdWVzdAoJICBzdWNjZWVkZWQgKG9yIGZhaWxlZC4uLikKCS0gVGhlIGtlcm5lbCB1c2Vz
IHRoZSBmcmVzaGx5IGluc3RhbGxlZCBmZWF0dXJlIGp1c3QgYXMgaWYgaXQKCSAgaGFkIGJlZW4g
Y29uZmlndXJlZCBpbnRvIHRoZSBrZXJuZWwgYXMgYSAicmVzaWRlbnQiIHBhcnQuCgpUaGUgaWNp
bmcgb2YgdGhlIGNha2UgaXMgdGhhdCB3aGVuIGFuIGF1dG9tYXRpY2FsbHkgaW5zdGFsbGVkIG1v
ZHVsZQpoYXMgYmVlbiB1bnVzZWQgZm9yIGEgcGVyaW9kIG9mIHRpbWUgKHVzdWFsbHkgMSBtaW51
dGUpLCB0aGUgbW9kdWxlCndpbGwgYmUgYXV0b21hdGljYWxseSByZW1vdmVkIGZyb20gdGhlIGtl
cm5lbCBhcyB3ZWxsLgoKVGhpcyBtYWtlcyB0aGUga2VybmVsIHVzZSB0aGUgbWluaW1hbCBhbW91
bnQgb2YgbWVtb3J5IGF0IGFueSBnaXZlbiB0aW1lLAptYWtpbmcgaXQgYXZhaWxhYmxlIGZvciBt
b3JlIHByb2R1Y3RpdmUgdXNlIHRoYW4gYXMganVzdCBhIHBsYWNlaG9sZGVyIGZvcgp1bnVzZWQg
Y29kZS4KCkFjdHVhbGx5LCB0aGlzIGlzIG9ubHkgYSBzaWRlLWVmZmVjdCBmcm9tIHRoZSBfcmVh
bF8gYmVuZWZpdCBvZiBrZXJuZWxkOgpZb3Ugb25seSBoYXZlIHRvIGNyZWF0ZSBhIG1pbmltYWwg
a2VybmVsLCB0aGF0IGlzIG1vcmUgb3IgbGVzcyBpbmRlcGVuZGVudApvZiB0aGUgYWN0dWFsIGhh
cmR3YXJlIHNldHVwLiAgVGhlIHNldHVwIG9mIHRoZSAidmlydHVhbCIga2VybmVsIGlzCmluc3Rl
YWQgY29udHJvbGxlZCBieSBhIGNvbmZpZ3VyYXRpb24gZmlsZSBhcyB3ZWxsIGFzIHRoZSBhY3R1
YWwgdXNhZ2UKcGF0dGVybiBvZiB0aGUgY3VycmVudCBtYWNoaW5lIGFuZCBpdHMga2VybmVsLgpU
aGlzIHNob3VsZCBiZSBnb29kIG5ld3MgZm9yIG1haW50YWluZXJzIG9mIG11bHRpcGxlIG1hY2hp
bmVzIGFzIHdlbGwgYXMKZm9yIG1haW50YWluZXJzIG9mIGRpc3RyaWJ1dGlvbnMuCgpUbyB1c2Ug
a2VybmVsZCB3aXRoIHRoZSBsZWFzdCBhbW91bnQgb2YgImhhc3NsZSIsIHlvdSBuZWVkIG1vZHBy
b2JlIGZyb20KYSByZWxlYXNlIHRoYXQgY2FuIGJlIGNvbnNpZGVyZWQgInJlY2VudCIgdy5yLnQu
IHlvdXIga2VybmVsLCBhbmQgYWxzbwphIGNvbmZpZ3VyYXRpb24gZmlsZSBmb3IgbW9kcHJvYmUg
KCIvZXRjL2NvbmYubW9kdWxlcyIpLgpTaW5jZSBtb2Rwcm9iZSBhbHJlYWR5IGtub3dzIGFib3V0
IG1vc3QgbW9kdWxlcywgdGhlIG1pbmltYWwgY29uZmlndXJhdGlvbgpmaWxlIGNvdWxkIGxvb2sg
c29tZXRoaW5nIGxpa2UgdGhpczoKCglhbGlhcyBzY3NpX2hvc3RhZGFwdGVyIGFoYTE1NDIgICMg
b3Igd2hhdGV2ZXIgU0NTSSBhZGFwdGVyIHlvdSBoYXZlCglhbGlhcyBldGgwIDNjNTA5CSMgb3Ig
d2hhdGV2ZXIgbmV0IGFkYXB0ZXIgeW91IGhhdmUKCSMgeW91IG1pZ2h0IG5lZWQgYW4gIm9wdGlv
bnMiIGxpbmUgZm9yIHNvbWUgbmV0IGFkYXB0ZXJzOgoJb3B0aW9ucyAzYzUwOSBpbz0weDMwMCBp
cnE9MTAKCSMgeW91IG1pZ2h0IGFsc28gbmVlZCBhbiAib3B0aW9ucyIgbGluZSBmb3Igc29tZSBv
dGhlciBtb2R1bGU6CglvcHRpb25zIGNkdTMxYSBjZHUzMWFfcG9ydD0weDFmODggc29ueV9wYXNf
aW5pdD0xCgpZb3UgY291bGQgYWRkIHRoZXNlIGxpbmVzIGFzIHdlbGwsIGJ1dCB0aGV5IGFyZSBv
bmx5ICJjb3NtZXRpYyI6CgoJYWxpYXMgbmV0LXBmLTMgb2ZmCSMgbm8gYXgyNSBtb2R1bGUgYXZh
aWxhYmxlICh5ZXQpCglhbGlhcyBuZXQtcGYtNCBvZmYJIyBpZiB5b3UgZG9uJ3QgdXNlIHRoZSBp
cHggbW9kdWxlCglhbGlhcyBuZXQtcGYtNSBvZmYJIyBpZiB5b3UgZG9uJ3QgdXNlIHRoZSBhcHBs
ZXRhbGsgbW9kdWxlCgpGaW5hbGx5LCBmb3IgdGhlICJwdXJpc3RzIjoKWW91IGNhbiBuYW1lIHRo
ZSBtb2Rwcm9iZSBjb25maWd1cmF0aW9uIGVpdGhlciAiL2V0Yy9jb25mLm1vZHVsZXMiIG9yCiIv
ZXRjL21vZHVsZXMuY29uZiIsIHNpbmNlIG1vZHByb2JlIGtub3dzIHdoYXQgdG8gZG8gaW4gZWFj
aCBjYXNlLi4uCgoKV3JpdHRlbiBieToKCUphY3F1ZXMgR2VsaW5hcyA8amFjcXVlc0Bzb2x1Y29y
cC5xYy5jYT4KCUJqb3JuIEVrd2FsbCA8Ymowcm5AYmxveC5zZT4K
--------------Boundary-00=_7MP19EUDIU57UVAR8K4E--