summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorLuiz Souza <luiz@netgate.com>2018-04-30 20:35:14 -0300
committerLuiz Souza <luiz@netgate.com>2018-04-30 20:35:14 -0300
commitf15466802c06eecb466e862c800e8c8b0c799597 (patch)
treea5d2aed81ed753abc34f13b835296d8ec9b3e20e /share
parent8d882f60e34a4ffa79ce70fbe5e65485e0ad9a54 (diff)
parent4aefbd6952cff7b80d06d8f0d3805e1453ad9ec1 (diff)
downloadFreeBSD-src-f15466802c06eecb466e862c800e8c8b0c799597.zip
FreeBSD-src-f15466802c06eecb466e862c800e8c8b0c799597.tar.gz
Merge remote-tracking branch 'origin/stable/11' into devel-11
Diffstat (limited to 'share')
-rw-r--r--share/dict/web250
-rw-r--r--share/examples/etc/make.conf5
-rw-r--r--share/examples/kld/cdev/module/cdev.c10
-rw-r--r--share/examples/kld/cdev/module/cdevmod.c11
-rw-r--r--share/examples/ppp/ppp.conf.sample6
-rw-r--r--share/man/man3/pthread_condattr.34
-rw-r--r--share/man/man3/pthread_join.33
-rw-r--r--share/man/man4/Makefile10
-rw-r--r--share/man/man4/altq.415
-rw-r--r--share/man/man4/bge.418
-rw-r--r--share/man/man4/chvgpio.465
-rw-r--r--share/man/man4/cm.48
-rw-r--r--share/man/man4/cxgbe.454
-rw-r--r--share/man/man4/cxgbev.422
-rw-r--r--share/man/man4/fdt_pinctrl.4127
-rw-r--r--share/man/man4/fpa.48
-rw-r--r--share/man/man4/geom.427
-rw-r--r--share/man/man4/geom_fox.42
-rw-r--r--share/man/man4/imcsmb.4133
-rw-r--r--share/man/man4/isp.48
-rw-r--r--share/man/man4/iwm.44
-rw-r--r--share/man/man4/iwmfw.41
-rw-r--r--share/man/man4/mlx5io.4142
-rw-r--r--share/man/man4/mpr.43
-rw-r--r--share/man/man4/ng_pppoe.463
-rw-r--r--share/man/man4/ocs_fc.4194
-rw-r--r--share/man/man4/pfsync.44
-rw-r--r--share/man/man4/spigen.4206
-rw-r--r--share/man/man4/tty.44
-rw-r--r--share/man/man4/udbp.473
-rw-r--r--share/man/man4/usb_template.442
-rw-r--r--share/man/man4/usfs.43
-rw-r--r--share/man/man5/autofs.541
-rw-r--r--share/man/man5/rc.conf.538
-rw-r--r--share/man/man5/src.conf.559
-rw-r--r--share/man/man6/intro.621
-rw-r--r--share/man/man7/ascii.74
-rw-r--r--share/man/man7/release.721
-rw-r--r--share/man/man7/tuning.749
-rw-r--r--share/man/man8/Makefile2
-rw-r--r--share/man/man9/EVENTHANDLER.943
-rw-r--r--share/man/man9/Makefile9
-rw-r--r--share/man/man9/altq.98
-rw-r--r--share/man/man9/fdt_pinctrl.9161
-rw-r--r--share/man/man9/g_bio.94
-rw-r--r--share/man/man9/pci.957
-rw-r--r--share/man/man9/pfil.921
-rw-r--r--share/man/man9/sleep.924
-rw-r--r--share/man/man9/timeout.91
-rw-r--r--share/misc/bsd-family-tree97
-rw-r--r--share/misc/committers-doc.dot2
-rw-r--r--share/misc/committers-ports.dot70
-rw-r--r--share/misc/committers-src.dot70
-rw-r--r--share/misc/iso316650
-rw-r--r--share/misc/iso6391
-rw-r--r--share/misc/organization.dot26
-rw-r--r--share/misc/pci_vendors149
-rw-r--r--share/mk/Makefile1
-rw-r--r--share/mk/bsd.compiler.mk15
-rw-r--r--share/mk/bsd.cpu.mk28
-rw-r--r--share/mk/bsd.libnames.mk8
-rw-r--r--share/mk/bsd.linker.mk101
-rw-r--r--share/mk/bsd.obj.mk2
-rw-r--r--share/mk/bsd.stand.mk30
-rw-r--r--share/mk/src.libnames.mk57
-rw-r--r--share/mk/src.opts.mk24
-rw-r--r--share/mk/sys.mk8
-rw-r--r--share/termcap/termcap73
-rw-r--r--share/vt/fonts/Makefile1
-rw-r--r--share/vt/fonts/terminus-b32.hex1294
70 files changed, 3597 insertions, 398 deletions
diff --git a/share/dict/web2 b/share/dict/web2
index defb4cf..67c3660 100644
--- a/share/dict/web2
+++ b/share/dict/web2
@@ -1545,9 +1545,9 @@ ackman
acknow
acknowledge
acknowledgeable
-acknowledgement
acknowledged
acknowledgedly
+acknowledgement
acknowledger
acknowledgment
aclastic
@@ -2648,6 +2648,7 @@ admedial
admedian
admensuration
admi
+admin
adminicle
adminicula
adminicular
@@ -2656,7 +2657,7 @@ adminiculate
adminiculation
adminiculum
administer
-administerd
+administered
administerial
administrable
administrant
@@ -5948,6 +5949,7 @@ alphabetist
alphabetization
alphabetize
alphabetizer
+alphanumeric
Alphard
alphatoluic
Alphean
@@ -7003,6 +7005,7 @@ amove
Amoy
Amoyan
Amoyese
+amp
ampalaya
ampalea
ampangabeite
@@ -19646,6 +19649,7 @@ Beaune
beaupere
beauseant
beauship
+beaut
beauteous
beauteously
beauteousness
@@ -23499,6 +23503,7 @@ blebby
blechnoid
Blechnum
bleck
+bled
blee
bleed
bleeder
@@ -32163,6 +32168,7 @@ ceilinged
ceilingward
ceilingwards
ceilometer
+cel
Celadon
celadon
celadonite
@@ -34048,6 +34054,7 @@ checkless
checkman
checkmate
checkoff
+checkout
checkrack
checkrein
checkroll
@@ -39340,6 +39347,7 @@ collector
collectorate
collectorship
collectress
+Colleen
colleen
collegatary
college
@@ -42631,6 +42639,7 @@ coony
coop
cooper
cooperage
+cooperate
Cooperia
coopering
coopery
@@ -57415,6 +57424,7 @@ downlier
downligging
downlike
downline
+downlink
downlooked
downlooker
downlying
@@ -68583,6 +68593,7 @@ fatuoid
fatuous
fatuously
fatuousness
+fatwa
fatwood
faucal
faucalize
@@ -70236,6 +70247,7 @@ firestopping
firetail
firetop
firetrap
+firewall
firewarden
firewater
fireweed
@@ -71816,6 +71828,7 @@ fomenter
fomes
fomites
Fon
+fond
fondak
fondant
fondish
@@ -74044,6 +74057,7 @@ fuelizer
fuerte
fuff
fuffy
+fug
fugacious
fugaciously
fugaciousness
@@ -76068,6 +76082,7 @@ geeldikkop
geelhout
geepound
geerah
+geese
geest
geet
Geez
@@ -85657,6 +85672,7 @@ hickory
Hicksite
hickwall
Hicoria
+hid
hidable
hidage
hidalgism
@@ -86106,6 +86122,7 @@ hirmos
Hirneola
hiro
Hirofumi
+hirofumi
hirondelle
Hirotoshi
Hiroyuki
@@ -95495,6 +95512,7 @@ instantaneously
instantaneousness
instanter
instantial
+instantiate
instantly
instantness
instar
@@ -101941,6 +101959,7 @@ kickout
kickseys
kickshaw
kickup
+kid
Kidder
kidder
Kidderminster
@@ -106352,6 +106371,7 @@ Libytheinae
Licania
licareol
licca
+lice
licensable
license
licensed
@@ -106828,6 +106848,7 @@ Limnorchis
Limnoria
Limnoriidae
limnorioid
+limo
Limodorum
limoid
limonene
@@ -108017,6 +108038,7 @@ logium
loglet
loglike
logman
+logo
logocracy
logodaedaly
logogogue
@@ -108253,6 +108275,7 @@ looker
looking
lookout
lookum
+lookup
loom
loomer
loomery
@@ -118182,6 +118205,7 @@ Molinist
Molinistic
molka
Moll
+moll
molland
Mollberg
molle
@@ -128067,6 +128091,7 @@ nosewards
nosewheel
nosewise
nosey
+nosh
nosine
nosing
nosism
@@ -130324,6 +130349,7 @@ Oldfieldia
Oldhamia
oldhamite
oldhearted
+oldie
oldish
oldland
oldness
@@ -147610,6 +147636,7 @@ placeable
Placean
placebo
placeful
+placeholder
placeless
placelessly
placemaker
@@ -152000,6 +152027,7 @@ pot
potability
potable
potableness
+potage
potagerie
potagery
potamic
@@ -153673,6 +153701,7 @@ predynamite
predynastic
preen
preener
+preexist
preeze
prefab
prefabricate
@@ -162965,6 +162994,7 @@ rakishness
rakit
rakshasa
raku
+rale
Ralf
rallentando
ralliance
@@ -165219,6 +165249,7 @@ redhoop
redia
redictate
redictation
+redid
redient
redifferentiate
redifferentiation
@@ -165313,6 +165344,7 @@ redolent
redolently
redominate
redondilla
+redone
redoom
redouble
redoublement
@@ -166542,6 +166574,7 @@ Rellyanite
reload
reloan
relocable
+relocatable
relocate
relocation
relocator
@@ -173817,6 +173850,7 @@ sashless
sasin
sasine
saskatoon
+sass
sassaby
sassafac
sassafrack
@@ -184478,6 +184512,7 @@ softner
softness
softship
softtack
+software
softwood
softy
sog
@@ -185669,6 +185704,7 @@ spaller
spalling
spalpeen
spalt
+spam
span
spancel
spandle
@@ -186716,6 +186752,8 @@ spill
spillage
spiller
spillet
+spillikin
+spillover
spillproof
spillway
spilly
@@ -201472,6 +201510,7 @@ Themis
themis
Themistian
themsel
+themself
themselves
then
thenabouts
@@ -204283,6 +204322,7 @@ tolylenediamine
Tolypeutes
tolypeutine
Tom
+tom
Toma
tomahawk
tomahawker
@@ -205532,6 +205572,7 @@ trade
tradecraft
tradeful
tradeless
+trademark
trademaster
trader
tradership
@@ -225433,6 +225474,8 @@ uplight
uplimb
uplimber
upline
+uplink
+upload
uplock
uplong
uplook
@@ -232488,6 +232531,7 @@ wimblelike
wimbrel
wime
wimick
+wimp
wimple
wimpleless
wimplelike
@@ -233075,6 +233119,7 @@ wog
wogiet
Wogulian
woibe
+wok
wokas
woke
wokowi
@@ -233456,6 +233501,7 @@ workingman
workingwoman
workless
worklessness
+workload
workloom
workman
workmanlike
diff --git a/share/examples/etc/make.conf b/share/examples/etc/make.conf
index e191037..1d7ba37 100644
--- a/share/examples/etc/make.conf
+++ b/share/examples/etc/make.conf
@@ -44,8 +44,9 @@
# if omitted), ultrasparc3
# Additionally the following CPU types are recognized by clang:
# Intel x86 architecture (for both amd64 and i386):
-# (AMD CPUs) bdver4, bdver3, bdver2, bdver1, btver2, btver1
-# (Intel CPUs) skylake, knl, broadwell, haswell, ivybridge,
+# (AMD CPUs) znver1, bdver4, bdver3, bdver2, bdver1, btver2, btver1
+# (Intel CPUs) cannonlake, knm, skylake-avx512, knl, goldmont,
+# skylake, broadwell, haswell, ivybridge,
# sandybridge, westmere, nehalem, silvermont, bonnell
#
# (?= allows to buildworld for a different CPUTYPE.)
diff --git a/share/examples/kld/cdev/module/cdev.c b/share/examples/kld/cdev/module/cdev.c
index dda63c4..27d6cde 100644
--- a/share/examples/kld/cdev/module/cdev.c
+++ b/share/examples/kld/cdev/module/cdev.c
@@ -102,7 +102,7 @@ mydev_open(struct cdev *dev, int flag, int otyp, struct thread *td)
{
struct proc *procp = td->td_proc;
- printf("mydev_open: dev_t=%d, flag=%x, otyp=%x, procp=%p\n",
+ printf("mydev_open: dev_t=%lu, flag=%x, otyp=%x, procp=%p\n",
dev2udev(dev), flag, otyp, procp);
memset(&buf, '\0', 513);
len = 0;
@@ -114,7 +114,7 @@ mydev_close(struct cdev *dev, int flag, int otyp, struct thread *td)
{
struct proc *procp = td->td_proc;
- printf("mydev_close: dev_t=%d, flag=%x, otyp=%x, procp=%p\n",
+ printf("mydev_close: dev_t=%lu, flag=%x, otyp=%x, procp=%p\n",
dev2udev(dev), flag, otyp, procp);
return (0);
}
@@ -126,7 +126,7 @@ mydev_ioctl(struct cdev *dev, u_long cmd, caddr_t arg, int mode,
int error = 0;
struct proc *procp = td->td_proc;
- printf("mydev_ioctl: dev_t=%d, cmd=%lx, arg=%p, mode=%x procp=%p\n",
+ printf("mydev_ioctl: dev_t=%lu, cmd=%lx, arg=%p, mode=%x procp=%p\n",
dev2udev(dev), cmd, arg, mode, procp);
switch(cmd) {
@@ -150,7 +150,7 @@ mydev_write(struct cdev *dev, struct uio *uio, int ioflag)
{
int err = 0;
- printf("mydev_write: dev_t=%d, uio=%p, ioflag=%d\n",
+ printf("mydev_write: dev_t=%lu, uio=%p, ioflag=%d\n",
dev2udev(dev), uio, ioflag);
err = copyinstr(uio->uio_iov->iov_base, &buf, 512, &len);
@@ -170,7 +170,7 @@ mydev_read(struct cdev *dev, struct uio *uio, int ioflag)
{
int err = 0;
- printf("mydev_read: dev_t=%d, uio=%p, ioflag=%d\n",
+ printf("mydev_read: dev_t=%lu, uio=%p, ioflag=%d\n",
dev2udev(dev), uio, ioflag);
if (len <= 0) {
diff --git a/share/examples/kld/cdev/module/cdevmod.c b/share/examples/kld/cdev/module/cdevmod.c
index f21723f..5503f12 100644
--- a/share/examples/kld/cdev/module/cdevmod.c
+++ b/share/examples/kld/cdev/module/cdevmod.c
@@ -107,6 +107,7 @@ static int
cdev_load(module_t mod, int cmd, void *arg)
{
int err = 0;
+ struct make_dev_args mda;
switch (cmd) {
case MOD_LOAD:
@@ -118,8 +119,14 @@ cdev_load(module_t mod, int cmd, void *arg)
printf("Copyright (c) 1998\n");
printf("Rajesh Vaidheeswarran\n");
printf("All rights reserved\n");
- sdev = make_dev(&my_devsw, 0, UID_ROOT, GID_WHEEL, 0600, "cdev");
- break; /* Success*/
+
+ make_dev_args_init(&mda);
+ mda.mda_devsw = &my_devsw;
+ mda.mda_uid = UID_ROOT;
+ mda.mda_gid = GID_WHEEL;
+ mda.mda_mode = 0600;
+ err = make_dev_s(&mda, &sdev, "cdev");
+ break;
case MOD_UNLOAD:
printf("Unloaded kld character device driver\n");
diff --git a/share/examples/ppp/ppp.conf.sample b/share/examples/ppp/ppp.conf.sample
index 2572644..d950e64 100644
--- a/share/examples/ppp/ppp.conf.sample
+++ b/share/examples/ppp/ppp.conf.sample
@@ -523,7 +523,7 @@ compuserve:
# such as `rlogin' is involved, you may need to ``set escape 0xff''
#
tcp-client:
- set device tcpsrv.mynet:1234
+ set device tcpsrv.mynet:6671
set dial
set login
set ifaddr 10.0.5.1 10.0.4.1 255.255.255.0
@@ -538,10 +538,10 @@ tcp-server:
#
# and this in /etc/services:
#
-# ppp 6671/tcp
+# ppp 6671/udp
#
udp-client:
- set device udpsrv.mynet:1234/udp
+ set device udpsrv.mynet:6671/udp
set dial
set login
set ifaddr 10.0.5.1 10.0.4.1 255.255.255.0
diff --git a/share/man/man3/pthread_condattr.3 b/share/man/man3/pthread_condattr.3
index f72fd25..dfabc6f 100644
--- a/share/man/man3/pthread_condattr.3
+++ b/share/man/man3/pthread_condattr.3
@@ -46,9 +46,9 @@
.Ft int
.Fn pthread_condattr_destroy "pthread_condattr_t *attr"
.Ft int
-.Fn pthread_condattr_getclock "pthread_condattr_t * restrict attr" "clock_t * restrict clock_id"
+.Fn pthread_condattr_getclock "pthread_condattr_t * restrict attr" "clockid_t * restrict clock_id"
.Ft int
-.Fn pthread_condattr_setclock "pthread_condattr_t *attr" "clock_t clock_id"
+.Fn pthread_condattr_setclock "pthread_condattr_t *attr" "clockid_t clock_id"
.Ft int
.Fn pthread_condattr_getpshared "pthread_condattr_t * restrict attr" "int * restrict pshared"
.Ft int
diff --git a/share/man/man3/pthread_join.3 b/share/man/man3/pthread_join.3
index fd2fa5a..7df6cff 100644
--- a/share/man/man3/pthread_join.3
+++ b/share/man/man3/pthread_join.3
@@ -30,7 +30,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd January 23, 2010
+.Dd February 3, 2018
.Dt PTHREAD_JOIN 3
.Os
.Sh NAME
@@ -43,6 +43,7 @@
.In pthread.h
.Ft int
.Fn pthread_join "pthread_t thread" "void **value_ptr"
+.In pthread_np.h
.Ft int
.Fn pthread_timedjoin_np "pthread_t thread" "void **value_ptr" "const struct timespec *abstime"
.Sh DESCRIPTION
diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile
index f9d73a6..4ef49f4 100644
--- a/share/man/man4/Makefile
+++ b/share/man/man4/Makefile
@@ -87,6 +87,7 @@ MAN= aac.4 \
bwi.4 \
bwn.4 \
${_bytgpio.4} \
+ ${_chvgpio.4} \
capsicum.4 \
cardbus.4 \
carp.4 \
@@ -160,6 +161,7 @@ MAN= aac.4 \
fd.4 \
fdc.4 \
fdt.4 \
+ fdt_pinctrl.4 \
fdtbus.4 \
ffclock.4 \
filemon.4 \
@@ -215,6 +217,7 @@ MAN= aac.4 \
iicbus.4 \
iicsmb.4 \
iir.4 \
+ ${_imcsmb.4} \
inet.4 \
inet6.4 \
intpm.4 \
@@ -399,6 +402,7 @@ MAN= aac.4 \
${_nvram2env.4} \
${_nxge.4} \
oce.4 \
+ ocs_fc.4\
ohci.4 \
orm.4 \
ow.4 \
@@ -799,6 +803,7 @@ _amdtemp.4= amdtemp.4
_asmc.4= asmc.4
_bxe.4= bxe.4
_bytgpio.4= bytgpio.4
+_chvgpio.4= chvgpio.4
_coretemp.4= coretemp.4
_cpuctl.4= cpuctl.4
_dpms.4= dpms.4
@@ -823,6 +828,7 @@ _if_vmx.4= if_vmx.4
_if_vtnet.4= if_vtnet.4
_if_vxge.4= if_vxge.4
_if_wpi.4= if_wpi.4
+_imcsmb.4= imcsmb.4
_ipmi.4= ipmi.4
_io.4= io.4
_linux.4= linux.4
@@ -918,6 +924,10 @@ MAN+= mlx4ib.4
MAN+= mlx5ib.4
.endif
+.if ${MK_MLX5TOOL} != "no"
+MAN+= mlx5io.4
+.endif
+
.if ${MK_TESTS} != "no"
ATF= ${.CURDIR}/../../../contrib/atf
.PATH: ${ATF}/doc
diff --git a/share/man/man4/altq.4 b/share/man/man4/altq.4
index 3f46d66..901e3c7 100644
--- a/share/man/man4/altq.4
+++ b/share/man/man4/altq.4
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd September 20, 2017
+.Dd March 20, 2018
.Dt ALTQ 4
.Os
.Sh NAME
@@ -45,7 +45,8 @@
.Sh DESCRIPTION
The
.Nm
-framework provides several disciplines for queuing outgoing network packets.
+system is a framework which provides several disciplines for queuing outgoing
+network packets.
This is done by modifications to the interface packet queues.
See
.Xr altq 9
@@ -59,7 +60,7 @@ utility, so please refer to the
.Xr pfctl 8
and the
.Xr pf.conf 5
-manpages for a complete description of the
+man pages for a complete description of the
.Nm
capabilities and how to use it.
.Ss Kernel Options
@@ -202,3 +203,11 @@ pseudo drivers also do support
.Xr ipfw 8 ,
.Xr pfctl 8 ,
.Xr altq 9
+.Sh HISTORY
+The
+.Nm
+system first appeared in March 1997 and found home in the KAME project
+(http://www.kame.net).
+It was imported to
+.Fx
+in 5.3 .
diff --git a/share/man/man4/bge.4 b/share/man/man4/bge.4
index 474b48f..50c0cf9 100644
--- a/share/man/man4/bge.4
+++ b/share/man/man4/bge.4
@@ -31,7 +31,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd January 19, 2012
+.Dd August 18, 2017
.Dt BGE 4
.Os
.Sh NAME
@@ -159,6 +159,10 @@ following:
.It
3Com 3c996-T (10/100/1000baseTX)
.It
+Apple Thunderbolt Display (10/100/1000baseTX)
+.It
+Apple Thunderbolt to Gigabit Ethernet Adapter (10/100/1000baseTX)
+.It
Dell PowerEdge 1750 integrated BCM5704C NIC (10/100/1000baseTX)
.It
Dell PowerEdge 2550 integrated BCM5700 NIC (10/100/1000baseTX)
@@ -236,6 +240,9 @@ during initialization.
The driver failed to initialize PCI shared memory mapping.
This might
happen if the card is not in a bus-master slot.
+.It "bge%d: firmware handshake timed out, found 0xffffffff"
+The device was physically disconnected from the system, or there is a problem with
+the device causing it to stop responding to the host it is attached to.
.It "bge%d: no memory for jumbo buffers!"
The driver failed to allocate memory for jumbo frames during
initialization.
@@ -262,3 +269,12 @@ The
.Nm
driver was written by
.An Bill Paul Aq Mt wpaul@windriver.com .
+.Sh BUGS
+Hotplug is not currently supported in
+.Fx ,
+hence, Thunderbolt interfaces need to be connected prior to system power up on
+Apple systems in order for the interface to be detected.
+Also, due to the lack of hotplug support, Thunderbolt-based interfaces must not be removed
+while the system is up as the kernel is currently unable to cope with a
+.Nm
+interface disappearing.
diff --git a/share/man/man4/chvgpio.4 b/share/man/man4/chvgpio.4
new file mode 100644
index 0000000..b6265cf
--- /dev/null
+++ b/share/man/man4/chvgpio.4
@@ -0,0 +1,65 @@
+.\" Copyright (c) 2017
+.\" Tom Jones <tj@enoti.me> All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd November 17, 2017
+.Dt CHVGPIO 4
+.Os
+.Sh NAME
+.Nm chvgpio
+.Nd Intel Cherry View SoC GPIO controller
+.Sh SYNOPSIS
+.Cd "device gpio"
+.Cd "device chvgpio"
+.Sh DESCRIPTION
+.Nm
+supports the GPIO controller that can be found in Intel's Cherry View SoC
+family.
+.Pp
+The Cherry View SoC has 5 banks of GPIO pins, NORTH, EAST, SOUTHEAST, SOUTHWEST
+and VIRTUAL.
+All but VIRTUAL are exposed to userland as
+.Pa /dev/gpiocN ,
+where N is 0-3.
+Pins in each bank are pre-named to match names in the Intel® Atom™ Z8000
+Processor Series Vol 2
+.Sh SEE ALSO
+.Xr gpio 3 ,
+.Xr gpio 4 ,
+.Xr gpioctl 8
+.Rs
+.%T Intel® Atom™ Z8000 Processor Series Vol 1
+.Re
+.Rs
+.%T Intel® Atom™ Z8000 Processor Series Vol 2
+.Re
+.Sh HISTORY
+The
+.Nm
+manual page first appeared in
+.Fx 12 .
+.Sh AUTHORS
+This driver and man page were written by
+.An Tom Jones Aq Mt tj@enoti.me .
diff --git a/share/man/man4/cm.4 b/share/man/man4/cm.4
index a933918..4aef6dd 100644
--- a/share/man/man4/cm.4
+++ b/share/man/man4/cm.4
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd July 16, 2005
+.Dd March 29, 2018
.Dt CM 4
.Os
.Sh NAME
@@ -46,6 +46,12 @@ module at boot time, place the following line in
.Bd -literal -offset indent
if_cm_load="YES"
.Ed
+.Sh DEPRECATION NOTICE
+The
+.Nm
+driver is not present in
+.Fx 12.0
+and later.
.Sh DESCRIPTION
The
.Nm
diff --git a/share/man/man4/cxgbe.4 b/share/man/man4/cxgbe.4
index 9ee9f84..1c66906 100644
--- a/share/man/man4/cxgbe.4
+++ b/share/man/man4/cxgbe.4
@@ -172,37 +172,22 @@ types.
A negative value for such a tunable instructs the driver to create
up to that many queues if there are enough CPU cores available.
.Bl -tag -width indent
-.It Va hw.cxgbe.ntxq10g
-Number of tx queues used for a 10Gb or higher-speed port.
+.It Va hw.cxgbe.ntxq
+Number of NIC tx queues used for a port.
The default is 16 or the number
of CPU cores in the system, whichever is less.
-.It Va hw.cxgbe.nrxq10g
-Number of rx queues used for a 10Gb or higher-speed port.
+.It Va hw.cxgbe.nrxq
+Number of NIC rx queues used for a port.
The default is 8 or the number
of CPU cores in the system, whichever is less.
-.It Va hw.cxgbe.ntxq1g
-Number of tx queues used for a 1Gb port.
-The default is 4 or the number
-of CPU cores in the system, whichever is less.
-.It Va hw.cxgbe.nrxq1g
-Number of rx queues used for a 1Gb port.
-The default is 2 or the number
-of CPU cores in the system, whichever is less.
-.It Va hw.cxgbe.nofldtxq10g
-Number of TOE tx queues used for a 10Gb or higher-speed port.
+.It Va hw.cxgbe.nofldtxq
+Number of TOE tx queues used for a port.
The default is 8 or the
number of CPU cores in the system, whichever is less.
-.It Va hw.cxgbe.nofldrxq10g
-Number of TOE rx queues used for a 10Gb or higher-speed port.
-The default is 2 or the
-number of CPU cores in the system, whichever is less.
-.It Va hw.cxgbe.nofldtxq1g
-Number of TOE tx queues used for a 1Gb port.
+.It Va hw.cxgbe.nofldrxq
+Number of TOE rx queues used for a port.
The default is 2 or the
number of CPU cores in the system, whichever is less.
-.It Va hw.cxgbe.nofldrxq1g
-Number of TOE rx queues used for a 1Gb port.
-The default is 1.
.It Va hw.cxgbe.num_vis
Number of virtual interfaces (VIs) created for each port.
Each virtual interface creates a separate network interface.
@@ -213,25 +198,27 @@ name from the table above.
Additional virtual interfaces use a single pair of queues
for rx and tx as well an additional pair of queues for TOE rx and tx.
The default is 1.
-.It Va hw.cxgbe.holdoff_timer_idx_10G
-.It Va hw.cxgbe.holdoff_timer_idx_1G
+.It Va hw.cxgbe.holdoff_timer_idx
+.It Va hw.cxgbe.holdoff_timer_idx_ofld
Timer index value used to delay interrupts.
The holdoff timer list has the values 1, 5, 10, 50, 100, and 200
by default (all values are in microseconds) and the index selects a
value from this list.
+holdoff_timer_idx_ofld applies to queues used for TOE rx.
The default value is 1 which means the timer value is 5us.
Different interfaces can be assigned different values at any time via the
-dev.<port>.X.holdoff_tmr_idx sysctl.
-.It Va hw.cxgbe.holdoff_pktc_idx_10G
-.It Va hw.cxgbe.holdoff_pktc_idx_1G
+dev.<port>.X.holdoff_tmr_idx and dev.<port>.X.holdoff_tmr_idx_ofld sysctls.
+.It Va hw.cxgbe.holdoff_pktc_idx
+.It Va hw.cxgbe.holdoff_pktc_idx_ofld
Packet-count index value used to delay interrupts.
The packet-count list has the values 1, 8, 16, and 32 by default,
and the index selects a value from this list.
+holdoff_pktc_idx_ofld applies to queues used for TOE rx.
The default value is -1 which means packet counting is disabled and interrupts
are generated based solely on the holdoff timer value.
Different interfaces can be assigned different values via the
-dev.<port>.X.holdoff_pktc_idx sysctl.
-This sysctl works only when the interface has never been marked up (as done by
+dev.<port>.X.holdoff_pktc_idx and dev.<port>.X.holdoff_pktc_idx_ofld sysctls.
+These sysctls work only when the interface has never been marked up (as done by
ifconfig up).
.It Va hw.cxgbe.qsize_txq
Number of entries in a transmit queue's descriptor ring.
@@ -256,6 +243,13 @@ Permitted interrupt types.
Bit 0 represents INTx (line interrupts), bit 1 MSI, and bit 2 MSI-X.
The default is 7 (all allowed).
The driver selects the best possible type out of the allowed types.
+.It Va hw.cxgbe.pcie_relaxed_ordering
+PCIe Relaxed Ordering.
+-1 indicates the driver should determine whether to enable or disable PCIe RO.
+0 disables PCIe RO.
+1 enables PCIe RO.
+2 indicates the driver should not modify the PCIe RO setting.
+The default is -1.
.It Va hw.cxgbe.fw_install
0 prohibits the driver from installing a firmware on the card.
1 allows the driver to install a new firmware if internal driver
diff --git a/share/man/man4/cxgbev.4 b/share/man/man4/cxgbev.4
index 9dc3421..b2fcac6 100644
--- a/share/man/man4/cxgbev.4
+++ b/share/man/man4/cxgbev.4
@@ -172,24 +172,15 @@ Tunables can be set at the
prompt before booting the kernel or stored in
.Xr loader.conf 5 .
.Bl -tag -width indent
-.It Va hw.cxgbe.ntxq10g
-Number of tx queues used for a 10Gb or higher-speed port.
+.It Va hw.cxgbe.ntxq
+Number of tx queues used for a port.
The default is 16 or the number
of CPU cores in the system, whichever is less.
-.It Va hw.cxgbe.nrxq10g
-Number of rx queues used for a 10Gb or higher-speed port.
+.It Va hw.cxgbe.nrxq
+Number of rx queues used for a port.
The default is 8 or the number
of CPU cores in the system, whichever is less.
-.It Va hw.cxgbe.ntxq1g
-Number of tx queues used for a 1Gb port.
-The default is 4 or the number
-of CPU cores in the system, whichever is less.
-.It Va hw.cxgbe.nrxq1g
-Number of rx queues used for a 1Gb port.
-The default is 2 or the number
-of CPU cores in the system, whichever is less.
-.It Va hw.cxgbe.holdoff_timer_idx_10G
-.It Va hw.cxgbe.holdoff_timer_idx_1G
+.It Va hw.cxgbe.holdoff_timer_idx
Timer index value used to delay interrupts.
The holdoff timer list has the values 1, 5, 10, 50, 100, and 200
by default (all values are in microseconds) and the index selects a
@@ -197,8 +188,7 @@ value from this list.
The default value is 1 which means the timer value is 5us.
Different interfaces can be assigned different values at any time via the
dev.<port>.X.holdoff_tmr_idx sysctl.
-.It Va hw.cxgbe.holdoff_pktc_idx_10G
-.It Va hw.cxgbe.holdoff_pktc_idx_1G
+.It Va hw.cxgbe.holdoff_pktc_idx
Packet-count index value used to delay interrupts.
The packet-count list has the values 1, 8, 16, and 32 by default,
and the index selects a value from this list.
diff --git a/share/man/man4/fdt_pinctrl.4 b/share/man/man4/fdt_pinctrl.4
new file mode 100644
index 0000000..941338d
--- /dev/null
+++ b/share/man/man4/fdt_pinctrl.4
@@ -0,0 +1,127 @@
+.\" Copyright (c) 2018 Oleksandr Tymoshenko
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd March 2, 2018
+.Dt "FDT_PINCTRL" 4
+.Os
+.Sh NAME
+.Nm fdt_pinctrl
+.Nd FDT I/O pin multiplexing support
+.Sh SYNOPSIS
+.Cd "device fdt_pinctrl"
+.Sh DESCRIPTION
+.Pp
+Pin multiplexing is a technology used to re-purpose a single
+physical connection (depending on chip packaging it may be
+pin, ball, or pad) to pull signal from one of SoC internal
+controllers to peripheral devices.
+For example, based on the actual device design, a single SoC chip
+pin can perform any of these roles: SPI clock, I2C
+data, GPIO pin, or PWM signal.
+Function selection is performed by the pinmux controller, a SoC
+hardware block, usually controlled a set of registers.
+Pinmux controller capabilities and register format depend
+on the actual hardware implementation.
+.Pp
+On
+.Xr fdt 4
+based systems, the pinmux controller is represented by a node in
+the device tree.
+It may have any number of child nodes representing pin
+configuration groups.
+Properties of such nodes are hardware-specific and handled
+by individual pinctrl drivers.
+.Ss Example 1
+Pinmux controller device tree node
+.Bd -literal
+pinctrl@7e220000 {
+ compatible = "vndr,soc1715-pinctrl";
+ reg = <0x7e220000 0x100>
+
+ spi0_pins: spi0 {
+ vndr,pins = <11 12>
+ vndr,functions = <ALT0 ALT5>
+ }
+
+ i2c0_pins: i2c0 {
+ ...
+ }
+}
+.Ed
+.Pp
+Client devices are hardware devices that require certain pin
+configurations to function properly.
+Depending on the state the device is in (active, idle) it might
+require different pin configurations.
+Each configuration is described by setting the pinctrl-N
+property to the list of phandles pointing to specific child
+nodes of the pinmux controller node.
+N is an integer value starting with 0 and incremented by 1
+for every new set of pin configurations.
+pinctrl-0 is a default configuration that is applied in the
+.Xr fdt_pinctrl_configure_tree 9
+call.
+In addition to referring to pin configurations by index, they
+can be referred to by name if the pinctrl-names property is set.
+The value of pinctrl-names is a list of strings with names for
+each pinctrl-N property.
+Client devices can request specific configuration using
+.Xr fdt_pinctrl_configure 9
+and
+.Xr fdt_pinctrl_configure_by_name 9 .
+.Ss Example 2
+.Bd -literal
+backlight@7f000000 {
+ compatible = "vndr,vndr-bl"
+ reg = <0x7f000000 0x20>
+ ...
+ pinctrl-name = "active", "idle"
+ pinctrl-0 = <&backlight_active_pins>
+ pinctrl-1 = <&backlight_idle_pins>
+}
+.Ed
+.Pp
+The pinctrl driver should implement FDT_PINCTRL_CONFIGURE
+method, register itself as pin configuration handler by
+calling fdt_pinctrl_register function, and call
+.Xr fdt_pinctrl_configure_tree 9
+to configure pins for all enabled devices (device where
+the "status" property is not set to "disabled").
+.Sh SEE ALSO
+.Xr fdt_pinctrl 9
+.Sh HISTORY
+The
+.Nm
+driver first appeared in
+.Fx 10.2 .
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+device driver was developed by
+.An \&Ian Lepore Aq Mt ian@FreeBSD.org .
+This manual page was written by
+.An Oleksandr Tymoshenko Aq Mt gonzo@FreeBSD.org .
diff --git a/share/man/man4/fpa.4 b/share/man/man4/fpa.4
index 0974429..b8a9f83 100644
--- a/share/man/man4/fpa.4
+++ b/share/man/man4/fpa.4
@@ -4,7 +4,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd March 13, 1995
+.Dd March 29, 2018
.Dt FPA 4
.Os
.Sh NAME
@@ -18,6 +18,12 @@
.Fx
only:
.Cd "device fddi"
+.Sh DEPRECATION NOTICE
+The
+.Nm
+driver is not present in
+.Fx 12.0
+and later.
.Sh DESCRIPTION
The
.Nm
diff --git a/share/man/man4/geom.4 b/share/man/man4/geom.4
index d3f2a48..6406e36 100644
--- a/share/man/man4/geom.4
+++ b/share/man/man4/geom.4
@@ -34,26 +34,22 @@
.\"
.\" $FreeBSD$
.\"
-.Dd April 20, 2017
+.Dd August 9, 2017
.Dt GEOM 4
.Os
.Sh NAME
.Nm GEOM
.Nd "modular disk I/O request transformation framework"
.Sh SYNOPSIS
-.Cd options GEOM_AES
.Cd options GEOM_BDE
-.Cd options GEOM_BSD
.Cd options GEOM_CACHE
.Cd options GEOM_CONCAT
.Cd options GEOM_ELI
-.Cd options GEOM_FOX
.Cd options GEOM_GATE
.Cd options GEOM_JOURNAL
.Cd options GEOM_LABEL
.Cd options GEOM_LINUX_LVM
.Cd options GEOM_MAP
-.Cd options GEOM_MBR
.Cd options GEOM_MIRROR
.Cd options GEOM_MOUNTVER
.Cd options GEOM_MULTIPATH
@@ -73,10 +69,8 @@
.Cd options GEOM_RAID3
.Cd options GEOM_SHSEC
.Cd options GEOM_STRIPE
-.Cd options GEOM_SUNLABEL
.Cd options GEOM_UZIP
.Cd options GEOM_VIRSTOR
-.Cd options GEOM_VOL
.Cd options GEOM_ZERO
.Sh DESCRIPTION
The
@@ -451,6 +445,25 @@ This is unused at this time.
.It 0x80 Pq Dv G_F_CTLDUMP
Dump contents of gctl requests.
.El
+.Sh OBSOLETE OPTIONS
+.Pp
+The following options have been deprecated and will be removed in
+.Fx 12 :
+.Cd GEOM_AES ,
+.Cd GEOM_BSD ,
+.Cd GEOM_FOX ,
+.Cd GEOM_MBR ,
+.Cd GEOM_SUNLABEL ,
+and
+.Cd GEOM_VOL .
+.Pp
+Use
+.Cd GEOM_PART_BSD ,
+.Cd GEOM_MULTIPATH ,
+.Cd GEOM_PART_MBR ,
+.Cd GEOM_PART_VTOC8 ,
+.Cd GEOM_LABEL
+options, respectively, instead.
.Sh SEE ALSO
.Xr libgeom 3 ,
.Xr DECLARE_GEOM_CLASS 9 ,
diff --git a/share/man/man4/geom_fox.4 b/share/man/man4/geom_fox.4
index 09d16e4..514602b 100644
--- a/share/man/man4/geom_fox.4
+++ b/share/man/man4/geom_fox.4
@@ -51,6 +51,8 @@ This driver is obsolete.
Users are advised to use
.Xr gmultipath 8
instead.
+This driver will be removed in
+.Fx 12 .
.Ef
.Pp
The intent of the
diff --git a/share/man/man4/imcsmb.4 b/share/man/man4/imcsmb.4
new file mode 100644
index 0000000..221f936
--- /dev/null
+++ b/share/man/man4/imcsmb.4
@@ -0,0 +1,133 @@
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+.\"
+.\" Copyright (c) 2018 Panasas
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd March 2, 2018
+.Dt IMCSMB 4
+.Os
+.Sh NAME
+.Nm imcsmb
+.Nd Intel integrated Memory Controller (iMC) SMBus controller driver
+.Sh SYNOPSIS
+.Cd device pci
+.Cd device smbus
+.Cd device imcsmb
+.Pp
+Alternatively, to load the driver as a module at boot time, place the following
+line in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+imcsmb_load="YES"
+.Ed
+.Sh DESCRIPTION
+The
+.Nm
+driver provides
+.Xr smbus 4
+support for the SMBus controller functionality in the integrated Memory
+Controllers (iMCs) embedded in Intel Sandybridge-Xeon, Ivybridge-Xeon,
+Haswell-Xeon, and Broadwell-Xeon CPUs.
+Each CPU implements one or more iMCs, depending on the number of cores;
+each iMC implements two SMBus controllers (iMC-SMBs).
+The iMC-SMBs are used by the iMCs to read configuration information from the
+DIMMs during POST.
+They may also be used, by motherboard firmware or a BMC, to monitor the
+temperature of the DIMMs.
+.Pp
+The iMC-SMBs are
+.Sy not
+general-purpose SMBus controllers.
+By their nature, they are only ever attached to DIMMs, so they implement only
+the SMBus operations need for communicating with DIMMs.
+Specifically:
+.Pp
+.Bl -dash -offset indent -compact
+.It
+READB
+.It
+READW
+.It
+WRITEB
+.It
+WRITEW
+.El
+.Pp
+A more detailed discussion of the hardware and driver architecture can be found
+at the top of
+.Pa sys/dev/imcsmb/imcsmb_pci.c .
+.Sh WARNINGS
+As mentioned above, firmware might use the iMC-SMBs to read DIMM temperatures.
+The public iMC documentation does not describe any sort of coordination
+mechanism to prevent requests from different sources -- such as the motherboard
+firmware, a BMC, or the operating system -- from interfering with each other.
+.Pp
+.Bf Sy
+Therefore, it is highly recommended that developers contact the motherboard
+vendor for any board-specific instructions on how to disable and re-enable DIMM
+temperature monitoring.
+.Ef
+.Pp
+DIMM temperature monitoring should be disabled before returning from
+.Fn imcsmb_pci_request_bus ,
+and re-enabled before returning from
+.Fn imcsmb_pci_release_bus .
+The driver includes comments to that effect at the appropriate locations.
+The driver has been tested and shown to work, with only that type of
+modification, on certain motherboards from Intel.
+.Po
+Unfortunately, those modifications were based on material covered under a
+non-disclosure agreement, and therefore are not included in this driver.
+.Pc
+The driver has also been tested and shown to work as-is on various motherboards
+from SuperMicro.
+.Pp
+The
+.Xr smb 4
+driver will connect to the
+.Xr smbus 4
+instances created by
+.Nm .
+However, since the IMC-SMBs are not general-purpose SMBus controllers, using
+.Xr smbmsg 8
+with those
+.Xr smb 4
+devices is not supported.
+.Sh SEE ALSO
+.Xr jedec_dimm 4 ,
+.Xr smbus 4
+.Sh HISTORY
+The
+.Nm
+driver first appeared in
+.Fx 12.0 .
+.Sh AUTHORS
+The
+.Nm
+driver was originally written for Panasas by
+.An Joe Kloss .
+It was substantially refactored, and this manual page was written, by
+.An Ravi Pokala Aq Mt rpokala@freebsd.org
diff --git a/share/man/man4/isp.4 b/share/man/man4/isp.4
index c158921..bef4ca2 100644
--- a/share/man/man4/isp.4
+++ b/share/man/man4/isp.4
@@ -1,4 +1,4 @@
-.\" Copyright (c) 2009-2017 Alexander Motin <mav@FreeBSD.org>
+.\" Copyright (c) 2009-2018 Alexander Motin <mav@FreeBSD.org>
.\" Copyright (c) 2006 Marcus Alves Grando
.\" Copyright (c) 1998-2001 Matthew Jacob, for NASA/Ames Research Center
.\"
@@ -26,7 +26,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd July 3, 2017
+.Dd February 27, 2018
.Dt ISP 4
.Os
.Sh NAME
@@ -139,6 +139,10 @@ Optical 4Gb Fibre Channel PCIe cards.
Optical 8Gb Fibre Channel PCIe cards.
.It Qlogic 267x/836x (aka 2031/8031)
Optical 16Gb FC/FCoE PCIe cards.
+.It Qlogic 2690/2692/2694 (aka 2684/2692)
+Optical 16Gb Fibre Channel PCIe cards.
+.It Qlogic 2740/2742/2764 (aka 2722/2714)
+Optical 32Gb Fibre Channel PCIe cards.
.El
.Sh CONFIGURATION OPTIONS
Target mode support for Fibre Channel adapters may be enabled with the
diff --git a/share/man/man4/iwm.4 b/share/man/man4/iwm.4
index 9b906d7..90d493c 100644
--- a/share/man/man4/iwm.4
+++ b/share/man/man4/iwm.4
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd July 26, 2016
+.Dd October 29, 2017
.Dt IWM 4
.Os
.Sh NAME
@@ -49,6 +49,7 @@ Choose one from:
.Cd "device iwm7260fw"
.Cd "device iwm7265fw"
.Cd "device iwm8000Cfw"
+.Cd "device iwm8265fw"
.Ed
.Pp
Or you can use
@@ -67,6 +68,7 @@ iwm3160fw_load="YES"
iwm7260fw_load="YES"
iwm7265fw_load="YES"
iwm8000Cfw_load="YES"
+iwm8265fw_load="YES"
.Ed
.Sh DESCRIPTION
The
diff --git a/share/man/man4/iwmfw.4 b/share/man/man4/iwmfw.4
index 190f806..71017f3 100644
--- a/share/man/man4/iwmfw.4
+++ b/share/man/man4/iwmfw.4
@@ -55,6 +55,7 @@ module at boot time, place the following line in
iwm3160fw_load="YES"
iwm7260fw_load="YES"
iwm7265fw_load="YES"
+iwm7265Dfw_load="YES"
iwm8000Cfw_load="YES"
.Ed
.Sh DESCRIPTION
diff --git a/share/man/man4/mlx5io.4 b/share/man/man4/mlx5io.4
new file mode 100644
index 0000000..22a38fd
--- /dev/null
+++ b/share/man/man4/mlx5io.4
@@ -0,0 +1,142 @@
+.\"
+.\" Copyright (c) 2018 Mellanox Technologies
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd February 20, 2018
+.Dt mlx5io 4
+.Os
+.Sh NAME
+.Nm mlx5io
+.Nd IOCTL interface to manage Connect-X 4/5 Mellanox network adapters
+.Sh SYNOPSIS
+.In dev/mlx5/mlx5io.h
+.Sh DESCRIPTION
+The
+.Nm
+interface is provided for management of the Connect-X 4 and 5 network adapters
+in the aspects not covered by the generic network configuration,
+mostly related to the PCIe attachment and internal card working.
+Interface consists of the commands, which are passed by means of
+.Xr ioctl 2
+on the file descriptor, opened from the
+.Pa /dev/mlx5ctl
+device node.
+.Pp
+The following commands are implemented:
+.Bl -tag -width indent
+.It Dv MLX5_FWDUMP_FORCE
+Take the snapshot of the firmware registers state and store it in the
+kernel buffer.
+The buffer must be empty, in other words, no dumps should be written so
+far, or existing dump cleared with the
+.Dv MLX5_FWDUMP_RESET
+command for the specified device.
+The argument for the command should point to the
+.Vt struct mlx5_fwdump_addr
+structure, containing the PCIe bus address of the device.
+.Bd -literal
+struct mlx5_fwdump_addr {
+ uint32_t domain;
+ uint8_t bus;
+ uint8_t slot;
+ uint8_t func;
+};
+.Ed
+.It Dv MLX5_FWDUMP_RESET
+Clear the stored firmware dump, preparing the kernel buffer for
+the next dump.
+The argument for the command should point to the
+.Vt struct mlx5_fwdump_addr
+structure, containing the PCIe bus address of the device.
+.It Dv MLX5_FWDUMP_GET
+Fetch the stored firmware dump into the user memory.
+The argument to the command should point to the input/output
+.Vt struct mlx5_fwdump_get
+structure.
+Its
+.Dv devaddr
+field specifies the address of the device, the
+.Dv buf
+fields points to the array of
+.Vt struct mlx5_fwdump_reg
+of records of the registers values, the size of the array is specified
+in the
+.Dv reg_cnt
+field.
+.Bd -literal
+struct mlx5_fwdump_get {
+ struct mlx5_fwdump_addr devaddr;
+ struct mlx5_fwdump_reg *buf;
+ size_t reg_cnt;
+ size_t reg_filled; /* out */
+};
+.Ed
+.Pp
+On successfull return, the
+.Dv reg_filled
+field reports the number of the
+.Dv buf
+array elements actually filled with the registers values.
+If
+.Dv buf
+contains the
+.Dv NULL
+pointer, no registers are filled, but
+.Dv reg_filled
+still contains the number of registers that should be passed for
+the complete dump.
+.Pp
+The
+.Vt struct mlx5_fwdump_reg
+element contains the address of the register in the field
+.Dv addr ,
+and its value in the field
+.Dv val .
+.Bd -literal
+struct mlx5_fwdump_reg {
+ uint32_t addr;
+ uint32_t val;
+};
+.Ed
+.El
+.Sh FILES
+The
+.Pa /dev/mlx5ctl
+.Xr devfs 5
+node is used to pass commands to the driver.
+.Sh RETURN VALUES
+If successful, the IOCTL returns zero.
+Otherwise, -1 is returned and the global variable
+.Va errno
+is set to indicate the error.
+.Sh SEE ALSO
+.Xr errno 2 ,
+.Xr ioctl 2 ,
+.Xr mlx5en 4 ,
+.Xr mlx5ib 4 ,
+.Xr mlx5tool 8
+and
+.Xr pci 9 .
diff --git a/share/man/man4/mpr.4 b/share/man/man4/mpr.4
index 68f02ab..7922f1f 100644
--- a/share/man/man4/mpr.4
+++ b/share/man/man4/mpr.4
@@ -380,7 +380,8 @@ These bits have the described effects:
.Sh HISTORY
The
.Nm
-driver first appeared in FreeBSD 9.3.
+driver first appeared in
+.Fx 9.3 .
.Sh AUTHORS
The
.Nm
diff --git a/share/man/man4/ng_pppoe.4 b/share/man/man4/ng_pppoe.4
index 2b367b8..7b0aee7 100644
--- a/share/man/man4/ng_pppoe.4
+++ b/share/man/man4/ng_pppoe.4
@@ -35,7 +35,7 @@
.\" $FreeBSD$
.\" $Whistle: ng_pppoe.8,v 1.1 1999/01/25 23:46:27 archie Exp $
.\"
-.Dd September 15, 2015
+.Dd February 14, 2018
.Dt NG_PPPOE 4
.Os
.Sh NAME
@@ -104,12 +104,33 @@ the state machine as a client.
It must be newly created and a service name can be given as an argument.
It is legal to specify a zero-length service name, this is common
on some DSL setups.
-It is possible to request a connection to a specific
-access concentrator by its name using the "AC-Name\\Service-Name" syntax.
-A session request packet will be broadcasted on the Ethernet.
+It is possible to request a connection to a specific access concentrator,
+and/or set a specific Host-Uniq tag, required by some Internet providers,
+using the
+.Qq Li [AC-Name\\][Host-Uniq|]Service-Name
+syntax.
+To set a binary Host-Uniq, it must be encoded as a hexadecimal lowercase
+string and prefixed with
+.Qq Li 0x ,
+for example
+.Qq Li 0x6d792d746167
+is equivalent to
+.Qq Li my-tag .
+A session request packet will be broadcast on the Ethernet.
This command uses the
.Dv ngpppoe_init_data
structure shown below.
+For example, this init data argument can be used to
+connect to
+.Qq Li my-isp
+service with
+.Qq Li my-host
+uniq tag, accepting only
+.Qq Li remote-ac
+as access concentrator:
+.Bd -literal -offset indent
+"remote-ac\\my-host|my-isp"
+.Ed
.It Dv NGM_PPPOE_LISTEN Pq Ic pppoe_listen
Tell a nominated newly created hook that its session should enter
the state machine as a server listener.
@@ -258,7 +279,41 @@ struct ngpppoe_maxp {
uint16_t data;
};
.Ed
+.It Dv NGM_PPPOE_SEND_HURL Pq Ic send_hurl
+Tell a nominated hook with an active session to send a PADM message with
+a HURL tag.
+The argument is the URL to be delivered to the client:
+.Bd -literal -offset indent
+ngctl msg fxp0:orphans send_hurl '{ hook="myHook" data="http://example.net/cpe" }'
+.Ed
+.It Dv NGM_PPPOE_SEND_MOTM Pq Ic send_motm
+Tell a nominated hook with an active session to send a PADM message with
+a MOTM tag.
+The argument is the message to be delivered to the client:
+.Bd -literal -offset indent
+ngctl msg fxp0:orphans send_motm '{ hook="myHook" data="Welcome aboard" }'
+.Ed
.El
+.Pp
+The two commands above use the same ngpppoe_init_data structure described
+above.
+.Bl -tag -width 3n
+.It Dv NGM_PPPOE_HURL
+This command is sent to the node that started this session when a PADM
+message with a HURL tag is received, and contains a URL that the host can
+pass to a web browser for presentation to the user.
+.It Dv NGM_PPPOE_MOTM
+This command is sent to the node that started this session when a PADM
+message with a MOTM tag is received, and contains a Message Of The
+Minute that the host can display to the user.
+.El
+.Pp
+The two commands above use a common data structure:
+.Bd -literal -offset 4n
+struct ngpppoe_padm {
+ char msg[PPPOE_PADM_VALUE_SIZE];
+};
+.Ed
.Sh SHUTDOWN
This node shuts down upon receipt of a
.Dv NGM_SHUTDOWN
diff --git a/share/man/man4/ocs_fc.4 b/share/man/man4/ocs_fc.4
new file mode 100644
index 0000000..a2f13c4
--- /dev/null
+++ b/share/man/man4/ocs_fc.4
@@ -0,0 +1,194 @@
+.\" Copyright (c) 2017 Broadcom. All rights reserved.
+.\" The term "Broadcom" refers to Broadcom Limited and/or its subsidiaries.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions are met:
+.\"
+.\" 1. Redistributions of source code must retain the above copyright notice,
+.\" this list of conditions and the following disclaimer.
+.\"
+.\" 2. Redistributions in binary form must reproduce the above copyright notice,
+.\" this list of conditions and the following disclaimer in the documentation
+.\" and/or other materials provided with the distribution.
+.\"
+.\" 3. Neither the name of the copyright holder nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+.\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+.\" POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd March 30, 2018
+.Dt OCS_FC 4
+.Os
+.Sh NAME
+.Nm ocs_fc
+.Nd "Device driver for Emulex Fibre Channel Host Adapters"
+.Sh SYNOPSIS
+To compile this driver into the kernel, add this line to the
+kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device ocs_fc"
+.Ed
+.Pp
+To load the driver as a module at boot, add this line to
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+ocs_fc_load="YES"
+.Ed
+.Sh DESCRIPTION
+The
+.Nm
+driver provides access to Fibre Channel SCSI devices.
+.Pp
+The
+.Nm
+driver supports initiator and target modes.
+Support is available for Arbitrated loops, Point-to-Point,
+and Fabric connections.
+FC-Tape is highly recommended for connections to tape drives that support
+it.
+FC-Tape includes four elements from the T-10 FCP-4 specification:
+.Bl -bullet -offset indent
+.It
+Precise Delivery of Commands
+.It
+Confirmed Completion of FCP I/O Operations
+.It
+Retransmission of Unsuccessfully Transmitted IUs
+.It
+Task Retry Identification
+.El
+.Pp
+Together these features allow for link level error recovery with tape
+devices.
+Without link level error recovery, an initiator cannot, for instance, tell whether a tape write
+command that has timed out resulted in all, part, or none of the data going to
+the tape drive.
+FC-Tape is automatically enabled when both the controller and target support it.
+
+.Sh HARDWARE
+The
+.Nm
+driver supports these Fibre Channel adapters:
+.Bl -tag -width xxxxxx -offset indent
+.It Emulex 16/8G FC GEN 5 HBAS
+.Bd -literal -offset indent
+LPe15004 FC Host Bus Adapters
+LPe160XX FC Host Bus Adapters
+.Ed
+.It Emulex 32/16G FC GEN 6 HBAS
+.Bd -literal -offset indent
+LPe3100X FC Host Bus Adapters
+LPe3200X FC Host Bus Adapters
+.Ed
+.El
+.Sh UPDATING FIRMWARE
+Adapter firmware updates are persistent.
+.Pp
+Firmware can be updated by following these steps:
+.Bl -enum
+.It
+Copy this code to a
+.Pa Makefile :
+.Bd -literal -offset indent
+KMOD=ocsflash
+FIRMWS=imagename.grp:ocsflash
+\&.include <bsd.kmod.mk>
+.Ed
+.It
+Replace
+.Pa imagename
+with the name of the GRP file.
+.It
+Copy the
+.Pa Makefile
+and GRP file to a local directory
+.It
+Execute
+.Cm make
+and copy the generated
+.Pa ocsflash.ko
+file to
+.Pa /lib/modules
+.It
+.Cm sysctl dev.ocs_fc.<N>.fw_upgrade=ocsflash
+.It
+Check kernel messages regarding status of the operation
+.It
+Reboot the machine
+.El
+.Pp
+.Sh BOOT OPTIONS
+Options are controlled by setting values in
+.Pa /boot/device.hints .
+.Pp
+They are:
+.Bl -tag -width indent
+.It Va hint.ocs_fc.N.initiator
+Enable initiator functionality.
+Default 1 (enabled), 0 to disable.
+.It Va hint.ocs_fc.N.target
+Enable target functionality.
+Default 1 (enabled), 0 to disable.
+.It Va hint.ocs_fc.N.topology
+Topology: 0 for Auto, 1 for NPort only, 2 for Loop only.
+.It Va hint.ocs_fc.N.speed
+Link speed in megabits per second.
+Possible values include:
+0 Auto-speed negotiation (default), 4000 (4GFC), 8000 (8GFC), 16000 (16GFC).
+.El
+.Sh SYSCTL OPTIONS
+.Bl -tag -width indent
+.It Va dev.ocs_fc.N.port_state
+Port state (read/write).
+Valid values are
+.Li online
+and
+.Li offline .
+.It Va dev.ocs_fc.N.wwpn
+World Wide Port Name (read/write).
+.It Va dev.ocs_fc.N.wwnn
+World Wide Node Name (read/write).
+.It Va dev.ocs_fc.N.fwrev
+Firmware revision (read-only).
+.It Va dev.ocs_fc.N.sn
+Adapter serial number (read-only).
+.It Va dev.ocs_fc.N.configured_speed
+Configured Port Speed (read/write).
+Valid values are:
+0 Auto-speed negotiation (default), 4000 (4GFC), 8000 (8GFC), 16000 (16GFC).
+.It Va dev.ocs_fc.N.configured_topology
+Configured Port Topology (read/write).
+Valid values are:
+0-Auto; 1-NPort; 2-Loop.
+.It Va dev.ocs_fc.N.current_speed
+Current Port Speed (read-only).
+.It Va dev.ocs_fc.N.current_topology
+Current Port Topology (read-only).
+.El
+.Sh SUPPORT
+For general information and support,
+go to the Broadcom website at:
+.Pa http://www.broadcom.com/
+or E-Mail at
+.Pa ocs-driver-team.pdl@broadcom.com.
+.Sh SEE ALSO
+.Xr ifconfig 8
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+driver was written by
+.An Broadcom.
diff --git a/share/man/man4/pfsync.4 b/share/man/man4/pfsync.4
index 1a2383c..b12b3c8 100644
--- a/share/man/man4/pfsync.4
+++ b/share/man/man4/pfsync.4
@@ -26,7 +26,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd December 20, 2011
+.Dd August 18, 2017
.Dt PFSYNC 4
.Os
.Sh NAME
@@ -90,7 +90,7 @@ interface:
.Ed
.Pp
By default, state change messages are sent out on the synchronisation
-interface using IP multicast packets to the 244.0.0.240 group address.
+interface using IP multicast packets to the 224.0.0.240 group address.
An alternative destination address for
.Nm
packets can be specified using the
diff --git a/share/man/man4/spigen.4 b/share/man/man4/spigen.4
new file mode 100644
index 0000000..f432fb7
--- /dev/null
+++ b/share/man/man4/spigen.4
@@ -0,0 +1,206 @@
+.\"
+.\" Copyright (c) 2018 Ian Lepore <ian@freebsd.org>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\"
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd April 7, 2018
+.Dt SPIGEN 4
+.Os
+.Sh NAME
+.Nm spigen
+.Nd SPI generic I/O device driver
+.Sh SYNOPSIS
+To compile this driver into the kernel,
+place the following lines in your
+kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device spi"
+.Cd "device spibus"
+.Cd "device spigen"
+.Ed
+.Pp
+Alternatively, to load the driver as a
+module at boot time, place the following line in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+spigen_load="YES"
+.Ed
+.Sh DESCRIPTION
+The
+.Nm
+driver provides direct access to a slave device on the SPI bus.
+Each instance of a
+.Nm
+device is associated with a single chip-select
+line on the bus, and all I/O performed through that instance is done
+with that chip-select line asserted.
+.Pp
+SPI data transfers are inherently bi-directional; there are not separate
+read and write operations.
+When commands and data are sent to a device, data also comes back from
+the device, although in some cases the data may not be useful (or even
+documented or predictable for some devices).
+Likewise on a read operation, whatever data is in the buffer at the start
+of the operation is sent to (and typically ignored by) the device, with each
+outgoing byte then replaced in the buffer by the corresponding incoming byte.
+Thus, all buffers passed to the transfer functions are both input and
+output buffers.
+.Pp
+The
+.Nm
+driver provides access to the SPI slave device with the following
+.Xr ioctl 2
+calls, defined in
+.In sys/spigenio.h :
+.Bl -tag -width indent
+.It Dv SPIGENIOC_TRANSFER Pq Vt "struct spigen_transfer"
+Transfer a command and optional associated data to/from the device,
+using the buffers described by the st_command and st_data fields in the
+.Vt spigen_transfer .
+Set
+.Vt st_data.iov_len
+to zero if there is no data associated with the command.
+.Bd -literal
+struct spigen_transfer {
+ struct iovec st_command;
+ struct iovec st_data;
+};
+.Ed
+.It Dv SPIGENIOC_TRANSFER_MMAPPED Pq Vt "spigen_transfer_mmapped"
+Transfer a command and optional associated data to/from the device.
+The buffers for the transfer are a previously-mmap'd region.
+The length of the command and data within that region are described by the
+.Vt stm_command_length
+and
+.Vt stm_data_length
+fields of
+.Vt spigen_transfer_mmapped .
+If
+.Vt stm_data_length
+is non-zero, the data appears in the memory region immediately
+following the command (that is, at offset
+.Vt stm_command_length
+from the start of the mapped region).
+.Bd -literal
+struct spigen_transfer_mmapped {
+ size_t stm_command_length;
+ size_t stm_data_length;
+};
+.Ed
+.It Dv SPIGENIOC_GET_CLOCK_SPEED Pq Vt uint32_t
+Get the maximum clock speed (bus frequency in Hertz) to be used
+when communicating with this slave device.
+.It Dv SPIGENIOC_SET_CLOCK_SPEED Pq Vt uint32_t
+Set the maximum clock speed (bus frequency in Hertz) to be used
+when communicating with this slave device.
+The setting remains in effect for subsequent transfers; it
+is not necessary to reset this before each transfer.
+The actual bus frequency may be lower due to hardware limitiations
+of the SPI bus controller device.
+.It Dv SPIGENIOC_GET_SPI_MODE Pq Vt uint32_t
+Get the SPI mode (clock polarity and phase) to be used
+when communicating with this device.
+.It Dv SPIGENIOC_SET_SPI_MODE Pq Vt uint32_t
+Set the SPI mode (clock polarity and phase) to be used
+when communicating with this device.
+The setting remains in effect for subsequent transfers; it
+is not necessary to reset this before each transfer.
+.El
+.Sh HINTS CONFIGURATION
+On a
+.Xr device.hints 5
+based system, such as
+.Li MIPS ,
+these values are configurable for
+.Nm :
+.Bl -tag -width indent
+.It Va hint.spigen.%d.at
+The spibus the
+.Nm
+instance is attached to.
+.It Va hint.spigen.%d.clock
+The maximum bus frequency to use when communicating with this device.
+Actual bus speed may be lower, depending on the capabilities of the SPI
+bus controller hardware.
+.It Va hint.spigen.%d.cs
+The chip-select number to assert when performing I/O for this device.
+Set the high bit (1 << 31) to invert the logic level of the chip select line.
+.It Va hint.spigen.%d.mode
+The SPI mode (0-3) to use when communicating with this device.
+.El
+.Sh FDT CONFIGURATION
+On an
+.Xr fdt 4
+based system, the spigen device is defined as a slave device subnode
+of the SPI bus controller node.
+All properties documented in the
+.Va spibus.txt
+bindings document can be used with the
+.Nm
+device.
+The most commonly-used ones are documented below.
+.Pp
+The following properties are required in the
+.Nm
+device subnode:
+.Bl -tag -width indent
+.It Va compatible
+Must be the string "freebsd,spigen".
+.It Va reg
+Chip select address of device.
+.It Va spi-max-frequency
+The maximum bus frequency to use when communicating with this slave device.
+Actual bus speed may be lower, depending on the capabilities of the SPI
+bus controller hardware.
+.El
+.Pp
+The following properties are optional for the
+.Nm
+device subnode:
+.Bl -tag -width indent
+.It Va spi-cpha
+Empty property indicating the slave device requires shifted clock
+phase (CPHA) mode.
+.It Va spi-cpol
+Empty property indicating the slave device requires inverse clock
+polarity (CPOL) mode.
+.It Va spi-cs-high
+Empty property indicating the slave device requires chip select active high.
+.El
+.Sh FILES
+.Bl -tag -width -compact
+.It Pa /dev/spigen*
+.El
+.Sh SEE ALSO
+.Xr fdt 4 ,
+.Xr device.hints 5
+.Sh HISTORY
+The
+.Nm
+driver
+appeared in
+.Fx 11.0 .
+FDT support appeared in
+.Fx 11.2 .
diff --git a/share/man/man4/tty.4 b/share/man/man4/tty.4
index ef5bed8..0806d30 100644
--- a/share/man/man4/tty.4
+++ b/share/man/man4/tty.4
@@ -360,9 +360,9 @@ is cleared in the terminal.
The total number of input and output bytes
through all terminal devices
are available via the
-.Va kern.tk_nin
+.Va kern.tty_nin
and
-.Va kern.tk_nout
+.Va kern.tty_nout
read-only
.Xr sysctl 8
variables.
diff --git a/share/man/man4/udbp.4 b/share/man/man4/udbp.4
index b455901..3ac8b3f 100644
--- a/share/man/man4/udbp.4
+++ b/share/man/man4/udbp.4
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd November 22, 2006
+.Dd October 20, 2017
.Dt UDBP 4
.Os
.Sh NAME
@@ -48,9 +48,14 @@ udbp_load="YES"
The
.Nm
driver provides support for host-to-host cables
-that contain at least two bulk pipes (one for each direction),
-for example
-the EzLink cable and the NetChip 1080 chip.
+that contain at least two bulk pipes (one for each direction).
+This typically includes cables branded for use with
+.Sy Windows USB Easy Transfer ,
+and many cables based on the Prolific PL2xx1 series of USB bridge chips.
+A useful (but non-comprehensive) list of compatible USB host cables
+is listed in the
+.Sx SEE ALSO
+section below.
.Pp
.\" XXX The description of how to add netgraph to the kernel
.\" is out of place here. It should be limited to the
@@ -86,30 +91,64 @@ module and then the
.Nm
driver.
.Pp
-.Dl ngctl mkpeer udbp0: iface data inet
-.Dl ifconfig ng0 10.0.0.1 10.0.0.2
+.Dl ngctl mkpeer udbp0: eiface data ether
+.Dl ifconfig ngeth0 ether aa:dd:xx:xx:xx
+.Dl ifconfig ngeth0 inet 169.254.x.x/16
.Pp
-Create a new network interface node
-and connect its inet hook to the data hook of the
+Create a new Ethernet network interface node
+and connect its ether hook to the data hook of the
.Nm
-node.
-.Xr ifconfig 8
-configures the resulting network interface ng0 with a local
-IP address of 10.0.0.1 and a remote IP address of 10.0.0.2.
-On the remote host, the two
-IP addresses should of course be reversed.
+driver.
+.Pp
+This enables FreeBSD to communicate with a Linux peer (e.g. using the
+.Sy plusb
+driver).
+The Linux node should be configured to prefer link-local IPv4 addresses
+(e.g. using Network Manager in Debian and Red Hat derived distributions).
+.Pp
+Whilst both FreeBSD and Linux are able to interoperate by
+loosely following CDC EEM 1.0 in their behaviour, neither implementation
+has been expressly designed to follow its specification.
.Sh SEE ALSO
.Xr netgraph 4 ,
-.Xr ng_iface 4 ,
+.Xr ng_eiface 4 ,
.Xr ohci 4 ,
.Xr uhci 4 ,
.Xr usb 4 ,
.Xr ngctl 8
+.\"
+.Rs
+.%B Universal Serial Bus: Communications Class Subclass Specification for Ethernet Emulation Model Devices
+.%N Revision 1.0
+.%D February 2, 2005
+.%I USB Implementers Forum, Inc.
+.%U http://www.usb.org/developers/docs/devclass_docs/CDC_EEM10.pdf
+.Re
+.\"
+.Rs
+.%B Total Commander: Supported cables for USB cable connection
+.%I Ghisler Software GmbH.
+.%U https://www.ghisler.com/cables/index.htm
+.Re
+.Sh CAVEATS
+The point-to-point nature and additional latency of USB host-host links
+makes them unsuitable as a "drop-in" replacement for an Ethernet LAN;
+for a USB 3.0 SuperSpeed cable, latency is comparable to 100BaseTX Ethernet
+(but often worse), with throughput comparable to 2.5GBASE-T.
+.Pp
+However, their energy efficiency makes them attractive for embedded
+applications. A Plugable PL27A1 cable claims 24mA of USB3 bus power,
+as compared to 150mA for a typical USB 3.0 to Gigabit Ethernet interface.
.Sh HISTORY
The
.Nm
driver first appeared in
.Fx 5.0 .
+.Sh BUGS
+The
+.Nm
+driver does not support the special packets described in section 5.1
+of the CDC EEM specification.
.Sh AUTHORS
.An -nosplit
The
@@ -121,4 +160,6 @@ and
.An Nick Hibma Aq Mt n_hibma@FreeBSD.org .
.Pp
This manual page was written by
-.An Nick Hibma Aq Mt n_hibma@FreeBSD.org .
+.An Nick Hibma Aq Mt n_hibma@FreeBSD.org
+and updated by
+.An Bruce Simpson Aq Mt bms@FreeBSD.org .
diff --git a/share/man/man4/usb_template.4 b/share/man/man4/usb_template.4
index 786f323..2a9249c 100644
--- a/share/man/man4/usb_template.4
+++ b/share/man/man4/usb_template.4
@@ -23,7 +23,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd June 8, 2016
+.Dd January 30, 2018
.Dt USB_TEMPLATE 4
.Os
.
@@ -61,13 +61,16 @@ descriptors.
.
USB templates are selected using the
.Va hw.usb.template
-sysctl and tunable.
-.
-The
+sysctl and tunable,
+or by using the
+.Xr usbconfig 8
+.Cm set_template
+subcommand.
+Changing the
.Va hw.usb.template
-value can be changed at any time, but will not
-have any effect until the USB device has been re-enumerated.
-.
+sysctl triggers reenumeration by the USB host; changes to other sysctls
+may not be visible to the host until reenumeration is performed.
+.Pp
Available templates are:
.Bl -column -offset 3n "Value"
.It Em Value Ta Em Description
@@ -83,10 +86,33 @@ Available templates are:
.It Dv 9 Ta USB MIDI
.El
.
+.Sh SYSCTL VARIABLES
+The following variables are available as both
+.Xr sysctl 8
+variables and
+.Xr loader 8
+tunables:
+.Bl -tag -width indent
+.It Va hw.usb.template
+Currently selected template.
+Set to -1 to make the device disappear from the USB host point of view.
+.It Va hw.usb.templates.N
+Configuration for template number
+.Va N .
+.It Va hw.usb.templates.N.vendor_id
+16-bit vendor identifier (VID), usually assigned by USB-IF.
+.It Va hw.usb.templates.N.product_id
+16-bit product identifier (PID).
+.It Va hw.usb.templates.N.manufacturer
+String containing human-readable manufacturer name.
+.It Va hw.usb.templates.N.product
+String containing human-readable product name.
+.El
.Sh SEE ALSO
.Xr cfumass 4 ,
.Xr usb 4 ,
-.Xr usfs 4
+.Xr usfs 4 ,
+.Xr usbconfig 8
.Sh STANDARDS
The
.Nm
diff --git a/share/man/man4/usfs.4 b/share/man/man4/usfs.4
index e8610be..a81f671 100644
--- a/share/man/man4/usfs.4
+++ b/share/man/man4/usfs.4
@@ -65,4 +65,5 @@ Upon attach the driver creates a RAM disk which can be read and written.
.Sh HISTORY
The
.Nm
-driver appeared in FreeBSD 8.
+driver appeared in
+.Fx 8.0 .
diff --git a/share/man/man5/autofs.5 b/share/man/man5/autofs.5
index 91a4480..75eb997 100644
--- a/share/man/man5/autofs.5
+++ b/share/man/man5/autofs.5
@@ -27,7 +27,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd September 3, 2014
+.Dd December 2, 2017
.Dt AUTOFS 5
.Os
.Sh NAME
@@ -68,6 +68,45 @@ Mount options for all filesystems specified in the map entry.
.It Cm master_prefix
Filesystem mountpoint prefix.
.El
+.Sh SYSCTL VARIABLES
+The following variables are available as both
+.Xr sysctl 8
+variables and
+.Xr loader 8
+tunables:
+.Bl -tag -width indent
+.It Va vfs.autofs.debug
+Verbosity level for log messages from the
+.Nm
+driver.
+Set to 0 to disable logging or 1 to warn about potential problems.
+Larger values enable debugging output.
+Defaults to 1.
+.It Va vfs.autofs.interruptible
+Set to 1 to allow mount requests to be interrupted by signal.
+Defaults to 1.
+.It Va vfs.autofs.retry_delay
+Number of seconds before retrying mount requests.
+Defaults to 1.
+.It Va vfs.autofs.retry_attempts
+Number of attempts before failing mount.
+Defaults to 3.
+.It Va vfs.autofs.cache
+Number of seconds to wait before reinvoking
+.Xr automountd 8
+for any given file or directory.
+Defaults to 600.
+.It Va vfs.autofs.timeout
+Number of seconds to wait for
+.Xr automountd 8
+to handle the mount request.
+Defaults to 30.
+.It Va vfs.autofs.mount_on_stat
+Set to 1 to trigger mount on
+.Xr stat 2
+on mountpoint.
+Defaults to 0.
+.El
.Sh EXAMPLES
To unmount all mounted
.Nm
diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5
index 0ccfea4..13ec2b7 100644
--- a/share/man/man5/rc.conf.5
+++ b/share/man/man5/rc.conf.5
@@ -594,6 +594,44 @@ module if
is also set to
.Dq Li YES .
.\" -------------------------------------------------------------------
+.It Va ipfw_netflow_enable
+.Pq Vt bool
+Setting this to
+.Dq Li YES
+will enable netflow logging via
+.Xr ng_netflow 4
+.Pp
+By default a ipfw rule is inserted and all packets are duplicated with
+the ngtee command and netflow packets are sent to 127.0.0.1 on the netflow
+port using protocol version 5.
+.It Va ipfw_netflow_hook
+.Pq Vt int
+netflow hook name, must be numerical
+(default
+.Pa 9995 ) .
+.It Va ipfw_netflow_rule
+.Pq Vt int
+ipfw rule number
+(default
+.Pa 1000 ) .
+.It Va ipfw_netflow_ip
+.Pq Vt str
+Destination server ip for receiving netflow data
+(default
+.Pa 127.0.0.1 ) .
+.It Va ipfw_netflow_port
+.Pq Vt int
+Destination server port for receiving netflow data
+(default
+.Pa 9995 ) .
+.It Va ipfw_netflow_version
+.Pq Vt int
+Do not set for using version 5 of the netflow protocol, set it to 9 for using version 9.
+.It Va ipfw_netflow_fib
+.Pq Vt int
+Only match packet in FIB
+.Pa ipfw_netflow_fib
+(default is undefined meaning all FIBs).
.It Va natd_program
.Pq Vt str
Path to
diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5
index 4f7660b..aa572b8 100644
--- a/share/man/man5/src.conf.5
+++ b/share/man/man5/src.conf.5
@@ -1,6 +1,6 @@
.\" DO NOT EDIT-- this file is generated by tools/build/options/makeman.
.\" $FreeBSD$
-.Dd January 8, 2018
+.Dd April 8, 2018
.Dt SRC.CONF 5
.Os
.Sh NAME
@@ -392,6 +392,8 @@ When set, it enforces these options:
.Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
.It
.Va WITHOUT_GCC_BOOTSTRAP
+.It
+.Va WITHOUT_LLD_BOOTSTRAP
.El
.It Va WITHOUT_CRYPT
Set to not build any crypto code.
@@ -600,7 +602,7 @@ and
.Xr efivar 8 .
.Pp
This is a default setting on
-mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64.
+mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, pc98/i386, powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64.
.It Va WITH_EFI
Set to build
.Xr efivar 3
@@ -608,7 +610,7 @@ and
.Xr efivar 8 .
.Pp
This is a default setting on
-amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm64/aarch64, i386/i386 and pc98/i386.
+amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm64/aarch64 and i386/i386.
.It Va WITH_EISA
Set to build EISA kernel modules.
.It Va WITHOUT_ELFCOPY_AS_OBJCOPY
@@ -731,6 +733,14 @@ This is the default on platforms where gcc is the system compiler.
.Pp
This is a default setting on
mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64.
+.It Va WITHOUT_GNU_DIFF
+Set to not build GNU
+.Xr diff 1
+and
+.Xr diff3 1 .
+.It Va WITHOUT_GNU_GREP
+Set to not build GNU
+.Xr grep 1 .
.It Va WITHOUT_GNU_GREP_COMPAT
Set this option to omit the gnu extensions to grep from being included in
BSD grep.
@@ -860,6 +870,9 @@ Set to build some programs without Kerberos support, like
.Xr sshd 8 ,
and
.Xr telnetd 8 .
+.It Va WITH_KERNEL_RETPOLINE
+Set to enable the "retpoline" mitigation for CVE-2017-5715 in the kernel
+build.
.It Va WITHOUT_KERNEL_SYMBOLS
Set to not install kernel symbol files.
.Bf -symbolic
@@ -982,6 +995,34 @@ Set to use LLVM's libunwind stack unwinder (instead of GCC's unwinder).
.Pp
This is a default setting on
arm64/aarch64.
+.It Va WITH_LOADER_FIREWIRE
+Enable firewire support in /boot/loader and /boot/zfsloader on x86.
+This option is a nop on all other platforms.
+.It Va WITHOUT_LOADER_GELI
+Disable inclusion of GELI crypto support in the boot chain binaries.
+.Pp
+This is a default setting on
+arm/arm, arm/armeb, arm/armv6, arm64/aarch64, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64.
+.It Va WITHOUT_LOADER_OFW
+Disable building of openfirmware bootloader components.
+.Pp
+This is a default setting on
+amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32 and pc98/i386.
+.It Va WITH_LOADER_OFW
+Set to build openfirmware bootloader components.
+.Pp
+This is a default setting on
+powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64.
+.It Va WITHOUT_LOADER_UBOOT
+Disable building of ubldr.
+.Pp
+This is a default setting on
+amd64/amd64, arm64/aarch64, i386/i386, pc98/i386 and sparc64/sparc64.
+.It Va WITH_LOADER_UBOOT
+Set to build ubldr.
+.Pp
+This is a default setting on
+arm/arm, arm/armeb, arm/armv6, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, powerpc/powerpc and powerpc/powerpc64.
.It Va WITHOUT_LOCALES
Set to not build localization files; see
.Xr locale 1 .
@@ -1117,6 +1158,18 @@ This must be set in the environment, make command line, or
.Pa /etc/src-env.conf ,
not
.Pa /etc/src.conf .
+.It Va WITHOUT_MLX5TOOL
+Set to not build
+.Xr mlx5tool 8
+.Pp
+This is a default setting on
+arm/arm, arm/armeb, arm/armv6, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32 and powerpc/powerpc.
+.It Va WITH_MLX5TOOL
+Set to build
+.Xr mlx5tool 8
+.Pp
+This is a default setting on
+amd64/amd64, arm64/aarch64, i386/i386, pc98/i386, powerpc/powerpc64 and sparc64/sparc64.
.It Va WITH_NAND
Set to build the NAND Flash components.
.It Va WITHOUT_NDIS
diff --git a/share/man/man6/intro.6 b/share/man/man6/intro.6
index 797472f..d397838 100644
--- a/share/man/man6/intro.6
+++ b/share/man/man6/intro.6
@@ -27,30 +27,33 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 16, 1997
+.Dd November 27, 2017
.Dt INTRO 6
.Os
.Sh NAME
.Nm intro
.Nd "introduction to games"
.Sh DESCRIPTION
-This section contains information about games.
+This section contains information about the traditional BSD games.
The games
are located in
.Pa /usr/bin
if installed.
-You can get a short overview about all the games with the
-command:
-.Bd -literal -offset indent
-$ apropos '\\(6\\)'
-.Ed
.Sh FILES
.Bl -tag -width /usr/bin -compact
.It Pa /usr/bin
location of games
.El
.Sh SEE ALSO
-.Xr intro 1
+.Xr intro 1 ,
+.Xr banner 6 ,
+.Xr caesar 6 ,
+.Xr fortune 6 ,
+.Xr grdc 6 ,
+.Xr morse 6 ,
+.Xr number 6 ,
+.Xr pom 6 ,
+.Xr random 6
.Sh HISTORY
In earlier versions of
.Fx ,
@@ -61,3 +64,5 @@ The
.Nm
section manual page appeared in
.Fx 2.2 .
+Most of the games were moved into the bsdgames port in
+.Fx 5.0 .
diff --git a/share/man/man7/ascii.7 b/share/man/man7/ascii.7
index 586a537..3b5c120 100644
--- a/share/man/man7/ascii.7
+++ b/share/man/man7/ascii.7
@@ -28,7 +28,7 @@
.\" @(#)ascii.7 8.1 (Berkeley) 6/5/93
.\" $FreeBSD$
.\"
-.Dd March 10, 2017
+.Dd October 30, 2017
.Dt ASCII 7
.Os
.Sh NAME
@@ -137,7 +137,7 @@ CAN 8 X x 11000
EM 9 Y y 11001
SUB : Z z 11010
ESC ; [ { 11011
- FS < \ | 11100
+ FS < \e\ | 11100
GS = ] } 11101
RS > ^ - 11110
US ? _ DEL 11111
diff --git a/share/man/man7/release.7 b/share/man/man7/release.7
index 4e4d9d3..71bcb3a 100644
--- a/share/man/man7/release.7
+++ b/share/man/man7/release.7
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd November 28, 2017
+.Dd March 28, 2018
.Dt RELEASE 7
.Os
.Sh NAME
@@ -687,6 +687,23 @@ cd /usr/src/release
sh release.sh -c $HOME/release.conf
.Ed
.Pp
+Configuration files specific to various supported embedded systems, such as
+the Raspberry Pi, exist in the directory corresponding to the
+.Va TARGET
+.Xr make 1
+variable.
+For example, to build an image for the Raspberry Pi:
+.Bd -literal -offset indent
+cd /usr/src/release
+sh release.sh -c arm/RPI-B.conf
+.Ed
+.Pp
+To build an image for the Raspberry Pi 3:
+.Bd -literal -offset indent
+cd /usr/src/release
+sh release.sh -c arm64/RPI3.conf
+.Ed
+.Pp
After running these commands, all prepared release files are available in the
.Pa /scratch
directory.
@@ -709,7 +726,7 @@ variable in
.Xr sysctl 8
.Rs
.%T "FreeBSD Release Engineering"
-.%U http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/releng/
+.%U https://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/freebsd-releng/
.Re
.Rs
.%T "FreeBSD Developers' Handbook"
diff --git a/share/man/man7/tuning.7 b/share/man/man7/tuning.7
index be692b8..ff79b48 100644
--- a/share/man/man7/tuning.7
+++ b/share/man/man7/tuning.7
@@ -23,7 +23,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd March 22, 2017
+.Dd October 30, 2017
.Dt TUNING 7
.Os
.Sh NAME
@@ -41,8 +41,7 @@ Configuring too little swap can lead
to inefficiencies in the VM page scanning code as well as create issues
later on if you add more memory to your machine.
On larger systems
-with multiple SCSI disks (or multiple IDE disks operating on different
-controllers), configure swap on each drive.
+with multiple disks, configure swap on each drive.
The swap partitions on the drives should be approximately the same size.
The kernel can handle arbitrary sizes but
internal data structures scale to 4 times the largest swap partition.
@@ -176,11 +175,6 @@ This
means you want to use a large off-center stripe size such as 1152 sectors
so sequential I/O does not seek both disks and so meta-data is distributed
across both disks rather than concentrated on a single disk.
-If
-you really need to get sophisticated, we recommend using a real hardware
-RAID controller from the list of
-.Fx
-supported controllers.
.Sh SYSCTL TUNING
.Xr sysctl 8
variables permit system behavior to be monitored and controlled at
@@ -347,9 +341,6 @@ is adhered to.
.Pp
There are various other buffer-cache and VM page cache related sysctls.
We do not recommend modifying these values.
-As of
-.Fx 4.3 ,
-the VM system does an extremely good job tuning itself.
.Pp
The
.Va net.inet.tcp.sendspace
@@ -547,30 +538,12 @@ and reboot the system.
.Va kern.maxusers
controls the scaling of a number of static system tables, including defaults
for the maximum number of open files, sizing of network memory resources, etc.
-As of
-.Fx 4.5 ,
.Va kern.maxusers
is automatically sized at boot based on the amount of memory available in
the system, and may be determined at run-time by inspecting the value of the
read-only
.Va kern.maxusers
sysctl.
-Some sites will require larger or smaller values of
-.Va kern.maxusers
-and may set it as a loader tunable; values of 64, 128, and 256 are not
-uncommon.
-We do not recommend going above 256 unless you need a huge number
-of file descriptors; many of the tunable values set to their defaults by
-.Va kern.maxusers
-may be individually overridden at boot-time or run-time as described
-elsewhere in this document.
-Systems older than
-.Fx 4.4
-must set this value via the kernel
-.Xr config 8
-option
-.Cd maxusers
-instead.
.Pp
The
.Va kern.dfldsiz
@@ -619,14 +592,6 @@ The
option to
.Xr netstat 1
may be used to observe network cluster use.
-Older versions of
-.Fx
-do not have this tunable and require that the
-kernel
-.Xr config 8
-option
-.Dv NMBCLUSTERS
-be set instead.
.Pp
More and more programs are using the
.Xr sendfile 2
@@ -705,11 +670,6 @@ can be used to monitor this.
There are many solutions to saturated disks:
increasing memory for caching, mirroring disks, distributing operations across
several machines, and so forth.
-If disk performance is an issue and you
-are using IDE drives, switching to SCSI can help a great deal.
-While modern
-IDE drives compare with SCSI in raw sequential bandwidth, the moment you
-start seeking around the disk SCSI drives usually win.
.Pp
Finally, you might run out of network suds.
Optimize the network path
@@ -718,10 +678,7 @@ For example, in
.Xr firewall 7
we describe a firewall protecting internal hosts with a topology where
the externally visible hosts are not routed through it.
-Use 1000BaseT rather
-than 100BaseT, depending on your needs.
-Most bottlenecks occur at the WAN link (e.g.,\&
-modem, T1, DSL, whatever).
+Most bottlenecks occur at the WAN link.
If expanding the link is not an option it may be possible to use the
.Xr dummynet 4
feature to implement peak shaving or other forms of traffic shaping to
diff --git a/share/man/man8/Makefile b/share/man/man8/Makefile
index 5348575..bd6f679 100644
--- a/share/man/man8/Makefile
+++ b/share/man/man8/Makefile
@@ -35,7 +35,7 @@ MLINKS+=yp.8 NIS.8 \
yp.8 YP.8
.endif
-.if ${MACHINE_CPUARCH} == "amd64"
+.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64"
_uefi.8= uefi.8
.endif
diff --git a/share/man/man9/EVENTHANDLER.9 b/share/man/man9/EVENTHANDLER.9
index 93dcfc0..18511a9 100644
--- a/share/man/man9/EVENTHANDLER.9
+++ b/share/man/man9/EVENTHANDLER.9
@@ -23,7 +23,7 @@
.\" SUCH DAMAGE.
.\" $FreeBSD$
.\"
-.Dd October 1, 2017
+.Dd October 31, 2017
.Dt EVENTHANDLER 9
.Os
.Sh NAME
@@ -38,6 +38,9 @@
.Fn EVENTHANDLER_REGISTER name func arg priority
.Fn EVENTHANDLER_DEREGISTER name tag
.Fn EVENTHANDLER_DEREGISTER_NOWAIT name tag
+.Fn EVENTHANDLER_LIST_DECLARE name
+.Fn EVENTHANDLER_LIST_DEFINE name
+.Fn EVENTHANDLER_DIRECT_INVOKE name
.Ft eventhandler_tag
.Fo eventhandler_register
.Fa "struct eventhandler_list *list"
@@ -82,8 +85,13 @@ may be used if the handler does not have a specific priority
associated with it.
.Pp
The normal way to use this subsystem is via the macro interface.
-The macros that can be used for working with event handlers and callback
-function lists are:
+For events that are high frequency it is suggested that you additionally use
+.Fn EVENTHANDLER_LIST_DEFINE
+so that the event handlers can be invoked directly using
+.Fn EVENTHANDLER_DIRECT_INVOKE
+(see below).
+This saves the invoker from having to do a locked traversal of a global
+list of event handler lists.
.Bl -tag -width indent
.It Fn EVENTHANDLER_DECLARE
This macro declares an event handler named by argument
@@ -148,6 +156,27 @@ Additional arguments to the macro after the
.Fa name
parameter are passed as the second and subsequent arguments to each
registered callback function.
+.It Fn EVENTHANDLER_LIST_DEFINE
+This macro defines a reference to an event handler list named by
+argument
+.Fa name .
+It uses
+.Xr SYSINIT 9
+to initialize the reference and the eventhandler list.
+.It Fn EVENTHANDLER_LIST_DECLARE
+This macro declares an event handler list named by argument
+.Fa name .
+This is only needed for users of
+.Fn EVENTHANDLER_DIRECT_INVOKE
+which are not in the same compilation unit of that list's definition.
+.It Fn EVENTHANDLER_DIRECT_INVOKE
+This macro invokes the event handlers registered for the list named by
+argument
+.Fa name .
+This macro can only be used if the list was defined with
+.Fn EVENTHANDLER_LIST_DEFINE .
+The macro is variadic with the same semantics as
+.Fn EVENTHANDLER_INVOKE .
.El
.Pp
The macros are implemented using the following functions:
@@ -315,7 +344,7 @@ This is never called.
.It Vt process_fork
Callbacks invoked when a process forks a child.
.It Vt process_init
-Callback invoked when a process is initalized.
+Callback invoked when a process is initialized.
.It Vt random_adaptor_attach
Callback invoked when a new random module has been loaded.
.It Vt register_framebuffer
@@ -337,7 +366,7 @@ Callback invoked when a thread object is created.
.It Vt thread_dtor
Callback invoked when a thread object is destroyed.
.It Vt thread_init
-Callback invoked when a thread object is initalized.
+Callback invoked when a thread object is initialized.
.It Vt thread_fini
Callback invoked when a thread object is deinitalized.
.It Vt usb_dev_configured
@@ -384,4 +413,6 @@ facility first appeared in
.Fx 4.0 .
.Sh AUTHORS
This manual page was written by
-.An Joseph Koshy Aq Mt jkoshy@FreeBSD.org .
+.An Joseph Koshy Aq Mt jkoshy@FreeBSD.org
+and
+.An Matt Joras Aq Mt mjoras@FreeBSD.org .
diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile
index 720ab98..9adb912 100644
--- a/share/man/man9/Makefile
+++ b/share/man/man9/Makefile
@@ -121,6 +121,7 @@ MAN= accept_filter.9 \
eventtimers.9 \
extattr.9 \
fail.9 \
+ fdt_pinctrl.9 \
fetch.9 \
firmware.9 \
fpu_kern.9 \
@@ -721,7 +722,8 @@ MLINKS+=devstat.9 devicestat.9 \
devstat.9 devstat_end_transaction.9 \
devstat.9 devstat_remove_entry.9 \
devstat.9 devstat_start_transaction.9
-MLINKS+=disk.9 disk_alloc.9 \
+MLINKS+=disk.9 disk_add_alias.9 \
+ disk.9 disk_alloc.9 \
disk.9 disk_create.9 \
disk.9 disk_destroy.9 \
disk.9 disk_gone.9 \
@@ -768,6 +770,10 @@ MLINKS+=fail.9 KFAIL_POINT_CODE.9 \
fail.9 KFAIL_POINT_GOTO.9 \
fail.9 KFAIL_POINT_RETURN.9 \
fail.9 KFAIL_POINT_RETURN_VOID.9
+MLINKS+=fdt_pinctrl.9 fdt_pinctrl_configure.9 \
+ fdt_pinctrl.9 fdt_pinctrl_configure_by_name.9 \
+ fdt_pinctrl.9 fdt_pinctrl_configure_tree.9 \
+ fdt_pinctrl.9 fdt_pinctrl_register.9
MLINKS+=fetch.9 fubyte.9 \
fetch.9 fuswintr.9 \
fetch.9 fuword.9 \
@@ -1597,6 +1603,7 @@ MLINKS+=sleep.9 msleep.9 \
sleep.9 msleep_spin.9 \
sleep.9 msleep_spin_sbt.9 \
sleep.9 pause.9 \
+ sleep.9 pause_sig.9 \
sleep.9 pause_sbt.9 \
sleep.9 tsleep.9 \
sleep.9 tsleep_sbt.9 \
diff --git a/share/man/man9/altq.9 b/share/man/man9/altq.9
index 23d2510..76fbad4 100644
--- a/share/man/man9/altq.9
+++ b/share/man/man9/altq.9
@@ -28,7 +28,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd August 25, 2004
+.Dd March 20, 2018
.Dt ALTQ 9
.Os
.\"
@@ -595,4 +595,8 @@ is called immediately after
.Sh HISTORY
The
.Nm
-system first appeared in March 1997.
+system first appeared in March 1997 and found home in the KAME project
+(http://www.kame.net).
+It was imported to
+.Fx
+in 5.3 .
diff --git a/share/man/man9/fdt_pinctrl.9 b/share/man/man9/fdt_pinctrl.9
new file mode 100644
index 0000000..3c09b93
--- /dev/null
+++ b/share/man/man9/fdt_pinctrl.9
@@ -0,0 +1,161 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 2018 Oleksandr Tymoshenko
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd March 2, 2018
+.Dt fdt_pinctrl 9
+.Os
+.Sh NAME
+.Nm fdt_pinctrl
+.Nd helper functions for FDT pinmux controller drivers
+.Sh SYNOPSIS
+.In dev/fdt/fdt_pinctrl.h
+.Ft int
+.Fn fdt_pinctrl_configure "device_t client" "u_int index"
+.Ft int
+.Fn fdt_pinctrl_configure_by_name "device_t client" "const char * name"
+.Ft int
+.Fn fdt_pinctrl_register "device_t pinctrl" "const char *pinprop"
+.Ft int
+.Fn fdt_pinctrl_configure_tree "device_t pinctrl"
+.Sh DESCRIPTION
+.Xr fdt_pinctrl 4
+provides an API for manipulating I/O pin configurations on
+pinmux controllers and pinmux clients.
+On the controller side, the standard newbus probe and
+attach methods are implemented.
+This driver also implements the
+.Fn fdt_pinctrl_configure
+method, in which it calls the
+.Fn fdt_pinctrl_register
+function to register itself as a pinmux controller.
+Then
+.Fn fdt_pinctrl_configure_tree
+is used to walk the device tree and configure pins specified by the pinctrl-0
+property for all active devices.
+If a client device requires a pin configuration change at some
+point of its lifecycle, it uses the
+.Fn fdt_pinctrl_configure
+or
+.Fn fdt_pinctrl_configure_by_name
+functions.
+.Pp
+.Fn fdt_pinctrl_configure
+is used by client device
+.Fa client
+to request a pin configuration
+described by the pinctrl-N property with index
+.Fa index .
+.Pp
+.Fn fdt_pinctrl_configure_by_name
+is used by client device
+.Fa client
+to request the pin configuration with name
+.Fa name .
+.Pp
+.Fn fdt_pinctrl_register
+registers a pinctrl driver so that it can be used by other devices which call
+.Fn fdt_pinctrl_configure
+or
+.Fn fdt_pinctrl_configure_by_name .
+The
+.Fa pinprop
+argument is the name of a property that
+identifies each descendant of the pinctrl
+node.
+The pinctrl node is a pin configuration
+node whose xref phandle can be passed to
+.Fn FDT_PINCTRL_CONFIGURE .
+If
+.Fa pinprop
+is
+.Dv NULL ,
+every descendant node is registered.
+It is possible for the driver to register itself
+as a pinmux controller for more than one pin property type
+by calling
+.Fn fdt_pinctrl_register
+multiple types.
+.Pp
+.Fn fdt_pinctrl_configure_tree
+walks through enabled devices in the device tree.
+If the pinctrl-0 property contains references
+to child nodes of the specified pinctrl device,
+their pins are configured.
+.Sh EXAMPLES
+.Bd -literal
+static int
+foo_configure_pins(device_t dev, phandle_t cfgxref)
+{
+ phandle_t cfgnode;
+ uint32_t *pins, *functions;
+ int npins, nfunctions;
+
+ cfgnode = OF_node_from_xref(cfgxref);
+ pins = NULL;
+ npins = OF_getencprop_alloc(cfgnode, "foo,pins", sizeof(*pins),
+ (void **)&pins);
+ functions = NULL;
+ nfunctions = OF_getencprop_alloc(cfgnode, "foo,functions",
+ sizeof(*functions), (void **)&functions);
+ ...
+}
+
+static int
+foo_attach(device_t dev)
+{
+ ...
+
+ fdt_pinctrl_register(dev, "foo,pins");
+ /*
+ * It is possible to register more than one pinprop handler
+ */
+ fdt_pinctrl_register(dev, "bar,pins");
+ fdt_pinctrl_configure_tree(dev);
+
+ return (0);
+}
+
+static device_method_t foo_methods[] = {
+ ...
+
+ /* fdt_pinctrl interface */
+ DEVMETHOD(fdt_pinctrl_configure, foo_configure_pins),
+
+ /* Terminate method list */
+ DEVMETHOD_END
+};
+
+DRIVER_MODULE(foo, simplebus, foo_driver, foo_devclass, NULL, NULL);
+.Ed
+.Sh SEE ALSO
+.Xr fdt_pinctrl 4 ,
+.Sh AUTHORS
+This manual page was written by
+.An Oleksandr Tymoshenko .
diff --git a/share/man/man9/g_bio.9 b/share/man/man9/g_bio.9
index 5bfbd01..e23ceba 100644
--- a/share/man/man9/g_bio.9
+++ b/share/man/man9/g_bio.9
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd May 17, 2016
+.Dd Mar 7, 2018
.Dt G_BIO 9
.Os
.Sh NAME
@@ -59,7 +59,7 @@ most important fields are described below:
.Bl -tag -width ".Va bio_attribute"
.It Va bio_cmd
I/O request command.
-There are four I/O requests available in GEOM:
+There are five I/O requests available in GEOM:
.Bl -tag -width ".Dv BIO_GETATTR"
.It Dv BIO_READ
A read request.
diff --git a/share/man/man9/pci.9 b/share/man/man9/pci.9
index d8b4b91..df913d9 100644
--- a/share/man/man9/pci.9
+++ b/share/man/man9/pci.9
@@ -42,6 +42,9 @@
.Nm pci_find_device ,
.Nm pci_find_extcap ,
.Nm pci_find_htcap ,
+.Nm pci_find_next_cap ,
+.Nm pci_find_next_extcap ,
+.Nm pci_find_next_htcap ,
.Nm pci_find_pcie_root_port ,
.Nm pci_get_id ,
.Nm pci_get_max_payload ,
@@ -100,6 +103,12 @@
.Fn pci_find_extcap "device_t dev" "int capability" "int *capreg"
.Ft int
.Fn pci_find_htcap "device_t dev" "int capability" "int *capreg"
+.Ft int
+.Fn pci_find_next_cap "device_t dev" "int capability" "int start" "int *capreg"
+.Ft int
+.Fn pci_find_next_extcap "device_t dev" "int capability" "int start" "int *capreg"
+.Ft int
+.Fn pci_find_next_htcap "device_t dev" "int capability" "int start" "int *capreg"
.Ft device_t
.Fn pci_find_pcie_root_port "device_t dev"
.Ft int
@@ -330,6 +339,22 @@ returns zero.
If the capability is not found or the device does not support capabilities,
.Fn pci_find_cap
returns an error.
+The
+.Fn pci_find_next_cap
+function is used to locate the next instance of a PCI capability
+register set for the device
+.Fa dev .
+The
+.Fa start
+should be the
+.Fa *capreg
+returned by a prior
+.Fn pci_find_cap
+or
+.Fn pci_find_next_cap .
+When no more instances are located
+.Fn pci_find_next_cap
+returns an error.
.Pp
The
.Fn pci_find_extcap
@@ -352,6 +377,22 @@ If the extended capability is not found or the device is not a
PCI-express device,
.Fn pci_find_extcap
returns an error.
+The
+.Fn pci_find_next_extcap
+function is used to locate the next instance of a PCI-express
+extended capability register set for the device
+.Fa dev .
+The
+.Fa start
+should be the
+.Fa *capreg
+returned by a prior
+.Fn pci_find_extcap
+or
+.Fn pci_find_next_extcap .
+When no more instances are located
+.Fn pci_find_next_extcap
+returns an error.
.Pp
The
.Fn pci_find_htcap
@@ -373,6 +414,22 @@ returns zero.
If the capability is not found or the device is not a HyperTransport device,
.Fn pci_find_htcap
returns an error.
+The
+.Fn pci_find_next_htcap
+function is used to locate the next instance of a HyperTransport capability
+register set for the device
+.Fa dev .
+The
+.Fa start
+should be the
+.Fa *capreg
+returned by a prior
+.Fn pci_find_htcap
+or
+.Fn pci_find_next_htcap .
+When no more instances are located
+.Fn pci_find_next_htcap
+returns an error.
.Pp
The
.Fn pci_find_pcie_root_port
diff --git a/share/man/man9/pfil.9 b/share/man/man9/pfil.9
index 2f28df6..c9d1a00 100644
--- a/share/man/man9/pfil.9
+++ b/share/man/man9/pfil.9
@@ -28,7 +28,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd August 23, 2013
+.Dd April 15, 2018
.Dt PFIL 9
.Os
.Sh NAME
@@ -37,7 +37,9 @@
.Nm pfil_head_unregister ,
.Nm pfil_head_get ,
.Nm pfil_add_hook ,
+.Nm pfil_add_hook_flags ,
.Nm pfil_remove_hook ,
+.Nm pfil_remove_hook_flags ,
.Nm pfil_run_hooks ,
.Nm pfil_rlock ,
.Nm pfil_runlock ,
@@ -51,6 +53,8 @@
.In net/pfil.h
.Bd -literal
typedef int (*pfil_func_t)(void *arg, struct mbuf **mp, struct ifnet *, int dir, struct inpcb);
+.Bd -literal
+typedef int (*pfil_func_flags_t)(void *arg, struct mbuf **mp, struct ifnet *, int dir, int flags, struct inpcb);
.Ft int
.Fn pfil_head_register "struct pfil_head *head"
.Ft int
@@ -58,11 +62,15 @@ typedef int (*pfil_func_t)(void *arg, struct mbuf **mp, struct ifnet *, int dir,
.Ft "struct pfil_head *"
.Fn pfil_head_get "int af" "u_long dlt"
.Ft void
-.Fn pfil_add_hook "pfil_func_t" "void *arg" "int flags" "struct pfil_head *"
+.Fn pfil_add_hook "pfil_func_t" "void *arg" "struct pfil_head *"
.Ft void
-.Fn pfil_remove_hook "pfil_func_t" "void *arg" "int flags" "struct pfil_head *"
+.Fn pfil_add_hook_flags "pfil_func_flags_t" "void *arg" "int flags" "struct pfil_head *"
+.Ft int
+.Fn pfil_remove_hook "pfil_func_t" "void *arg" "struct pfil_head *"
.Ft int
-.Fn pfil_run_hooks "struct pfil_head *head" "struct mbuf **mp" "struct ifnet *" "int dir" "struct inpcb *"
+.Fn pfil_remove_hook_flags "pfil_func_flags_t" "void *arg" "int flags" "struct pfil_head *"
+.Ft int
+.Fn pfil_run_hooks "struct pfil_head *head" "struct mbuf **mp" "struct ifnet *" "int dir" "int flags" "struct inpcb *"
.Ft void
.Fn pfil_rlock "struct pfil_head *" "struct rm_priotracker *"
.Ft void
@@ -116,6 +124,7 @@ with the
and
.Fn pfil_remove_hook
functions, respectively.
+.I
The head is looked up using the
.Fn pfil_head_get
function, which takes the key and data link type that the packet filter
@@ -135,6 +144,10 @@ interface that the packet is traversing, and the direction
or
.Dv PFIL_OUT )
that the packet is traveling.
+The
+.Vt flags
+argument will indicate if an outgoing packet is simply being forwarded with the
+value PFIL_FWD.
The filter may change which mbuf the
.Vt "mbuf\ **"
argument references.
diff --git a/share/man/man9/sleep.9 b/share/man/man9/sleep.9
index 9a72123..82aa25d 100644
--- a/share/man/man9/sleep.9
+++ b/share/man/man9/sleep.9
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd May 24, 2015
+.Dd March 4, 2018
.Dt SLEEP 9
.Os
.Sh NAME
@@ -34,6 +34,7 @@
.Nm msleep_spin ,
.Nm msleep_spin_sbt ,
.Nm pause ,
+.Nm pause_sig ,
.Nm pause_sbt ,
.Nm tsleep ,
.Nm tsleep_sbt ,
@@ -53,9 +54,11 @@
.Ft int
.Fn msleep_spin_sbt "void *chan" "struct mtx *mtx" "const char *wmesg" \
"sbintime_t sbt" "sbintime_t pr" "int flags"
-.Ft void
+.Ft int
.Fn pause "const char *wmesg" "int timo"
-.Ft void
+.Ft int
+.Fn pause_sig "const char *wmesg" "int timo"
+.Ft int
.Fn pause_sbt "const char *wmesg" "sbintime_t sbt" "sbintime_t pr" \
"int flags"
.Ft int
@@ -73,6 +76,8 @@ The functions
.Fn msleep ,
.Fn msleep_spin ,
.Fn pause ,
+.Fn pause_sig ,
+.Fn pause_sbt ,
.Fn wakeup ,
and
.Fn wakeup_one
@@ -82,8 +87,10 @@ external event, it is put to sleep by
.Fn tsleep ,
.Fn msleep ,
.Fn msleep_spin ,
+.Fn pause ,
+.Fn pause_sig ,
or
-.Fn pause .
+.Fn pause_sbt .
Threads may also wait using one of the locking primitive sleep routines
.Xr mtx_sleep 9 ,
.Xr rw_sleep 9 ,
@@ -248,6 +255,11 @@ The thread can not be awakened early by signals or calls to
.Fn wakeup
or
.Fn wakeup_one .
+The
+.Fn pause_sig
+function is a variant of
+.Fn pause
+which can be awakened early by signals.
.Pp
The
.Fn wakeup_one
@@ -385,6 +397,10 @@ The
.Fn pause
function appeared in
.Fx 7.0 .
+The
+.Fn pause_sig
+function appeared in
+.Fx 12.0 .
.Sh AUTHORS
.An -nosplit
This manual page was written by
diff --git a/share/man/man9/timeout.9 b/share/man/man9/timeout.9
index 54b63d2..4f24af6 100644
--- a/share/man/man9/timeout.9
+++ b/share/man/man9/timeout.9
@@ -327,7 +327,6 @@ The
.Fa drain
function itself is called from the context of the completing callout
i.e. softclock or hardclock, just like a callout itself.
-p
.Pp
The function
.Fn callout_drain
diff --git a/share/misc/bsd-family-tree b/share/misc/bsd-family-tree
index ff36c6f..063731b 100644
--- a/share/misc/bsd-family-tree
+++ b/share/misc/bsd-family-tree
@@ -176,7 +176,7 @@ FreeBSD 4.0 | | | | | NetBSD 1.4.2 | |
| | | | \
FreeBSD 5.0 | | | |
| | | | |
-FreeBSD 5.1 | | | DragonFly 1.0
+FreeBSD 5.1 | | | DragonFly 1.0
| \ | | | |
| ----- Mac OS X | | |
| 10.3 | | |
@@ -187,7 +187,7 @@ FreeBSD 5.2 | | | |
*-------FreeBSD 5.3 | | | |
| | | | OpenBSD 3.6 |
| | | NetBSD 2.0 | |
- | | | | | | | DragonFly 1.2.0
+ | | | | | | | DragonFly 1.2.0
| | Mac OS X | | NetBSD 2.0.2 | |
| | 10.4 | | | | |
| FreeBSD 5.4 | | | | | |
@@ -200,50 +200,50 @@ FreeBSD 5.2 | | | |
| | | | | NetBSD 2.1 | |
| | | | | | |
| | | | NetBSD 3.0 | |
- | | | | | | | | DragonFly 1.4.0
+ | | | | | | | | DragonFly 1.4.0
| | | | | | | OpenBSD 3.9 |
| FreeBSD | | | | | | |
| 6.1 | | | | | | |
| | FreeBSD 5.5 | | | | | |
- | | | | | NetBSD 3.0.1 | DragonFly 1.6.0
+ | | | | | NetBSD 3.0.1 | DragonFly 1.6.0
| | | | | | | |
| | | | | | OpenBSD 4.0 |
| | | | | NetBSD 3.0.2 | |
| | | | NetBSD 3.1 | |
| FreeBSD 6.2 | | | |
- | | | | | DragonFly 1.8.0
+ | | | | | DragonFly 1.8.0
| | | | OpenBSD 4.1 |
- | | | | | DragonFly 1.10.0
+ | | | | | DragonFly 1.10.0
| | Mac OS X | | |
| | 10.5 | | |
| | | | OpenBSD 4.2 |
| | | NetBSD 4.0 | |
| FreeBSD 6.3 | | | | |
| \ | | | | |
- *--FreeBSD | | | | | DragonFly 1.12.0
+ *--FreeBSD | | | | | DragonFly 1.12.0
| 7.0 | | | | | |
| | | | | | OpenBSD 4.3 |
- | | | | | NetBSD | DragonFly 2.0.0
+ | | | | | NetBSD | DragonFly 2.0.0
| | FreeBSD | | 4.0.1 OpenBSD 4.4 |
| | 6.4 | | | |
| | | | | |
| FreeBSD 7.1 | | | |
- | | | | | DragonFly 2.2.0
+ | | | | | DragonFly 2.2.0
| FreeBSD 7.2 | NetBSD 5.0 OpenBSD 4.5 |
| \ | | | \ | |
| | Mac OS X | | \ | |
| | 10.6 | | \ | |
- | | | | | NetBSD | DragonFly 2.4.0
+ | | | | | NetBSD | DragonFly 2.4.0
| | | | | 5.0.1 OpenBSD 4.6 |
| | | | | | | |
*--FreeBSD | | | | | | |
| 8.0 | | | | | | |
| | FreeBSD | | | NetBSD | |
- | | 7.3 | | | 5.0.2 | DragonFly 2.6.0
+ | | 7.3 | | | 5.0.2 | DragonFly 2.6.0
| | | | | | OpenBSD 4.7 |
| FreeBSD | | | | | |
| 8.1 | | | | | |
- | | | | | | | DragonFly 2.8.2
+ | | | | | | | DragonFly 2.8.2
| | | | | | OpenBSD 4.8 |
| | | | | *--NetBSD | |
| FreeBSD FreeBSD | | | 5.1 | |
@@ -281,7 +281,7 @@ FreeBSD 5.2 | | | |
| | | | | | | OpenBSD 5.3 DragonFly 3.4.1
| | | | | | NetBSD | |
| | | | | | 6.0.2 | |
- | | | | | | | | |
+ | | | | | | | | |
| | | | | | NetBSD | |
| | | | | | 6.0.3 | |
| | | | | | | | |
@@ -290,6 +290,9 @@ FreeBSD 5.2 | | | |
| | | | | | | | |
| | | | | | NetBSD | |
| | | | | | 6.0.5 | |
+ | | | | | | | | |
+ | | | | | | NetBSD | |
+ | | | | | | 6.0.6 | |
| | | | | | | |
| | | | | |`-NetBSD 6.1 | |
| | FreeBSD | | | | |
@@ -339,20 +342,37 @@ FreeBSD 5.2 | | | |
| | | | | DragonFly 4.2.0
| FreeBSD | | | |
| 10.2 | | | |
- | | OS X NetBSD 7.0 | |
- | | 10.11 | OpenBSD 5.8 |
- | | | | | DragonFly 4.4.1
- | FreeBSD | | OpenBSD 5.9 |
- | 10.3 | | | |
- | | NetBSD 7.0.1 | |
- | | | | DragonFly 4.6.0
- *--FreeBSD | | OpenBSD 6.0 |
- | 11.0 | | | |
- | | | | |
- | | | | |
-FreeBSD 12 -current | NetBSD -current OpenBSD -current DragonFly -current
- | | | | |
- v v v v v
+ | | macOS NetBSD 7.0 | |
+ | | 10.11 | | | OpenBSD 5.8 |
+ | | | | | `--. | DragonFly 4.4.1
+ | FreeBSD | | | | OpenBSD 5.9 |
+ | 10.3 | | | | | |
+ | | | | | NetBSD 7.0.1 | |
+ | `------. | | | | | DragonFly 4.6.0
+ | | | | | | | |
+ | | | | | | | |
+ *--FreeBSD | macOS | | | OpenBSD 6.0 |
+ | 11.0 | 10.12 | | NetBSD 7.0.2 | |
+ | | | | | | | |
+ | | | | | *- NetBSD 7.1 | |
+ | | | | | | | |
+ | | | | | | | |
+ | | | macOS | | | DragonFly 4.8.0
+ | | | 10.13 | | OpenBSD 6.1 |
+ | FreeBSD | | | | | DragonFly 5.0.0
+ | 11.1 FreeBSD | | | | |
+ | | 10.4 | | | OpenBSD 6.2 DragonFly 5.0.1
+ | | | | | | |
+ | | | | NetBSD 7.1.1 | DragonFly 5.0.2
+ | | | | | | |
+ | | | | NetBSD 7.1.2 | |
+ | | | | | | |
+ | | | | v | |
+ | v | | | |
+ | | | | |
+FreeBSD 12 -current | NetBSD -current OpenBSD -current DragonFly -current
+ | | | | |
+ v v v v v
Time
----------------
@@ -400,7 +420,7 @@ Fifth Edition 1974-06-xx [QCU]
above 50 installations
Sixth Edition 1975-05-xx [QCU]
port to DEC Vax
-Seventh Edition 1979-01-xx [QCU]
+Seventh Edition 1979-01-xx [QCU] 1979-01-10 [TUHS]
first portable UNIX
Eighth Edition 1985-02-xx [QCU]
VAX 11/750, VAX 11/780 [dmr]
@@ -432,7 +452,7 @@ Tenth Edition 1989-10-xx [QCU]
2.11BSD 1992-02-xx [SMS]
2.11BSD rev #430 1999-12-13 [SMS]
-32V 1978-1[01]-xx [QCU]
+32V 1978-1[01]-xx [QCU] 1979-03-26 [TUHS]
3BSD late 1979 [QCU] March 1980 [TUHS]
virtual memory, page replacement,
demand paging
@@ -674,14 +694,15 @@ NetBSD 6.0.4 2014-01-25 [NBD]
NetBSD 6.1.3 2014-01-25 [NBD]
DragonFly 3.6.1 2014-02-22 [DFB]
DragonFly 3.6.2 2014-04-10 [DFB]
-NetBSD 6.0.5 2014-04-12 [NDB]
-NetBSD 6.1.4 2014-04-12 [NDB]
+NetBSD 6.0.5 2014-04-12 [NBD]
+NetBSD 6.1.4 2014-04-12 [NBD]
OpenBSD 5.5 2014-05-01 [OBD]
DragonFly 3.8.0 2014-06-04 [DFB]
DragonFly 3.8.1 2014-06-16 [DFB]
DragonFly 3.6.3 2014-06-17 [DFB]
FreeBSD 9.3 2014-07-05 [FBD]
DragonFly 3.8.2 2014-08-08 [DFB]
+NetBSD 6.0.6 2014-09-22 [NBD]
NetBSD 6.1.5 2014-09-22 [NBD]
Mac OS X 10.10 2014-10-16 [APL]
OpenBSD 5.6 2014-11-01 [OBD]
@@ -703,7 +724,21 @@ FreeBSD 10.3 2016-04-04 [FBD]
NetBSD 7.0.1 2016-05-22 [NBD]
DragonFly 4.6.0 2016-08-02 [DFB]
OpenBSD 6.0 2016-09-01 [OBD]
+macOS 10.12 2016-09-20 [APL]
FreeBSD 11.0 2016-10-10 [FBD]
+NetBSD 7.0.2 2016-10-21 [NBD]
+NetBSD 7.1 2017-03-11 [NBD]
+DragonFly 4.8.0 2017-03-27 [DFB]
+OpenBSD 6.1 2017-04-11 [OBD]
+FreeBSD 11.1 2017-07-26 [FBD]
+macOS 10.13 2017-09-25 [APL]
+FreeBSD 10.4 2017-10-03 [FBD]
+OpenBSD 6.2 2017-10-09 [OBD]
+DragonFly 5.0.0 2017-10-16 [DFB]
+DragonFly 5.0.1 2017-11-06 [DFB]
+DragonFly 5.0.2 2017-12-04 [DFB]
+NetBSD 7.1.1 2017-12-22 [NBD]
+NetBSD 7.1.2 2018-03-15 [NBD]
Bibliography
------------------------
diff --git a/share/misc/committers-doc.dot b/share/misc/committers-doc.dot
index 5b169d8..87136ee 100644
--- a/share/misc/committers-doc.dot
+++ b/share/misc/committers-doc.dot
@@ -85,6 +85,7 @@ pluknet [label="Sergey Kandaurov\npluknet@FreeBSD.org\n2012/02/14"]
remko [label="Remko Lodder\nremko@FreeBSD.org\n2004/10/16"]
rene [label="Rene Ladan\nrene@FreeBSD.org\n2008/11/03"]
ryusuke [label="Ryusuke Suzuki\nryusuke@FreeBSD.org\n2009/12/21"]
+sevan [label="Sevan Janiyan\nsevan@FreeBSD.org\n2016/09/16"]
simon [label="Simon L. Nielsen\nsimon@FreeBSD.org\n2003/07/20"]
skreuzer [label="Steven Kreuzer\nskreuzer@FreeBSD.org\n2014/01/15"]
taras [label="Taras Korenko\ntaras@FreeBSD.org\n2010/06/25"]
@@ -104,6 +105,7 @@ bcr -> crees
bcr -> jgh
bcr -> allanjude
bcr -> bhd
+bcr -> sevan
blackend -> ale
diff --git a/share/misc/committers-ports.dot b/share/misc/committers-ports.dot
index df62cd3..834399b 100644
--- a/share/misc/committers-ports.dot
+++ b/share/misc/committers-ports.dot
@@ -29,7 +29,6 @@ node [color=grey62, style=filled, bgcolor=black];
# Alumni go here.. Try to keep things sorted.
-adamw [label="Adam Weinberger\nadamw@FreeBSD.org\n2002/10/16\n2006/09/25"]
asami [label="Satoshi Asami\nasami@FreeBSD.org\n1994/11/18\n2001/09/11"]
billf [label="Bill Fumerola\nbillf@FreeBSD.org\n1998/11/11\n2006/12/14"]
jmallett [label="Juli Mallett\njmallett@FreeBSD.org\n2003/01/16\n2006/08/10"]
@@ -43,6 +42,8 @@ node [color=lightblue2, style=filled, bgcolor=black];
ache [label="Andrey Chernov\nache@FreeBSD.org\n1994/11/15"]
acm [label="Jose Alonso Cardenas Marquez\nacm@FreeBSD.org\n2006/07/18"]
+adamw [label="Adam Weinberger\nadamw@FreeBSD.org\n2002/10/16"]
+adridg [label="Adriaan de Groot\nadridg@FreeBSD.org\n2017/09/08"]
ahze [label="Michael Johnson\nahze@FreeBSD.org\n2004/10/29"]
ak [label="Alex Kozlov\nak@FreeBSD.org\n2012/02/29"]
ale [label="Alex Dupre\nale@FreeBSD.org\n2004/01/12"]
@@ -84,20 +85,25 @@ daichi [label="Daichi Goto\ndaichi@FreeBSD.org\n2002/10/17"]
danfe [label="Alexey Dokuchaev\ndanfe@FreeBSD.org\n2004/08/20"]
danilo [label="Danilo E. Gondolfo\ndanilo@FreeBSD.org\n2013/09/23"]
db [label="Diane Bruce\ndb@FreeBSD.org\n2007/01/18"]
+dbaio [label="Danilo G. Baio\ndbaio@FreeBSD.org\n2017/05/03"]
dbn [label="David Naylor\ndbn@FreeBSD.org\n2013/01/14"]
+dch [label="Dave Cottlehuber\ndch@FreeBSD.org\n2017/09/09"]
decke [label="Bernhard Froehlich\ndecke@FreeBSD.org\n2010/03/21"]
delphij [label="Xin Li\ndelphij@FreeBSD.org\n2006/05/01"]
demon [label="Dmitry Sivachenko\ndemon@FreeBSD.org\n2000/11/13"]
dhn [label="Dennis Herrmann\ndhn@FreeBSD.org\n2009/03/03"]
dryice [label="Dryice Dong Liu\ndryice@FreeBSD.org\n2006/12/25"]
+dumbbell [label="Jean-Sebastien Pedron\ndumbbell@FreeBSD.org\n2017/01/10"]
dvl [label="Dan Langille\ndvl@FreeBSD.org\n2014/08/10"]
eadler [label="Eitan Adler\neadler@FreeBSD.org\n2011/08/17"]
edwin [label="Edwin Groothuis\nedwin@FreeBSD.org\n2002/10/22"]
ehaupt [label="Emanuel Haupt\nehaupt@FreeBSD.org\n2005/10/03"]
eik [label="Oliver Eikemeier\neik@FreeBSD.org\n2003/11/12"]
erwin [label="Erwin Lansing\nerwin@FreeBSD.org\n2003/06/04"]
+eugen [label="Eugene Grosbein\neugen@FreeBSD.org\n2017/03/04"]
farrokhi [label="Babak Farrokhi\nfarrokhi@FreeBSD.org\n2006/11/07"]
feld [label="Mark Felder\nfeld@FreeBSD.org\n2013/06/25"]
+fernape [label="Fernando Apesteguia\nfernape@FreeBSD.org\n2018/03/03"]
fjoe [label="Max Khon\nfjoe@FreeBSD.org\n2001/08/06"]
flo [label="Florian Smeets\nflo@FreeBSD.org\n2010/12/07"]
fluffy [label="Dima Panov\nfluffy@FreeBSD.org\n2009/08/10"]
@@ -125,6 +131,7 @@ jhale [label="Jason E. Hale\njhale@FreeBSD.org\n2012/09/10"]
jkim [label="Jung-uk Kim\njkim@FreeBSD.org\n2007/09/12"]
jlaffaye [label="Julien Laffaye\njlaffaye@FreeBSD.org\n2011/06/06"]
jmelo [label="Jean Milanez Melo\njmelo@FreeBSD.org\n2006/03/31"]
+joneum [label="Jochen Neumeister\njoneum@FreeBSD.org\n2017/05/11"]
joerg [label="Joerg Wunsch\njoerg@FreeBSD.org\n1994/08/22"]
johans [label="Johan Selst\njohans@FreeBSD.org\n2006/04/01"]
josef [label="Josef El-Rayes\njosef@FreeBSD.org\n2004/12/20"]
@@ -143,7 +150,10 @@ laszlof [label="Frank Laszlo\nlaszlof@FreeBSD.org\n2006/11/07"]
lawrance [label="Sam Lawrance\nlawrance@FreeBSD.org\n2005/04/11\n2007/02/21"]
lbr [label="Lars Balker Rasmussen\nlbr@FreeBSD.org\n2006/04/30"]
leeym [label="Yen-Ming Lee\nleeym@FreeBSD.org\n2002/08/14"]
+ler [label="Larry Rosenman\nler@FreeBSD.org\n2017/01/09"]
+leres [label="Craig Leres\nleres@FreeBSD.org\n2017/10/10"]
lev [label="Lev Serebryakov\nlev@FreeBSD.org\n2003/06/17"]
+lifanov [label="Nikolai Lifanov\nlifanov@FreeBSD.org\n2016/12/11"]
linimon [label="Mark Linimon\nlinimon@FreeBSD.org\n2003/10/23"]
lioux [label="Mario Sergio Fujikawa Ferriera\nlioux@FreeBSD.org\n2000/10/14"]
lippe [label="Felippe de Meirelles Motta\nlippe@FreeBSD.org\n2008/03/08"]
@@ -165,8 +175,10 @@ matthew [label="Matthew Seaman\nmatthew@FreeBSD.org\n2012/02/07"]
mezz [label="Jeremy Messenger\nmezz@FreeBSD.org\n2004/04/30"]
mharo [label="Michael Haro\nmharo@FreeBSD.org\n1999/04/13"]
milki [label="Jonathan Chu\nmilki@FreeBSD.org\n2013/12/15"]
+misha [label="Mikhail Pchelin\nmisha@FreeBSD.org\n2016/11/15"]
miwi [label="Martin Wilke\nmiwi@FreeBSD.org\n2006/06/04"]
mm [label="Martin Matuska\nmm@FreeBSD.org\n2007/04/04"]
+mmokhi [label="Mahdi Mokhtari\nmmokhi@FreeBSD.org\n2017/02/09"]
mnag [label="Marcus Alves Grando\nmnag@FreeBSD.org\n2005/09/15"]
mva [label="Marcus von Appen\nmva@FreeBSD.org\n2009/02/16"]
nemysis [label="Rusmir Dusko\nnemysis@FreeBSD.org\n2013/07/31"]
@@ -187,9 +199,11 @@ pclin [label="Po-Chien Lin\npclin@FreeBSD.org\n2013/02/11"]
pgj [label="Gabor Pali\npgj@FreeBSD.org\n2009/04/12"]
pgollucci [label="Philip M. Gollucci\npgollucci@FreeBSD.org\n2008/07/21"]
philip [label="Philip Paeps\nphilip@FreeBSD.org\n2005/10/19"]
+pizzamig [label="Luca Pizzamiglio\npizzamig@FreeBSD.org\n2017/08/25"]
rafan [label="Rong-En Fan\nrafan@FreeBSD.org\n2006/06/23"]
rakuco [label="Raphael Kubo da Costa\nrakuco@FreeBSD.org\n2011/08/22"]
rene [label="Rene Ladan\nrene@FreeBSD.org\n2010/04/11"]
+rezny [label="Matthew Rezny\nrezny@FreeBSD.org\n2017/01/09"]
riggs [label="Thomas Zander\nriggs@FreeBSD.org\n2014/01/09"]
rm [label="Ruslan Makhmatkhanov\nrm@FreeBSD.org\n2011/11/06"]
rnoland [label="Robert Noland\nrnoland@FreeBSD.org\n2008/07/21"]
@@ -205,6 +219,7 @@ scheidell [label="Michael Scheidell\nscheidell@FreeBSD.org\n2011/11/06"]
sem [label="Sergey Matveychuk\nsem@FreeBSD.org\n2004/07/07"]
sergei [label="Sergei Kolobov\nsergei@FreeBSD.org\n2003/10/21"]
shaun [label="Shaun Amott\nshaun@FreeBSD.org\n2006/06/19"]
+shurd [label="Stephen Hurd\nshurd@FreeBSD.org\n2014/06/14"]
simon [label="Simon L. Nielsen\nsimon@FreeBSD.org\n2005/01/08"]
skreuzer [label="Steven Kreuzer\nskreuzer@FreeBSD.org\n2009/03/25"]
sobomax[label="Maxim Sobolev\nsobomax@FreeBSD.org\n2000/05/17"]
@@ -216,17 +231,20 @@ sunpoet [label="Po-Chuan Hsieh\nsunpoet@FreeBSD.org\n2010/09/21"]
swills [label="Steve Wills\nswills@FreeBSD.org\n2010/09/03"]
sylvio [label="Sylvio Cesar Teixeira\nsylvio@FreeBSD.org\n2009/10/29"]
tabthorpe [label="Thomas Abthorpe\ntabthorpe@FreeBSD.org\n2007/08/20"]
+tcberner [label="Tobias C. Berner\ntcberner@FreeBSD.org\n2016/07/06"]
tdb [label="Tim Bishop\ntdb@FreeBSD.org\n2005/11/30"]
thierry [label="Thierry Thomas\nthierry@FreeBSD.org\n2004/03/15"]
tijl [label="Tijl Coosemans\ntijl@FreeBSD.org\n2013/03/27"]
timur [label="Timur Bakeyev\ntimur@FreeBSD.org\n2007/06/07"]
tj [label="Tom Judge\ntj@FreeBSD.org\n2012/05/28"]
tmclaugh [label="Tom McLaughlin\ntmclaugh@FreeBSD.org\n2005/09/15"]
+tobik [label="Tobias Kortkamp\ntobik@FreeBSD.org\n2017/02/08"]
tota [label="TAKATSU Tomonari\ntota@FreeBSD.org\n2009/03/30"]
trasz [label="Edward Tomasz Napierala\ntrasz@FreeBSD.org\n2007/04/12"]
trhodes [label="Tom Rhodes\ntrhodes@FreeBSD.org\n2004/07/06"]
trociny [label="Mikolaj Golub\ntrociny@FreeBSD.org\n2013/10/17"]
tz [label="Torsten Zuehlsdorff\ntz@FreeBSD.org\n2016/06/04"]
+ultima [label="Richard Gallamore\nultima@FreeBSD.org\n2017/06/07"]
uqs [label="Ulrich Spoerlein\nuqs@FreeBSD.org\n2012/01/19"]
vd [label="Vasil Dimov\nvd@FreeBSD.org\n2006/01/19"]
vg [label="Veniamin Gvozdikov\nvg@FreeBSD.org\n2013/06/11"]
@@ -237,6 +255,7 @@ woodsb02 [label="Ben Woods\nwoodsb02@FreeBSD.org\n2016/05/09"]
wxs [label="Wesley Shields\nwxs@FreeBSD.org\n2008/01/03"]
xmj [label="Johannes Jost Meixner\nxmj@FreeBSD.org\n2014/04/07"]
xride [label="Soeren Straarup\nxride@FreeBSD.org\n2006/09/27"]
+yuri [label="Yuri Victorovich\nyuri@FreeBSD.org\n2017/10/30"]
yzlin [label="Yi-Jheng Lin\nyzlin@FreeBSD.org\n2009/07/19"]
zeising [label="Niclas Zeising\nzeising@FreeBSD.org\n2012/07/03"]
zi [label="Ryan Steinmetz\nzi@FreeBSD.org\n2011/07/14"]
@@ -248,6 +267,7 @@ znerd [label="Ernst de Haan\nznerd@FreeBSD.org\n2001/11/15"]
adamw -> ahze
adamw -> jylefort
+adamw -> ler
adamw -> mezz
adamw -> pav
adamw -> woodsb02
@@ -257,6 +277,8 @@ ade -> jpaetzel
ahze -> shaun
ahze -> tmclaugh
+antoine -> dumbbell
+
araujo -> lippe
araujo -> pclin
araujo -> pgollucci
@@ -269,12 +291,15 @@ asami -> obrien
avilla -> jhale
avilla -> rakuco
+az -> eugen
+
bdrewery -> dbn
bdrewery -> sbruno
bdrewery -> trociny
bapt -> bdrewery
bapt -> bofh
+bapt -> dumbbell
bapt -> eadler
bapt -> grembo
bapt -> jbeich
@@ -319,6 +344,7 @@ culot -> marino
culot -> wg
db -> tj
+db -> shurd
decke -> sperber
@@ -358,6 +384,8 @@ erwin -> simon
feld -> brnrd
feld -> junovitch
+feld -> mmokhi
+feld -> rezny
fjoe -> danfe
fjoe -> flo
@@ -374,6 +402,7 @@ flz -> johans
flz -> laszlof
flz -> romain
+jpaetzel -> misha
jpaetzel -> wg
gabor -> lippe
@@ -383,6 +412,7 @@ gabor -> scheidell
garga -> acm
garga -> alepulver
+garga -> dbaio
garga -> mandree
garga -> mm
garga -> rnoland
@@ -414,6 +444,9 @@ jadawin -> wen
joerg -> netchild
+jrm -> dch
+jrm -> jwb
+
junovitch -> tz
knu -> daichi
@@ -442,8 +475,15 @@ lawrance -> itetcu
leeym -> clsung
+ler -> leres
+
+lifanov -> ultima
+
lioux -> pat
+lme -> pizzamig
+lme -> tobik
+
lwhsu -> yzlin
maho -> stephen
@@ -465,9 +505,16 @@ makc -> rakuco
mat -> bmah
mat -> dvl
mat -> gordon
+mat -> mmokhi
+mat -> tcberner
mat -> thierry
+mat -> tobik
mat -> woodsb02
+matthew -> leres
+matthew -> lifanov
+matthew -> ultima
+
mezz -> tmclaugh
miwi -> amdmi3
@@ -481,6 +528,7 @@ miwi -> dhn
miwi -> farrokhi
miwi -> fluffy
miwi -> gahr
+miwi -> joneum
miwi -> kmoore
miwi -> lme
miwi -> makc
@@ -512,6 +560,8 @@ novel -> rm
obrien -> mharo
obrien -> gerald
+olivier -> pizzamig
+
osa -> vg
pat -> adamw
@@ -537,12 +587,16 @@ pi -> tz
rafan -> chinsan
+rakuco -> adridg
rakuco -> alonso
+rakuco -> tcberner
rene -> bar
rene -> cmt
rene -> crees
rene -> jgh
+rene -> joneum
+rene -> ler
rene -> olivierd
rm -> koobs
@@ -562,6 +616,7 @@ shaun -> timur
shaun -> matthew
skreuzer -> gnn
+skreuzer -> shurd
sobomax -> demon
sobomax -> glewis
@@ -573,9 +628,11 @@ stas -> araujo
steve -> netchild
+swills -> dch
swills -> feld
swills -> milki
swills -> pclin
+swills -> rezny
swills -> robak
swills -> rpaulo
swills -> tz
@@ -597,12 +654,22 @@ tabthorpe -> rene
tabthorpe -> zi
tabthorpe -> gblach
+tcberner -> adridg
+tcberner -> joneum
+tcberner -> yuri
+tcberner -> fernape
+
thierry -> jadawin
thierry -> riggs
tmclaugh -> itetcu
tmclaugh -> xride
+tz -> joneum
+tz -> fernape
+
+vsevolod -> eugen
+
wen -> cs
wen -> culot
wen -> pawel
@@ -610,6 +677,7 @@ wen -> pawel
wg -> alexey
wg -> danilo
wg -> dvl
+wg -> misha
wg -> nemysis
will -> lioux
diff --git a/share/misc/committers-src.dot b/share/misc/committers-src.dot
index a1d5574..7fd6ab6 100644
--- a/share/misc/committers-src.dot
+++ b/share/misc/committers-src.dot
@@ -15,7 +15,7 @@ digraph src {
# foo [label="Foo Bar\nfoo@FreeBSD.org\n????/??/??"]
#
# ????/??/?? is the date when the commit bit was obtained, usually the one you
-# can find looking at svn logs for the svnadmin/access file.
+# can find looking at svn logs for the svnadmin/conf/access file.
# Use YYYY/MM/DD format.
#
# For returned commit bits, the node definition will follow this example:
@@ -78,7 +78,6 @@ non [label="Noriaki Mitsnaga\nnon@FreeBSD.org\n2000/06/19\n2007/03/06"]
onoe [label="Atsushi Onoe\nonoe@FreeBSD.org\n2000/07/21\n2008/11/10"]
rafan [label="Rong-En Fan\nrafan@FreeBSD.org\n2007/01/31\n2012/07/23"]
randi [label="Randi Harper\nrandi@FreeBSD.org\n2010/04/20\n2012/05/10"]
-rgrimes [label="Rod Grimes\nrgrimes@FreeBSD.org\n1993/06/12\n2003/03/08"]
rink [label="Rink Springer\nrink@FreeBSD.org\n2006/01/16\n2010/11/04"]
robert [label="Robert Drehmel\nrobert@FreeBSD.org\n2001/08/23\n2006/05/13"]
sah [label="Sam Hopkins\nsah@FreeBSD.org\n2004/12/15\n2008/11/10"]
@@ -114,6 +113,7 @@ andreast [label="Andreas Tobler\nandreast@FreeBSD.org\n2010/09/05"]
andrew [label="Andrew Turner\nandrew@FreeBSD.org\n2010/07/19"]
antoine [label="Antoine Brodin\nantoine@FreeBSD.org\n2008/02/03"]
araujo [label="Marcelo Araujo\naraujo@FreeBSD.org\n2015/08/04"]
+arichardson [label="Alex Richardson\narichardson@FreeBSD.org\n2017/10/30"]
ariff [label="Ariff Abdullah\nariff@FreeBSD.org\n2005/11/14"]
art [label="Artem Belevich\nart@FreeBSD.org\n2011/03/29"]
arybchik [label="Andrew Rybchenko\narybchik@FreeBSD.org\n2014/10/12"]
@@ -122,6 +122,7 @@ avg [label="Andriy Gapon\navg@FreeBSD.org\n2009/02/18"]
avos [label="Andriy Voskoboinyk\navos@FreeBSD.org\n2015/09/24"]
badger [label="Eric Badger\nbadger@FreeBSD.org\n2016/07/01"]
bapt [label="Baptiste Daroussin\nbapt@FreeBSD.org\n2011/12/23"]
+bde [label="Bruce Evans\nbde@FreeBSD.org\n1994/08/20"]
bdrewery [label="Bryan Drewery\nbdrewery@FreeBSD.org\n2013/12/14"]
benl [label="Ben Laurie\nbenl@FreeBSD.org\n2011/05/18"]
benno [label="Benno Rice\nbenno@FreeBSD.org\n2000/11/02"]
@@ -136,15 +137,19 @@ bryanv [label="Bryan Venteicher\nbryanv@FreeBSD.org\n2012/11/03"]
bschmidt [label="Bernhard Schmidt\nbschmidt@FreeBSD.org\n2010/02/06"]
bz [label="Bjoern A. Zeeb\nbz@FreeBSD.org\n2004/07/27"]
cem [label="Conrad Meyer\ncem@FreeBSD.org\n2015/07/05"]
+chuck [label="Chuck Tuffli\nchuck@FreeBSD.org\n2017/09/06"]
cognet [label="Olivier Houchard\ncognet@FreeBSD.org\n2002/10/09"]
cokane [label="Coleman Kane\ncokane@FreeBSD.org\n2000/06/19"]
cperciva [label="Colin Percival\ncperciva@FreeBSD.org\n2004/01/20"]
csjp [label="Christian S.J. Peron\ncsjp@FreeBSD.org\n2004/05/04"]
+dab [label="David Bright\ndab@FreeBSD.org\n2016/10/24"]
das [label="David Schultz\ndas@FreeBSD.org\n2003/02/21"]
davide [label="Davide Italiano\ndavide@FreeBSD.org\n2012/01/27"]
dchagin [label="Dmitry Chagin\ndchagin@FreeBSD.org\n2009/02/28"]
+def [label="Konrad Witaszczyk\ndef@FreeBSD.org\n2016/11/02"]
delphij [label="Xin Li\ndelphij@FreeBSD.org\n2004/09/14"]
des [label="Dag-Erling Smorgrav\ndes@FreeBSD.org\n1998/04/03"]
+dexuan [label="Dexuan Cui\ndexuan@FreeBSD.org\n2016/10/24"]
dfr [label="Doug Rabson\ndfr@FreeBSD.org\n????/??/??"]
dg [label="David Greenman\ndg@FreeBSD.org\n1993/06/14"]
dim [label="Dimitry Andric\ndim@FreeBSD.org\n2010/08/30"]
@@ -160,13 +165,16 @@ emaste [label="Ed Maste\nemaste@FreeBSD.org\n2005/10/04"]
emax [label="Maksim Yevmenkin\nemax@FreeBSD.org\n2003/10/12"]
eri [label="Ermal Luci\neri@FreeBSD.org\n2008/06/11"]
erj [label="Eric Joyner\nerj@FreeBSD.org\n2014/12/14"]
+eugen [label="Eugene Grosbein\neugen@FreeBSD.org\n2017/09/19"]
fabient [label="Fabien Thomas\nfabient@FreeBSD.org\n2009/03/16"]
fanf [label="Tony Finch\nfanf@FreeBSD.org\n2002/05/05"]
fjoe [label="Max Khon\nfjoe@FreeBSD.org\n2001/08/06"]
flz [label="Florent Thoumie\nflz@FreeBSD.org\n2006/03/30"]
+fsu [label="Fedor Uporov\nfsu@FreeBSD.org\n2017/08/28"]
gabor [label="Gabor Kovesdan\ngabor@FreeBSD.org\n2010/02/02"]
gad [label="Garance A. Drosehn\ngad@FreeBSD.org\n2000/10/27"]
gallatin [label="Andrew Gallatin\ngallatin@FreeBSD.org\n1999/01/15"]
+ganbold [label="Ganbold Tsagaankhuu\nganbold@FreeBSD.org\n2013/12/18"]
gavin [label="Gavin Atkinson\ngavin@FreeBSD.org\n2009/12/07"]
gibbs [label="Justin T. Gibbs\ngibbs@FreeBSD.org\n????/??/??"]
gjb [label="Glen Barber\ngjb@FreeBSD.org\n2013/06/04"]
@@ -180,6 +188,7 @@ gshapiro [label="Gregory Shapiro\ngshapiro@FreeBSD.org\n2000/07/12"]
harti [label="Hartmut Brandt\nharti@FreeBSD.org\n2003/01/29"]
hiren [label="Hiren Panchasara\nhiren@FreeBSD.org\n2013/04/12"]
hmp [label="Hiten Pandya\nhmp@FreeBSD.org\n2004/03/23"]
+hselasky [label="Hans Petter Selasky\nhselasky@FreeBSD.org\n"]
ian [label="Ian Lepore\nian@FreeBSD.org\n2013/01/07"]
iedowse [label="Ian Dowse\niedowse@FreeBSD.org\n2000/12/01"]
imp [label="Warner Losh\nimp@FreeBSD.org\n1996/09/20"]
@@ -190,6 +199,7 @@ jasone [label="Jason Evans\njasone@FreeBSD.org\n1999/03/03"]
jceel [label="Jakub Klama\njceel@FreeBSD.org\n2011/09/25"]
jch [label="Julien Charbon\njch@FreeBSD.org\n2014/09/24"]
jchandra [label="Jayachandran C.\njchandra@FreeBSD.org\n2010/05/19"]
+jeb [label="Jeb Cramer\njeb@FreeBSD.org\n2018/01/25"]
jeff [label="Jeff Roberson\njeff@FreeBSD.org\n2002/02/21"]
jh [label="Jaakko Heinonen\njh@FreeBSD.org\n2009/10/02"]
jhb [label="John Baldwin\njhb@FreeBSD.org\n1999/08/23"]
@@ -216,8 +226,10 @@ kan [label="Alexander Kabaev\nkan@FreeBSD.org\n2002/07/21"]
karels [label="Mike Karels\nkarels@FreeBSD.org\n2016/06/09"]
ken [label="Ken Merry\nken@FreeBSD.org\n1998/09/08"]
kensmith [label="Ken Smith\nkensmith@FreeBSD.org\n2004/01/23"]
+kevans [label="Kyle Evans\nkevans@FreeBSD.org\n2017/06/20"]
kevlo [label="Kevin Lo\nkevlo@FreeBSD.org\n2006/07/23"]
kib [label="Konstantin Belousov\nkib@FreeBSD.org\n2006/06/03"]
+kibab [label="Ilya Bakulin\nkibab@FreeBSD.org\n2017/09/02"]
kmacy [label="Kip Macy\nkmacy@FreeBSD.org\n2005/06/01"]
kp [label="Kristof Provost\nkp@FreeBSD.org\n2015/03/22"]
landonf [label="Landon Fuller\nlandonf@FreeBSD.org\n2016/05/31"]
@@ -237,13 +249,16 @@ maxim [label="Maxim Konovalov\nmaxim@FreeBSD.org\n2002/02/07"]
mdf [label="Matthew Fleming\nmdf@FreeBSD.org\n2010/06/04"]
mdodd [label="Matthew N. Dodd\nmdodd@FreeBSD.org\n1999/07/27"]
melifaro [label="Alexander V. Chernikov\nmelifaro@FreeBSD.org\n2011/10/04"]
+mizhka [label="Michael Zhilin\nmizhka@FreeBSD.org\n2016/07/19"]
mjacob [label="Matt Jacob\nmjacob@FreeBSD.org\n1997/08/13"]
mjg [label="Mateusz Guzik\nmjg@FreeBSD.org\n2012/06/04"]
+mjoras [label="Matt Joras\nmjoras@FreeBSD.org\n2017/07/12"]
mlaier [label="Max Laier\nmlaier@FreeBSD.org\n2004/02/10"]
mmel [label="Michal Meloun\nmmel@FreeBSD.org\n2015/11/01"]
monthadar [label="Monthadar Al Jaberi\nmonthadar@FreeBSD.org\n2012/04/02"]
mp [label="Mark Peek\nmp@FreeBSD.org\n2001/07/27"]
mr [label="Michael Reifenberger\nmr@FreeBSD.org\n2001/09/30"]
+mw [label="Marcin Wojtas\nmw@FreeBSD.org\n2017/07/18"]
neel [label="Neel Natu\nneel@FreeBSD.org\n2009/09/20"]
netchild [label="Alexander Leidinger\nnetchild@FreeBSD.org\n2005/03/31"]
ngie [label="Ngie Cooper\nngie@FreeBSD.org\n2014/07/27"]
@@ -258,7 +273,7 @@ peadar [label="Peter Edwards\npeadar@FreeBSD.org\n2004/03/08"]
peter [label="Peter Wemm\npeter@FreeBSD.org\n1995/07/04"]
peterj [label="Peter Jeremy\npeterj@FreeBSD.org\n2012/09/14"]
pfg [label="Pedro Giffuni\npfg@FreeBSD.org\n2011/12/01"]
-phil [label="Phil Shafer\nphil@FreeBSD.ogr\n2016/12/30"]
+phil [label="Phil Shafer\nphil@FreeBSD.ogr\n2015/12/30"]
philip [label="Philip Paeps\nphilip@FreeBSD.org\n2004/01/21"]
phk [label="Poul-Henning Kamp\nphk@FreeBSD.org\n1994/02/21"]
pho [label="Peter Holm\npho@FreeBSD.org\n2008/11/16"]
@@ -267,10 +282,13 @@ pkelsey [label="Patrick Kelsey\pkelsey@FreeBSD.org\n2014/05/29"]
pluknet [label="Sergey Kandaurov\npluknet@FreeBSD.org\n2010/10/05"]
ps [label="Paul Saab\nps@FreeBSD.org\n2000/02/23"]
qingli [label="Qing Li\nqingli@FreeBSD.org\n2005/04/13"]
+ram [label="Ram Kishore Vegesna\nram@FreeBSD.org\n2018/04/04"]
ray [label="Aleksandr Rybalko\nray@FreeBSD.org\n2011/05/25"]
rdivacky [label="Roman Divacky\nrdivacky@FreeBSD.org\n2008/03/13"]
remko [label="Remko Lodder\nremko@FreeBSD.org\n2007/02/23"]
+rgrimes [label="Rodney W. Grimes\nrgrimes@FreeBSD.org\n1993/06/12\n2017/03/03"]
rik [label="Roman Kurakin\nrik@FreeBSD.org\n2003/12/18"]
+rlibby [label="Ryan Libby\nrlibby@FreeBSD.org\n2017/06/07"]
rmacklem [label="Rick Macklem\nrmacklem@FreeBSD.org\n2009/03/27"]
rmh [label="Robert Millan\nrmh@FreeBSD.org\n2011/09/18"]
rnoland [label="Robert Noland\nrnoland@FreeBSD.org\n2008/09/15"]
@@ -294,15 +312,18 @@ se [label="Stefan Esser\nse@FreeBSD.org\n1994/08/26"]
sephe [label="Sepherosa Ziehau\nsephe@FreeBSD.org\n2007/03/28"]
sepotvin [label="Stephane E. Potvin\nsepotvin@FreeBSD.org\n2007/02/15"]
sgalabov [label="Stanislav Galabov\nsgalabov@FreeBSD.org\n2016/02/24"]
+shurd [label="Stephen Hurd\nshurd@FreeBSD.org\n2017/09/02"]
simon [label="Simon L. Nielsen\nsimon@FreeBSD.org\n2006/03/07"]
sjg [label="Simon J. Gerraty\nsjg@FreeBSD.org\n2012/10/23"]
skra [label="Svatopluk Kraus\nskra@FreeBSD.org\n2015/10/28"]
+slavash [label="Slava Shwartsman\nslavash@FreeBSD.org\n2018/02/08"]
slm [label="Stephen McConnell\nslm@FreeBSD.org\n2014/05/07"]
smh [label="Steven Hartland\nsmh@FreeBSD.org\n2012/11/12"]
sobomax [label="Maxim Sobolev\nsobomax@FreeBSD.org\n2001/07/25"]
sos [label="Soren Schmidt\nsos@FreeBSD.org\n????/??/??"]
sson [label="Stacey Son\nsson@FreeBSD.org\n2008/07/08"]
stas [label="Stanislav Sedov\nstas@FreeBSD.org\n2008/08/22"]
+stevek [label="Stephen J. Kiernan\nstevek@FreeBSD.org\n2016/07/18"]
suz [label="SUZUKI Shinsuke\nsuz@FreeBSD.org\n2002/03/26"]
syrinx [label="Shteryana Shopova\nsyrinx@FreeBSD.org\n2006/10/07"]
takawata [label="Takanori Watanabe\ntakawata@FreeBSD.org\n2000/07/06"]
@@ -310,6 +331,7 @@ theraven [label="David Chisnall\ntheraven@FreeBSD.org\n2011/11/11"]
thompsa [label="Andrew Thompson\nthompsa@FreeBSD.org\n2005/05/25"]
ticso [label="Bernd Walter\nticso@FreeBSD.org\n2002/01/31"]
tijl [label="Tijl Coosemans\ntijl@FreeBSD.org\n2010/07/16"]
+tsoome [label="Toomas Soome\ntsoome@FreeBSD.org\n2016/08/10"]
trasz [label="Edward Tomasz Napierala\ntrasz@FreeBSD.org\n2008/08/22"]
trhodes [label="Tom Rhodes\ntrhodes@FreeBSD.org\n2002/05/28"]
trociny [label="Mikolaj Golub\ntrociny@FreeBSD.org\n2011/03/10"]
@@ -327,6 +349,7 @@ wkoszek [label="Wojciech A. Koszek\nwkoszek@FreeBSD.org\n2006/02/21"]
wma [label="Wojciech Macek\nwma@FreeBSD.org\n2016/01/18"]
wollman [label="Garrett Wollman\nwollman@FreeBSD.org\n????/??/??"]
wsalamon [label="Wayne Salamon\nwsalamon@FreeBSD.org\n2005/06/25"]
+wulf [label="Vladimir Kondratyev\nwulf@FreeBSD.org\n2017/04/27"]
yongari [label="Pyun YongHyeon\nyongari@FreeBSD.org\n2004/08/01"]
zbb [label="Zbigniew Bodek\nzbb@FreeBSD.org\n2013/09/02"]
zec [label="Marko Zec\nzec@FreeBSD.org\n2008/06/22"]
@@ -352,6 +375,7 @@ adrian -> jmcneill
adrian -> landonf
adrian -> lidl
adrian -> loos
+adrian -> mizhka
adrian -> monthadar
adrian -> ray
adrian -> rmh
@@ -360,6 +384,8 @@ adrian -> sgalabov
ae -> melifaro
+allanjude -> tsoome
+
alc -> davide
andre -> qingli
@@ -369,12 +395,16 @@ andrew -> manu
anholt -> jkim
avg -> art
+avg -> eugen
avg -> pluknet
avg -> smh
bapt -> allanjude
bapt -> araujo
bapt -> bdrewery
+bapt -> wulf
+
+bde -> rgrimes
benno -> grehan
@@ -395,6 +425,7 @@ brian -> joe
brooks -> bushman
brooks -> jamie
brooks -> theraven
+brooks -> arichardson
bz -> anchie
bz -> jamie
@@ -405,6 +436,7 @@ cognet -> jceel
cognet -> kevlo
cognet -> ian
cognet -> manu
+cognet -> mw
cognet -> wkoszek
cognet -> wma
cognet -> zbb
@@ -453,12 +485,15 @@ eivind -> des
eivind -> rwatson
emaste -> achim
-emaste -> rstone
emaste -> dteske
+emaste -> kevans
emaste -> markj
+emaste -> rstone
emax -> markus
+erj -> jeb
+
fjoe -> versus
gallatin -> ticso
@@ -486,24 +521,30 @@ gnn -> jtl
gnn -> karels
gonzo -> jmcneill
+gonzo -> wulf
grehan -> bryanv
+grehan -> rgrimes
grog -> edwin
grog -> le
grog -> peterj
+hselasky -> slavash
+
imp -> akiyama
imp -> ambrisko
imp -> andrew
imp -> bmah
imp -> bruno
+imp -> chuck
imp -> dmlb
imp -> emax
imp -> furuta
imp -> joe
imp -> jon
imp -> keichii
+imp -> kibab
imp -> mb
imp -> mr
imp -> neel
@@ -517,6 +558,7 @@ imp -> sanpei
imp -> shiba
imp -> takawata
imp -> toshi
+imp -> tsoome
imp -> uch
jake -> bms
@@ -542,6 +584,7 @@ jhb -> peterj
jhb -> pfg
jhb -> rnoland
jhb -> rpokala
+jhb -> arichardson
jimharris -> carl
@@ -586,6 +629,8 @@ julian -> mp
kan -> kib
ken -> asomers
+ken -> chuck
+ken -> ram
ken -> slm
kib -> ae
@@ -604,6 +649,7 @@ kib -> rdivacky
kib -> rmacklem
kib -> rmh
kib -> skra
+kib -> slavash
kib -> stas
kib -> tijl
kib -> trociny
@@ -620,11 +666,14 @@ marcel -> nwhitehorn
marcel -> sjg
markj -> cem
+markj -> rlibby
markm -> jasone
markm -> sheldonh
mav -> ae
+mav -> eugen
+mav -> ram
mdf -> gleb
@@ -662,6 +711,8 @@ obrien -> gshapiro
obrien -> kan
obrien -> sam
+pfg -> fsu
+
peter -> asmodai
peter -> jayanth
peter -> ps
@@ -675,7 +726,9 @@ philip -> kp
phk -> jkoshy
phk -> mux
+phk -> rgrimes
+pjd -> def
pjd -> kib
pjd -> lulf
pjd -> oshogbo
@@ -700,6 +753,7 @@ rrs -> jchandra
rrs -> tuexen
rstone -> markj
+rstone -> mjoras
ru -> ceri
ru -> cjc
@@ -734,7 +788,9 @@ sam -> benjsc
sam -> sephe
sbruno -> hiren
+sbruno -> jeb
sbruno -> jimharris
+sbruno -> shurd
schweikh -> dds
@@ -746,6 +802,8 @@ scottl -> sbruno
scottl -> slm
scottl -> yongari
+sephe -> dexuan
+
sheldonh -> dwmalone
sheldonh -> iedowse
@@ -754,9 +812,12 @@ shin -> ume
simon -> benl
sjg -> phil
+sjg -> stevek
sos -> marcel
+stas -> ganbold
+
theraven -> phil
thompsa -> weongyo
@@ -770,6 +831,7 @@ ume -> suz
ume -> tshiozak
vangyzen -> badger
+vangyzen -> dab
wes -> scf
diff --git a/share/misc/iso3166 b/share/misc/iso3166
index 8b7533b..a403e6c 100644
--- a/share/misc/iso3166
+++ b/share/misc/iso3166
@@ -21,7 +21,7 @@
# two three number name
AF AFG 004 Afghanistan
AL ALB 008 Albania
-AX ALA 248 Aland Islands
+AX ALA 248 Ã…land Islands
DZ DZA 012 Algeria
AS ASM 016 American Samoa
AD AND 020 Andorra
@@ -59,7 +59,7 @@ BI BDI 108 Burundi
KH KHM 116 Cambodia
CM CMR 120 Cameroon
CA CAN 124 Canada
-CV CPV 132 Cape Verde
+CV CPV 132 Cabo Verde
KY CYM 136 Cayman Islands
CF CAF 140 Central African Republic
TD TCD 148 Chad
@@ -70,20 +70,19 @@ CC CCK 166 Cocos (Keeling) Islands
CO COL 170 Colombia
KM COM 174 Comoros
CG COG 178 Congo
-CD COD 180 Congo, the Democratic Republic of the
+CD COD 180 Congo, Democratic Republic of the
CK COK 184 Cook Islands
CR CRI 188 Costa Rica
-CI CIV 384 Cote d'Ivoire
+CI CIV 384 Côte d'Ivoire
HR HRV 191 Croatia
CU CUB 192 Cuba
-CW CUW 531 Curacao
+CW CUW 531 Curaçao
CY CYP 196 Cyprus
CZ CZE 203 Czech Republic
DK DNK 208 Denmark
DJ DJI 262 Djibouti
DM DMA 212 Dominica
DO DOM 214 Dominican Republic
-TL TLS 626 Timor-Leste
EC ECU 218 Ecuador
EG EGY 818 Egypt
SV SLV 222 El Salvador
@@ -117,13 +116,14 @@ GW GNB 624 Guinea-Bissau
GY GUY 328 Guyana
HT HTI 332 Haiti
HM HMD 334 Heard Island and McDonald Islands
+VA VAT 336 Holy See
HN HND 340 Honduras
HK HKG 344 Hong Kong
HU HUN 348 Hungary
IS ISL 352 Iceland
IN IND 356 India
ID IDN 360 Indonesia
-IR IRN 364 Iran, Islamic Republic of
+IR IRN 364 Iran (Islamic Republic of)
IQ IRQ 368 Iraq
IE IRL 372 Ireland
IM IMN 833 Isle of Man
@@ -136,8 +136,8 @@ JO JOR 400 Jordan
KZ KAZ 398 Kazakhstan
KE KEN 404 Kenya
KI KIR 296 Kiribati
-KP PRK 408 Korea, Democratic People's Republic of
-KR KOR 410 Korea, Republic of
+KP PRK 408 Korea (Democratic People's Republic of)
+KR KOR 410 Korea (Republic of)
KW KWT 414 Kuwait
KG KGZ 417 Kyrgyzstan
LA LAO 418 Lao People's Democratic Republic
@@ -145,12 +145,12 @@ LV LVA 428 Latvia
LB LBN 422 Lebanon
LS LSO 426 Lesotho
LR LBR 430 Liberia
-LY LBY 434 Libyan Arab Jamahiriya
+LY LBY 434 Libya
LI LIE 438 Liechtenstein
LT LTU 440 Lithuania
LU LUX 442 Luxembourg
MO MAC 446 Macao
-MK MKD 807 Macedonia, the Former Yugoslav Republic of
+MK MKD 807 Macedonia (the former Yugoslav Republic of)
MG MDG 450 Madagascar
MW MWI 454 Malawi
MY MYS 458 Malaysia
@@ -163,8 +163,8 @@ MR MRT 478 Mauritania
MU MUS 480 Mauritius
YT MYT 175 Mayotte
MX MEX 484 Mexico
-FM FSM 583 Micronesia, Federated States of
-MD MDA 498 Moldova, Republic of
+FM FSM 583 Micronesia (Federated States of)
+MD MDA 498 Moldova (Republic of)
MC MCO 492 Monaco
MN MNG 496 Mongolia
ME MNE 499 Montenegro
@@ -188,7 +188,7 @@ NO NOR 578 Norway
OM OMN 512 Oman
PK PAK 586 Pakistan
PW PLW 585 Palau
-PS PSE 275 Palestinian Territory, Occupied
+PS PSE 275 Palestine, State of
PA PAN 591 Panama
PG PNG 598 Papua New Guinea
PY PRY 600 Paraguay
@@ -199,14 +199,16 @@ PL POL 616 Poland
PT PRT 620 Portugal
PR PRI 630 Puerto Rico
QA QAT 634 Qatar
-RE REU 638 Reunion
+RE REU 638 Réunion
RO ROU 642 Romania
RU RUS 643 Russian Federation
RW RWA 646 Rwanda
-BL BLM 652 Saint Barthelemy
+BL BLM 652 Saint Barthélemy
+SH SHN 654 Saint Helena Ascension and Tristan da Cunha
KN KNA 659 Saint Kitts and Nevis
LC LCA 662 Saint Lucia
-MF MAF 663 Saint Martin (French Part)
+MF MAF 663 Saint Martin (French part)
+PM SPM 666 Saint Pierre and Miquelon
VC VCT 670 Saint Vincent and the Grenadines
WS WSM 882 Samoa
SM SMR 674 San Marino
@@ -227,8 +229,6 @@ GS SGS 239 South Georgia and the South Sandwich Islands
SS SSD 728 South Sudan
ES ESP 724 Spain
LK LKA 144 Sri Lanka
-SH SHN 654 Saint Helena, Ascension and Tristan da Cunha
-PM SPM 666 Saint Pierre and Miquelon
SD SDN 729 Sudan
SR SUR 740 Suriname
SJ SJM 744 Svalbard and Jan Mayen
@@ -238,8 +238,9 @@ CH CHE 756 Switzerland
SY SYR 760 Syrian Arab Republic
TW TWN 158 Taiwan
TJ TJK 762 Tajikistan
-TZ TZA 834 Tanzania, United Republic of
+TZ TZA 834 Tanzania United Republic of
TH THA 764 Thailand
+TL TLS 626 Timor-Leste
TG TGO 768 Togo
TK TKL 772 Tokelau
TO TON 776 Tonga
@@ -252,17 +253,16 @@ TV TUV 798 Tuvalu
UG UGA 800 Uganda
UA UKR 804 Ukraine
AE ARE 784 United Arab Emirates
-GB GBR 826 United Kingdom
-US USA 840 United States
+GB GBR 826 United Kingdom of Great Britain and Northern Ireland
+US USA 840 United States of America
UM UMI 581 United States Minor Outlying Islands
UY URY 858 Uruguay
UZ UZB 860 Uzbekistan
VU VUT 548 Vanuatu
-VA VAT 336 Holy See (Vatican City State)
VE VEN 862 Venezuela, Bolivarian Republic of
VN VNM 704 Viet Nam
-VG VGB 092 Virgin Islands, British
-VI VIR 850 Virgin Islands, U.S.
+VG VGB 092 Virgin Islands (British)
+VI VIR 850 Virgin Islands (U.S.)
WF WLF 876 Wallis and Futuna
EH ESH 732 Western Sahara
YE YEM 887 Yemen
diff --git a/share/misc/iso639 b/share/misc/iso639
index 1902e51..1a7da21 100644
--- a/share/misc/iso639
+++ b/share/misc/iso639
@@ -127,6 +127,7 @@ cu chu chu Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Chur
cv chv chv Chuvash
chy chy Cheyenne
cmc cmc Chamic languages
+ cnr cnr Montenegrin
cop cop Coptic
kw cor cor Cornish
co cos cos Corsican
diff --git a/share/misc/organization.dot b/share/misc/organization.dot
index 6d9079b..a1c54f1 100644
--- a/share/misc/organization.dot
+++ b/share/misc/organization.dot
@@ -28,15 +28,15 @@ _misc [label="Miscellaneous Hats"]
core [label="Core Team\ncore@FreeBSD.org\nallanjude, bapt, bcr,\nbenno, emaste, gnn,\nhrs, jhb, kmoore"]
coresecretary [label="Core Team Secretary\ncore-secretary@FreeBSD.org\nmatthew"]
doccommitters [label="Doc/www Committers\ndoc-committers@FreeBSD.org"]
-doceng [label="Documentation Engineering Team\ndoceng@FreeBSD.org\ngjb, blackend,\ngabor, hrs"]
+doceng [label="Documentation Engineering Team\ndoceng@FreeBSD.org\ngjb, blackend,\ngabor, hrs,\nwblock"]
portscommitters [label="Ports Committers\nports-committers@FreeBSD.org"]
-portmgr [label="Port Management Team\nportmgr@FreeBSD.org\nantoine, bapt, bdrewery,\nerwin, mat, swills,\nmiwi"]
+portmgr [label="Port Management Team\nportmgr@FreeBSD.org\nadamw, antoine, bapt, bdrewery\nfeld, mat, rene, swills"]
portmgrsecretary [label="Port Management Team Secretary\nportmgr-secretary@FreeBSD.org\nrene"]
-re [label="Primary Release Engineering Team\nre@FreeBSD.org\nkib, blackend, jpaetzel, hrs, kensmith"]
-secteam [label="Security Team\nsecteam@FreeBSD.org\ndelphij,\ndes, gavin, gjb,\nglebius, remko"]
-portssecteam [label="Ports Security Team\nports-secteam@FreeBSD.org\ndelphij, eadler, feld, jgh, junovitch, miwi, rea, sbz, simon, swills, zi"]
+re [label="Primary Release Engineering Team\nre@FreeBSD.org\ngjb, kib,\nbdrewery, blackend,\nrgrimes, delphij,\nhrs, glebius,\nmarius, rwatson"]
+secteam [label="Security Team\nsecteam@FreeBSD.org\nbenno, delphij,\ndes, emaste,\ngjb, gordon,\nremko"]
+portssecteam [label="Ports Security Team\nports-secteam@FreeBSD.org\ndelphij, amdmi3, eadler, feld, jgh, rea, riggs, sbz, simon, swills, zi"]
secteamsecretary [label="Security Team Secretary\nsecteam-secretary@FreeBSD.org\nremko"]
-securityofficer [label="Security Officer Team\nsecurity-officer@FreeBSD.org\ncperciva, simon, nectar"]
+securityofficer [label="Security Officer Team\nsecurity-officer@FreeBSD.org\nbenno, delphij,\ndes, emaste,\ngjb, gordon,\nremko"]
srccommitters [label="Src Committers\nsrc-committers@FreeBSD.org"]
# Admin teams go here alphabetically sorted
@@ -44,20 +44,18 @@ srccommitters [label="Src Committers\nsrc-committers@FreeBSD.org"]
accounts [label="Accounts Team\naccounts@FreeBSD.org\nmarkm, simon, kensmith,\ndhw"]
backups [label="Backup Administrators\nbackups@FreeBSD.org\nsimon, kensmith,\ndhw"]
bugmeister [label="Bugmeister Team\nbugmeister@FreeBSD.org\neadler, gavin, gonzo"]
-clusteradm [label="Cluster Administrators\nclusteradm@FreeBSD.org\nbrd, simon, ps,\nkensmith, peter"]
-cvsupmaster [label="CVSup Mirror Site Coordinators\ncvsup-master@FreeBSD.org\nkuriyama, jdp,\nkensmith"]
+clusteradm [label="Cluster Administrators\nclusteradm@FreeBSD.org\nallanjude, brd,\ndhw, gavin,\ngjb, peter,\nsbruno, simon,\nzi"]
dnsadm [label="DNS Administrators\ndnsadm@FreeBSD.org\nbillf, dg, ps,\nkensmith, peter"]
mirroradmin [label="FTP/WWW Mirror Site Coordinators\nmirror-admin@FreeBSD.org\nkuriyama, kensmith"]
-ncvs [label="CVS src Repository Managers\nncvs@FreeBSD.org\njoe, kuriyama, markm,\nsimon, peter"]
perforceadmin [label="Perforce Repository Administrators\nperforce-admin@FreeBSD.org\nscottl, kensmith, gordon,\nrwatson, peter, dhw"]
-postmaster [label="Postmaster Team\npostmaster@FreeBSD.org\njmb, brd, sahil, dhw"]
+postmaster [label="Postmaster Team\npostmaster@FreeBSD.org\ndhw, ler, pi, rea, remko, zi"]
refadm [label="Reference Systems Administrators\nrefadm@FreeBSD.org\njake, billf, markm, simon,\nobrien, ps, kensmith,\npeter, dhw"]
-webmaster [label="Webmaster Team\nwebmaster@FreeBSD.org\nnik, kuriyama, simon,\njesusr, wosch"]
+webmaster [label="Webmaster Team\nwebmaster@FreeBSD.org\ngjb, wblock, blackend,\ngabor, hrs, wosch"]
# Misc hats go here alphabetically sorted
-donations [label="Donations Team\ndonations@FreeBSD.org\ngjb, wilko, gahr, pgolluci,\nobrien, trhodes, ds,\nrwatson"]
-marketing [label="Marketing Team\nmarketing@FreeBSD.org\nSteven Beedle, Denise Ebery, deb,\njkoshy, Dru Lavigne, mwlucas, imp,\nKris Moore, murray, mattt,\nJeremy C. Reed, rwatson"]
+donations [label="Donations Team\ndonations@FreeBSD.org\nwilko, gahr, pgolluci,\nobrien, trhodes, ds,\nrwatson"]
+marketing [label="Marketing Team\nmarketing@FreeBSD.org\nSteven Beedle, Denise Ebery, deb,\njkoshy, dru, mwlucas, imp,\nKris Moore, murray, mattt,\nJeremy C. Reed, rwatson"]
vendorrelations [label="Vendor Relations\nvendor-relations@FreeBSD.org\ncore, FreeBSD Foundation"]
# Here are the team relationships.
@@ -68,8 +66,6 @@ _admin -> accounts
_admin -> backups
_admin -> bugmeister
_admin -> clusteradm
-_admin -> ncvs
-_admin -> cvsupmaster
_admin -> dnsadm
_admin -> mirroradmin
_admin -> perforceadmin
diff --git a/share/misc/pci_vendors b/share/misc/pci_vendors
index 519e3ad..d0369a8 100644
--- a/share/misc/pci_vendors
+++ b/share/misc/pci_vendors
@@ -2,8 +2,8 @@
# List of PCI ID's
#
-# Version: 2018.02.15
-# Date: 2018-02-15 03:15:01
+# Version: 2018.03.21
+# Date: 2018-03-21 03:15:01
#
# Maintained by Albert Pool, Martin Mares, and other volunteers from
# the PCI ID Project at http://pci-ids.ucw.cz/.
@@ -26,6 +26,17 @@
0010 Allied Telesis, Inc (Wrong ID)
# This is a relabelled RTL-8139
8139 AT-2500TX V3 Ethernet
+0014 Loongson Technology LLC
+ 7a02 APB (Advanced Peripheral Bus) Controller
+ 7a03 Gigabit Ethernet Controller
+ 7a04 OTG USB Controller
+ 7a05 Vivante GPU (Graphics Processing Unit)
+ 7a06 DC (Display Controller)
+ 7a07 HDA (High Definition Audio) Controller
+ 7a08 SATA AHCI Controller
+ 7a0f DMA (Direct Memory Access) Controller
+ 7a14 EHCI USB Controller
+ 7a24 OHCI USB Controller
001c PEAK-System Technik GmbH
0001 PCAN-PCI CAN-Bus controller
001c 0004 2 Channel CAN Bus SJC1000
@@ -753,7 +764,9 @@
131b Kaveri [Radeon R4 Graphics]
131c Kaveri [Radeon R7 Graphics]
131d Kaveri [Radeon R6 Graphics]
- 15dd Vega [Radeon Vega 8 Mobile]
+ 15dd Raven Ridge [Radeon Vega Series / Radeon Vega Mobile Series]
+ 103c 83c6 Radeon Vega 8 Mobile
+ 1458 d000 Radeon RX Vega 11
15ff Vega [Radeon Vega 28 Mobile]
1714 BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series]
103c 168b ProBook 4535s
@@ -1601,10 +1614,12 @@
103c 2100 FirePro M4100
6602 Mars
6603 Mars
- 6604 Opal XT [Radeon R7 M265]
+ 6604 Opal XT [Radeon R7 M265/M365X/M465]
103c 8006 FirePro M4170
+ 103c 814f Litho XT [Radeon R7 M365X]
+ 103c 82aa Litho XT [Radeon R7 M465]
17aa 3643 Radeon R7 A360
- 6605 Opal PRO [Radeon R7 M260]
+ 6605 Opal PRO [Radeon R7 M260X]
103c 2259 FirePro M4150
6606 Mars XTX [Radeon HD 8790M]
1028 0684 FirePro W4170M
@@ -1679,6 +1694,7 @@
103c 80be Radeon R5 M330
103c 8136 Radeon R5 M330
103c 8329 Radeon R7 M520
+ 17aa 3633 Radeon R5 A330
17aa 3804 Radeon R5 M330
17aa 3809 Radeon R5 M330
17aa 381a Radeon R5 M430
@@ -2298,8 +2314,11 @@
1043 04fb Radeon RX 480
1043 04fd Radeon RX 480 8GB
1458 22f0 Radeon RX 570
+ 1458 22f7 Radeon RX 570 Gaming 4G
1462 3411 Radeon RX 470
1462 3413 Radeon RX 480
+ 1462 3416 Radeon RX 570
+ 1462 3418 Radeon RX 580 Armor 4G OC
148c 2372 Radeon RX 480
148c 2373 Radeon RX 470
1682 9470 Radeon RX 470
@@ -2334,7 +2353,14 @@
106b 0179 Radeon Pro 560
1642 1727 Polaris 21 XL [Radeon RX 560D]
1682 956d Polaris 21 XL [Radeon RX 560D]
- 67ff Baffin [Radeon RX 560]
+ 67ff Baffin [Radeon RX 550 640SP / RX 560]
+ 1002 0b04 Radeon RX 560
+ 1043 04bc Radeon RX 560
+ 1458 22ed Radeon RX 560
+ 148c 2381 Radeon RX 560
+ 1682 9560 Radeon RX 560
+ 1da2 e348 Radeon RX 560
+ 1da2 e367 Radeon RX 550 640SP
6800 Wimbledon XT [Radeon HD 7970M]
1002 0124 Radeon HD 7970M
8086 2110 Radeon HD 7970M
@@ -2349,7 +2375,9 @@
6808 Pitcairn XT GL [FirePro W7000]
1002 0310 FirePro S7000
1002 0420 Radeon Sky 500
+ 103c 030c MED-X7000
13cc 3d25 MXRT-7500
+ 15c3 030c MED-X7000
6809 Pitcairn LE GL [FirePro W5000]
13cc 3d23 MXRT-5500
13cc 3d24 MXRT-5550
@@ -2411,8 +2439,6 @@
682d Chelsea XT GL [FirePro M4000]
682f Chelsea LP [Radeon HD 7730M]
103c 1851 Radeon HD 7750M
- 6830 Cape Verde [Radeon HD 7800M Series]
- 6831 Cape Verde [AMD Radeon HD 7700M Series]
6835 Cape Verde PRX [Radeon R9 255 OEM]
6837 Cape Verde LE [Radeon HD 7730/8730]
1462 2796 Radeon HD 8730
@@ -3026,6 +3052,7 @@
103c 2269 Radeon R7 M260
103c 22c6 Radeon R7 M260
103c 22c8 Radeon R7 M260
+ 103c 2b45 Radeon R7 A360
103c 808c Radeon R7 M260
103c 8099 Radeon R7 M360
103c 80b5 Radeon R7 M360
@@ -3062,7 +3089,8 @@
148c 9380 Radeon R9 380
# Make naming scheme consistent
174b e308 Radeon R9 380 Nitro 4G D5
- 694c Vega [Radeon RX Vega M]
+ 694c Polaris 22 [Radeon RX Vega M GH]
+ 694e Polaris 22 [Radeon RX Vega M GL]
6980 Polaris12
6981 Polaris12
6985 Lexa XT [Radeon PRO WX 3100]
@@ -3351,11 +3379,13 @@
9553 RV710/M92 [Mobility Radeon HD 4530/4570/545v]
1025 015e Mobility Radeon HD 4570
1025 017d Mobility Radeon HD 4570
- 1025 0205 Mobility Radeon HD 4570
+ 1025 0205 Mobility Radeon HD 4570 / 545v
1025 0206 Mobility Radeon HD 4570
1025 0237 Mobility Radeon HD 4570
- 1028 02be Mobility Radeon HD 4570
+ 1028 02be Mobility Radeon HD 4570 / 545v
1028 02e8 Mobility Radeon HD 4530
+ 103c 143c Mobility Radeon HD 545v
+ 103c 1446 Mobility Radeon HD 545v
103c 3624 Mobility Radeon HD 4530
103c 3628 Mobility Radeon HD 4530
103c 3636 Mobility Radeon HD 4530
@@ -3363,6 +3393,12 @@
1043 1b42 Mobility Radeon HD 4570
104d 9056 Mobility Radeon HD 4570
1179 ff82 Satellite L505-13T GPU (Mobility Radeon HD 5145)
+ 144d c07f Mobility Radeon HD 545v
+ 144d c571 Mobility Radeon HD 545v
+ 1462 1006 Mobility Radeon HD 545v
+ 17aa 2129 Mobility Radeon HD 545v
+ 17aa 215b Mobility Radeon HD 545v
+ 17aa 21bb Mobility Radeon HD 545v
9555 RV710/M92 [Mobility Radeon HD 4350/4550]
103c 1411 ProBook 4720s GPU (Mobility Radeon HD 4350)
9557 RV711 GL [FirePro RG220]
@@ -3409,7 +3445,7 @@
95c6 RV620 LE [Radeon HD 3450 AGP]
95c9 RV620 LE [Radeon HD 3450 PCI]
95cc RV620 GL [FirePro V3700]
- 95cd RV620 [FirePro 2450]
+ 95cd RV620 GL [FirePro 2450]
95cf RV620 GL [FirePro 2260]
960f RS780 HDMI Audio [Radeon 3000/3100 / HD 3200/3300]
9610 RS780 [Radeon HD 3200]
@@ -3485,7 +3521,19 @@
985d Mullins
985e Mullins
985f Mullins
- 9874 Carrizo
+ 9874 Wani [Radeon R5/R6/R7 Graphics]
+ 1002 1871 Radeon R5 Graphics
+ 1002 1e20 Radeon R7 Graphics
+ 1028 06bd Radeon R6 Graphics
+ 103c 2b44 Radeon R6 Graphics
+ 103c 8221 Radeon R5 Graphics
+ 103c 8223 Radeon R5 Graphics
+ 103c 8238 Radeon R7 Graphics
+ 103c 8353 Radeon R7 Graphics
+ 1458 d000 Radeon R7 Graphics
+ 17aa 5113 Radeon R6 Graphics
+ 17aa 5116 Radeon R6 Graphics
+ 17aa 5118 Radeon R5 Graphics
9900 Trinity [Radeon HD 7660G]
103c 1985 Pavilion 17-e163sg Notebook PC
# AMD A10-5800K CPU
@@ -6344,6 +6392,7 @@
1077 000b 25GE 2P QL41262HxCU-DE Adapter
1077 0011 FastLinQ QL41212H 25GbE Adapter
1077 0012 FastLinQ QL41112H 10GbE Adapter
+ 1077 0039 QLogic QL41262 PCIe 25Gb 2-Port SFP28 Ethernet Adapter
1590 021d 10/25GbE 2P QL41222HLCU-HP Adapter
1590 021e 10/25GbE 2P QL41162HMRJ-HP Adapter
1590 021f 10/25GbE 2P QL41262HMCU-HP Adapter
@@ -8285,8 +8334,10 @@
0100 Lightning 1200
10dd 0023 Lightning 1200 15+16M
10de NVIDIA Corporation
- 0008 NV1 [EDGE 3D]
- 0009 NV1 [EDGE 3D]
+ 0008 NV1 [STG2000X-B Series]
+ 0009 NV1 [NV1 Series]
+ 0018 NV3 [Riva 128]
+ 0019 NV3 [Riva 128ZX]
0020 NV4 [Riva TNT]
1043 0200 V3400 TNT
1048 0c18 Erazor II SGRAM
@@ -8657,12 +8708,12 @@
00f9 NV40 [GeForce 6800 GT/GTO/Ultra]
10de 00f9 NV40 [GeForce 6800 GT]
1682 2120 GEFORCE 6800 GT PCI-E
- 00fa NV36 [GeForce PCX 5750]
- 00fb NV38 [GeForce PCX 5900]
+ 00fa NV39 [GeForce PCX 5750]
+ 00fb NV35 [GeForce PCX 5900]
00fc NV37GL [Quadro FX 330/GeForce PCX 5300]
00fd NV37GL [Quadro PCI-E Series]
00fe NV38GL [Quadro FX 1300]
- 00ff NV18 [GeForce PCX 4300]
+ 00ff NV19 [GeForce PCX 4300]
0100 NV10 [GeForce 256 SDR]
1043 0200 AGP-V6600 SGRAM
1043 0201 AGP-V6600 SDRAM
@@ -9871,7 +9922,7 @@
0863 C79 [GeForce 9400M]
106b 00aa MacBook5,1
0864 C79 [GeForce 9300]
- 0865 C79 [GeForce 9300/ION]
+ 0865 C79 [GeForce 9300 / ION]
0866 C79 [GeForce 9400M G]
106b 00b1 GeForce 9400M
0867 C79 [GeForce 9400]
@@ -9895,12 +9946,12 @@
1043 1c12 GeForce G102M
1043 1c52 GeForce G205M
0874 C79 [ION]
- 0876 ION VGA [GeForce 9400M]
+ 0876 C79 [GeForce 9400M / ION]
087a C79 [GeForce 9400]
- 087d ION VGA
+ 087d C79 [ION]
19da a123 IONITX-F-E
- 087e ION LE VGA
- 087f ION LE VGA
+ 087e C79 [ION LE]
+ 087f C79 [ION LE]
08a0 MCP89 [GeForce 320M]
08a2 MCP89 [GeForce 320M]
08a3 MCP89 [GeForce 320M]
@@ -9931,6 +9982,7 @@
0a64 GT218 [ION]
0a65 GT218 [GeForce 210]
1043 8334 EN210 SILENT
+ 1458 36a9 GV-N210D3-1GI (rev. 6.0/6.1)
1462 8094 N210 [Geforce 210] PCIe graphics adapter
0a66 GT218 [GeForce 310]
0a67 GT218 [GeForce 315]
@@ -9941,7 +9993,7 @@
1028 040b Latitude E6510
17aa 2142 ThinkPad T410
0a6e GT218M [GeForce 305M]
- 0a6f GT218 [ION]
+ 0a6f GT218M [ION]
0a70 GT218M [GeForce 310M]
0a71 GT218M [GeForce 305M]
0a72 GT218M [GeForce 310M]
@@ -9949,7 +10001,7 @@
0a74 GT218M [GeForce G210M]
1b0a 903a GeForce G210
0a75 GT218M [GeForce 310M]
- 0a76 GT218 [ION 2]
+ 0a76 GT218M [ION 2]
0a78 GT218GL [Quadro FX 380 LP]
0a7a GT218M [GeForce 315M]
104d 907e GeForce 315M
@@ -10869,6 +10921,7 @@
1288 GK208B [GeForce GT 720]
1289 GK208 [GeForce GT 710]
128b GK208B [GeForce GT 710]
+ 1043 85f7 GT710-SL-1GD5
1290 GK208M [GeForce GT 730M]
103c 2afa GeForce GT 730A
103c 2b04 GeForce GT 730A
@@ -11021,7 +11074,7 @@
1b80 GP104 [GeForce GTX 1080]
1b81 GP104 [GeForce GTX 1070]
1b82 GP104 [GeForce GTX 1070 Ti]
- 1b83 GP104
+ 1b83 GP104 [GeForce GTX 1060 6GB]
1b84 GP104 [GeForce GTX 1060 3GB]
1b87 GP104 [P104-100]
1ba0 GP104M [GeForce GTX 1080 Mobile]
@@ -11040,6 +11093,7 @@
1bb7 GP104GLM [Quadro P4000 Mobile]
1462 11e9 Quadro P4000 Max-Q
1bb8 GP104GLM [Quadro P3000 Mobile]
+ 1bbb GP104GLM [Quadro P3200 Mobile]
1bc7 GP104 [P104-101]
1be0 GP104M [GeForce GTX 1080 Mobile]
1028 07c0 GeForce GTX 1080 Max-Q
@@ -11079,6 +11133,8 @@
1cb6 GP107GL [Quadro P620]
1d01 GP108 [GeForce GT 1030]
1d10 GP108M [GeForce MX150]
+ 1d12 GP108M [GeForce MX150]
+ 1d72 1701 Mi Notebook Pro [GeForce MX150]
1d33 GP108GL [Quadro P500]
1d81 GV100 [TITAN V]
1db1 GV100GL [Tesla V100 SXM2]
@@ -11424,6 +11480,7 @@
8821 RTL8821AE 802.11ac PCIe Wireless Network Adapter
b723 RTL8723BE PCIe Wireless Network Adapter
10ec 8739 Dell Wireless 1801
+ b822 RTL8822BE 802.11a/b/g/n/ac WiFi adapter
c821 RTL8821CE 802.11ac PCIe Wireless Network Adapter
10ed Ascii Corporation
7310 V7310
@@ -13343,6 +13400,8 @@
1170 Inventec Corporation
1171 Loughborough Sound Images Plc
1172 Altera Corporation
+ 00a7 Stratix V
+ 0530 Stratix IV
1173 Adobe Systems, Inc
1174 Bridgeport Machines
1175 Mitron Computer Inc.
@@ -13354,6 +13413,7 @@
0102 Extended IDE Controller
0103 EX-IDE Type-B
010f NVMe Controller
+ 0115 XG4 NVMe SSD Controller
0404 DVD Decoder card
0406 Tecra Video Capture device
0407 DVD Decoder card (Version 2)
@@ -13482,6 +13542,7 @@
1028 01d7 XPS M1210
1028 01f3 Inspiron 1420
1028 022f Inspiron 1525
+ 103c 1521 HP EliteBook 8540w
103c 30b5 Presario V3242AU
103c 30b7 Presario V6133CL
103c 30cc Pavilion dv6700
@@ -13533,6 +13594,7 @@
1028 01f5 Inspiron 1501
1028 024f Latitude e6500
103c 03b5 Presario V3242AU
+ 103c 1521 HP EliteBook 8540w
103c 30b7 Presario V6133CL
103c 30cf Pavilion dv9500/9600/9700 series
1183 0843 Alienware Aurora m9700
@@ -15032,7 +15094,7 @@
12a2 Newgen Systems Corporation
12a3 Lucent Technologies
8105 T8105 H100 Digital Switch
-12a4 NTT Electronics Technology Company
+12a4 NTT Electronics Corporation
12a5 Vision Dynamics Ltd.
12a6 Scalable Networks, Inc.
12a7 AMO GmbH
@@ -15511,6 +15573,9 @@
5163 RealSSD P425m
5180 9100 PRO NVMe SSD
5181 9100 MAX NVMe SSD
+ 5190 9200 ECO NVMe SSD
+ 5191 9200 PRO NVMe SSD
+ 5192 9200 MAX NVMe SSD
1345 Arescom Inc
1347 Odetics
1349 Sumitomo Electric Industries, Ltd.
@@ -17010,7 +17075,7 @@
1028 1fc1 Express Flash NVMe PM1725 800GB SFF
1028 1fc2 Express Flash NVMe PM1725 1.6TB SFF
1028 1fc4 Express Flash NVMe PM1725 1.6TB AIC
- a822 NVMe SSD Controller 172Xa
+ a822 NVMe SSD Controller 172Xa/172Xb
1014 0621 PCIe3 1.6TB NVMe Flash Adapter II x8
1014 0622 PCIe3 3.2TB NVMe Flash Adapter II x8
1014 0629 PCIe3 6.4TB NVMe Flash Adapter II x8
@@ -17021,6 +17086,14 @@
1028 1fdd Express Flash PM1725a 1.6TB AIC
1028 1fde Express Flash PM1725a 3.2TB AIC
1028 1fdf Express Flash PM1725a 6.4TB AIC
+ 1028 1ff3 Express Flash PM1725b 1.6TB SFF
+ 1028 1ff4 Express Flash PM1725b 3.2TB SFF
+ 1028 1ff5 Express Flash PM1725b 6.4TB SFF
+ 1028 1ff6 Express Flash PM1725b 12.8TB SFF
+ 1028 1ff7 Express Flash PM1725b 1.6TB AIC
+ 1028 1ff8 Express Flash PM1725b 3.2TB AIC
+ 1028 1ff9 Express Flash PM1725b 6.4TB AIC
+ 1028 1ffa Express Flash PM1725b 12.8TB AIC
144e OLITEC
144f Askey Computer Corp.
1450 Octave Communications Ind.
@@ -18684,6 +18757,7 @@
15b3 0026 ConnectX-3 IB FDR Dual Port Mezzanine Card
15b3 0028 ConnectX-3 VPI Dual QSFP+ Port QDR Infiniband 40Gb/s or 10Gb Ethernet
15b3 0059 ConnectX-3 VPI IB FDR/40 GbE Single Port QSFP+ Mezzanine Card
+ 15b3 0064 ConnectX-3 EN 10/40 GbE Single Port QSFP+ Adapter (MCX313A-BCBT)
15b3 0065 ConnectX-3 VPI IB FDR/40 GbE Dual Port QSFP+ Adapter
15b3 0066 ConnectX-3 IB FDR10 Dual Port Mezzanine Card
15b3 0067 ConnectX-3 VPI IB FDR/40 GbE Single Port QSFP+ Adapter
@@ -18731,9 +18805,10 @@
15b3 0050 ConnectX-4 100 GbE Dual Port QSFP28 Adapter
1014 MT27700 Family [ConnectX-4 Virtual Function]
1015 MT27710 Family [ConnectX-4 Lx]
+ 15b3 0001 ConnectX-4 Lx EN network interface card, 25GbE single-port SFP28, PCIe3.0 x8, tall bracket, ROHS R6
+ 15b3 0003 Stand-up ConnectX-4 Lx EN, 25GbE dual-port SFP28, PCIe3.0 x8, MCX4121A-ACAT
15b3 0004 ConnectX-4 Lx Stand-up dual-port 10GbE MCX4121A-XCAT
15b3 0005 Mellanox Technologies ConnectX-4 Lx Stand-up single-port 40GbE MCX4131A-BCAT
- 15b3 0016 ConnectX-4 Lx 25 GbE Dual Port SFP28 Adapter
15b3 0020 MCX4411A-ACQN, ConnectX-4 Lx EN OCP, 1x25Gb
15b3 0021 MCX4421A-ACQN ConnectX-4 Lx EN OCP,2x25G
15b3 0025 ConnectX-4 Lx 25 GbE Dual Port SFP28 rNDC
@@ -19861,6 +19936,7 @@
1914 VirtexUS ASIC Emulation Board [DNVUF2A]
1915 Arria10 PCIe MainRef Design [DNPCIe_80G_A10_LL]
1916 VirtexUS PCIe Accelerator Board [DNVUF2_HPC_PCIe]
+ 1917 UltrascalePlus PCIe Accelerator Board [DNPCIe_400G_VU_LL]
1a00 Virtex6 PCIe DMA Netlist Design
1a01 Virtex6 PCIe Darklite Design [DNPCIe_HXT_10G_LL]
1a02 Virtex7 PCIe DMA Netlist Design
@@ -19871,6 +19947,7 @@
1a08 KintexUS PCIe Darklite Design [DNPCIe_40G_KU_LL_QSFP]
1a09 Arria10 PCIe Darklite Design [DNPCIe_80G_A10_LL]
1a0a VirtexUS PCIe Darklite Design [DNVUF2_HPC_PCIe]
+ 1a0b UltrascalePlus PCIe Darklite Design [DNPCIe_400G_VU_LL]
17e4 Sectra AB
0001 KK671 Cardbus encryption board
0002 KK672 Cardbus encryption board
@@ -20665,6 +20742,7 @@
5808 DDRdrive X8
dd52 DDRdrive X1-30
19e5 Huawei Technologies Co., Ltd.
+ 1710 iBMA Virtual Network Adapter
1711 Hi1710 [iBMC Intelligent Management system chip w/VGA support]
19e7 NET (Network Equipment Technologies)
1001 STIX DSP Card
@@ -20717,12 +20795,15 @@
0200 TILE-Gx processor
0201 TILE-Gx Processor Virtual Function
2000 TILE-Gx PCI Express Root Port
-1a4a SLAC National Accelerator Lab PPA-REG
+1a4a SLAC National Accelerator Lab TID-AIR
1000 MCOR Power Supply Controller
1010 AMC EVR - Stockholm Timing Board
2000 PGPCard - 4 Lane
2001 PGPCard - 8 Lane Plus EVR
2010 PCI-Express EVR
+# PC-260-101-03
+ 2020 PGP-GEN3 PCIe
+ 2030 AXI Stream DAQ PCIe card
1a51 Hectronic AB
1a55 Rohde & Schwarz DVS GmbH
0010 SDStationOEM
@@ -20882,6 +20963,7 @@
1849 1080 Motherboard
1142 ASM1042A USB 3.0 Host Controller
1242 ASM1142 USB 3.1 Host Controller
+ 1343 ASM1143 USB 3.1 Host Controller
1b2c Opal-RT Technologies Inc.
1b36 Red Hat, Inc.
0001 QEMU PCI-PCI bridge
@@ -20967,8 +21049,8 @@
# 2xHDMI and 2xHD-SDI inputs
e5f4 MPEG2 and H264 Encoder-Transcoder
f1c4 Dual ASI-RX/TX-CI card
-1b66 Deltacast
- 0007 Delta-3G-elp-11 SDI I/O Board
+1b66 DELTACAST
+ 0007 DELTA-3G-elp-d
1b6f Etron Technology, Inc.
7023 EJ168 USB 3.0 Host Controller
7052 EJ188/EJ198 USB 3.0 Host Controller
@@ -21246,6 +21328,7 @@
100e AR-ARKA-FX1 [Arkville 64B DPDK Data Mover]
1d6c 2001 DPDK-Aware Virtual Function [Arkville VF]
4200 A5PL-E1-10GETI [10 GbE Ethernet Traffic Instrument]
+1d72 Xiaomi
1d78 DERA
1d7c Aerotech, Inc.
1d87 Fuzhou Rockchip Electronics Co., Ltd
@@ -23854,6 +23937,7 @@
1563 Ethernet Controller 10G X550T
1028 1fa8 Ethernet 10G 4P X550/I350 rNDC
1028 1fa9 Ethernet 10G 4P X550 rNDC
+ 1170 0001 Intel Ethernet Controller X550-T2 OCP card
14c0 1201 X550 10Gb 2P RJ45 OCP Mezz
1590 00d1 Ethernet 10Gb 2-port 562T Adapter
1590 00d2 Ethernet 10Gb 2-port 562FLR-T Adapter
@@ -29072,6 +29156,7 @@
a2ed 200 Series PCH PCI Express Root Port #23
a2ee 200 Series PCH PCI Express Root Port #24
a2f0 200 Series PCH HD Audio
+ a370 Wireless-AC 9560 [Jefferson Peak]
a620 6400/6402 Advanced Memory Buffer (AMB)
abc0 Omni-Path Fabric Switch Silicon 100 Series
b152 21152 PCI-to-PCI Bridge
diff --git a/share/mk/Makefile b/share/mk/Makefile
index b33ab27..9b4eec8 100644
--- a/share/mk/Makefile
+++ b/share/mk/Makefile
@@ -33,6 +33,7 @@ FILES= \
bsd.kmod.mk \
bsd.lib.mk \
bsd.libnames.mk \
+ bsd.linker.mk \
bsd.links.mk \
bsd.man.mk \
bsd.mkopt.mk \
diff --git a/share/mk/bsd.compiler.mk b/share/mk/bsd.compiler.mk
index 38c4f5f..086087c 100644
--- a/share/mk/bsd.compiler.mk
+++ b/share/mk/bsd.compiler.mk
@@ -9,7 +9,7 @@
#
# COMPILER_VERSION is a numeric constant equal to:
# major * 10000 + minor * 100 + tiny
-# It too can be overriden on the command line. When testing it, be sure to
+# It too can be overridden on the command line. When testing it, be sure to
# make sure that you are limiting the test to a specific compiler. Testing
# against 30300 for gcc likely isn't what you wanted (since versions of gcc
# prior to 4.2 likely have no prayer of working).
@@ -19,7 +19,9 @@
# COMPILER_FEATURES will contain one or more of the following, based on
# compiler support for that feature:
#
-# - c++11 : supports full (or nearly full) C++11 programming environment.
+# - c++11: supports full (or nearly full) C++11 programming environment.
+# - retpoline: supports the retpoline speculative execution vulnerability
+# mitigation.
#
# These variables with an X_ prefix will also be provided if XCC is set.
#
@@ -168,11 +170,13 @@ ${X_}COMPILER_FREEBSD_VERSION= unknown
.endif
.endif
+${X_}COMPILER_FEATURES=
.if ${${X_}COMPILER_TYPE} == "clang" || \
(${${X_}COMPILER_TYPE} == "gcc" && ${${X_}COMPILER_VERSION} >= 40800)
-${X_}COMPILER_FEATURES= c++11
-.else
-${X_}COMPILER_FEATURES=
+${X_}COMPILER_FEATURES+= c++11
+.endif
+.if ${${X_}COMPILER_TYPE} == "clang" && ${${X_}COMPILER_VERSION} >= 60000
+${X_}COMPILER_FEATURES+= retpoline
.endif
.else
@@ -194,4 +198,5 @@ ${var}.${${X_}_cc_hash}:= ${${var}}
.endif # ${cc} == "CC" || !empty(XCC)
.endfor # .for cc in CC XCC
+.include <bsd.linker.mk>
.endif # !target(__<bsd.compiler.mk>__)
diff --git a/share/mk/bsd.cpu.mk b/share/mk/bsd.cpu.mk
index 7cbdce1..f063a85 100644
--- a/share/mk/bsd.cpu.mk
+++ b/share/mk/bsd.cpu.mk
@@ -173,7 +173,9 @@ _CPUCFLAGS = -mcpu=${CPUTYPE}
########## i386
. if ${MACHINE_CPUARCH} == "i386"
-. if ${CPUTYPE} == "bdver4"
+. if ${CPUTYPE} == "znver1"
+MACHINE_CPU = avx2 avx sse42 sse41 ssse3 sse4a sse3 sse2 sse mmx k6 k5 i586
+. elif ${CPUTYPE} == "bdver4"
MACHINE_CPU = xop avx2 avx sse42 sse41 ssse3 sse4a sse3 sse2 sse mmx k6 k5 i586
. elif ${CPUTYPE} == "bdver3" || ${CPUTYPE} == "bdver2" || \
${CPUTYPE} == "bdver1"
@@ -200,14 +202,16 @@ MACHINE_CPU = 3dnow mmx k6 k5 i586
MACHINE_CPU = mmx k6 k5 i586
. elif ${CPUTYPE} == "k5"
MACHINE_CPU = k5 i586
-. elif ${CPUTYPE} == "skylake" || ${CPUTYPE} == "knl"
+. elif ${CPUTYPE} == "cannonlake" || ${CPUTYPE} == "knm" || \
+ ${CPUTYPE} == "skylake-avx512" || ${CPUTYPE} == "knl"
MACHINE_CPU = avx512 avx2 avx sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586
-. elif ${CPUTYPE} == "broadwell" || ${CPUTYPE} == "haswell"
+. elif ${CPUTYPE} == "skylake" || ${CPUTYPE} == "broadwell" || \
+ ${CPUTYPE} == "haswell"
MACHINE_CPU = avx2 avx sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586
. elif ${CPUTYPE} == "ivybridge" || ${CPUTYPE} == "sandybridge"
MACHINE_CPU = avx sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586
-. elif ${CPUTYPE} == "westmere" || ${CPUTYPE} == "nehalem" || \
- ${CPUTYPE} == "silvermont"
+. elif ${CPUTYPE} == "goldmont" || ${CPUTYPE} == "westmere" || \
+ ${CPUTYPE} == "nehalem" || ${CPUTYPE} == "silvermont"
MACHINE_CPU = sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586
. elif ${CPUTYPE} == "penryn"
MACHINE_CPU = sse41 ssse3 sse3 sse2 sse i686 mmx i586
@@ -242,7 +246,9 @@ MACHINE_CPU = mmx
MACHINE_CPU += i486
########## amd64
. elif ${MACHINE_CPUARCH} == "amd64"
-. if ${CPUTYPE} == "bdver4"
+. if ${CPUTYPE} == "znver1"
+MACHINE_CPU = avx2 avx sse42 sse41 ssse3 sse4a sse3
+. elif ${CPUTYPE} == "bdver4"
MACHINE_CPU = xop avx2 avx sse42 sse41 ssse3 sse4a sse3
. elif ${CPUTYPE} == "bdver3" || ${CPUTYPE} == "bdver2" || \
${CPUTYPE} == "bdver1"
@@ -259,14 +265,16 @@ MACHINE_CPU = k8 3dnow sse3
. elif ${CPUTYPE} == "opteron" || ${CPUTYPE} == "athlon64" || \
${CPUTYPE} == "athlon-fx" || ${CPUTYPE} == "k8"
MACHINE_CPU = k8 3dnow
-. elif ${CPUTYPE} == "skylake" || ${CPUTYPE} == "knl"
+. elif ${CPUTYPE} == "cannonlake" || ${CPUTYPE} == "knm" || \
+ ${CPUTYPE} == "skylake-avx512" || ${CPUTYPE} == "knl"
MACHINE_CPU = avx512 avx2 avx sse42 sse41 ssse3 sse3
-. elif ${CPUTYPE} == "broadwell" || ${CPUTYPE} == "haswell"
+. elif ${CPUTYPE} == "skylake" || ${CPUTYPE} == "broadwell" || \
+ ${CPUTYPE} == "haswell"
MACHINE_CPU = avx2 avx sse42 sse41 ssse3 sse3
. elif ${CPUTYPE} == "ivybridge" || ${CPUTYPE} == "sandybridge"
MACHINE_CPU = avx sse42 sse41 ssse3 sse3
-. elif ${CPUTYPE} == "westmere" || ${CPUTYPE} == "nehalem" || \
- ${CPUTYPE} == "silvermont"
+. elif ${CPUTYPE} == "goldmont" || ${CPUTYPE} == "westmere" || \
+ ${CPUTYPE} == "nehalem" || ${CPUTYPE} == "silvermont"
MACHINE_CPU = sse42 sse41 ssse3 sse3
. elif ${CPUTYPE} == "penryn"
MACHINE_CPU = sse41 ssse3 sse3
diff --git a/share/mk/bsd.libnames.mk b/share/mk/bsd.libnames.mk
index 28be843..e09b2a6 100644
--- a/share/mk/bsd.libnames.mk
+++ b/share/mk/bsd.libnames.mk
@@ -54,6 +54,7 @@ LIBDEVDCTL?= ${DESTDIR}${LIBDIR_BASE}/libdevdctl.a
LIBDEVINFO?= ${DESTDIR}${LIBDIR_BASE}/libdevinfo.a
LIBDEVSTAT?= ${DESTDIR}${LIBDIR_BASE}/libdevstat.a
LIBDIALOG?= ${DESTDIR}${LIBDIR_BASE}/libdialog.a
+LIBDL?= ${DESTDIR}${LIBDIR_BASE}/libdl.a
LIBDNS?= ${DESTDIR}${LIBDIR_BASE}/libdns.a
LIBDPV?= ${DESTDIR}${LIBDIR_BASE}/libdpv.a
LIBDTRACE?= ${DESTDIR}${LIBDIR_BASE}/libdtrace.a
@@ -94,6 +95,11 @@ LIBKICONV?= ${DESTDIR}${LIBDIR_BASE}/libkiconv.a
LIBKRB5?= ${DESTDIR}${LIBDIR_BASE}/libkrb5.a
LIBKVM?= ${DESTDIR}${LIBDIR_BASE}/libkvm.a
LIBL?= ${DESTDIR}${LIBDIR_BASE}/libl.a
+LIBIBCM?= ${DESTDIR}${LIBDIR_BASE}/libibcm.a
+LIBIBMAD?= ${DESTDIR}${LIBDIR_BASE}/libibmad.a
+LIBIBNETDISC?= ${LIBDESTDIR}${LIBDIR_BASE}/libibnetdisc.
+LIBIBUMAD?= ${DESTDIR}${LIBDIR_BASE}/libibumad.a
+LIBIBVERBS?= ${DESTDIR}${LIBDIR_BASE}/libibverbs.a
LIBLN?= "don't use LIBLN, use LIBL"
LIBLZMA?= ${DESTDIR}${LIBDIR_BASE}/liblzma.a
LIBM?= ${DESTDIR}${LIBDIR_BASE}/libm.a
@@ -103,9 +109,9 @@ LIBMEMSTAT?= ${DESTDIR}${LIBDIR_BASE}/libmemstat.a
LIBMENU?= ${DESTDIR}${LIBDIR_BASE}/libmenu.a
LIBMILTER?= ${DESTDIR}${LIBDIR_BASE}/libmilter.a
LIBMLX4?= ${DESTDIR}${LIBDIR_BASE}/libmlx4.a
+LIBMLX5?= ${DESTDIR}${LIBDIR_BASE}/libmlx5.a
LIBMP?= ${DESTDIR}${LIBDIR_BASE}/libmp.a
LIBMT?= ${DESTDIR}${LIBDIR_BASE}/libmt.a
-LIBMTHCA?= ${DESTDIR}${LIBDIR_BASE}/libmthca.a
LIBNANDFS?= ${DESTDIR}${LIBDIR_BASE}/libnandfs.a
LIBNCURSES?= ${DESTDIR}${LIBDIR_BASE}/libncurses.a
LIBNCURSESW?= ${DESTDIR}${LIBDIR_BASE}/libncursesw.a
diff --git a/share/mk/bsd.linker.mk b/share/mk/bsd.linker.mk
new file mode 100644
index 0000000..d4ab693
--- /dev/null
+++ b/share/mk/bsd.linker.mk
@@ -0,0 +1,101 @@
+# $FreeBSD$
+
+# Setup variables for the linker.
+#
+# LINKER_TYPE is the major type of linker. Currently binutils and lld support
+# automatic detection.
+#
+# LINKER_VERSION is a numeric constant equal to:
+# major * 10000 + minor * 100 + tiny
+# It too can be overridden on the command line.
+#
+# LINKER_FEATURES may contain one or more of the following, based on
+# linker support for that feature:
+#
+# - build-id: support for generating a Build-ID note
+# - retpoline: support for generating PLT with retpoline speculative
+# execution vulnerability mitigation
+#
+# These variables with an X_ prefix will also be provided if XLD is set.
+#
+# This file may be included multiple times, but only has effect the first time.
+#
+
+.if !target(__<bsd.linker.mk>__)
+__<bsd.linker.mk>__:
+
+.for ld X_ in LD $${_empty_var_} XLD X_
+.if ${ld} == "LD" || !empty(XLD)
+# Try to import LINKER_TYPE and LINKER_VERSION from parent make.
+# The value is only used/exported for the same environment that impacts
+# LD and LINKER_* settings here.
+_exported_vars= ${X_}LINKER_TYPE ${X_}LINKER_VERSION ${X_}LINKER_FEATURES
+${X_}_ld_hash= ${${ld}}${MACHINE}${PATH}
+${X_}_ld_hash:= ${${X_}_ld_hash:hash}
+# Only import if none of the vars are set somehow else.
+_can_export= yes
+.for var in ${_exported_vars}
+.if defined(${var})
+_can_export= no
+.endif
+.endfor
+.if ${_can_export} == yes
+.for var in ${_exported_vars}
+.if defined(${var}.${${X_}_ld_hash})
+${var}= ${${var}.${${X_}_ld_hash}}
+.endif
+.endfor
+.endif
+
+.if ${ld} == "LD" || (${ld} == "XLD" && ${XLD} != ${LD})
+.if !defined(${X_}LINKER_TYPE) || !defined(${X_}LINKER_VERSION)
+_ld_version!= (${${ld}} --version || echo none) | head -n 1
+.if ${_ld_version} == "none"
+.warning Unable to determine linker type from ${ld}=${${ld}}
+.endif
+.if ${_ld_version:[1..2]} == "GNU ld"
+${X_}LINKER_TYPE= bfd
+_v= ${_ld_version:M[1-9].[0-9]*:[1]}
+.elif ${_ld_version:[1]} == "LLD"
+${X_}LINKER_TYPE= lld
+_v= ${_ld_version:[2]}
+.else
+.warning Unknown linker from ${ld}=${${ld}}: ${_ld_version}, defaulting to bfd
+${X_}LINKER_TYPE= bfd
+_v= 2.17.50
+.endif
+${X_}LINKER_VERSION!= echo "${_v:M[1-9].[0-9]*}" | \
+ awk -F. '{print $$1 * 10000 + $$2 * 100 + $$3;}'
+.undef _ld_version
+.undef _v
+${X_}LINKER_FEATURES=
+.if ${${X_}LINKER_TYPE} != "bfd" || ${${X_}LINKER_VERSION} > 21750
+${X_}LINKER_FEATURES+= build-id
+.endif
+.if ${${X_}LINKER_TYPE} != "lld" || ${${X_}LINKER_VERSION} >= 50000
+${X_}LINKER_FEATURES+= filter
+.endif
+.if ${${X_}LINKER_TYPE} == "lld" && ${${X_}LINKER_VERSION} >= 60000
+${X_}LINKER_FEATURES+= retpoline
+.endif
+.endif
+.else
+# Use LD's values
+X_LINKER_TYPE= ${LINKER_TYPE}
+X_LINKER_VERSION= ${LINKER_VERSION}
+X_LINKER_FEATURES= ${LINKER_FEATURES}
+.endif # ${ld} == "LD" || (${ld} == "XLD" && ${XLD} != ${LD})
+
+# Export the values so sub-makes don't have to look them up again, using the
+# hash key computed above.
+.for var in ${_exported_vars}
+${var}.${${X_}_ld_hash}:= ${${var}}
+.export-env ${var}.${${X_}_ld_hash}
+.undef ${var}.${${X_}_ld_hash}
+.endfor
+
+.endif # ${ld} == "LD" || !empty(XLD)
+.endfor # .for ld in LD XLD
+
+
+.endif # !target(__<bsd.linker.mk>__)
diff --git a/share/mk/bsd.obj.mk b/share/mk/bsd.obj.mk
index c9377db..7c1d2bb 100644
--- a/share/mk/bsd.obj.mk
+++ b/share/mk/bsd.obj.mk
@@ -159,7 +159,7 @@ whereobj:
.if ${CANONICALOBJDIR} != ${.CURDIR} && exists(${CANONICALOBJDIR}/)
cleanobj:
- @-rm -rf ${CANONICALOBJDIR}
+ -rm -rf ${CANONICALOBJDIR}
.else
cleanobj: clean cleandepend
.endif
diff --git a/share/mk/bsd.stand.mk b/share/mk/bsd.stand.mk
deleted file mode 100644
index 5851bdf..0000000
--- a/share/mk/bsd.stand.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# $FreeBSD$
-#
-# Common definitons for programs building in the stand-alone environment
-# and/or using libstand.
-#
-
-CFLAGS+= -ffreestanding -Wformat
-CFLAGS+= ${CFLAGS_NO_SIMD} -D_STANDALONE
-.if ${MACHINE_CPUARCH} != "aarch64"
-CFLAGS+= -msoft-float
-.endif
-
-.if ${MACHINE_CPUARCH} == "i386"
-CFLAGS.gcc+= -mpreferred-stack-boundary=2
-.endif
-.if ${MACHINE_CPUARCH} == "amd64"
-CFLAGS+= -fPIC -mno-red-zone
-.endif
-.if ${MACHINE} == "pc98"
-CFLAGS+= -Os
-.endif
-.if ${MACHINE_CPUARCH} == "aarch64"
-CFLAGS+= -fPIC -mgeneral-regs-only
-.endif
-.if ${MACHINE_CPUARCH} == "arm"
-CFLAGS+= -fPIC
-.endif
-.if ${MACHINE_CPUARCH} == "mips"
-CFLAGS+= -G0 -fno-pic -mno-abicalls
-.endif
diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk
index bfe8c4f..3064027 100644
--- a/share/mk/src.libnames.mk
+++ b/share/mk/src.libnames.mk
@@ -87,6 +87,7 @@ _LIBRARIES= \
devinfo \
devstat \
dialog \
+ dl \
dpv \
dtrace \
dwarf \
@@ -189,18 +190,16 @@ _LIBRARIES+= \
_LIBRARIES+= \
cxgb4 \
ibcm \
- ibcommon \
ibmad \
- ibsdp \
+ ibnetdisc \
ibumad \
ibverbs \
mlx4 \
- mthca \
- opensm \
- osmcomp \
- osmvendor \
+ mlx5 \
rdmacm \
-
+ osmcomp \
+ opensm \
+ osmvendor
.endif
# Each library's LIBADD needs to be duplicated here for static linkage of
@@ -324,17 +323,21 @@ _DP_zfs= md pthread umem util uutil m nvpair avl bsdxml geom nvpair z \
zfs_core
_DP_zfs_core= nvpair
_DP_zpool= md pthread z nvpair avl umem
+
+# OFED support
.if ${MK_OFED} != "no"
_DP_cxgb4= ibverbs pthread
_DP_ibcm= ibverbs
-_DP_ibmad= ibcommon ibumad
-_DP_ibumad= ibcommon
+_DP_ibmad= ibumad
+_DP_ibnetdisc= osmcomp ibmad ibumad
+_DP_ibumad=
+_DP_ibverbs=
_DP_mlx4= ibverbs pthread
-_DP_mthca= ibverbs pthread
-_DP_opensm= pthread
-_DP_osmcomp= pthread
-_DP_osmvendor= ibumad opensm osmcomp pthread
+_DP_mlx5= ibverbs pthread
_DP_rdmacm= ibverbs
+_DP_osmcomp= pthread
+_DP_opensm= pthread
+_DP_osmvendor= ibumad pthread
.endif
# Define special cases
@@ -472,19 +475,21 @@ LIBUUTILDIR= ${OBJTOP}/cddl/lib/libuutil
LIBZFSDIR= ${OBJTOP}/cddl/lib/libzfs
LIBZFS_COREDIR= ${OBJTOP}/cddl/lib/libzfs_core
LIBZPOOLDIR= ${OBJTOP}/cddl/lib/libzpool
-LIBCXGB4DIR= ${OBJTOP}/contrib/ofed/usr.lib/libcxgb4
-LIBIBCMDIR= ${OBJTOP}/contrib/ofed/usr.lib/libibcm
-LIBIBCOMMONDIR= ${OBJTOP}/contrib/ofed/usr.lib/libibcommon
-LIBIBMADDIR= ${OBJTOP}/contrib/ofed/usr.lib/libibmad
-LIBIBUMADDIR= ${OBJTOP}/contrib/ofed/usr.lib/libibumad
-LIBIBVERBSDIR= ${OBJTOP}/contrib/ofed/usr.lib/libibverbs
-LIBMLX4DIR= ${OBJTOP}/contrib/ofed/usr.lib/libmlx4
-LIBMTHCADIR= ${OBJTOP}/contrib/ofed/usr.lib/libmthca
-LIBOPENSMDIR= ${OBJTOP}/contrib/ofed/usr.lib/libopensm
-LIBOSMCOMPDIR= ${OBJTOP}/contrib/ofed/usr.lib/libosmcomp
-LIBOSMVENDORDIR= ${OBJTOP}/contrib/ofed/usr.lib/libosmvendor
-LIBRDMACMDIR= ${OBJTOP}/contrib/ofed/usr.lib/librdmacm
-LIBIBSDPDIR= ${OBJTOP}/contrib/ofed/usr.lib/libsdp
+
+# OFED support
+LIBCXGB4DIR= ${OBJTOP}/contrib/ofed/libcxgb4
+LIBIBCMDIR= ${OBJTOP}/contrib/ofed/libibcm
+LIBIBMADDIR= ${OBJTOP}/contrib/ofed/libibmad
+LIBIBNETDISCDIR=${OBJTOP}/contrib/ofed/libibnetdisc
+LIBIBUMADDIR= ${OBJTOP}/contrib/ofed/libibumad
+LIBIBVERBSDIR= ${OBJTOP}/contrib/ofed/libibverbs
+LIBMLX4DIR= ${OBJTOP}/contrib/ofed/libmlx4
+LIBMLX5DIR= ${OBJTOP}/contrib/ofed/libmlx5
+LIBRDMACMDIR= ${OBJTOP}/contrib/ofed/librdmacm
+LIBOSMCOMPDIR= ${OBJTOP}/contrib/ofed/opensm/complib
+LIBOPENSMDIR= ${OBJTOP}/contrib/ofed/opensm/libopensm
+LIBOSMVENDORDIR=${OBJTOP}/contrib/ofed/opensm/libvendor
+
LIBDIALOGDIR= ${OBJTOP}/gnu/lib/libdialog
LIBGCOVDIR= ${OBJTOP}/gnu/lib/libgcov
LIBGOMPDIR= ${OBJTOP}/gnu/lib/libgomp
diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk
index c373034..60763bf 100644
--- a/share/mk/src.opts.mk
+++ b/share/mk/src.opts.mk
@@ -100,6 +100,8 @@ __DEFAULT_YES_OPTIONS = \
GCOV \
GDB \
GNU \
+ GNU_DIFF \
+ GNU_GREP \
GNU_GREP_COMPAT \
GPIO \
GPL_DTC \
@@ -124,6 +126,8 @@ __DEFAULT_YES_OPTIONS = \
LIBPTHREAD \
LIBTHR \
LOADER_GELI \
+ LOADER_OFW \
+ LOADER_UBOOT \
LOCALES \
LOCATE \
LPR \
@@ -274,9 +278,24 @@ BROKEN_OPTIONS+=LLDB
.if ${__T} != "armv6"
BROKEN_OPTIONS+=LIBSOFT
.endif
-.if ${__T:Mmips*} || ${__T:Mpowerpc*} || ${__T:Msparc64} || ${__T:Mriscv*}
+# EFI doesn't exist on mips, pc98, powerpc, sparc or riscv.
+.if ${__T:Mmips*} || ${__TT:Mpc98*} || ${__T:Mpowerpc*} || ${__T:Msparc64} || \
+ ${__T:Mriscv*}
BROKEN_OPTIONS+=EFI
.endif
+# GELI isn't supported on !x86
+.if ${__T} != "i386" && ${__T} != "amd64"
+BROKEN_OPTIONS+=LOADER_GELI
+.endif
+# OFW is only for powerpc and sparc64, exclude others
+.if ${__T:Mpowerpc*} == "" && ${__T:Msparc64} == ""
+BROKEN_OPTIONS+=LOADER_OFW
+.endif
+# UBOOT is only for arm, mips and powerpc, exclude others
+.if ${__T:Marm*} == "" && ${__T:Mmips*} == "" && ${__T:Mpowerpc*} == ""
+BROKEN_OPTIONS+=LOADER_UBOOT
+.endif
+
.if ${__T:Mmips64*}
# profiling won't work on MIPS64 because there is only assembly for o32
BROKEN_OPTIONS+=PROFILE
@@ -284,8 +303,10 @@ BROKEN_OPTIONS+=PROFILE
.if ${__T} == "aarch64" || ${__T} == "amd64" || ${__T} == "i386" || \
${__T} == "powerpc64" || ${__T} == "sparc64"
__DEFAULT_YES_OPTIONS+=CXGBETOOL
+__DEFAULT_YES_OPTIONS+=MLX5TOOL
.else
__DEFAULT_NO_OPTIONS+=CXGBETOOL
+__DEFAULT_NO_OPTIONS+=MLX5TOOL
.endif
.include <bsd.mkopt.mk>
@@ -397,6 +418,7 @@ MK_BINUTILS_BOOTSTRAP:= no
MK_CLANG_BOOTSTRAP:= no
MK_ELFTOOLCHAIN_BOOTSTRAP:= no
MK_GCC_BOOTSTRAP:= no
+MK_LLD_BOOTSTRAP:= no
.endif
.if ${MK_META_MODE} == "yes"
diff --git a/share/mk/sys.mk b/share/mk/sys.mk
index 752d141..33fe077 100644
--- a/share/mk/sys.mk
+++ b/share/mk/sys.mk
@@ -50,8 +50,11 @@ MK_META_MODE= no
.if ${MK_DIRDEPS_BUILD} == "yes"
.sinclude <meta.sys.mk>
.elif ${MK_META_MODE} == "yes"
+META_MODE+= meta
+.if empty(.MAKEFLAGS:M-s)
# verbose will show .MAKE.META.PREFIX for each target.
-META_MODE+= meta verbose
+META_MODE+= verbose
+.endif
.if !defined(NO_META_MISSING)
META_MODE+= missing-meta=yes
.endif
@@ -444,7 +447,8 @@ SHELL= ${__MAKE_SHELL}
.MAKE.EXPAND_VARIABLES= yes
# Tell bmake the makefile preference
-.MAKE.MAKEFILE_PREFERENCE= BSDmakefile makefile Makefile
+MAKEFILE_PREFERENCE?= BSDmakefile makefile Makefile
+.MAKE.MAKEFILE_PREFERENCE= ${MAKEFILE_PREFERENCE}
# Tell bmake to always pass job tokens, regardless of target depending on
# .MAKE or looking like ${MAKE}/${.MAKE}/$(MAKE)/$(.MAKE)/make.
diff --git a/share/termcap/termcap b/share/termcap/termcap
index 6ca5654..8565a3d 100644
--- a/share/termcap/termcap
+++ b/share/termcap/termcap
@@ -4664,24 +4664,61 @@ Eterm|Eterm Terminal Emulator (X11 Window System):\
# Termcap for xterm-termite
xterm-termite|VTE-based terminal:\
- :NP:am:hs:mi:ms:ut:xn:\
- :Co#256:co#80:it#8:li#24:pa#32767:\
- :@7=\EOF:@8=\EOM:AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:\
- :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\
- :IC=\E[%d@:K2=\EOE:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\
- :SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ZH=\E[3m:\
- :ZR=\E[23m:al=\E[L:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\
- :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\
- :cs=\E[%i%d;%dr:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:\
- :ds=\E]2;\007:ec=\E[%dX:ei=\E[4l:fs=^G:ho=\E[H:im=\E[4h:\
- :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\
- :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\
- :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l:\
- :kh=\EOH:kl=\EOD:kr=\EOC:ks=\E[?1h:ku=\EOA:le=^H:md=\E[1m:\
- :me=\E[m:mr=\E[7m:nd=\E[C:op=\E[39;49m:r1=\Ec:rc=\E8:\
- :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:ta=^I:te=\E[?1049l:\
- :ti=\E[?1049h:ts=\E]2;:u6=\E[%i%d;%dR:u7=\E[6n:ue=\E[24m:\
- :up=\E[A:us=\E[4m:ve=\E[?25h:vi=\E[?25l:
+ :NP:am:hs:mi:ms:ut:xn:\
+ :Co#256:co#80:it#8:li#24:pa#32767:\
+ :@7=\EOF:@8=\EOM:AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:\
+ :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\
+ :IC=\E[%d@:K2=\EOE:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\
+ :SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ZH=\E[3m:\
+ :ZR=\E[23m:al=\E[L:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\
+ :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\
+ :cs=\E[%i%d;%dr:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:\
+ :ds=\E]2;\007:ec=\E[%dX:ei=\E[4l:fs=^G:ho=\E[H:im=\E[4h:\
+ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\
+ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\
+ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l:\
+ :kh=\EOH:kl=\EOD:kr=\EOC:ks=\E[?1h:ku=\EOA:le=^H:md=\E[1m:\
+ :me=\E[m:mr=\E[7m:nd=\E[C:op=\E[39;49m:r1=\Ec:rc=\E8:\
+ :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:ta=^I:te=\E[?1049l:\
+ :ti=\E[?1049h:ts=\E]2;:u6=\E[%i%d;%dR:u7=\E[6n:ue=\E[24m:\
+ :up=\E[A:us=\E[4m:ve=\E[?25h:vi=\E[?25l:
+
+# Termcap for st terminal taken from the st-0.8 sources
+st|simpleterm:\
+ :am:hs:mi:ms:xn:\
+ :co#80:it#8:li#24:\
+ :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
+ :K1=\E[1~:K2=\EOu:K3=\E[5~:K4=\E[4~:K5=\E[6~:LE=\E[%dD:\
+ :RI=\E[%dC:SF=\E[%dS:UP=\E[%dA:ae=\E(B:al=\E[L:as=\E(0:\
+ :bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\
+ :cm=\E[%i%d;%dH:cr=\r:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\
+ :dl=\E[M:do=\n:ec=\E[%dX:ei=\E[4l:fs=^G:ho=\E[H:im=\E[4h:\
+ :is=\E[4l\E>\E[?1034l:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\
+ :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\
+ :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:\
+ :ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\
+ :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:\
+ :mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7:se=\E[27m:sf=\n:so=\E[7m:\
+ :sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ts=\E]0;:\
+ :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\
+ :ve=\E[?12l\E[?25h:vi=\E[?25l:vs=\E[?25h:
+
+st-256color|simpleterm with 256 colors:\
+ :cc:\
+ :Co#256:pa#32767:\
+ :AB=\E[48;5;%dm:AF=\E[38;5;%dm:\
+ :..Ic=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\:\
+ :oc=\E]104\007:tc=st:
+
+st-meta|simpleterm with meta key:\
+ :km:\
+ :is=\E[4l\E>\E[?1034h:mm=\E[?1034h:mo=\E[?1034l:\
+ :rs=\E[4l\E>\E[?1034h:tc=st:
+
+st-meta-256color|simpleterm with meta key and 256 colors:\
+ :km:\
+ :is=\E[4l\E>\E[?1034h:mm=\E[?1034h:mo=\E[?1034l:\
+ :rs=\E[4l\E>\E[?1034h:tc=st-256color:
#
# END OF TERMCAP
diff --git a/share/vt/fonts/Makefile b/share/vt/fonts/Makefile
index e8b1f0b..a79fbcb 100644
--- a/share/vt/fonts/Makefile
+++ b/share/vt/fonts/Makefile
@@ -1,6 +1,7 @@
# $FreeBSD$
FILES= gallant.fnt \
+ terminus-b32.fnt \
vgarom-8x8.fnt \
vgarom-8x14.fnt \
vgarom-8x16.fnt \
diff --git a/share/vt/fonts/terminus-b32.hex b/share/vt/fonts/terminus-b32.hex
new file mode 100644
index 0000000..9d11e64
--- /dev/null
+++ b/share/vt/fonts/terminus-b32.hex
@@ -0,0 +1,1294 @@
+# $FreeBSD$
+# Height: 32
+# Width: 16
+0000:0000000000000000000000003C3C3C3C300C300C300C000000000000300C300C300C300C000000000000300C300C300C3C3C3C3C000000000000000000000000
+0020:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+0021:00000000000000000000000001800180018001800180018001800180018001800180018001800000000000000180018001800180000000000000000000000000
+0022:00000000000000000C300C300C300C300C300C300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+0023:0000000000000000000000000C300C300C300C300C303FFC3FFC0C300C300C300C300C300C303FFC3FFC0C300C300C300C300C30000000000000000000000000
+0024:00000000000000000180018001800FF01FF8399C318C31803180318039801FF00FF8019C018C018C018C318C399C1FF80FF00180018001800000000000000000
+0025:0000000000000000000000001E183F18333033303F601E6000C000C00180018003000300060006000CF00DF81998199831F830F0000000000000000000000000
+0026:0000000000000000000000000F801FC038E030603060306038E01DC00F800F001F8C39DC70F8607060306030607070F83FDC1F8C000000000000000000000000
+0027:00000000000000000180018001800180018001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+0028:000000000000000000000000006000E001C00380030007000600060006000600060006000600060007000300038001C000E00060000000000000000000000000
+0029:00000000000000000000000006000700038001C000C000E00060006000600060006000600060006000E000C001C0038007000600000000000000000000000000
+002A:000000000000000000000000000000000000000038381C700EE007C003807FFC7FFC038007C00EE01C7038380000000000000000000000000000000000000000
+002B:0000000000000000000000000000000000000000018001800180018001803FFC3FFC018001800180018001800000000000000000000000000000000000000000
+002C:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180018001800380030006000000000000000000
+002D:0000000000000000000000000000000000000000000000000000000000003FFC3FFC000000000000000000000000000000000000000000000000000000000000
+002E:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180018001800180000000000000000000000000
+002F:00000000000000000000000000180018003000300060006000C000C00180018003000300060006000C000C001800180030003000000000000000000000000000
+0030:0000000000000000000000000FF01FF8381C300C300C301C303C307C30EC31CC338C370C3E0C3C0C380C300C300C381C1FF80FF0000000000000000000000000
+0031:0000000000000000000000000180038007800F800D8001800180018001800180018001800180018001800180018001800FF00FF0000000000000000000000000
+0032:0000000000000000000000000FF01FF8381C300C300C300C300C000C001C0038007000E001C0038007000E001C0038003FFC3FFC000000000000000000000000
+0033:0000000000000000000000000FF01FF8381C300C300C000C000C000C001C07F807F8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000
+0034:000000000000000000000000000C001C003C007C00EC01CC038C070C0E0C1C0C380C300C300C3FFC3FFC000C000C000C000C000C000000000000000000000000
+0035:0000000000000000000000003FFC3FFC3000300030003000300030003FF03FF8001C000C000C000C000C000C300C380C1FF80FF0000000000000000000000000
+0036:0000000000000000000000000FF81FF83800300030003000300030003FF03FF8301C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+0037:0000000000000000000000003FFC3FFC300C300C300C30180018003000300060006000C000C00180018001800180018001800180000000000000000000000000
+0038:0000000000000000000000000FF01FF8381C300C300C300C300C300C381C1FF81FF8381C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+0039:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C001C1FF81FF0000000000000000000000000
+003A:00000000000000000000000000000000000000000000000001800180018001800000000000000000000000000180018001800180000000000000000000000000
+003B:00000000000000000000000000000000000000000000000001800180018001800000000000000000000000000180018001800380030006000000000000000000
+003C:000000000000000000000000001C0038007000E001C0038007000E001C00380038001C000E000700038001C000E000700038001C000000000000000000000000
+003D:0000000000000000000000000000000000000000000000003FFC3FFC00000000000000003FFC3FFC000000000000000000000000000000000000000000000000
+003E:00000000000000000000000038001C000E000700038001C000E000700038001C001C0038007000E001C0038007000E001C003800000000000000000000000000
+003F:0000000000000000000000000FF01FF8381C300C300C300C300C001C0038007000E001C001800180000000000180018001800180000000000000000000000000
+0040:0000000000000000000000001FF03FF8701C600C61FC63FC670C660C660C660C660C660C660C671C63FC61EC600070003FFC1FFC000000000000000000000000
+0041:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000
+0042:0000000000000000000000003FF03FF8301C300C300C300C300C30183FF03FF03038301C300C300C300C300C300C301C3FF83FF0000000000000000000000000
+0043:0000000000000000000000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0000000000000000000000000
+0044:0000000000000000000000003FC03FF030383018300C300C300C300C300C300C300C300C300C300C300C300C301830383FF03FC0000000000000000000000000
+0045:0000000000000000000000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000
+0046:0000000000000000000000003FFC3FFC30003000300030003000300030003FE03FE0300030003000300030003000300030003000000000000000000000000000
+0047:0000000000000000000000000FF01FF8381C300C300C300030003000300030FC30FC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+0048:000000000000000000000000300C300C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C300C000000000000000000000000
+0049:00000000000000000000000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000
+004A:000000000000000000000000007E007E00180018001800180018001800180018001800180018001830183018301838381FF00FE0000000000000000000000000
+004B:000000000000000000000000300C301C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300C000000000000000000000000
+004C:0000000000000000000000003000300030003000300030003000300030003000300030003000300030003000300030003FFC3FFC000000000000000000000000
+004D:000000000000000000000000600C600C701C783C6C6C6C6C67CC638C638C610C600C600C600C600C600C600C600C600C600C600C000000000000000000000000
+004E:000000000000000000000000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000000000000000000000000
+004F:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+0050:0000000000000000000000003FF03FF8301C300C300C300C300C300C300C301C3FF83FF030003000300030003000300030003000000000000000000000000000
+0051:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C31CC38FC1FF80FF8001C000E0000000000000000
+0052:0000000000000000000000003FF03FF8301C300C300C300C300C300C300C301C3FF83FF03700338031C030E030703038301C300C000000000000000000000000
+0053:0000000000000000000000000FF01FF8381C300C300C30003000300038001FF00FF8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000
+0054:0000000000000000000000003FFC3FFC018001800180018001800180018001800180018001800180018001800180018001800180000000000000000000000000
+0055:000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+0056:000000000000000000000000300C300C300C300C300C181818181818181818180C300C300C300C3006600660066003C003C003C0000000000000000000000000
+0057:000000000000000000000000600C600C600C600C600C600C600C600C600C600C610C638C638C67CC6C6C6C6C783C701C600C600C000000000000000000000000
+0058:000000000000000000000000300C300C181818180C300C300660066003C003C003C003C0066006600C300C3018181818300C300C000000000000000000000000
+0059:000000000000000000000000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000
+005A:0000000000000000000000003FFC3FFC000C000C000C001C0038007000E001C0038007000E001C0038003000300030003FFC3FFC000000000000000000000000
+005B:0000000000000000000000000FE00FE00C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000FE00FE0000000000000000000000000
+005C:00000000000000000000000030003000180018000C000C0006000600030003000180018000C000C0006000600030003000180018000000000000000000000000
+005D:0000000000000000000000000FE00FE000600060006000600060006000600060006000600060006000600060006000600FE00FE0000000000000000000000000
+005E:0000000000000000018003C007E00E701C38381C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+005F:0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FFC3FFC000000000000
+0060:00000E000700038001C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+0061:0000000000000000000000000000000000000000000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000
+0062:0000000000000000000000003000300030003000300030003FF03FF8301C300C300C300C300C300C300C300C300C301C3FF83FF0000000000000000000000000
+0063:0000000000000000000000000000000000000000000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0000000000000000000000000
+0064:000000000000000000000000000C000C000C000C000C000C0FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000
+0065:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000
+0066:000000000000000000000000007E00FE01C00180018001801FF81FF8018001800180018001800180018001800180018001800180000000000000000000000000
+0067:0000000000000000000000000000000000000000000000000FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000
+0068:0000000000000000000000003000300030003000300030003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000
+0069:00000000000000000000000001800180018001800000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000
+006A:00000000000000000000000000180018001800180000000000780078001800180018001800180018001800180018001800180018181818181C380FF007E00000
+006B:000000000000000000000000180018001800180018001800181C1838187018E019C01B801F001F001B8019C018E018701838181C000000000000000000000000
+006C:00000000000000000000000007800780018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000
+006D:0000000000000000000000000000000000000000000000003FF03FF8319C318C318C318C318C318C318C318C318C318C318C318C000000000000000000000000
+006E:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000
+006F:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+0070:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C301C3FF83FF0300030003000300030000000
+0071:0000000000000000000000000000000000000000000000000FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C0000
+0072:00000000000000000000000000000000000000000000000033FC37FC3E003C003800300030003000300030003000300030003000000000000000000000000000
+0073:0000000000000000000000000000000000000000000000000FF01FF8381C3000300038001FF00FF8001C000C000C381C1FF80FF0000000000000000000000000
+0074:0000000000000000000000000300030003000300030003003FF03FF0030003000300030003000300030003000300038001FC00FC000000000000000000000000
+0075:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000
+0076:000000000000000000000000000000000000000000000000300C300C300C1818181818180C300C300C300660066003C003C003C0000000000000000000000000
+0077:000000000000000000000000000000000000000000000000300C300C300C300C318C318C318C318C318C318C318C399C1FF80FF0000000000000000000000000
+0078:000000000000000000000000000000000000000000000000300C300C381C1C380E7007E003C003C007E00E701C38381C300C300C000000000000000000000000
+0079:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000
+007A:0000000000000000000000000000000000000000000000003FFC3FFC001C0038007000E001C0038007000E001C0038003FFC3FFC000000000000000000000000
+007B:00000000000000000000000000F001F003800300030003000300030003001E001E00030003000300030003000300038001F000F0000000000000000000000000
+007C:00000000000000000000000001800180018001800180018001800180018001800180018001800180018001800180018001800180000000000000000000000000
+007D:0000000000000000000000001E001F00038001800180018001800180018000F000F001800180018001800180018003801F001E00000000000000000000000000
+007E:00000000000000000E0C1F0C3B8C31DC30F830700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00A0:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00A1:00000000000000000000000001800180018001800000000001800180018001800180018001800180018001800180018001800180000000000000000000000000
+00A2:0000000000000000000000000000000000000180018001800FF01FF8399C318C318031803180318031803180318C399C1FF80FF0018001800180000000000000
+00A3:00000000000000000000000003E007F00E380C180C000C000C000C000C003FE03FE00C000C000C000C000C000C0C0C0C3FFC3FFC000000000000000000000000
+00A4:000000000000000000000000000000000000381C1C380FF00FF01C3818181818181818181C380FF00FF01C38381C000000000000000000000000000000000000
+00A5:000000000000000000000000300C300C181818180C300C300660066003C003C0018001801FF81FF8018001801FF81FF801800180000000000000000000000000
+00A6:00000000000000000000000001800180018001800180018001800180000000000000000001800180018001800180018001800180000000000000000000000000
+00A7:000000000000000007C00FE01C70183018001C000F800FC018E018701830183018301C300E3007E003E00070003018301C700FE007C000000000000000000000
+00A8:00000C300C300C300C30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00A9:000000000000000000000000000000001FF83FFC700E67E66FF66C366C066C066C066C066C366FF667E6700E3FFC1FF800000000000000000000000000000000
+00AA:000000000FE00FF00038001807F80FF81C1818181C180FF807F8000000001FF81FF8000000000000000000000000000000000000000000000000000000000000
+00AB:00000000000000000000000000000000000000000000000001CE039C07380E701CE039C07380738039C01CE00E700738039C01CE000000000000000000000000
+00AC:0000000000000000000000000000000000000000000000003FFC3FFC000C000C000C000C000C000C000000000000000000000000000000000000000000000000
+00AD:0000000000000000000000000000000000000000000000000000000000001FF81FF8000000000000000000000000000000000000000000000000000000000000
+00AE:000000000000000000000000000000001FF83FFC700E6FE66FF66C366C366C366FE66FC66DC66CE66C76700E3FFC1FF800000000000000000000000000000000
+00AF:000000000FF00FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00B0:000000000000000007E00FF00C300C300C300C300FF007E000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00B1:0000000000000000000000000000000000000000018001800180018001803FFC3FFC01800180018001800180000000003FFC3FFC000000000000000000000000
+00B2:00000000000007E00FF00C300C30007000E001C0038007000FF00FF0000000000000000000000000000000000000000000000000000000000000000000000000
+00B3:00000000000007E00FF00C30003001E001E0003000300C300FF007E0000000000000000000000000000000000000000000000000000000000000000000000000
+00B4:0000007000E001C00380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00B5:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C301C303C307C3FEC3FCC300030003000300030000000
+00B6:0000000000000000000000001FFC3FFC718C618C618C618C618C618C718C3F8C1F8C018C018C018C018C018C018C018C018C018C000000000000000000000000
+00B7:00000000000000000000000000000000000000000000000000000000018001800180018000000000000000000000000000000000000000000000000000000000
+00B8:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018001800380030006000000
+00B9:00000000000001800380078007800180018001800180018007E007E0000000000000000000000000000000000000000000000000000000000000000000000000
+00BA:0000000007E00FF01C38181818181818181818181C380FF007E0000000001FF81FF8000000000000000000000000000000000000000000000000000000000000
+00BB:000000000000000000000000000000000000000000000000738039C01CE00E700738039C01CE01CE039C07380E701CE039C07380000000000000000000000000
+00BC:0000000000000000000000000C001C003C000C000C060C0E0C1C0C380C7000E001C6038E071E0E361C6638C671FE61FE00060006000000000000000000000000
+00BD:000000000000000000000000180038007806180E181C1838187018E019C0038007000E7C1CFE38C670C6600C00180030007E00FE000000000000000000000000
+00BE:0000000000000000000000003F007F8061800F000F000186618E7F9C3F38007000E601CE039E07360E661CC639FE71FE60060006000000000000000000000000
+00BF:000000000000000000000000018001800180018000000000018001800180030006000C001800300C300C300C300C381C1FF80FF0000000000000000000000000
+00C0:00000E000700038001C000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000
+00C1:0000007000E001C0038000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000
+00C2:0000018003C007E00E7000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000
+00C3:00000F181B9819D818F000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000
+00C4:00000C300C300C300C3000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000
+00C5:000003C006600660066003C00FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000
+00C6:0000000000000000000000001FFF3FFF70C060C060C060C060C060C060C07FFE7FFE60C060C060C060C060C060C060C060FF60FF000000000000000000000000
+00C7:0000000000000000000000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0018001800380030006000000
+00C8:00000E000700038001C000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000
+00C9:0000007000E001C0038000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000
+00CA:0000018003C007E00E7000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000
+00CB:00000C300C300C300C3000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000
+00CC:00000E000700038001C0000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000
+00CD:0000007000E001C00380000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000
+00CE:0000018003C007E00E70000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000
+00CF:00000C300C300C300C30000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000
+00D0:0000000000000000000000003FC03FF030383018300C300C300C300C300C7F8C7F8C300C300C300C300C300C301830383FF03FC0000000000000000000000000
+00D1:00000F181B9819D818F00000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000000000000000000000000
+00D2:00000E000700038001C000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+00D3:0000007000E001C0038000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+00D4:0000018003C007E00E7000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+00D5:00000F181B9819D818F000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+00D6:00000C300C300C300C3000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+00D7:00000000000000000000000000000000000000000000701C38381C700EE007C0038007C00EE01C703838701C0000000000000000000000000000000000000000
+00D8:0000000000000000000000000FF01FF8381C300E300E301C303C307C30EC31CC338C370C3E0C3C0C380C700C700C381C1FF80FF0000000000000000000000000
+00D9:00000E000700038001C00000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+00DA:0000007000E001C003800000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+00DB:0000018003C007E00E700000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+00DC:00000C300C300C300C300000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+00DD:0000007000E001C003800000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000
+00DE:00000000000000000000000030003000300030003FF03FF8301C300C300C300C300C300C300C301C3FF83FF03000300030003000000000000000000000000000
+00DF:0000000000000000000000001FE03FF03038301830183018301830303FF03FF03038301C300C300C300C300C380C3C1C37F833F0000000000000000000000000
+00E0:0000000000000000000000000E000700038001C0000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000
+00E1:000000000000000000000000007000E001C00380000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000
+00E2:000000000000000000000000018003C007E00E70000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000
+00E3:0000000000000000000000000F181B9819D818F0000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000
+00E4:0000000000000000000000000C300C300C300C30000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000
+00E5:00000000000000000000000003C006600660066003C000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000
+00E6:0000000000000000000000000000000000000000000000003EF83FFC018E018601861F863FFE71FE61806180618071C63FFE1F7C000000000000000000000000
+00E7:0000000000000000000000000000000000000000000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0018001800380030006000000
+00E8:0000000000000000000000000E000700038001C0000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000
+00E9:000000000000000000000000007000E001C00380000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000
+00EA:000000000000000000000000018003C007E00E70000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000
+00EB:0000000000000000000000000C300C300C300C30000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000
+00EC:0000000000000000000000001C000E00070003800000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000
+00ED:000000000000000000000000007000E001C003800000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000
+00EE:000000000000000000000000018003C007E00E700000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000
+00EF:0000000000000000000000000C300C300C300C300000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000
+00F0:0000000000000000000000001DC00F801F003B8001C000E00FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+00F1:0000000000000000000000000F181B9819D818F0000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000
+00F2:0000000000000000000000000E000700038001C0000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+00F3:000000000000000000000000007000E001C00380000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+00F4:000000000000000000000000018003C007E00E70000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+00F5:0000000000000000000000000F181B9819D818F0000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+00F6:0000000000000000000000000C300C300C300C30000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+00F7:0000000000000000000000000000000000000180018001800180000000003FFC3FFC000000000180018001800180000000000000000000000000000000000000
+00F8:0000000000000000000000000000000000000000000000000FF61FFE381C303C307C30EC31CC338C370C3E0C3C0C381C7FF8EFF0000000000000000000000000
+00F9:0000000000000000000000000E000700038001C000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000
+00FA:000000000000000000000000007000E001C0038000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000
+00FB:000000000000000000000000018003C007E00E7000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000
+00FC:0000000000000000000000000C300C300C300C3000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000
+00FD:000000000000000000000000007000E001C0038000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000
+00FE:0000000000000000000000003000300030003000300030003FF03FF8301C300C300C300C300C300C300C300C300C301C3FF83FF0300030003000300030000000
+00FF:0000000000000000000000000C300C300C300C3000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000
+0100:000000000FF00FF0000000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000
+0101:000000000000000000000000000000000FF00FF0000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000
+0102:00000C300C3007E003C000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000
+0103:0000000000000000000000000C300C3007E003C0000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000
+0104:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C003C00700060007C003C0000
+0105:0000000000000000000000000000000000000000000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC003C00700060007C003C0000
+0106:0000007000E001C0038000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0000000000000000000000000
+0107:000000000000000000000000007000E001C00380000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0000000000000000000000000
+0108:0000018003C007E00E7000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0000000000000000000000000
+0109:000000000000000000000000018003C007E00E70000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0000000000000000000000000
+010A:0000018001800180018000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0000000000000000000000000
+010B:0000000000000000000000000180018001800180000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0000000000000000000000000
+010C:00000E7007E003C0018000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0000000000000000000000000
+010D:0000000000000000000000000E7007E003C00180000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0000000000000000000000000
+010E:00000E7007E003C0018000003FC03FF030383018300C300C300C300C300C300C300C300C300C300C300C300C301830383FF03FC0000000000000000000000000
+010F:00000E7007E003C001800000000C000C000C000C000C000C0FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000
+0110:0000000000000000000000003FC03FF030383018300C300C300C300C300C7F8C7F8C300C300C300C300C300C301830383FF03FC0000000000000000000000000
+0111:000000000000000000000000000C000C01FF01FF000C000C0FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000
+0112:000000000FF00FF0000000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000
+0113:000000000000000000000000000000000FF00FF0000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000
+0114:00000C300C3007E003C000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000
+0115:0000000000000000000000000C300C3007E003C0000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000
+0116:0000018001800180018000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000
+0117:0000000000000000000000000180018001800180000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000
+0118:0000000000000000000000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC003C00700060007C003C0000
+0119:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF801C00380030003E001E00000
+011A:00000E7007E003C0018000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000
+011B:0000000000000000000000000E7007E003C00180000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000
+011C:0000018003C007E00E7000000FF01FF8381C300C300C300030003000300030FC30FC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+011D:000000000000000000000000018003C007E00E70000000000FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000
+011E:00000C300C3007E003C000000FF01FF8381C300C300C300030003000300030FC30FC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+011F:0000000000000000000000000C300C3007E003C0000000000FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000
+0120:0000018001800180018000000FF01FF8381C300C300C300030003000300030FC30FC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+0121:00000000000000000000000000C000C000C000C0000000000FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000
+0122:0000000000000000000000000FF01FF8381C300C300C300030003000300030FC30FC300C300C300C300C300C300C381C1FF80FF0000001800180038003000600
+0123:0000000000000000000000000030006000E000C000C000000FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000
+0124:0000018003C007E00E700000300C300C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C300C000000000000000000000000
+0125:0000018003C007E00E7000003000300030003000300030003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000
+0126:000000000000000000000000300C300C300C7FFE7FFE300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C300C000000000000000000000000
+0127:00000000000000000000000030003000FF80FF80300030003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000
+0128:00000F181B9819D818F0000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000
+0129:0000000000000000000000000F181B9819D818F00000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000
+012A:000000000FF00FF00000000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000
+012B:000000000000000000000000000000000FF00FF00000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000
+012C:00000C300C3007E003C0000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000
+012D:0000000000000000000000000C300C3007E003C00000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000
+012E:00000000000000000000000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E001800380030003E001E00000
+012F:00000000000000000000000001800180018001800000000007800780018001800180018001800180018001800180018007E007E001800380030003E001E00000
+0130:00000180018001800180000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000
+0131:00000000000000000000000000000000000000000000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000
+0132:000000000000000000000000F01EF01E600C600C600C600C600C600C600C600C600C600C600C600C630C630C630C639CF1F8F0F0000000000000000000000000
+0133:000000000000000000000000300630063006300600000000701E701E3006300630063006300630063006300630063006780678060186018601CE00FC00780000
+0134:00000018003C007E00E70000007E007E00180018001800180018001800180018001800180018001830183018301838381FF00FE0000000000000000000000000
+0135:0000000000000000000000000018003C007E00E70000000000780078001800180018001800180018001800180018001800180018181818181C380FF007E00000
+0136:000000000000000000000000300C301C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300C000001800180038003000600
+0137:000000000000000000000000180018001800180018001800181C1838187018E019C01B801F001F001B8019C018E018701838181C000001800180038003000600
+0138:000000000000000000000000000000000000000000000000181C1838187018E019C01B801F001F001B8019C018E018701838181C000000000000000000000000
+0139:000007000E001C00380000003000300030003000300030003000300030003000300030003000300030003000300030003FFC3FFC000000000000000000000000
+013A:0000007000E001C00380000007800780018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000
+013B:0000000000000000000000003000300030003000300030003000300030003000300030003000300030003000300030003FFC3FFC000001800180038003000600
+013C:00000000000000000000000007800780018001800180018001800180018001800180018001800180018001800180018007E007E0000001800180038003000600
+013D:00000E7007E003C0018000003000300030003000300030003000300030003000300030003000300030003000300030003FFC3FFC000000000000000000000000
+013E:00000E7007E003C00180000007800780018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000
+013F:0000000000000000000000003000300030003000300030003000300030303030303030303000300030003000300030003FFC3FFC000000000000000000000000
+0140:00000000000000000000000007800780018001800180018001800180018301830183018301800180018001800180018007E007E0000000000000000000000000
+0141:0000000000000000000000003000300030003000300030003000330036003C0038007000F000300030003000300030003FFC3FFC000000000000000000000000
+0142:000000000000000000000000078007800180018001800180018001B001E001C0038007800D800180018001800180018007E007E0000000000000000000000000
+0143:0000007000E001C003800000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000000000000000000000000
+0144:000000000000000000000000007000E001C00380000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000
+0145:000000000000000000000000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000001800180038003000600
+0146:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000001800180038003000600
+0147:00000E7007E003C001800000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000000000000000000000000
+0148:0000000000000000000000000E7007E003C00180000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000
+0149:0000000000000000300030003000300060006000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000
+014A:000000000000000000000000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000C000C001C00F800F00000
+014B:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000C000C001C00F800F00000
+014C:000000000FF00FF0000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+014D:000000000000000000000000000000000FF00FF0000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+014E:00000C300C3007E003C000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+014F:0000000000000000000000000C300C3007E003C0000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+0150:000001CE039C07380E7000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+0151:00000000000000000000000001CE039C07380E70000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+0152:0000000000000000000000001FFF3FFF70C060C060C060C060C060C060C060FE60FE60C060C060C060C060C060C070C03FFF1FFF000000000000000000000000
+0153:0000000000000000000000000000000000000000000000001FF83FFC718E61866186618661FE61FE61806180618071863FFE1FFC000000000000000000000000
+0154:0000007000E001C0038000003FF03FF8301C300C300C300C300C300C300C301C3FF83FF03700338031C030E030703038301C300C000000000000000000000000
+0155:000000000000000000000000007000E001C003800000000033FC37FC3E003C003800300030003000300030003000300030003000000000000000000000000000
+0156:0000000000000000000000003FF03FF8301C300C300C300C300C300C300C301C3FF83FF03700338031C030E030703038301C300C000001800180038003000600
+0157:00000000000000000000000000000000000000000000000031FC33FC36003C00380030003000300030003000300030003000300000003000300070006000C000
+0158:00000E7007E003C0018000003FF03FF8301C300C300C300C300C300C300C301C3FF83FF03700338031C030E030703038301C300C000000000000000000000000
+0159:0000000000000000000000000E7007E003C001800000000033FC37FC3E003C003800300030003000300030003000300030003000000000000000000000000000
+015A:0000007000E001C0038000000FF01FF8381C300C300C30003000300038001FF00FF8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000
+015B:000000000000000000000000007000E001C00380000000000FF01FF8381C3000300038001FF00FF8001C000C000C381C1FF80FF0000000000000000000000000
+015C:0000018003C007E00E7000000FF01FF8381C300C300C30003000300038001FF00FF8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000
+015D:000000000000000000000000018003C007E00E70000000000FF01FF8381C3000300038001FF00FF8001C000C000C381C1FF80FF0000000000000000000000000
+015E:0000000000000000000000000FF01FF8381C300C300C30003000300038001FF00FF8001C000C000C000C300C300C381C1FF80FF0018001800380030006000000
+015F:0000000000000000000000000000000000000000000000000FF01FF8381C3000300038001FF00FF8001C000C000C381C1FF80FF0018001800380030006000000
+0160:00000E7007E003C0018000000FF01FF8381C300C300C30003000300038001FF00FF8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000
+0161:0000000000000000000000000E7007E003C00180000000000FF01FF8381C3000300038001FF00FF8001C000C000C381C1FF80FF0000000000000000000000000
+0162:0000000000000000000000003FFC3FFC01800180018001800180018001800180018001800180018001800180018001800180018000C000C001C0018003000000
+0163:0000000000000000000000000300030003000300030003003FF03FF0030003000300030003000300030003000300038001FC00FC003000300070006000C00000
+0164:00000E7007E003C0018000003FFC3FFC018001800180018001800180018001800180018001800180018001800180018001800180000000000000000000000000
+0165:00001CE00FC00780030000000300030003000300030003003FF03FF0030003000300030003000300030003000300038001FC00FC000000000000000000000000
+0166:0000000000000000000000003FFC3FFC01800180018001800180018001800FF00FF0018001800180018001800180018001800180000000000000000000000000
+0167:0000000000000000000000000300030003000300030003003FF03FF0030003000FC00FC003000300030003000300038001FC00FC000000000000000000000000
+0168:00000F181B9819D818F00000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+0169:0000000000000000000000000F181B9819D818F000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000
+016A:000000000FF00FF000000000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+016B:000000000000000000000000000000000FF00FF000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000
+016C:00000C300C3007E003C00000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+016D:0000000000000000000000000C300C3007E003C000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000
+016E:000003C006600660066003C0300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+016F:00000000000000000000000003C006600660066003C00000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000
+0170:000001CE039C07380E700000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+0171:00000000000000000000000001CE039C07380E7000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000
+0172:000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF001C00380030003E001E00000
+0173:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC003C00700060007C003C0000
+0174:0000018003C007E00E700000600C600C600C600C600C600C600C600C600C600C610C638C638C67CC6C6C6C6C783C701C600C600C000000000000000000000000
+0175:000000000000000000000000018003C007E00E7000000000300C300C300C300C318C318C318C318C318C318C318C399C1FF80FF0000000000000000000000000
+0178:00000C300C300C300C300000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000
+0179:0000007000E001C0038000003FFC3FFC000C000C000C001C0038007000E001C0038007000E001C0038003000300030003FFC3FFC000000000000000000000000
+017A:000000000000000000000000007000E001C00380000000003FFC3FFC001C0038007000E001C0038007000E001C0038003FFC3FFC000000000000000000000000
+017B:0000018001800180018000003FFC3FFC000C000C000C001C0038007000E001C0038007000E001C0038003000300030003FFC3FFC000000000000000000000000
+017C:0000000000000000000000000180018001800180000000003FFC3FFC001C0038007000E001C0038007000E001C0038003FFC3FFC000000000000000000000000
+017D:00000E7007E003C0018000003FFC3FFC000C000C000C001C0038007000E001C0038007000E001C0038003000300030003FFC3FFC000000000000000000000000
+017E:0000000000000000000000000E7007E003C00180000000003FFC3FFC001C0038007000E001C0038007000E001C0038003FFC3FFC000000000000000000000000
+017F:00000000000000000000000000FC01FC038003000300030003000300030003000300030003000300030003000300030003000300000000000000000000000000
+0186:0000000000000000000000000FF01FF8381C300C300C000C000C000C000C000C000C000C000C000C000C300C300C381C1FF80FF0000000000000000000000000
+018E:0000000000000000000000003FFC3FFC000C000C000C000C000C000C000C07FC07FC000C000C000C000C000C000C000C3FFC3FFC000000000000000000000000
+018F:0000000000000000000000000FF01FF8381C300C300C000C000C000C000C3FFC3FFC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+0190:0000000000000000000000000FF01FF8381C300C300C30003000300038001FE01FE03800300030003000300C300C381C1FF80FF0000000000000000000000000
+0192:00000000000000000000000000F801FC018C018C01800180018001800FF00FF00180018001800180018001800180018001800180318031803F801F0000000000
+019D:000000000000000000000000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C3000300030007000E0000000
+019E:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000C000C000C000C000C0000
+01B7:0000000000000000000000003FFC3FFC001C0038007000E001C0038007F007F8001C000C000C000C000C300C300C381C1FF80FF0000000000000000000000000
+0218:0000000000000000000000000FF01FF8381C300C300C30003000300038001FF00FF8001C000C000C000C300C300C381C1FF80FF0000001800180038003000600
+0219:0000000000000000000000000000000000000000000000000FF01FF8381C3000300038001FF00FF8001C000C000C381C1FF80FF0000001800180038003000600
+021A:0000000000000000000000003FFC3FFC018001800180018001800180018001800180018001800180018001800180018001800180000001800180038003000600
+021B:0000000000000000000000000300030003000300030003003FF03FF0030003000300030003000300030003000300038001FC00FC0000003000300070006000C0
+0232:000000000FF00FF000000000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000
+0233:000000000000000000000000000000000FF00FF000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000
+0237:00000000000000000000000000000000000000000000000000780078001800180018001800180018001800180018001800180018181818181C380FF007E00000
+0254:0000000000000000000000000000000000000000000000000FF01FF8381C300C000C000C000C000C000C000C300C381C1FF80FF0000000000000000000000000
+0258:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C3FFC3FFC000C000C000C301C3FF81FF0000000000000000000000000
+0259:0000000000000000000000000000000000000000000000001FF03FF8301C000C000C000C3FFC3FFC300C300C300C381C1FF80FF0000000000000000000000000
+025B:0000000000000000000000000000000000000000000000000FF01FF8381C300C300038001FC01FC038003000300C381C1FF80FF0000000000000000000000000
+0272:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C3000300030007000E0000000
+0292:0000000000000000000000000000000000000000000000003FFC3FFC001C0038007000E001C0038007F007F8001C000C000C000C000C300C381C1FF80FF00000
+02BB:0000006000C001C00180018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+02BC:00000180018003800300060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+02BD:00000180018001C000C0006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+02C6:0000018003C007E00E70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+02C7:00000E7007E003C00180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+02D8:00000C300C3007E003C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+02D9:00000180018001800180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+02DB:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003C00700060007C003C0000
+02DC:00000F181B9819D818F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+02DD:000001CE039C07380E70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+0300:00000E000700038001C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+0301:0000007000E001C00380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+0302:0000018003C007E00E70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+0303:00000F181B9819D818F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+0304:000000000FF00FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+0305:000000003FFC3FFC0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+0306:00000C300C3007E003C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+0307:00000180018001800180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+0308:00000C300C300C300C30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+030A:000003C006600660066003C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+030B:000001CE039C07380E70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+030C:00000E7007E003C00180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+0329:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001800180018001800000
+0384:000000001C0038007000E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+0385:0000007000E001C0038000000C300C300C300C300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+0386:000000001C0038007000E0000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000
+0387:00000000000000000000000000000000000000000000000001800180018001800000000000000000000000000000000000000000000000000000000000000000
+0388:000000001C0038007000E0003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000
+0389:000000001C0038007000E000300C300C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C300C000000000000000000000000
+038A:000000001C0038007000E00007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000
+038C:000000001C0038007000E0000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+038E:000000001C0038007000E0001806180618060C0C0C0C061806180330033001E001E000C000C000C000C000C000C000C000C000C0000000000000000000000000
+038F:000000001C0038007000E0000FF01FF8381C300C300C300C300C300C300C300C300C300C300C381C1C380E70066006603E7C3E7C000000000000000000000000
+0390:000000E001C00380070000001860186018601860000000000F000F00030003000300030003000300030003000300038001F000F0000000000000000000000000
+0391:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000
+0392:0000000000000000000000003FF03FF8301C300C300C300C300C30183FF03FF03038301C300C300C300C300C300C301C3FF83FF0000000000000000000000000
+0393:0000000000000000000000003FFC3FFC300030003000300030003000300030003000300030003000300030003000300030003000000000000000000000000000
+0394:00000000000000000000000001800180018003C003C003C00660066006600C300C300C30181818181818300C300C300C3FFC3FFC000000000000000000000000
+0395:0000000000000000000000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000
+0396:0000000000000000000000003FFC3FFC000C000C000C001C0038007000E001C0038007000E001C0038003000300030003FFC3FFC000000000000000000000000
+0397:000000000000000000000000300C300C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C300C000000000000000000000000
+0398:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C37EC37EC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+0399:00000000000000000000000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000
+039A:000000000000000000000000300C301C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300C000000000000000000000000
+039B:00000000000000000000000001800180018003C003C003C00660066006600C300C300C301818181818181818300C300C300C300C000000000000000000000000
+039C:000000000000000000000000600C600C701C783C6C6C6C6C67CC638C638C610C600C600C600C600C600C600C600C600C600C600C000000000000000000000000
+039D:000000000000000000000000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000000000000000000000000
+039E:0000000000000000000000003FFC3FFC00000000000000000000000000000FF00FF000000000000000000000000000003FFC3FFC000000000000000000000000
+039F:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+03A0:0000000000000000000000003FFC3FFC300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000
+03A1:0000000000000000000000003FF03FF8301C300C300C300C300C300C300C301C3FF83FF030003000300030003000300030003000000000000000000000000000
+03A3:0000000000000000000000003FFC3FFC38001C000E000700038001C000E00070007000E001C0038007000E001C0038003FFC3FFC000000000000000000000000
+03A4:0000000000000000000000003FFC3FFC018001800180018001800180018001800180018001800180018001800180018001800180000000000000000000000000
+03A5:000000000000000000000000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000
+03A6:000000000000000000000000018001800FF01FF8399C318C318C318C318C318C318C318C318C318C318C399C1FF80FF001800180000000000000000000000000
+03A7:000000000000000000000000300C300C181818180C300C300660066003C003C003C003C0066006600C300C3018181818300C300C000000000000000000000000
+03A8:000000000000000000000000318C318C318C318C318C318C318C318C318C318C318C318C318C399C1FF80FF00180018001800180000000000000000000000000
+03A9:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C381C1C380E70066006603E7C3E7C000000000000000000000000
+03AA:00000C300C300C300C30000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000
+03AB:00000C300C300C300C300000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000
+03AC:000000000000000000000000007000E001C00380000000001FCC3FFC70386030603060306030603060306030603070383FFC1FCC000000000000000000000000
+03AD:000000000000000000000000007000E001C00380000000000FF01FF8381C300C300038001FC01FC038003000300C381C1FF80FF0000000000000000000000000
+03AE:000000000000000000000000007000E001C00380000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000C000C000C000C000C0000
+03AF:00000000000000000000000000E001C003800700000000000F000F00030003000300030003000300030003000300038001F000F0000000000000000000000000
+03B0:0000007000E001C0038000000C300C300C300C3000000000300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+03B1:0000000000000000000000000000000000000000000000001FCC3FFC70386030603060306030603060306030603070383FFC1FCC000000000000000000000000
+03B2:0000000000000000000000001FE03FF03038301830183018301830303FF03FF03038301C300C300C300C300C300C301C3FF83FF0300030003000300030000000
+03B3:000000000000000000000000000000000000000000000000300C300C300C1818181818180C300C300660066003C003C001800180018001800180018001800000
+03B4:0000000000000000000000001FF01FF00E000700038001C007E00FF01818300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+03B5:0000000000000000000000000000000000000000000000000FF01FF8381C300C300038001FC01FC038003000300C381C1FF80FF0000000000000000000000000
+03B6:0000000000000000000000003FFC3FFC0038007000E001C0038007000E001C00180038003000300030003000300038001FF00FF8001C000C001C007800700000
+03B7:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000C000C000C000C000C0000
+03B8:00000000000000000000000007E00FF01C381818181818181818181818181FF81FF81818181818181818181818181C380FF007E0000000000000000000000000
+03B9:0000000000000000000000000000000000000000000000000F000F00030003000300030003000300030003000300038001F000F0000000000000000000000000
+03BA:000000000000000000000000000000000000000000000000181C1838187018E019C01B801F001F001B8019C018E018701838181C000000000000000000000000
+03BB:00000000000000000000000006000600030003000180018003C003C00660066006600C300C300C30181818181818300C300C300C000000000000000000000000
+03BC:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C301C303C307C3FEC3FCC300030003000300030000000
+03BD:000000000000000000000000000000000000000000000000300C300C300C1818181818180C300C300C300660066003C003C003C0000000000000000000000000
+03BE:0000000000000000000000000FFC1FFC3800300030003000300018000FF00FF01C0038003000300030003000300038001FF00FF8001C000C001C007800700000
+03BF:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+03C0:0000000000000000000000000000000000000000000000003FFC3FFC300C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000
+03C1:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C301C3FF83FF0300030003000300030000000
+03C2:0000000000000000000000000000000000000000000000000FF01FF8381C300C300030003000300030003000300038001FF00FF8001C000C001C007800700000
+03C3:0000000000000000000000000000000000000000000000000FFE1FFE38703038301C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+03C4:0000000000000000000000000000000000000000000000003FFC3FFC01800180018001800180018001800180018001C000F80078000000000000000000000000
+03C5:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+03C6:0000000000000000000000000000000000000000000000000CF01DF8399C318C318C318C318C318C318C318C318C399C1FF80FF0018001800180018001800000
+03C7:000000000000000000000000000000000000000000000000300C300C181818180C300C300660066003C003C003C0066006600C300C3018181818300C300C0000
+03C8:000000000000000000000000000000000000000000000000318C318C318C318C318C318C318C318C318C318C318C399C1FF80FF0018001800180018001800000
+03C9:0000000000000000000000000000000000000000000000000C301C38381C300C318C318C318C318C318C318C318C3BDC1FF80E70000000000000000000000000
+03CA:0000000000000000000000001860186018601860000000000F000F00030003000300030003000300030003000300038001F000F0000000000000000000000000
+03CB:0000000000000000000000000C300C300C300C3000000000300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+03CC:000000000000000000000000007000E001C00380000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+03CD:000000000000000000000000007000E001C0038000000000300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+03CE:000000000000000000000000007000E001C00380000000000C301C38381C300C318C318C318C318C318C318C318C3BDC1FF80E70000000000000000000000000
+03D1:00000000000000000000000007E00FF01C3818181818181818180FFE07FE001800180018781878181818181818181C380FF007E0000000000000000000000000
+03D5:0000000000000000000000000000000000000180018001800FF01FF8399C318C318C318C318C318C318C318C318C399C1FF80FF0018001800180000000000000
+03F0:000000000000000000000000000000000000000000000000780C7C1C0E38067003E003C00380038007800F801CC038E0707C603C000000000000000000000000
+03F1:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C301C3FF83FF03000300038001FF80FF80000
+03F2:0000000000000000000000000000000000000000000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0000000000000000000000000
+03F3:00000000000000000000000000180018001800180000000000780078001800180018001800180018001800180018001800180018181818181C380FF007E00000
+03F4:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+03F5:00000000000000000000000000000000000000000000000003FC0FFC1C001800300030003FF03FF03000300018001C000FFC03FC000000000000000000000000
+03F6:0000000000000000000000000000000000000000000000003FC03FF000380018000C000C0FFC0FFC000C000C001800383FF03FC0000000000000000000000000
+0400:00000E000700038001C000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000
+0401:00000C300C300C300C3000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000
+0402:000000000000000000000000FF00FF00180018001800180018001FF01FF8181C180C180C180C180C180C180C180C181C18F818F0000000000000000000000000
+0403:0000007000E001C0038000003FFC3FFC300030003000300030003000300030003000300030003000300030003000300030003000000000000000000000000000
+0404:0000000000000000000000000FF01FF8381C300C300C30003000300030003FE03FE03000300030003000300C300C381C1FF80FF0000000000000000000000000
+0405:0000000000000000000000000FF01FF8381C300C300C30003000300038001FF00FF8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000
+0406:00000000000000000000000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000
+0407:00000C300C300C300C30000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000
+0408:000000000000000000000000007E007E00180018001800180018001800180018001800180018001830183018301838381FF00FE0000000000000000000000000
+0409:0000000000000000000000001F803F807180618061806180618061F861FC618E6186618661866186618661866186618EE1FCC1F8000000000000000000000000
+040A:000000000000000000000000618061806180618061806180618061F861FC7F8E7F86618661866186618661866186618E61FC61F8000000000000000000000000
+040B:000000000000000000000000FF00FF00180018001800180018001FF01FF8181C180C180C180C180C180C180C180C180C180C180C000000000000000000000000
+040C:0000007000E001C003800000300C301C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300C000000000000000000000000
+040D:00000E000700038001C00000300C300C300C300C300C301C303C307C30EC31CC338C370C3E0C3C0C380C300C300C300C300C300C000000000000000000000000
+040E:00000C300C3007E003C00000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C001C1FF81FF0000000000000000000000000
+040F:000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C3FFC3FFC018001800180018001800000
+0410:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000
+0411:0000000000000000000000003FF83FF8300030003000300030003FF03FF8301C300C300C300C300C300C300C300C301C3FF83FF0000000000000000000000000
+0412:0000000000000000000000003FF03FF8301C300C300C300C300C30183FF03FF03038301C300C300C300C300C300C301C3FF83FF0000000000000000000000000
+0413:0000000000000000000000003FFC3FFC300030003000300030003000300030003000300030003000300030003000300030003000000000000000000000000000
+0414:00000000000000000000000007F80FF81C181818181818181818181818181818181818181818181818181818181818183FFC7FFE600660066006600600000000
+0415:0000000000000000000000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000
+0416:000000000000000000000000318C318C318C318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318C318C318C318C318C000000000000000000000000
+0417:0000000000000000000000000FF01FF8381C300C300C000C000C000C001C07F807F8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000
+0418:000000000000000000000000300C300C300C300C300C301C303C307C30EC31CC338C370C3E0C3C0C380C300C300C300C300C300C000000000000000000000000
+0419:00000C300C3007E003C00000300C300C300C300C300C301C303C307C30EC31CC338C370C3E0C3C0C380C300C300C300C300C300C000000000000000000000000
+041A:000000000000000000000000300C301C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300C000000000000000000000000
+041B:00000000000000000000000003FC07FC0E0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C1C0C380C000000000000000000000000
+041C:000000000000000000000000600C600C701C783C6C6C6C6C67CC638C638C610C600C600C600C600C600C600C600C600C600C600C000000000000000000000000
+041D:000000000000000000000000300C300C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C300C000000000000000000000000
+041E:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+041F:0000000000000000000000003FFC3FFC300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000
+0420:0000000000000000000000003FF03FF8301C300C300C300C300C300C300C301C3FF83FF030003000300030003000300030003000000000000000000000000000
+0421:0000000000000000000000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0000000000000000000000000
+0422:0000000000000000000000003FFC3FFC018001800180018001800180018001800180018001800180018001800180018001800180000000000000000000000000
+0423:000000000000000000000000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C001C1FF81FF0000000000000000000000000
+0424:0000000000000000018001800FF01FF8399C318C318C318C318C318C318C318C318C318C318C318C318C318C318C399C1FF80FF0018001800000000000000000
+0425:000000000000000000000000300C300C181818180C300C300660066003C003C003C003C0066006600C300C3018181818300C300C000000000000000000000000
+0426:000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C380E1FFF0FFF000300030003000300030000
+0427:000000000000000000000000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C000C000C000C000000000000000000000000
+0428:000000000000000000000000318C318C318C318C318C318C318C318C318C318C318C318C318C318C318C318C318C398C1FFC0FFC000000000000000000000000
+0429:000000000000000000000000318C318C318C318C318C318C318C318C318C318C318C318C318C318C318C318C318C398C1FFE0FFF000300030003000300030000
+042A:000000000000000000000000F000F00030003000300030003FE03FF030383018301830183018301830183018301830383FF03FE0000000000000000000000000
+042B:000000000000000000000000600C600C600C600C600C600C7F0C7F8C61CC60CC60CC60CC60CC60CC60CC60CC60CC61CC7F8C7F0C000000000000000000000000
+042C:0000000000000000000000003000300030003000300030003FE03FF030383018301830183018301830183018301830383FF03FE0000000000000000000000000
+042D:0000000000000000000000000FF01FF8381C300C300C000C000C000C000C07FC07FC000C000C000C000C300C300C381C1FF80FF0000000000000000000000000
+042E:00000000000000000000000060F061F8639C630C630C630C630C630C630C7F0C7F0C630C630C630C630C630C630C639C61F860F0000000000000000000000000
+042F:0000000000000000000000000FFC1FFC380C300C300C300C300C300C300C380C1FFC0FFC00EC01CC038C070C0E0C1C0C380C300C000000000000000000000000
+0430:0000000000000000000000000000000000000000000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000
+0431:0000000000000000000000000FF01FF0380030003000300030003FF03FF8301C300C300C300C300C300C300C300C301C3FF83FF0000000000000000000000000
+0432:0000000000000000000000001FC03FE03070303030303030303030703FE03FF03038301C300C300C300C300C300C301C3FF83FF0000000000000000000000000
+0433:0000000000000000000000000000000000000000000000003FFC3FFC300030003000300030003000300030003000300030003000000000000000000000000000
+0434:0000000000000000000000000000000000000000000000000FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000
+0435:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000
+0436:000000000000000000000000000000000000000000000000318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318C318C000000000000000000000000
+0437:0000000000000000000000000000000000000000000000000FF01FF8381C300C000C001C03F803F8001C000C300C381C1FF80FF0000000000000000000000000
+0438:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000
+0439:0000000000000000000000000C300C3007E003C000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000
+043A:000000000000000000000000000000000000000000000000181C1838187018E019C01B801F001F001B8019C018E018701838181C000000000000000000000000
+043B:00000000000000000000000000000000000000000000000003FC07FC0E0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C1C0C380C000000000000000000000000
+043C:000000000000000000000000000000000000000000000000600C701C783C7C7C6EEC67CC638C610C600C600C600C600C600C600C000000000000000000000000
+043D:000000000000000000000000000000000000000000000000300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C000000000000000000000000
+043E:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+043F:0000000000000000000000000000000000000000000000003FFC3FFC300C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000
+0440:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C301C3FF83FF0300030003000300030000000
+0441:0000000000000000000000000000000000000000000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0000000000000000000000000
+0442:0000000000000000000000000000000000000000000000003FFC3FFC018001800180018001800180018001800180018001800180000000000000000000000000
+0443:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000
+0444:0000000000000000000000000000000000000180018001800FF01FF8399C318C318C318C318C318C318C318C318C399C1FF80FF0018001800180000000000000
+0445:000000000000000000000000000000000000000000000000300C300C381C1C380E7007E003C003C007E00E701C38381C300C300C000000000000000000000000
+0446:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFE0FFF000300030003000300030000
+0447:000000000000000000000000000000000000000000000000300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C000C000000000000000000000000
+0448:000000000000000000000000000000000000000000000000318C318C318C318C318C318C318C318C318C318C318C398C1FFC0FFC000000000000000000000000
+0449:000000000000000000000000000000000000000000000000318C318C318C318C318C318C318C318C318C318C318C398C1FFE0FFF000300030003000300030000
+044A:0000000000000000000000000000000000000000000000003C003C000C000C000FF00FF80C1C0C0C0C0C0C0C0C0C0C1C0FF80FF0000000000000000000000000
+044B:000000000000000000000000000000000000000000000000600C600C600C600C7F0C7F8C61CC60CC60CC60CC60CC61CC7F8C7F0C000000000000000000000000
+044C:00000000000000000000000000000000000000000000000018001800180018001FE01FF01838181818181818181818381FF01FE0000000000000000000000000
+044D:0000000000000000000000000000000000000000000000000FF01FF8381C300C000C000C03FC03FC000C000C300C381C1FF80FF0000000000000000000000000
+044E:00000000000000000000000000000000000000000000000060F061F8630C630C630C630C7F0C7F0C630C630C630C630C61F860F0000000000000000000000000
+044F:0000000000000000000000000000000000000000000000000FFC1FFC380C300C300C380C1FFC0FFC00EC01CC038C070C0E0C1C0C000000000000000000000000
+0450:0000000000000000000000000E000700038001C0000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000
+0451:0000000000000000000000000C300C300C300C30000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000
+0452:00000000000000000000000030003000FF80FF80300030003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000C000C001C00F800F00000
+0453:000000000000000000000000007000E001C00380000000003FFC3FFC300030003000300030003000300030003000300030003000000000000000000000000000
+0454:0000000000000000000000000000000000000000000000000FF01FF8381C300C300030003FC03FC030003000300C381C1FF80FF0000000000000000000000000
+0455:0000000000000000000000000000000000000000000000000FF01FF8381C3000300038001FF00FF8001C000C000C381C1FF80FF0000000000000000000000000
+0456:00000000000000000000000001800180018001800000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000
+0457:0000000000000000000000000C300C300C300C300000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000
+0458:00000000000000000000000000180018001800180000000000780078001800180018001800180018001800180018001800180018181818181C380FF007E00000
+0459:0000000000000000000000000000000000000000000000000F801F803980318031F831FC318E3186318631863186318E71FC61F8000000000000000000000000
+045A:000000000000000000000000000000000000000000000000618061806180618061F861FC7F8E7F86618661866186618E61FC61F8000000000000000000000000
+045B:00000000000000000000000030003000FF80FF80300030003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000
+045C:000000000000000000000000007000E001C0038000000000181C1838187018E019C01B801F001F001B8019C018E018701838181C000000000000000000000000
+045D:0000000000000000000000000E000700038001C000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000
+045E:0000000000000000000000000C300C3007E003C000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000
+045F:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C3FFC3FFC018001800180018001800000
+0462:00000000000000000000000030003000FF00FF00300030003FE03FF030383018301830183018301830183018301830383FF03FE0000000000000000000000000
+0463:0000000000000000000000000C000C000C000C003FC03FC00C000C000C000C000FF00FF80C1C0C0C0C0C0C0C0C0C0C1C0FF80FF0000000000000000000000000
+046A:0000000000000000000000003FFC3FFC300C181818180C300C30066003C007E00FF01DB8399C318C318C318C318C318C318C318C000000000000000000000000
+046B:0000000000000000000000000000000000000000000000003FFC3FFC300C381C1C380E7007E00FF01DB8399C318C318C318C318C000000000000000000000000
+0490:00000000000C000C000C000C3FFC3FFC300030003000300030003000300030003000300030003000300030003000300030003000000000000000000000000000
+0491:00000000000000000000000000000000000C000C000C000C3FFC3FFC300030003000300030003000300030003000300030003000000000000000000000000000
+0492:0000000000000000000000003FFC3FFC30003000300030003000300030007F807F80300030003000300030003000300030003000000000000000000000000000
+0493:0000000000000000000000000000000000000000000000003FFC3FFC30003000300030007F807F80300030003000300030003000000000000000000000000000
+0494:0000000000000000000000003FFC3FFC300030003000300030003000300030003FF03FF8301C300C300C300C300C300C300C300C000C000C0018003000000000
+0495:0000000000000000000000000000000000000000000000003FFC3FFC300030003000300030003FC03FE03070303030303030303000300030006000C000000000
+0496:000000000000000000000000318C318C318C318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318C318C318C318E318F000300030003000300030000
+0497:000000000000000000000000000000000000000000000000318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318E318F000300030003000300030000
+0498:0000000000000000000000000FF01FF8381C300C300C000C000C000C001C07F807F8001C000C000C000C300C300C381C1FF80FF0018001800180018001800000
+0499:0000000000000000000000000000000000000000000000000FF01FF8381C300C000C001C03F803F8001C000C300C381C1FF80FF0018001800180018001800000
+049A:000000000000000000000000300C301C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300E000600060006000600060000
+049B:000000000000000000000000000000000000000000000000181C1838187018E019C01B801F001F001B8019C018E018701838181C000C000C000C000C000C0000
+049C:000000000000000000000000600C600C601C60386C706CE06DC06F806F007E007E006F006F806DC06CE06C706038601C600C600C000000000000000000000000
+049D:000000000000000000000000000000000000000000000000300C301C3638367036E037C03F803F8037C036E036703638301C300C000000000000000000000000
+04A0:000000000000000000000000F00CF01C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300C000000000000000000000000
+04A1:000000000000000000000000000000000000000000000000781C7838187018E019C01B801F001F001B8019C018E018701838181C000000000000000000000000
+04A2:000000000000000000000000300C300C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300E300F000300030003000300030000
+04A3:000000000000000000000000000000000000000000000000300C300C300C300C300C300C3FFC3FFC300C300C300C300C300E300F000300030003000300030000
+04A4:000000000000000000000000607F607F60606060606060606060606060607FE07FE0606060606060606060606060606060606060000000000000000000000000
+04A5:000000000000000000000000000000000000000000000000607F607F60606060606060607FE07FE0606060606060606060606060000000000000000000000000
+04AA:0000000000000000000000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0018001800180018001800000
+04AB:0000000000000000000000000000000000000000000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0018001800180018001800000
+04AE:000000000000000000000000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000
+04AF:000000000000000000000000000000000000000000000000300C300C300C1818181818180C300C300660066003C003C001800180018001800180018001800000
+04B0:000000000000000000000000300C300C300C181818180C300C300660066003C003C001801FF81FF8018001800180018001800180000000000000000000000000
+04B1:000000000000000000000000000000000000000000000000300C300C300C1818181818180C300C300660066003C003C001801FF81FF801800180018001800000
+04B2:000000000000000000000000300C300C181818180C300C300660066003C003C003C003C0066006600C300C3018181818300E300F000300030003000300030000
+04B3:000000000000000000000000000000000000000000000000300C300C381C1C380E7007E003C003C007E00E701C38381C300E300F000300030003000300030000
+04B6:000000000000000000000000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C000C000E000F000300030003000300030000
+04B7:000000000000000000000000000000000000000000000000300C300C300C300C300C380C1FFC0FFC000C000C000C000C000E000F000300030003000300030000
+04B8:000000000000000000000000300C300C300C300C300C300C318C318C318C398C1FFC0FFC018C018C018C018C000C000C000C000C000000000000000000000000
+04B9:000000000000000000000000000000000000000000000000300C300C300C318C318C398C1FFC0FFC018C018C018C000C000C000C000000000000000000000000
+04BA:000000000000000000000000300030003000300030003000300030003FF03FF8301C300C300C300C300C300C300C300C300C300C000000000000000000000000
+04BB:000000000000000000000000000000000000000000000000300030003000300030003FF03FF8301C300C300C300C300C300C300C000000000000000000000000
+04C0:00000000000000000000000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000
+04C1:00000C300C3007E003C00000318C318C318C318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318C318C318C318C318C000000000000000000000000
+04C2:0000000000000000000000000C300C3007E003C000000000318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318C318C000000000000000000000000
+04CF:00000000000000000000000007800780018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000
+04D0:00000C300C3007E003C000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000
+04D1:0000000000000000000000000C300C3007E003C0000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000
+04D2:00000C300C300C300C3000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000
+04D3:0000000000000000000000000C300C300C300C30000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000
+04D4:0000000000000000000000001FFF3FFF70C060C060C060C060C060C060C07FFE7FFE60C060C060C060C060C060C060C060FF60FF000000000000000000000000
+04D5:0000000000000000000000000000000000000000000000003EF83FFC018E018601861F863FFE71FE61806180618071C63FFE1F7C000000000000000000000000
+04D6:00000C300C3007E003C000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000
+04D7:0000000000000000000000000C300C3007E003C0000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000
+04D8:0000000000000000000000000FF01FF8381C300C300C000C000C000C000C3FFC3FFC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+04D9:0000000000000000000000000000000000000000000000001FF03FF8301C000C000C000C3FFC3FFC300C300C300C381C1FF80FF0000000000000000000000000
+04DA:00000C300C300C300C3000000FF01FF8381C300C300C000C000C000C000C3FFC3FFC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+04DB:0000000000000000000000000C300C300C300C30000000001FF03FF8301C000C000C000C3FFC3FFC300C300C300C381C1FF80FF0000000000000000000000000
+04DC:00000C300C300C300C300000318C318C318C318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318C318C318C318C318C000000000000000000000000
+04DD:0000000000000000000000000C300C300C300C3000000000318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318C318C000000000000000000000000
+04DE:00000C300C300C300C3000000FF01FF8381C300C300C000C000C000C001C07F807F8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000
+04DF:0000000000000000000000000C300C300C300C30000000000FF01FF8381C300C000C001C03F803F8001C000C300C381C1FF80FF0000000000000000000000000
+04E2:000000000FF00FF000000000300C300C300C300C300C301C303C307C30EC31CC338C370C3E0C3C0C380C300C300C300C300C300C000000000000000000000000
+04E3:000000000000000000000000000000000FF00FF000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000
+04E4:00000C300C300C300C300000300C300C300C300C300C301C303C307C30EC31CC338C370C3E0C3C0C380C300C300C300C300C300C000000000000000000000000
+04E5:0000000000000000000000000C300C300C300C3000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000
+04E6:00000C300C300C300C3000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+04E7:0000000000000000000000000C300C300C300C30000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+04E8:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+04E9:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C3FFC3FFC300C300C300C381C1FF80FF0000000000000000000000000
+04EA:00000C300C300C300C3000000FF01FF8381C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000
+04EB:0000000000000000000000000C300C300C300C30000000000FF01FF8381C300C300C300C3FFC3FFC300C300C300C381C1FF80FF0000000000000000000000000
+04EC:00000C300C300C300C3000000FF01FF8381C300C300C000C000C000C000C07FC07FC000C000C000C000C300C300C381C1FF80FF0000000000000000000000000
+04ED:0000000000000000000000000C300C300C300C30000000000FF01FF8381C300C000C000C03FC03FC000C000C300C381C1FF80FF0000000000000000000000000
+04EE:000000000FF00FF000000000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C001C1FF81FF0000000000000000000000000
+04EF:000000000000000000000000000000000FF00FF000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000
+04F0:00000C300C300C300C300000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C001C1FF81FF0000000000000000000000000
+04F1:0000000000000000000000000C300C300C300C3000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000
+04F2:000001CE039C07380E700000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C001C1FF81FF0000000000000000000000000
+04F3:00000000000000000000000001CE039C07380E7000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000
+04F4:00000C300C300C300C300000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C000C000C000C000000000000000000000000
+04F5:0000000000000000000000000C300C300C300C3000000000300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C000C000000000000000000000000
+04F8:00000C300C300C300C300000600C600C600C600C600C600C7F0C7F8C61CC60CC60CC60CC60CC60CC60CC60CC60CC61CC7F8C7F0C000000000000000000000000
+04F9:0000000000000000000000000C300C300C300C3000000000600C600C600C600C7F0C7F8C61CC60CC60CC60CC60CC61CC7F8C7F0C000000000000000000000000
+1E0C:0000000000000000000000003FC03FF030383018300C300C300C300C300C300C300C300C300C300C300C300C301830383FF03FC0000003000300030003000000
+1E0D:000000000000000000000000000C000C000C000C000C000C0FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000000C000C000C000C00000
+1E34:000000000000000000000000300C301C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300C000000000FF00FF000000000
+1E35:000000000000000000000000180018001800180018001800181C1838187018E019C01B801F001F001B8019C018E018701838181C0000000007F007F000000000
+1E36:0000000000000000000000003000300030003000300030003000300030003000300030003000300030003000300030003FFC3FFC000001800180018001800000
+1E37:00000000000000000000000007800780018001800180018001800180018001800180018001800180018001800180018007E007E0000001800180018001800000
+1E40:000001800180018001800000600C600C701C783C6C6C6C6C67CC638C638C610C600C600C600C600C600C600C600C600C600C600C000000000000000000000000
+1E41:0000000000000000000000000180018001800180000000003FF03FF8319C318C318C318C318C318C318C318C318C318C318C318C000000000000000000000000
+1E42:000000000000000000000000600C600C701C783C6C6C6C6C67CC638C638C610C600C600C600C600C600C600C600C600C600C600C000001800180018001800000
+1E43:0000000000000000000000000000000000000000000000003FF03FF8319C318C318C318C318C318C318C318C318C318C318C318C000001800180018001800000
+1E44:000001800180018001800000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000000000000000000000000
+1E45:0000000000000000000000000180018001800180000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000
+1E46:000000000000000000000000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000001800180018001800000
+1E47:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000001800180018001800000
+1E6C:0000000000000000000000003FFC3FFC018001800180018001800180018001800180018001800180018001800180018001800180000001800180018001800000
+1E6D:0000000000000000000000000300030003000300030003003FF03FF0030003000300030003000300030003000300038001FC00FC000000300030003000300000
+1EB8:0000000000000000000000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000001800180018001800000
+1EB9:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000001800180018001800000
+1EBC:00000F181B9819D818F000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000
+1EBD:0000000000000000000000000F181B9819D818F0000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000
+1ECA:00000000000000000000000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000001800180018001800000
+1ECB:00000000000000000000000001800180018001800000000007800780018001800180018001800180018001800180018007E007E0000001800180018001800000
+1ECC:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000001800180018001800000
+1ECD:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000001800180018001800000
+1EE4:000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000001800180018001800000
+1EE5:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000C000C000C000C00000
+1EF8:00000F181B9819D818F00000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000
+1EF9:0000000000000000000000000F181B9819D818F000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000
+2000:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+2001:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+2002:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+2003:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+2004:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+2005:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+2006:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+2007:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+2008:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+2009:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+200A:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+200B:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+200C:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+200D:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+200E:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+200F:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+2010:0000000000000000000000000000000000000000000000000000000000001FF81FF8000000000000000000000000000000000000000000000000000000000000
+2011:0000000000000000000000000000000000000000000000000000000000001FF81FF8000000000000000000000000000000000000000000000000000000000000
+2012:0000000000000000000000000000000000000000000000000000000000003FFC3FFC000000000000000000000000000000000000000000000000000000000000
+2013:0000000000000000000000000000000000000000000000000000000000003FFC3FFC000000000000000000000000000000000000000000000000000000000000
+2014:0000000000000000000000000000000000000000000000000000000000007FFC7FFC000000000000000000000000000000000000000000000000000000000000
+2015:0000000000000000000000000000000000000000000000000000000000007FFC7FFC000000000000000000000000000000000000000000000000000000000000
+2016:00000000000000000000000006600660066006600660066006600660066006600660066006600660066006600660066006600660000000000000000000000000
+2017:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FFC3FFC000000003FFC3FFC
+2018:000000000000000000C000C001800180018001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+2019:00000000000000000180018001800180030003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+201A:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180018001800180030003000000000000000000
+201B:0000000000000000018001800180018000C000C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+201C:0000000000000000061806180C300C300C300C300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+201D:000000000000000006180618061806180C300C300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+201E:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C300C300C300C30186018600000000000000000
+201F:000000000000000018601860186018600C300C300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+2020:00000000000000000000000001800180018001801FF81FF801800180018001800180018001800180018001800180018001800180000000000000000000000000
+2021:00000000000000000000000001800180018001801FF81FF8018001800180018001800180018001801FF81FF80180018001800180000000000000000000000000
+2022:000000000000000000000000000000000000000000000000000003C007E007E007E007E003C00000000000000000000000000000000000000000000000000000
+2026:0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000318C318C318C318C000000000000000000000000
+2030:0000000000000000000000001C303E30366036603EC01CC00180018003000300060006000C000C0019DC1BFE3376337663FE61DC000000000000000000000000
+2032:000000000000000001C001C001C00180018001800180018000000000000000000000000000000000000000000000000000000000000000000000000000000000
+2033:00000000000000001C701C701C701860186018601860186000000000000000000000000000000000000000000000000000000000000000000000000000000000
+2039:000000000000000000000000000000000000000000000000007000E001C0038007000E001C001C000E000700038001C000E00070000000000000000000000000
+203A:0000000000000000000000000000000000000000000000001C000E000700038001C000E00070007000E001C0038007000E001C00000000000000000000000000
+203C:0000000000000000000000000C300C300C300C300C300C300C300C300C300C300C300C300C300000000000000C300C300C300C30000000000000000000000000
+203E:000000003FFC3FFC0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+2070:00000000000003C007E00C300C300C300C300C300C300C3007E003C0000000000000000000000000000000000000000000000000000000000000000000000000
+2071:01800180018000000780078001800180018001800180018007E007E0000000000000000000000000000000000000000000000000000000000000000000000000
+2074:0000000000000030007000F001F003B007300E300FF00FF000300030000000000000000000000000000000000000000000000000000000000000000000000000
+2075:0000000000000FE00FE00C000C000FE00FF0003000300C300FF007E0000000000000000000000000000000000000000000000000000000000000000000000000
+2076:00000000000003E007E00C000C000FE00FF00C300C300C300FF007E0000000000000000000000000000000000000000000000000000000000000000000000000
+2077:0000000000000FF00FF00C3000300060006000C000C0018001800180000000000000000000000000000000000000000000000000000000000000000000000000
+2078:00000000000007E00FF00C300C300FF007E00C300C300C300FF007E0000000000000000000000000000000000000000000000000000000000000000000000000
+2079:00000000000007E00FF00C300C300C300FF007F00030003007E007C0000000000000000000000000000000000000000000000000000000000000000000000000
+207A:000000000000000000000180018001800FF00FF00180018001800000000000000000000000000000000000000000000000000000000000000000000000000000
+207B:000000000000000000000000000000001FF01FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+207C:000000000000000000001FF01FF00000000000001FF01FF000000000000000000000000000000000000000000000000000000000000000000000000000000000
+207D:00000000000000C001800300030003000300030003000300018000C0000000000000000000000000000000000000000000000000000000000000000000000000
+207E:0000000000000300018000C000C000C000C000C000C000C001800300000000000000000000000000000000000000000000000000000000000000000000000000
+207F:00000000000000001FC01FE018301830183018301830183018301830000000000000000000000000000000000000000000000000000000000000000000000000
+2080:00000000000000000000000000000000000000000000000000000000000000000000000003C007E00C300C300C300C300C300C300C3007E003C0000000000000
+2081:00000000000000000000000000000000000000000000000000000000000000000000000001800380078007800180018001800180018007E007E0000000000000
+2082:00000000000000000000000000000000000000000000000000000000000000000000000007E00FF00C300C30007000E001C0038007000FF00FF0000000000000
+2083:00000000000000000000000000000000000000000000000000000000000000000000000007E00FF00C30003001E001E0003000300C300FF007E0000000000000
+2084:0000000000000000000000000000000000000000000000000000000000000000000000000030007000F001F003B007300E300FF00FF000300030000000000000
+2085:0000000000000000000000000000000000000000000000000000000000000000000000000FE00FE00C000C000FE00FF0003000300C300FF007E0000000000000
+2086:00000000000000000000000000000000000000000000000000000000000000000000000003E007E00C000C000FE00FF00C300C300C300FF007E0000000000000
+2087:0000000000000000000000000000000000000000000000000000000000000000000000000FF00FF00C3000300060006000C000C0018001800180000000000000
+2088:00000000000000000000000000000000000000000000000000000000000000000000000007E00FF00C300C300FF007E00C300C300C300FF007E0000000000000
+2089:00000000000000000000000000000000000000000000000000000000000000000000000007E00FF00C300C300C300FF007F00030003007E007C0000000000000
+208A:000000000000000000000000000000000000000000000000000000000000000000000000000000000180018001800FF00FF00180018001800000000000000000
+208B:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001FF01FF00000000000000000000000000000
+208C:000000000000000000000000000000000000000000000000000000000000000000000000000000001FF01FF00000000000001FF01FF000000000000000000000
+208D:00000000000000000000000000000000000000000000000000000000000000000000000000C001800300030003000300030003000300018000C0000000000000
+208E:0000000000000000000000000000000000000000000000000000000000000000000000000300018000C000C000C000C000C000C000C001800300000000000000
+2090:00000000000000000000000000000000000000000000000000000000000000000000000000000FC00FE0003000300FF01FF0183018301FF00FF0000000000000
+2091:000000000000000000000000000000000000000000000000000000000000000000000000000007C00FE0183018301FF01FF0180018000FF007E0000000000000
+2092:000000000000000000000000000000000000000000000000000000000000000000000000000007C00FE01830183018301830183018300FE007C0000000000000
+2093:000000000000000000000000000000000000000000000000000000000000000000000000000018301C700EE007C00380038007C00EE01C701830000000000000
+2094:00000000000000000000000000000000000000000000000000000000000000000000000000000FC01FE0003000301FF01FF0183018300FE007C0000000000000
+2095:00000000000000000000000000000000000000000000000000000000000018001800180018001FC01FE018301830183018301830183018301830000000000000
+2096:0000000000000000000000000000000000000000000000000000000000000C000C000C000C000C380C700CE00DC00F800F800DC00CE00C700C38000000000000
+2097:00000000000000000000000000000000000000000000000000000000000007800780018001800180018001800180018001800180018007E007E0000000000000
+2098:00000000000000000000000000000000000000000000000000000000000000000000000000003FF03FF8318C318C318C318C318C318C318C318C000000000000
+209A:00000000000000000000000000000000000000000000000000000000000000000000000000001FC01FE01830183018301830183018301FE01FC0180018001800
+20A7:0000000000000000000000007F007F8061C060C060C060C060C060C061C07FB07F30603061FE61FE6030603060306030603E601E000000000000000000000000
+20AC:00000000000000000000000003F007F80E1C1C0E380030003000FFC0FFC030003000FFC0FFC03000300038001C0E0E1C07F803F0000000000000000000000000
+20AE:0000000000000000000000003FFC3FFC0180018001800180018001B801F003C00FB81DF003C00F801D8001800180018001800180000000000000000000000000
+2102:0000000000000000000000000FF01FF83E1C360C360C3600360036003600360036003600360036003600360C360C3E1C1FF80FF0000000000000000000000000
+210E:0000000000000000000000003000300030003000300030003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000
+210F:00000000000000000000000030003000FF80FF80300030003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000
+2115:000000000000000000000000300C300C300C300C380C3C0C360C3B0C3D8C36CC336C31BC30DC306C303C301C300C300C300C300C000000000000000000000000
+2116:000000000000000000000000C180C19CC1BEE1B6E1B6F1BEF19CF980D980DD80CD80CF80C780C7BEC3BEC380C1BEC1BEC180C180000000000000000000000000
+211A:0000000000000000000000000FF01FF83E1C360C360C360C360C360C360C360C360C360C360C360C360C360C36CC3EFC1FF80FF8001C000E0000000000000000
+211D:0000000000000000000000003FF03FF8361C360C360C360C360C360C360C361C37F837F036C0376037B036D8366C3636361A3E0E000000000000000000000000
+2122:0000000000000000000000007E827EC618FE18D618C618C618C618C6000000000000000000000000000000000000000000000000000000000000000000000000
+2124:0000000000000000000000003FFC3FFC000C000C001C003C006C00D801B0036006C00D801B0036003C003800300030003FFC3FFC000000000000000000000000
+2126:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C381C1C380E70066006603E7C3E7C000000000000000000000000
+2135:00000000000000000000000030303030181818180C0C0C0C06060E0E1F1C3B3871F061E060C060C0606060606030703038181C18000000000000000000000000
+2190:0000000000000000000000000000000000000000030007000E001C0038007FFE7FFE38001C000E00070003000000000000000000000000000000000000000000
+2191:000000000000000000000000018003C007E00FF01DB8399C318C0180018001800180018001800180018001800180018001800180000000000000000000000000
+2192:000000000000000000000000000000000000000000C000E000700038001C7FFE7FFE001C0038007000E000C00000000000000000000000000000000000000000
+2193:0000000000000000000000000180018001800180018001800180018001800180018001800180318C399C1DB80FF007E003C00180000000000000000000000000
+2194:000000000000000000000000000000000000000006600E701C38381C700EFFFFFFFF700E381C1C380E7006600000000000000000000000000000000000000000
+2195:000000000000000000000000018003C007E00FF01DB8399C318C018001800180018001800180318C399C1DB80FF007E003C00180000000000000000000000000
+21A4:0000000000000000000000000000000000000000030607060E061C0638067FFE7FFE38061C060E06070603060000000000000000000000000000000000000000
+21A6:000000000000000000000000000000000000000060C060E060706038601C7FFE7FFE601C6038607060E060C00000000000000000000000000000000000000000
+21A8:000000000000000000000000018003C007E00FF01DB8399C318C0180018001800180318C399C1DB80FF007E003C001803FFC3FFC000000000000000000000000
+21B5:000000000000000000000000000C000C000C000C000C000C000C000C030C070C0E0C1C0C380C7FFC7FFC38001C000E0007000300000000000000000000000000
+21BB:0000000000000000000000000000000000007F007F001F003B183318630C600C600C600C600C301838381FF00FE0000000000000000000000000000000000000
+21CB:0000000000000000000000000000000000000800180038007000FFFEFFFE00000000FFFEFFFE001C003800300020000000000000000000000000000000000000
+21CC:000000000000000000000000000000000000002000300038001CFFFEFFFE00000000FFFEFFFE7000380018000800000000000000000000000000000000000000
+21D0:000000000000000000000000000000000000000006000E001C003FFE7FFEF000F0007FFE3FFE1C000E0006000000000000000000000000000000000000000000
+21D1:000000000000000000000000018003C007E00FF01E783E7C366C0660066006600660066006600660066006600660066006600660000000000000000000000000
+21D2:000000000000000000000000000000000000000000C000E00070FFF8FFFC001E001EFFFCFFF8007000E000C00000000000000000000000000000000000000000
+21D3:0000000000000000000000000660066006600660066006600660066006600660066006600660366C3E7C1E780FF007E003C00180000000000000000000000000
+21D4:000000000000000000000000000000000000000006600E701C383FFC7FFEF00FF00F7FFE3FFC1C380E7006600000000000000000000000000000000000000000
+21D5:000000000000000000000000018003C007E00FF01E783E7C366C066006600660066006600660366C3E7C1E780FF007E003C00180000000000000000000000000
+2200:000000000000000000000000600C600C600C600C301830183FF83FF81830183018300C600C600C6006C006C006C0038003800380000000000000000000000000
+2203:0000000000000000000000003FFC3FFC000C000C000C000C000C000C000C3FFC3FFC000C000C000C000C000C000C000C3FFC3FFC000000000000000000000000
+2204:000000000000000C000C001C3FFC3FFC003C006C006C00CC00CC018C018C3FFC3FFC030C030C060C060C0C0C0C0C180C3FFC3FFC300060006000000000000000
+2205:00000000000000000000000000180018003000300FE01FF030D830D83198319833183318361836181FF00FE01800180030003000000000000000000000000000
+2206:00000000000000000000000001800180018003C003C003C00660066006600C300C300C30181818181818300C300C300C3FFC3FFC000000000000000000000000
+2207:0000000000000000000000003FFC3FFC300C300C300C1818181818180C300C300C3006600660066003C003C003C0018001800180000000000000000000000000
+2208:00000000000000000000000001FC07FC0E001800180030003000300030003FFC3FFC3000300030003000180018000E0007FC01FC000000000000000000000000
+2209:00000000000000060006000C01FC07FC0E18183018303060306030C030C03FFC3FFC318031803300330016001E000E000FFC19FC180030003000000000000000
+220A:00000000000000000000000000000000000003FC0FFC1C001800300030003FFC3FFC3000300018001C000FFC03FC000000000000000000000000000000000000
+220B:0000000000000000000000003F803FE0007000180018000C000C000C000C3FFC3FFC000C000C000C000C0018001800703FE03F80000000000000000000000000
+220C:0000000000006000600030003F803FE018700C180C18060C060C030C030C3FFC3FFC018C018C00CC00CC0068007800703FF03F980018000C000C000000000000
+220D:0000000000000000000000000000000000003FC03FF000380018000C000C3FFC3FFC000C000C001800383FF03FC0000000000000000000000000000000000000
+2212:0000000000000000000000000000000000000000000000000000000000003FFC3FFC000000000000000000000000000000000000000000000000000000000000
+2213:00000000000000000000000000000000000000003FFC3FFC00000000018001800180018001803FFC3FFC01800180018001800180000000000000000000000000
+2214:00000000000000000000000000000000018001800180018000000000018001800180018001803FFC3FFC01800180018001800180000000000000000000000000
+2215:0000000000000000000000000000000000000000000C001C0038007000E001C0038007000E001C00380070006000000000000000000000000000000000000000
+2216:00000000000000000000000000000000000000006000700038001C000E000700038001C000E000700038001C000C000000000000000000000000000000000000
+2219:0000000000000000000000000000000000000000000000000000038007C007C007C0038000000000000000000000000000000000000000000000000000000000
+221A:000000000000001E001E001800180018001800180018001800180018001830183018301838181C180E180718039801D800F80078000000000000000000000000
+221E:000000000000000000000000000000000000000000001E783FFC73CE618661866186618673CE3FFC1E7800000000000000000000000000000000000000000000
+221F:000000000000000000000000000000000000000030003000300030003000300030003000300030003FFC3FFC0000000000000000000000000000000000000000
+2225:00000000000000000000000006600660066006600660066006600660066006600660066006600660066006600660066006600660000000000000000000000000
+2227:0000000000000000000000000000000000000000000000000180018003C003C0066006600C300C300C30181818181818300C300C000000000000000000000000
+2228:000000000000000000000000000000000000000000000000300C300C1818181818180C300C300C300660066003C003C001800180000000000000000000000000
+2229:000000000000000000000000000000000000000007E00FF01C381818300C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000
+222A:0000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C18181C380FF007E0000000000000000000000000
+2248:000000000000000000000000000000000000000000001F0C3F9C39FC30F8000000001F0C3F9C39FC30F800000000000000000000000000000000000000000000
+2260:0000000000000000000000000000000000000000001C00387FFC7FFC00E001C0038007007FFC7FFC380070000000000000000000000000000000000000000000
+2261:0000000000000000000000000000000000003FFC3FFC00000000000000003FFC3FFC00000000000000003FFC3FFC000000000000000000000000000000000000
+2264:0000000000000000000000000038007000E001C0038007000E001C001C000E000700038001C000E000700038000000003FFC3FFC000000000000000000000000
+2265:0000000000000000000000001C000E000700038001C000E0007000380038007000E001C0038007000E001C00000000003FFC3FFC000000000000000000000000
+226A:000000000000000000000000000000C301C7038E071C0E381C7038E071C0E380E38071C038E01C700E38071C038E01C700C30000000000000000000000000000
+226B:0000000000000000000000000000C300E38071C038E01C700E38071C038E01C701C7038E071C0E381C7038E071C0E380C3000000000000000000000000000000
+2282:00000000000000000000000000000000000007FC1FFC38007000600060006000600060006000700038001FFC07FC000000000000000000000000000000000000
+2283:0000000000000000000000000000000000007FC07FF00038001C000C000C000C000C000C000C001C00387FF07FC0000000000000000000000000000000000000
+2286:000000000000000000000000000007FC1FFC38007000600060006000600060006000700038001FFC07FC000000007FFC7FFC0000000000000000000000000000
+2287:00000000000000000000000000007FC07FF00038001C000C000C000C000C000C000C001C00387FF07FC0000000007FFC7FFC0000000000000000000000000000
+22A5:0000000000000000000000000000000000000000018001800180018001800180018001800180018001800180018001803FFC3FFC000000000000000000000000
+22C2:00000000000000000000000007E00FF01C381818300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000
+22C3:000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C18181C380FF007E0000000000000000000000000
+2300:00000000000000000000000000180018003000300FE01FF030D830D83198319833183318361836181FF00FE01800180030003000000000000000000000000000
+2302:0000000000000000000000000000000000000000018003C007E00E701C38381C700E60066006600660066006600660067FFE7FFE000000000000000000000000
+2308:0000000000000000000000000FE00FE00C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C00000000000000000000000000
+2309:0000000000000000000000000FE00FE0006000600060006000600060006000600060006000600060006000600060006000600060000000000000000000000000
+230A:0000000000000000000000000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000FE00FE0000000000000000000000000
+230B:0000000000000000000000000060006000600060006000600060006000600060006000600060006000600060006000600FE00FE0000000000000000000000000
+2310:0000000000000000000000000000000000000000000000003FFC3FFC300030003000300030003000000000000000000000000000000000000000000000000000
+2319:0000000000000000000000000000000000000000000000003000300030003000300030003FFC3FFC000000000000000000000000000000000000000000000000
+2320:00000000000000000000000000F801FC018C018C0180018001800180018001800180018001800180018001800180018001800180018001800180018001800180
+2321:0180018001800180018001800180018001800180018001800180018001800180018001800180018001800180318031803F801F00000000000000000000000000
+239B:00180030006000C001800180030003000600060006000C000C000C000C0018001800180018001800180018001800180018001800180018001800180018001800
+239C:18001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800
+239D:180018001800180018001800180018001800180018001800180018001800180018000C000C000C000C00060006000600030003000180018000C0006000300018
+239E:18000C00060003000180018000C000C0006000600060003000300030003000180018001800180018001800180018001800180018001800180018001800180018
+239F:00180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018
+23A0:00180018001800180018001800180018001800180018001800180018001800180018003000300030003000600060006000C000C001800180030006000C001800
+23A1:1FF81FF8180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800
+23A2:18001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800
+23A3:1800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001FF81FF8
+23A4:1FF81FF8001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018
+23A5:00180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018
+23A6:0018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800181FF81FF8
+23A7:007E01FE038003000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600
+23A8:06000600060006000600060006000600060006000600060006000E001C00F800F8001C000E000600060006000600060006000600060006000600060006000600
+23A9:06000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000300038001FE007E
+23AB:FC00FF000380018000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C0
+23AC:00C000C000C000C000C000C000C000C000C000C000C000C000C000C00060003E003E006000C000C000C000C000C000C000C000C000C000C000C000C000C000C0
+23AD:00C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C001800380FF00FC00
+23AE:01800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180
+23AF:000000000000000000000000000000000000000000000000000000000000FFFFFFFF000000000000000000000000000000000000000000000000000000000000
+23BA:FFFFFFFF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+23BB:00000000000000000000000000000000FFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+23BC:0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFF00000000000000000000000000000000
+23BD:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFF
+23D0:01800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180
+2409:0000000000000000000000006180618061807F807F8061806180618061800000000003FC03FC0060006000600060006000600060000000000000000000000000
+240A:00000000000000000000000060006000600060006000600060007F807F800000000003FC03FC0300030003F003F0030003000300000000000000000000000000
+240B:00000000000000000000000061806180618061806180618033001E000C000000000003FC03FC0060006000600060006000600060000000000000000000000000
+240C:0000000000000000000000007F807F80600060007E007E006000600060000000000003FC03FC0300030003F003F0030003000300000000000000000000000000
+240D:0000000000000000000000003F007F80618060006000600061807F803F000000000003F803FC030C030C03F803E003700338031C000000000000000000000000
+2424:00000000000000000000000061806180718079806D80678063806180618000000000030003000300030003000300030003FC03FC000000000000000000000000
+2500:000000000000000000000000000000000000000000000000000000000000FFFFFFFF000000000000000000000000000000000000000000000000000000000000
+2501:00000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000
+2502:01800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180
+2503:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+2508:000000000000000000000000000000000000000000000000000000000000F7DEF7DE000000000000000000000000000000000000000000000000000000000000
+2509:00000000000000000000000000000000000000000000000000000000F7DEF7DEF7DEF7DE00000000000000000000000000000000000000000000000000000000
+250A:01800180018001800180018000000000018001800180018001800180000000000180018001800180018001800000000001800180018001800180018000000000
+250B:03C003C003C003C003C003C00000000003C003C003C003C003C003C00000000003C003C003C003C003C003C00000000003C003C003C003C003C003C000000000
+250C:00000000000000000000000000000000000000000000000000000000000001FF01FF018001800180018001800180018001800180018001800180018001800180
+250D:0000000000000000000000000000000000000000000000000000000001FF01FF01FF01FF01800180018001800180018001800180018001800180018001800180
+250E:00000000000000000000000000000000000000000000000000000000000003FF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+250F:0000000000000000000000000000000000000000000000000000000003FF03FF03FF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+2510:000000000000000000000000000000000000000000000000000000000000FF80FF80018001800180018001800180018001800180018001800180018001800180
+2511:00000000000000000000000000000000000000000000000000000000FF80FF80FF80FF8001800180018001800180018001800180018001800180018001800180
+2512:000000000000000000000000000000000000000000000000000000000000FFC0FFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+2513:00000000000000000000000000000000000000000000000000000000FFC0FFC0FFC0FFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+2514:01800180018001800180018001800180018001800180018001800180018001FF01FF000000000000000000000000000000000000000000000000000000000000
+2515:0180018001800180018001800180018001800180018001800180018001FF01FF01FF01FF00000000000000000000000000000000000000000000000000000000
+2516:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003FF03FF000000000000000000000000000000000000000000000000000000000000
+2517:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003FF03FF03FF03FF00000000000000000000000000000000000000000000000000000000
+2518:018001800180018001800180018001800180018001800180018001800180FF80FF80000000000000000000000000000000000000000000000000000000000000
+2519:01800180018001800180018001800180018001800180018001800180FF80FF80FF80FF8000000000000000000000000000000000000000000000000000000000
+251A:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFC0000000000000000000000000000000000000000000000000000000000000
+251B:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFC0FFC0FFC000000000000000000000000000000000000000000000000000000000
+251C:01800180018001800180018001800180018001800180018001800180018001FF01FF018001800180018001800180018001800180018001800180018001800180
+251D:0180018001800180018001800180018001800180018001800180018001FF01FF01FF01FF01800180018001800180018001800180018001800180018001800180
+251E:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003FF03FF018001800180018001800180018001800180018001800180018001800180
+251F:01800180018001800180018001800180018001800180018001800180018003FF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+2520:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003FF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+2521:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003FF03FF03FF03FF01800180018001800180018001800180018001800180018001800180
+2522:0180018001800180018001800180018001800180018001800180018003FF03FF03FF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+2523:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003FF03FF03FF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+2524:018001800180018001800180018001800180018001800180018001800180FF80FF80018001800180018001800180018001800180018001800180018001800180
+2525:01800180018001800180018001800180018001800180018001800180FF80FF80FF80FF8001800180018001800180018001800180018001800180018001800180
+2526:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFC0018001800180018001800180018001800180018001800180018001800180
+2527:018001800180018001800180018001800180018001800180018001800180FFC0FFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+2528:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+2529:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFC0FFC0FFC001800180018001800180018001800180018001800180018001800180
+252A:01800180018001800180018001800180018001800180018001800180FFC0FFC0FFC0FFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+252B:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFC0FFC0FFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+252C:000000000000000000000000000000000000000000000000000000000000FFFFFFFF018001800180018001800180018001800180018001800180018001800180
+252D:00000000000000000000000000000000000000000000000000000000FF80FFFFFFFFFF8001800180018001800180018001800180018001800180018001800180
+252E:0000000000000000000000000000000000000000000000000000000001FFFFFFFFFF01FF01800180018001800180018001800180018001800180018001800180
+252F:00000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF01800180018001800180018001800180018001800180018001800180
+2530:000000000000000000000000000000000000000000000000000000000000FFFFFFFF03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+2531:00000000000000000000000000000000000000000000000000000000FFC0FFFFFFFFFFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+2532:0000000000000000000000000000000000000000000000000000000003FFFFFFFFFF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+2533:00000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+2534:018001800180018001800180018001800180018001800180018001800180FFFFFFFF000000000000000000000000000000000000000000000000000000000000
+2535:01800180018001800180018001800180018001800180018001800180FF80FFFFFFFFFF8000000000000000000000000000000000000000000000000000000000
+2536:0180018001800180018001800180018001800180018001800180018001FFFFFFFFFF01FF00000000000000000000000000000000000000000000000000000000
+2537:01800180018001800180018001800180018001800180018001800180FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000
+2538:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFFFFFFF000000000000000000000000000000000000000000000000000000000000
+2539:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFFFFFFFFFC000000000000000000000000000000000000000000000000000000000
+253A:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003FFFFFFFFFF03FF00000000000000000000000000000000000000000000000000000000
+253B:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000
+253C:018001800180018001800180018001800180018001800180018001800180FFFFFFFF018001800180018001800180018001800180018001800180018001800180
+253D:01800180018001800180018001800180018001800180018001800180FF80FFFFFFFFFF8001800180018001800180018001800180018001800180018001800180
+253E:0180018001800180018001800180018001800180018001800180018001FFFFFFFFFF01FF01800180018001800180018001800180018001800180018001800180
+253F:01800180018001800180018001800180018001800180018001800180FFFFFFFFFFFFFFFF01800180018001800180018001800180018001800180018001800180
+2540:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFFFFFFF018001800180018001800180018001800180018001800180018001800180
+2541:018001800180018001800180018001800180018001800180018001800180FFFFFFFF03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+2542:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFFFFFFF03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+2543:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFFFFFFFFF8001800180018001800180018001800180018001800180018001800180
+2544:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003FFFFFFFFFF01FF01800180018001800180018001800180018001800180018001800180
+2545:01800180018001800180018001800180018001800180018001800180FF80FFFFFFFFFFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+2546:0180018001800180018001800180018001800180018001800180018001FFFFFFFFFF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+2547:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFFFFFFFFFFFFFFF01800180018001800180018001800180018001800180018001800180
+2548:01800180018001800180018001800180018001800180018001800180FFFFFFFFFFFFFFFF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+2549:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFFFFFFFFFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+254A:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003FFFFFFFFFF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+254B:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFFFFFFFFFFFFFFF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+2550:0000000000000000000000000000000000000000000000000000FFFFFFFF00000000FFFFFFFF0000000000000000000000000000000000000000000000000000
+2551:06600660066006600660066006600660066006600660066006600660066006600660066006600660066006600660066006600660066006600660066006600660
+2552:000000000000000000000000000000000000000000000000000001FF01FF0180018001FF01FF0180018001800180018001800180018001800180018001800180
+2553:00000000000000000000000000000000000000000000000000000000000007FF07FF066006600660066006600660066006600660066006600660066006600660
+2554:000000000000000000000000000000000000000000000000000007FF07FF06000600067F067F0660066006600660066006600660066006600660066006600660
+2555:0000000000000000000000000000000000000000000000000000FF80FF8001800180FF80FF800180018001800180018001800180018001800180018001800180
+2556:000000000000000000000000000000000000000000000000000000000000FFE0FFE0066006600660066006600660066006600660066006600660066006600660
+2557:0000000000000000000000000000000000000000000000000000FFE0FFE000600060FE60FE600660066006600660066006600660066006600660066006600660
+2558:018001800180018001800180018001800180018001800180018001FF01FF0180018001FF01FF0000000000000000000000000000000000000000000000000000
+2559:06600660066006600660066006600660066006600660066006600660066007FF07FF000000000000000000000000000000000000000000000000000000000000
+255A:0660066006600660066006600660066006600660066006600660067F067F0600060007FF07FF0000000000000000000000000000000000000000000000000000
+255B:0180018001800180018001800180018001800180018001800180FF80FF8001800180FF80FF800000000000000000000000000000000000000000000000000000
+255C:066006600660066006600660066006600660066006600660066006600660FFE0FFE0000000000000000000000000000000000000000000000000000000000000
+255D:0660066006600660066006600660066006600660066006600660FE60FE6000600060FFE0FFE00000000000000000000000000000000000000000000000000000
+255E:018001800180018001800180018001800180018001800180018001FF01FF0180018001FF01FF0180018001800180018001800180018001800180018001800180
+255F:066006600660066006600660066006600660066006600660066006600660067F067F066006600660066006600660066006600660066006600660066006600660
+2560:0660066006600660066006600660066006600660066006600660067F067F06000600067F067F0660066006600660066006600660066006600660066006600660
+2561:0180018001800180018001800180018001800180018001800180FF80FF8001800180FF80FF800180018001800180018001800180018001800180018001800180
+2562:066006600660066006600660066006600660066006600660066006600660FE60FE60066006600660066006600660066006600660066006600660066006600660
+2563:0660066006600660066006600660066006600660066006600660FE60FE6000600060FE60FE600660066006600660066006600660066006600660066006600660
+2564:0000000000000000000000000000000000000000000000000000FFFFFFFF00000000FFFFFFFF0180018001800180018001800180018001800180018001800180
+2565:000000000000000000000000000000000000000000000000000000000000FFFFFFFF066006600660066006600660066006600660066006600660066006600660
+2566:0000000000000000000000000000000000000000000000000000FFFFFFFF00000000FE7FFE7F0660066006600660066006600660066006600660066006600660
+2567:0180018001800180018001800180018001800180018001800180FFFFFFFF00000000FFFFFFFF0000000000000000000000000000000000000000000000000000
+2568:066006600660066006600660066006600660066006600660066006600660FFFFFFFF000000000000000000000000000000000000000000000000000000000000
+2569:0660066006600660066006600660066006600660066006600660FE7FFE7F00000000FFFFFFFF0000000000000000000000000000000000000000000000000000
+256A:0180018001800180018001800180018001800180018001800180FFFFFFFF01800180FFFFFFFF0180018001800180018001800180018001800180018001800180
+256B:066006600660066006600660066006600660066006600660066006600660FFFFFFFF066006600660066006600660066006600660066006600660066006600660
+256C:0660066006600660066006600660066006600660066006600660FE7FFE7F00000000FE7FFE7F0660066006600660066006600660066006600660066006600660
+256D:000000000000000000000000000000000000000000000000000000000000000F003F007800E000C001C001800180018001800180018001800180018001800180
+256E:000000000000000000000000000000000000000000000000000000000000F000FC001E0007000300038001800180018001800180018001800180018001800180
+256F:018001800180018001800180018001800180018001800380030007001E00FC00F000000000000000000000000000000000000000000000000000000000000000
+2570:0180018001800180018001800180018001800180018001C000C000E00078003F000F000000000000000000000000000000000000000000000000000000000000
+2571:00010003000300060006000C000C00180018003000300060006000C000C00180018003000300060006000C000C00180018003000300060006000C000C0008000
+2572:8000C000C0006000600030003000180018000C000C0006000600030003000180018000C000C0006000600030003000180018000C000C00060006000300030001
+2573:8001C003C00360066006300C300C181818180C300C300660066003C003C00180018003C003C0066006600C300C3018181818300C300C60066006C003C0038001
+2574:000000000000000000000000000000000000000000000000000000000000FF80FF80000000000000000000000000000000000000000000000000000000000000
+2575:01800180018001800180018001800180018001800180018001800180018001800180000000000000000000000000000000000000000000000000000000000000
+2576:00000000000000000000000000000000000000000000000000000000000001FF01FF000000000000000000000000000000000000000000000000000000000000
+2577:00000000000000000000000000000000000000000000000000000000000001800180018001800180018001800180018001800180018001800180018001800180
+2578:00000000000000000000000000000000000000000000000000000000FF80FF80FF80FF8000000000000000000000000000000000000000000000000000000000
+2579:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0000000000000000000000000000000000000000000000000000000000000
+257A:0000000000000000000000000000000000000000000000000000000001FF01FF01FF01FF00000000000000000000000000000000000000000000000000000000
+257B:00000000000000000000000000000000000000000000000000000000000003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+257C:0000000000000000000000000000000000000000000000000000000001FFFFFFFFFF01FF00000000000000000000000000000000000000000000000000000000
+257D:01800180018001800180018001800180018001800180018001800180018003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
+257E:00000000000000000000000000000000000000000000000000000000FF80FFFFFFFFFF8000000000000000000000000000000000000000000000000000000000
+257F:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0018001800180018001800180018001800180018001800180018001800180
+2580:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000
+2581:0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF
+2582:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+2583:00000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+2584:0000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+2585:000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+2586:00000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+2587:0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+2588:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+2589:FFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFC
+258A:FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0
+258B:FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0
+258C:FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+258D:FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00
+258E:F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
+258F:C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000
+2590:00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF
+2591:AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000
+2592:AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555
+2593:FFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAA
+2596:0000000000000000000000000000000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+2597:000000000000000000000000000000000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF
+2598:FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000000000000000000000000000000000000000000000000000000000000000
+2599:FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+259A:FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF
+259B:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+259C:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF
+259D:00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000000000000000000000000000000000000000000000000000000000
+259E:00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FFFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
+259F:00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+25A0:00000000000000000000000000000000000000001FF01FF01FF01FF01FF01FF01FF01FF01FF01FF01FF01FF00000000000000000000000000000000000000000
+25AC:0000000000000000000000000000000000000000000000000000000000000000000000007FFC7FFC7FFC7FFC7FFC7FFC7FFC7FFC000000000000000000000000
+25AE:0000000000000000000000003FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC3FFC000000000000000000000000
+25B2:00000000000000000000000000000000010001000380038007C007C00FE00FE01FF01FF03FF83FF87FFC7FFCFFFEFFFE00000000000000000000000000000000
+25B6:00000000000000000000000000000000C000F000FC00FF00FFC0FFF0FFFCFFFFFFFCFFF0FFC0FF00FC00F000C000000000000000000000000000000000000000
+25BC:00000000000000000000000000000000FFFEFFFE7FFC7FFC3FF83FF81FF01FF00FE00FE007C007C0038003800100010000000000000000000000000000000000
+25C0:000000000000000000000000000000000003000F003F00FF03FF0FFF3FFFFFFF3FFF0FFF03FF00FF003F000F0003000000000000000000000000000000000000
+25C6:000000000000000000000000000000000000018003C007E00FF01FF83FFC7FFE7FFE3FFC1FF80FF007E003C00180000000000000000000000000000000000000
+25CA:000000000000000000000000000000000000018003C007E00E701C38381C700E700E381C1C380E7007E003C00180000000000000000000000000000000000000
+25CB:000000000000000000000000000000000000000000000000000003C007E00660066007E003C00000000000000000000000000000000000000000000000000000
+25CF:000000000000000000000000000000000000000000000000000003C007E007E007E007E003C00000000000000000000000000000000000000000000000000000
+25D8:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3FF81FF81FF81FF81FFC3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+25D9:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3FF81FF99FF99FF81FFC3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+263A:0000000000000000000000001FF83FFC700E6006600660066E766E7660066006600660066FF667E6600660066006700E3FFC1FF8000000000000000000000000
+263B:0000000000000000000000001FF83FFC7FFE7FFE7FFE7FFE718E718E7FFE7FFE7FFE7FFE700E781E7C3E7FFE7FFE7FFE3FFC1FF8000000000000000000000000
+263C:0000000000000000000000000000018001800180318C399C1DB80FF007E03E7C3E7C07E00FF01DB8399C318C0180018001800000000000000000000000000000
+2640:0000000000000000000000000FF01FF8381C300C300C300C300C300C381C1FF80FF00180018001803FFC3FFC0180018001800180000000000000000000000000
+2642:00000000000000000000000001FE01FE001E003E007600E601C603861FE03FF0703860186018601860186018601870383FF01FE0000000000000000000000000
+2660:0000000000000000000000000180018003C007E00FF01FF83FFC3FFC7FFE7FFE7FFE7FFE7FFE3DBC1DB801800180018007E007E0000000000000000000000000
+2663:00000000000000000000000003C007E007E007E007E007E003C001801DB83FFC7FFE7FFE7FFE7FFE3FFC1DB80180018007E007E0000000000000000000000000
+2665:000000000000000000000000000000003C3C7E7E7E7E7FFE7FFE7FFE7FFE7FFE3FFC3FFC1FF80FF007E003C00180000000000000000000000000000000000000
+2666:000000000000000000000000000000000000018003C007E00FF01FF83FFC7FFE7FFE3FFC1FF80FF007E003C00180000000000000000000000000000000000000
+266A:0000000000000000000000001FFC1FFC180C180C180C180C1FFC1FFC180018001800180018001800180018001800180078007000000000000000000000000000
+266B:0000000000000000000000003FFE3FFE30063006300630063FFE3FFE300630063006300630063006300630063006301EF01CE000000000000000000000000000
+2713:0000000000000000000000000003000300060006000C000C00180018C030C0306060606030C030C0198019800F000F0006000600000000000000000000000000
+2714:00000000000000000000000000070007000E000E001C001C00380038C070C070E0E0E0E071C071C03B803B801F001F000E000E00000000000000000000000000
+2717:000000000000000000000000001800180030303018600C6006C003C0018001C0036003300618060C0C000C001800180030003000000000000000000000000000
+2718:00000000000000000000000000380038707038701CE00EE007C003C003C003E0077007380E1C0E0C1C001C003800380070007000000000000000000000000000
+27E8:0000000000000000000000000060006000C000C001800180030003000600060006000600030003000180018000C000C000600060000000000000000000000000
+27E9:00000000000000000000000006000600030003000180018000C000C0006000600060006000C000C0018001800300030006000600000000000000000000000000
+27EA:000000000000000000000000030C030C061806180C300C301860186030C030C030C030C0186018600C300C3006180618030C030C000000000000000000000000
+27EB:00000000000000000000000030C030C0186018600C300C3006180618030C030C030C030C061806180C300C301860186030C030C0000000000000000000000000
+2800:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+2801:00000000180018001800180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+2802:00000000000000000000000000000000000000001800180018001800000000000000000000000000000000000000000000000000000000000000000000000000
+2803:00000000180018001800180000000000000000001800180018001800000000000000000000000000000000000000000000000000000000000000000000000000
+2804:00000000000000000000000000000000000000000000000000000000000000000000000018001800180018000000000000000000000000000000000000000000
+2805:00000000180018001800180000000000000000000000000000000000000000000000000018001800180018000000000000000000000000000000000000000000
+2806:00000000000000000000000000000000000000001800180018001800000000000000000018001800180018000000000000000000000000000000000000000000
+2807:00000000180018001800180000000000000000001800180018001800000000000000000018001800180018000000000000000000000000000000000000000000
+2808:00000000001800180018001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+2809:00000000181818181818181800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+280A:00000000001800180018001800000000000000001800180018001800000000000000000000000000000000000000000000000000000000000000000000000000
+280B:00000000181818181818181800000000000000001800180018001800000000000000000000000000000000000000000000000000000000000000000000000000
+280C:00000000001800180018001800000000000000000000000000000000000000000000000018001800180018000000000000000000000000000000000000000000
+280D:00000000181818181818181800000000000000000000000000000000000000000000000018001800180018000000000000000000000000000000000000000000
+280E:00000000001800180018001800000000000000001800180018001800000000000000000018001800180018000000000000000000000000000000000000000000
+280F:00000000181818181818181800000000000000001800180018001800000000000000000018001800180018000000000000000000000000000000000000000000
+2810:00000000000000000000000000000000000000000018001800180018000000000000000000000000000000000000000000000000000000000000000000000000
+2811:00000000180018001800180000000000000000000018001800180018000000000000000000000000000000000000000000000000000000000000000000000000
+2812:00000000000000000000000000000000000000001818181818181818000000000000000000000000000000000000000000000000000000000000000000000000
+2813:00000000180018001800180000000000000000001818181818181818000000000000000000000000000000000000000000000000000000000000000000000000
+2814:00000000000000000000000000000000000000000018001800180018000000000000000018001800180018000000000000000000000000000000000000000000
+2815:00000000180018001800180000000000000000000018001800180018000000000000000018001800180018000000000000000000000000000000000000000000
+2816:00000000000000000000000000000000000000001818181818181818000000000000000018001800180018000000000000000000000000000000000000000000
+2817:00000000180018001800180000000000000000001818181818181818000000000000000018001800180018000000000000000000000000000000000000000000
+2818:00000000001800180018001800000000000000000018001800180018000000000000000000000000000000000000000000000000000000000000000000000000
+2819:00000000181818181818181800000000000000000018001800180018000000000000000000000000000000000000000000000000000000000000000000000000
+281A:00000000001800180018001800000000000000001818181818181818000000000000000000000000000000000000000000000000000000000000000000000000
+281B:00000000181818181818181800000000000000001818181818181818000000000000000000000000000000000000000000000000000000000000000000000000
+281C:00000000001800180018001800000000000000000018001800180018000000000000000018001800180018000000000000000000000000000000000000000000
+281D:00000000181818181818181800000000000000000018001800180018000000000000000018001800180018000000000000000000000000000000000000000000
+281E:00000000001800180018001800000000000000001818181818181818000000000000000018001800180018000000000000000000000000000000000000000000
+281F:00000000181818181818181800000000000000001818181818181818000000000000000018001800180018000000000000000000000000000000000000000000
+2820:00000000000000000000000000000000000000000000000000000000000000000000000000180018001800180000000000000000000000000000000000000000
+2821:00000000180018001800180000000000000000000000000000000000000000000000000000180018001800180000000000000000000000000000000000000000
+2822:00000000000000000000000000000000000000001800180018001800000000000000000000180018001800180000000000000000000000000000000000000000
+2823:00000000180018001800180000000000000000001800180018001800000000000000000000180018001800180000000000000000000000000000000000000000
+2824:00000000000000000000000000000000000000000000000000000000000000000000000018181818181818180000000000000000000000000000000000000000
+2825:00000000180018001800180000000000000000000000000000000000000000000000000018181818181818180000000000000000000000000000000000000000
+2826:00000000000000000000000000000000000000001800180018001800000000000000000018181818181818180000000000000000000000000000000000000000
+2827:00000000180018001800180000000000000000001800180018001800000000000000000018181818181818180000000000000000000000000000000000000000
+2828:00000000001800180018001800000000000000000000000000000000000000000000000000180018001800180000000000000000000000000000000000000000
+2829:00000000181818181818181800000000000000000000000000000000000000000000000000180018001800180000000000000000000000000000000000000000
+282A:00000000001800180018001800000000000000001800180018001800000000000000000000180018001800180000000000000000000000000000000000000000
+282B:00000000181818181818181800000000000000001800180018001800000000000000000000180018001800180000000000000000000000000000000000000000
+282C:00000000001800180018001800000000000000000000000000000000000000000000000018181818181818180000000000000000000000000000000000000000
+282D:00000000181818181818181800000000000000000000000000000000000000000000000018181818181818180000000000000000000000000000000000000000
+282E:00000000001800180018001800000000000000001800180018001800000000000000000018181818181818180000000000000000000000000000000000000000
+282F:00000000181818181818181800000000000000001800180018001800000000000000000018181818181818180000000000000000000000000000000000000000
+2830:00000000000000000000000000000000000000000018001800180018000000000000000000180018001800180000000000000000000000000000000000000000
+2831:00000000180018001800180000000000000000000018001800180018000000000000000000180018001800180000000000000000000000000000000000000000
+2832:00000000000000000000000000000000000000001818181818181818000000000000000000180018001800180000000000000000000000000000000000000000
+2833:00000000180018001800180000000000000000001818181818181818000000000000000000180018001800180000000000000000000000000000000000000000
+2834:00000000000000000000000000000000000000000018001800180018000000000000000018181818181818180000000000000000000000000000000000000000
+2835:00000000180018001800180000000000000000000018001800180018000000000000000018181818181818180000000000000000000000000000000000000000
+2836:00000000000000000000000000000000000000001818181818181818000000000000000018181818181818180000000000000000000000000000000000000000
+2837:00000000180018001800180000000000000000001818181818181818000000000000000018181818181818180000000000000000000000000000000000000000
+2838:00000000001800180018001800000000000000000018001800180018000000000000000000180018001800180000000000000000000000000000000000000000
+2839:00000000181818181818181800000000000000000018001800180018000000000000000000180018001800180000000000000000000000000000000000000000
+283A:00000000001800180018001800000000000000001818181818181818000000000000000000180018001800180000000000000000000000000000000000000000
+283B:00000000181818181818181800000000000000001818181818181818000000000000000000180018001800180000000000000000000000000000000000000000
+283C:00000000001800180018001800000000000000000018001800180018000000000000000018181818181818180000000000000000000000000000000000000000
+283D:00000000181818181818181800000000000000000018001800180018000000000000000018181818181818180000000000000000000000000000000000000000
+283E:00000000001800180018001800000000000000001818181818181818000000000000000018181818181818180000000000000000000000000000000000000000
+283F:00000000181818181818181800000000000000001818181818181818000000000000000018181818181818180000000000000000000000000000000000000000
+2840:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180018001800180000000000
+2841:00000000180018001800180000000000000000000000000000000000000000000000000000000000000000000000000000000000180018001800180000000000
+2842:00000000000000000000000000000000000000001800180018001800000000000000000000000000000000000000000000000000180018001800180000000000
+2843:00000000180018001800180000000000000000001800180018001800000000000000000000000000000000000000000000000000180018001800180000000000
+2844:00000000000000000000000000000000000000000000000000000000000000000000000018001800180018000000000000000000180018001800180000000000
+2845:00000000180018001800180000000000000000000000000000000000000000000000000018001800180018000000000000000000180018001800180000000000
+2846:00000000000000000000000000000000000000001800180018001800000000000000000018001800180018000000000000000000180018001800180000000000
+2847:00000000180018001800180000000000000000001800180018001800000000000000000018001800180018000000000000000000180018001800180000000000
+2848:00000000001800180018001800000000000000000000000000000000000000000000000000000000000000000000000000000000180018001800180000000000
+2849:00000000181818181818181800000000000000000000000000000000000000000000000000000000000000000000000000000000180018001800180000000000
+284A:00000000001800180018001800000000000000001800180018001800000000000000000000000000000000000000000000000000180018001800180000000000
+284B:00000000181818181818181800000000000000001800180018001800000000000000000000000000000000000000000000000000180018001800180000000000
+284C:00000000001800180018001800000000000000000000000000000000000000000000000018001800180018000000000000000000180018001800180000000000
+284D:00000000181818181818181800000000000000000000000000000000000000000000000018001800180018000000000000000000180018001800180000000000
+284E:00000000001800180018001800000000000000001800180018001800000000000000000018001800180018000000000000000000180018001800180000000000
+284F:00000000181818181818181800000000000000001800180018001800000000000000000018001800180018000000000000000000180018001800180000000000
+2850:00000000000000000000000000000000000000000018001800180018000000000000000000000000000000000000000000000000180018001800180000000000
+2851:00000000180018001800180000000000000000000018001800180018000000000000000000000000000000000000000000000000180018001800180000000000
+2852:00000000000000000000000000000000000000001818181818181818000000000000000000000000000000000000000000000000180018001800180000000000
+2853:00000000180018001800180000000000000000001818181818181818000000000000000000000000000000000000000000000000180018001800180000000000
+2854:00000000000000000000000000000000000000000018001800180018000000000000000018001800180018000000000000000000180018001800180000000000
+2855:00000000180018001800180000000000000000000018001800180018000000000000000018001800180018000000000000000000180018001800180000000000
+2856:00000000000000000000000000000000000000001818181818181818000000000000000018001800180018000000000000000000180018001800180000000000
+2857:00000000180018001800180000000000000000001818181818181818000000000000000018001800180018000000000000000000180018001800180000000000
+2858:00000000001800180018001800000000000000000018001800180018000000000000000000000000000000000000000000000000180018001800180000000000
+2859:00000000181818181818181800000000000000000018001800180018000000000000000000000000000000000000000000000000180018001800180000000000
+285A:00000000001800180018001800000000000000001818181818181818000000000000000000000000000000000000000000000000180018001800180000000000
+285B:00000000181818181818181800000000000000001818181818181818000000000000000000000000000000000000000000000000180018001800180000000000
+285C:00000000001800180018001800000000000000000018001800180018000000000000000018001800180018000000000000000000180018001800180000000000
+285D:00000000181818181818181800000000000000000018001800180018000000000000000018001800180018000000000000000000180018001800180000000000
+285E:00000000001800180018001800000000000000001818181818181818000000000000000018001800180018000000000000000000180018001800180000000000
+285F:00000000181818181818181800000000000000001818181818181818000000000000000018001800180018000000000000000000180018001800180000000000
+2860:00000000000000000000000000000000000000000000000000000000000000000000000000180018001800180000000000000000180018001800180000000000
+2861:00000000180018001800180000000000000000000000000000000000000000000000000000180018001800180000000000000000180018001800180000000000
+2862:00000000000000000000000000000000000000001800180018001800000000000000000000180018001800180000000000000000180018001800180000000000
+2863:00000000180018001800180000000000000000001800180018001800000000000000000000180018001800180000000000000000180018001800180000000000
+2864:00000000000000000000000000000000000000000000000000000000000000000000000018181818181818180000000000000000180018001800180000000000
+2865:00000000180018001800180000000000000000000000000000000000000000000000000018181818181818180000000000000000180018001800180000000000
+2866:00000000000000000000000000000000000000001800180018001800000000000000000018181818181818180000000000000000180018001800180000000000
+2867:00000000180018001800180000000000000000001800180018001800000000000000000018181818181818180000000000000000180018001800180000000000
+2868:00000000001800180018001800000000000000000000000000000000000000000000000000180018001800180000000000000000180018001800180000000000
+2869:00000000181818181818181800000000000000000000000000000000000000000000000000180018001800180000000000000000180018001800180000000000
+286A:00000000001800180018001800000000000000001800180018001800000000000000000000180018001800180000000000000000180018001800180000000000
+286B:00000000181818181818181800000000000000001800180018001800000000000000000000180018001800180000000000000000180018001800180000000000
+286C:00000000001800180018001800000000000000000000000000000000000000000000000018181818181818180000000000000000180018001800180000000000
+286D:00000000181818181818181800000000000000000000000000000000000000000000000018181818181818180000000000000000180018001800180000000000
+286E:00000000001800180018001800000000000000001800180018001800000000000000000018181818181818180000000000000000180018001800180000000000
+286F:00000000181818181818181800000000000000001800180018001800000000000000000018181818181818180000000000000000180018001800180000000000
+2870:00000000000000000000000000000000000000000018001800180018000000000000000000180018001800180000000000000000180018001800180000000000
+2871:00000000180018001800180000000000000000000018001800180018000000000000000000180018001800180000000000000000180018001800180000000000
+2872:00000000000000000000000000000000000000001818181818181818000000000000000000180018001800180000000000000000180018001800180000000000
+2873:00000000180018001800180000000000000000001818181818181818000000000000000000180018001800180000000000000000180018001800180000000000
+2874:00000000000000000000000000000000000000000018001800180018000000000000000018181818181818180000000000000000180018001800180000000000
+2875:00000000180018001800180000000000000000000018001800180018000000000000000018181818181818180000000000000000180018001800180000000000
+2876:00000000000000000000000000000000000000001818181818181818000000000000000018181818181818180000000000000000180018001800180000000000
+2877:00000000180018001800180000000000000000001818181818181818000000000000000018181818181818180000000000000000180018001800180000000000
+2878:00000000001800180018001800000000000000000018001800180018000000000000000000180018001800180000000000000000180018001800180000000000
+2879:00000000181818181818181800000000000000000018001800180018000000000000000000180018001800180000000000000000180018001800180000000000
+287A:00000000001800180018001800000000000000001818181818181818000000000000000000180018001800180000000000000000180018001800180000000000
+287B:00000000181818181818181800000000000000001818181818181818000000000000000000180018001800180000000000000000180018001800180000000000
+287C:00000000001800180018001800000000000000000018001800180018000000000000000018181818181818180000000000000000180018001800180000000000
+287D:00000000181818181818181800000000000000000018001800180018000000000000000018181818181818180000000000000000180018001800180000000000
+287E:00000000001800180018001800000000000000001818181818181818000000000000000018181818181818180000000000000000180018001800180000000000
+287F:00000000181818181818181800000000000000001818181818181818000000000000000018181818181818180000000000000000180018001800180000000000
+2880:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001800180018001800000000
+2881:00000000180018001800180000000000000000000000000000000000000000000000000000000000000000000000000000000000001800180018001800000000
+2882:00000000000000000000000000000000000000001800180018001800000000000000000000000000000000000000000000000000001800180018001800000000
+2883:00000000180018001800180000000000000000001800180018001800000000000000000000000000000000000000000000000000001800180018001800000000
+2884:00000000000000000000000000000000000000000000000000000000000000000000000018001800180018000000000000000000001800180018001800000000
+2885:00000000180018001800180000000000000000000000000000000000000000000000000018001800180018000000000000000000001800180018001800000000
+2886:00000000000000000000000000000000000000001800180018001800000000000000000018001800180018000000000000000000001800180018001800000000
+2887:00000000180018001800180000000000000000001800180018001800000000000000000018001800180018000000000000000000001800180018001800000000
+2888:00000000001800180018001800000000000000000000000000000000000000000000000000000000000000000000000000000000001800180018001800000000
+2889:00000000181818181818181800000000000000000000000000000000000000000000000000000000000000000000000000000000001800180018001800000000
+288A:00000000001800180018001800000000000000001800180018001800000000000000000000000000000000000000000000000000001800180018001800000000
+288B:00000000181818181818181800000000000000001800180018001800000000000000000000000000000000000000000000000000001800180018001800000000
+288C:00000000001800180018001800000000000000000000000000000000000000000000000018001800180018000000000000000000001800180018001800000000
+288D:00000000181818181818181800000000000000000000000000000000000000000000000018001800180018000000000000000000001800180018001800000000
+288E:00000000001800180018001800000000000000001800180018001800000000000000000018001800180018000000000000000000001800180018001800000000
+288F:00000000181818181818181800000000000000001800180018001800000000000000000018001800180018000000000000000000001800180018001800000000
+2890:00000000000000000000000000000000000000000018001800180018000000000000000000000000000000000000000000000000001800180018001800000000
+2891:00000000180018001800180000000000000000000018001800180018000000000000000000000000000000000000000000000000001800180018001800000000
+2892:00000000000000000000000000000000000000001818181818181818000000000000000000000000000000000000000000000000001800180018001800000000
+2893:00000000180018001800180000000000000000001818181818181818000000000000000000000000000000000000000000000000001800180018001800000000
+2894:00000000000000000000000000000000000000000018001800180018000000000000000018001800180018000000000000000000001800180018001800000000
+2895:00000000180018001800180000000000000000000018001800180018000000000000000018001800180018000000000000000000001800180018001800000000
+2896:00000000000000000000000000000000000000001818181818181818000000000000000018001800180018000000000000000000001800180018001800000000
+2897:00000000180018001800180000000000000000001818181818181818000000000000000018001800180018000000000000000000001800180018001800000000
+2898:00000000001800180018001800000000000000000018001800180018000000000000000000000000000000000000000000000000001800180018001800000000
+2899:00000000181818181818181800000000000000000018001800180018000000000000000000000000000000000000000000000000001800180018001800000000
+289A:00000000001800180018001800000000000000001818181818181818000000000000000000000000000000000000000000000000001800180018001800000000
+289B:00000000181818181818181800000000000000001818181818181818000000000000000000000000000000000000000000000000001800180018001800000000
+289C:00000000001800180018001800000000000000000018001800180018000000000000000018001800180018000000000000000000001800180018001800000000
+289D:00000000181818181818181800000000000000000018001800180018000000000000000018001800180018000000000000000000001800180018001800000000
+289E:00000000001800180018001800000000000000001818181818181818000000000000000018001800180018000000000000000000001800180018001800000000
+289F:00000000181818181818181800000000000000001818181818181818000000000000000018001800180018000000000000000000001800180018001800000000
+28A0:00000000000000000000000000000000000000000000000000000000000000000000000000180018001800180000000000000000001800180018001800000000
+28A1:00000000180018001800180000000000000000000000000000000000000000000000000000180018001800180000000000000000001800180018001800000000
+28A2:00000000000000000000000000000000000000001800180018001800000000000000000000180018001800180000000000000000001800180018001800000000
+28A3:00000000180018001800180000000000000000001800180018001800000000000000000000180018001800180000000000000000001800180018001800000000
+28A4:00000000000000000000000000000000000000000000000000000000000000000000000018181818181818180000000000000000001800180018001800000000
+28A5:00000000180018001800180000000000000000000000000000000000000000000000000018181818181818180000000000000000001800180018001800000000
+28A6:00000000000000000000000000000000000000001800180018001800000000000000000018181818181818180000000000000000001800180018001800000000
+28A7:00000000180018001800180000000000000000001800180018001800000000000000000018181818181818180000000000000000001800180018001800000000
+28A8:00000000001800180018001800000000000000000000000000000000000000000000000000180018001800180000000000000000001800180018001800000000
+28A9:00000000181818181818181800000000000000000000000000000000000000000000000000180018001800180000000000000000001800180018001800000000
+28AA:00000000001800180018001800000000000000001800180018001800000000000000000000180018001800180000000000000000001800180018001800000000
+28AB:00000000181818181818181800000000000000001800180018001800000000000000000000180018001800180000000000000000001800180018001800000000
+28AC:00000000001800180018001800000000000000000000000000000000000000000000000018181818181818180000000000000000001800180018001800000000
+28AD:00000000181818181818181800000000000000000000000000000000000000000000000018181818181818180000000000000000001800180018001800000000
+28AE:00000000001800180018001800000000000000001800180018001800000000000000000018181818181818180000000000000000001800180018001800000000
+28AF:00000000181818181818181800000000000000001800180018001800000000000000000018181818181818180000000000000000001800180018001800000000
+28B0:00000000000000000000000000000000000000000018001800180018000000000000000000180018001800180000000000000000001800180018001800000000
+28B1:00000000180018001800180000000000000000000018001800180018000000000000000000180018001800180000000000000000001800180018001800000000
+28B2:00000000000000000000000000000000000000001818181818181818000000000000000000180018001800180000000000000000001800180018001800000000
+28B3:00000000180018001800180000000000000000001818181818181818000000000000000000180018001800180000000000000000001800180018001800000000
+28B4:00000000000000000000000000000000000000000018001800180018000000000000000018181818181818180000000000000000001800180018001800000000
+28B5:00000000180018001800180000000000000000000018001800180018000000000000000018181818181818180000000000000000001800180018001800000000
+28B6:00000000000000000000000000000000000000001818181818181818000000000000000018181818181818180000000000000000001800180018001800000000
+28B7:00000000180018001800180000000000000000001818181818181818000000000000000018181818181818180000000000000000001800180018001800000000
+28B8:00000000001800180018001800000000000000000018001800180018000000000000000000180018001800180000000000000000001800180018001800000000
+28B9:00000000181818181818181800000000000000000018001800180018000000000000000000180018001800180000000000000000001800180018001800000000
+28BA:00000000001800180018001800000000000000001818181818181818000000000000000000180018001800180000000000000000001800180018001800000000
+28BB:00000000181818181818181800000000000000001818181818181818000000000000000000180018001800180000000000000000001800180018001800000000
+28BC:00000000001800180018001800000000000000000018001800180018000000000000000018181818181818180000000000000000001800180018001800000000
+28BD:00000000181818181818181800000000000000000018001800180018000000000000000018181818181818180000000000000000001800180018001800000000
+28BE:00000000001800180018001800000000000000001818181818181818000000000000000018181818181818180000000000000000001800180018001800000000
+28BF:00000000181818181818181800000000000000001818181818181818000000000000000018181818181818180000000000000000001800180018001800000000
+28C0:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000181818181818181800000000
+28C1:00000000180018001800180000000000000000000000000000000000000000000000000000000000000000000000000000000000181818181818181800000000
+28C2:00000000000000000000000000000000000000001800180018001800000000000000000000000000000000000000000000000000181818181818181800000000
+28C3:00000000180018001800180000000000000000001800180018001800000000000000000000000000000000000000000000000000181818181818181800000000
+28C4:00000000000000000000000000000000000000000000000000000000000000000000000018001800180018000000000000000000181818181818181800000000
+28C5:00000000180018001800180000000000000000000000000000000000000000000000000018001800180018000000000000000000181818181818181800000000
+28C6:00000000000000000000000000000000000000001800180018001800000000000000000018001800180018000000000000000000181818181818181800000000
+28C7:00000000180018001800180000000000000000001800180018001800000000000000000018001800180018000000000000000000181818181818181800000000
+28C8:00000000001800180018001800000000000000000000000000000000000000000000000000000000000000000000000000000000181818181818181800000000
+28C9:00000000181818181818181800000000000000000000000000000000000000000000000000000000000000000000000000000000181818181818181800000000
+28CA:00000000001800180018001800000000000000001800180018001800000000000000000000000000000000000000000000000000181818181818181800000000
+28CB:00000000181818181818181800000000000000001800180018001800000000000000000000000000000000000000000000000000181818181818181800000000
+28CC:00000000001800180018001800000000000000000000000000000000000000000000000018001800180018000000000000000000181818181818181800000000
+28CD:00000000181818181818181800000000000000000000000000000000000000000000000018001800180018000000000000000000181818181818181800000000
+28CE:00000000001800180018001800000000000000001800180018001800000000000000000018001800180018000000000000000000181818181818181800000000
+28CF:00000000181818181818181800000000000000001800180018001800000000000000000018001800180018000000000000000000181818181818181800000000
+28D0:00000000000000000000000000000000000000000018001800180018000000000000000000000000000000000000000000000000181818181818181800000000
+28D1:00000000180018001800180000000000000000000018001800180018000000000000000000000000000000000000000000000000181818181818181800000000
+28D2:00000000000000000000000000000000000000001818181818181818000000000000000000000000000000000000000000000000181818181818181800000000
+28D3:00000000180018001800180000000000000000001818181818181818000000000000000000000000000000000000000000000000181818181818181800000000
+28D4:00000000000000000000000000000000000000000018001800180018000000000000000018001800180018000000000000000000181818181818181800000000
+28D5:00000000180018001800180000000000000000000018001800180018000000000000000018001800180018000000000000000000181818181818181800000000
+28D6:00000000000000000000000000000000000000001818181818181818000000000000000018001800180018000000000000000000181818181818181800000000
+28D7:00000000180018001800180000000000000000001818181818181818000000000000000018001800180018000000000000000000181818181818181800000000
+28D8:00000000001800180018001800000000000000000018001800180018000000000000000000000000000000000000000000000000181818181818181800000000
+28D9:00000000181818181818181800000000000000000018001800180018000000000000000000000000000000000000000000000000181818181818181800000000
+28DA:00000000001800180018001800000000000000001818181818181818000000000000000000000000000000000000000000000000181818181818181800000000
+28DB:00000000181818181818181800000000000000001818181818181818000000000000000000000000000000000000000000000000181818181818181800000000
+28DC:00000000001800180018001800000000000000000018001800180018000000000000000018001800180018000000000000000000181818181818181800000000
+28DD:00000000181818181818181800000000000000000018001800180018000000000000000018001800180018000000000000000000181818181818181800000000
+28DE:00000000001800180018001800000000000000001818181818181818000000000000000018001800180018000000000000000000181818181818181800000000
+28DF:00000000181818181818181800000000000000001818181818181818000000000000000018001800180018000000000000000000181818181818181800000000
+28E0:00000000000000000000000000000000000000000000000000000000000000000000000000180018001800180000000000000000181818181818181800000000
+28E1:00000000180018001800180000000000000000000000000000000000000000000000000000180018001800180000000000000000181818181818181800000000
+28E2:00000000000000000000000000000000000000001800180018001800000000000000000000180018001800180000000000000000181818181818181800000000
+28E3:00000000180018001800180000000000000000001800180018001800000000000000000000180018001800180000000000000000181818181818181800000000
+28E4:00000000000000000000000000000000000000000000000000000000000000000000000018181818181818180000000000000000181818181818181800000000
+28E5:00000000180018001800180000000000000000000000000000000000000000000000000018181818181818180000000000000000181818181818181800000000
+28E6:00000000000000000000000000000000000000001800180018001800000000000000000018181818181818180000000000000000181818181818181800000000
+28E7:00000000180018001800180000000000000000001800180018001800000000000000000018181818181818180000000000000000181818181818181800000000
+28E8:00000000001800180018001800000000000000000000000000000000000000000000000000180018001800180000000000000000181818181818181800000000
+28E9:00000000181818181818181800000000000000000000000000000000000000000000000000180018001800180000000000000000181818181818181800000000
+28EA:00000000001800180018001800000000000000001800180018001800000000000000000000180018001800180000000000000000181818181818181800000000
+28EB:00000000181818181818181800000000000000001800180018001800000000000000000000180018001800180000000000000000181818181818181800000000
+28EC:00000000001800180018001800000000000000000000000000000000000000000000000018181818181818180000000000000000181818181818181800000000
+28ED:00000000181818181818181800000000000000000000000000000000000000000000000018181818181818180000000000000000181818181818181800000000
+28EE:00000000001800180018001800000000000000001800180018001800000000000000000018181818181818180000000000000000181818181818181800000000
+28EF:00000000181818181818181800000000000000001800180018001800000000000000000018181818181818180000000000000000181818181818181800000000
+28F0:00000000000000000000000000000000000000000018001800180018000000000000000000180018001800180000000000000000181818181818181800000000
+28F1:00000000180018001800180000000000000000000018001800180018000000000000000000180018001800180000000000000000181818181818181800000000
+28F2:00000000000000000000000000000000000000001818181818181818000000000000000000180018001800180000000000000000181818181818181800000000
+28F3:00000000180018001800180000000000000000001818181818181818000000000000000000180018001800180000000000000000181818181818181800000000
+28F4:00000000000000000000000000000000000000000018001800180018000000000000000018181818181818180000000000000000181818181818181800000000
+28F5:00000000180018001800180000000000000000000018001800180018000000000000000018181818181818180000000000000000181818181818181800000000
+28F6:00000000000000000000000000000000000000001818181818181818000000000000000018181818181818180000000000000000181818181818181800000000
+28F7:00000000180018001800180000000000000000001818181818181818000000000000000018181818181818180000000000000000181818181818181800000000
+28F8:00000000001800180018001800000000000000000018001800180018000000000000000000180018001800180000000000000000181818181818181800000000
+28F9:00000000181818181818181800000000000000000018001800180018000000000000000000180018001800180000000000000000181818181818181800000000
+28FA:00000000001800180018001800000000000000001818181818181818000000000000000000180018001800180000000000000000181818181818181800000000
+28FB:00000000181818181818181800000000000000001818181818181818000000000000000000180018001800180000000000000000181818181818181800000000
+28FC:00000000001800180018001800000000000000000018001800180018000000000000000018181818181818180000000000000000181818181818181800000000
+28FD:00000000181818181818181800000000000000000018001800180018000000000000000018181818181818180000000000000000181818181818181800000000
+28FE:00000000001800180018001800000000000000001818181818181818000000000000000018181818181818180000000000000000181818181818181800000000
+28FF:00000000181818181818181800000000000000001818181818181818000000000000000018181818181818180000000000000000181818181818181800000000
+2E2C:000000000000000000000000000000000000000000000000300C300C300C300C000000000000000000000000300C300C300C300C000000000000000000000000
+E0A0:600060006000606060F061F863FC676E606060606060606060606060606060C04180030006000C00180030006000600060006000600060006000600060006000
+E0A1:0000000000006000600060006000600060006000600060007FC07FC000000000060C060C070C078C06CC066C063C061C060C060C060C00000000000000000000
+E0A2:000000000000000007E00FF0181818181818181818181818181818183FFC7FFE7FFE7FFE7C3E781E781E781E7C3E7FFE7FFE7FFE7FFE7FFE0000000000000000
+E0B0:8000C000E000F000F800FC00FE00FF00FF80FFC0FFE0FFF0FFF8FFFCFFFEFFFFFFFFFFFEFFFCFFF8FFF0FFE0FFC0FF80FF00FE00FC00F800F000E000C0008000
+E0B1:8000C000E000700038001C000E000700038001C000E000700038001C000E00070007000E001C0038007000E001C0038007000E001C0038007000E000C0008000
+E0B2:000100030007000F001F003F007F00FF01FF03FF07FF0FFF1FFF3FFF7FFFFFFFFFFF7FFF3FFF1FFF0FFF07FF03FF01FF00FF007F003F001F000F000700030001
+E0B3:000100030007000E001C0038007000E001C0038007000E001C0038007000E000E000700038001C000E000700038001C000E000700038001C000E000700030001
+F6BE:00000000000000000000000000000000000000000000000000780078001800180018001800180018001800180018001800180018181818181C380FF007E00000
+FFFD:0000000000000000000000003FFC3FFC300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C3FFC3FFC000000000000000000000000
OpenPOWER on IntegriCloud