Tobias C. Berner
b832da1849
misc: remove 'Created by' lines
...
A big Thank You to the original contributors of these ports:
* Aaron Dalton <aaron@FreeBSD.org>
* Adam Weinberger <adam@vectors.cx>
* Adam Weinberger <adamw@FreeBSD.org>
* Akinori MUSHA aka knu <knu@idaemons.org>
* Alan E <alane@FreeBSD.org>
* Alex Semenyaka <alex@rinet.ru>
* Alex Stangl <alex@stangl.us>
* Alexander Logvinov <avl@FreeBSD.org>
* Alexander Logvinov <ports@logvinov.com>
* Alexander Nusov <alexander.nusov@nfvexpress.com>
* Alexander Timoshenko <gonzo@univ.kiev.ua>
* Alexander Vereeken <Alexander88207@protonmail.com>
* Alexey Dokuchaev <danfe@FreeBSD.org>
* Alexey Dokuchaev <danfe@regency.nsu.ru>
* Alexey Zelkin <phantom@FreeBSD.org>
* Andreas Kohout <shanee@rabbit.augusta.de>
* Andrew Pantyukhin <infofarmer@FreeBSD.org>
* Andrew Stuart <elitetek@tekrealm.net>
* Andrey Simonenko
* Andrey Zakhvatov
* Andy Kosela <akosela@andykosela.com>
* Andy Pavlo <amp0928@rit.edu>
* Anton Berezin <tobez@FreeBSD.org>
* Antonio Carlos Venancio Junior (<antonio@inf.ufsc.br>)
* Attila Nagy <bra@fsn.hu>
* Bjorn Lindstrom <bkhl@elektrubadur.se>
* Brendan Molloy <brendan+freebsd@bbqsrc.net>
* Brent J. Nordquist <bjn@visi.com>
* Cheng-Lung Sung <clsung@FreeBSD.org>
* Chris Costello <chris@FreeBSD.org>
* Chris D. Faulhaber <jedgar@fxp.org>
* Chris Piazza <cpiazza@FreeBSD.org>
* Chris Stuart <firewolf@lightningfire.net>
* Conrad Sabatier <conrads@home.com>
* Dan Moschuk <dan@FreeBSD.org>
* Daniel B. Hemmerich <dan@spot.org>
* David Johnson <david@usermode.org>
* David O'Brien (obrien@cs.ucdavis.edu )
* Dean Hollister <dean@odyssey.apana.org.au>
* Denis Shaposhnikov <dsh@vlink.ru>
* Dereckson <dereckson@gmail.com>
* Dima Dorfman <dima@unixfreak.org>
* Dima Sivachenko
* Dima Sivachenko <dima@chg.ru>
* Dmitry Morozovsky <marck@FreeBSD.org>
* Dmitry Sivachenko <dima@Chg.RU>
* Edwin Groothuis <edwin@mavetju.org>
* Emanuel Haupt <ehaupt@FreeBSD.org>
* Emanuel Haupt <ehaupt@critical.ch>
* Eric Turgeon <ericbsd@FreeBSD.org>
* Evaldas Auryla <ea@zaib.as>
* Filippo Natali <filippo@widestore.net>
* Frank Steinborn <steinex@nognu.de>
* Frederic Culot <culot@FreeBSD.org>
* G. Adam Stanislav <adam@whizkidtech.net>
* Garrett Wollman <wollman@FreeBSD.org>
* Gea-Suan Lin <gslin@gslin.org>
* Greg Lehey <grog@FreeBSD.org>
* Guangyuan Yang <ygy@FreeBSD.org>
* Gustau Perez i Querol <gustau.perez@gmail.com>
* Harald Schmalzbauer <freebsd@omnilan.de>
* Harald Wille <harald.wille@students.jku.at>
* Hye-Shik Chang <perky@python.or.kr>
* Igor Pokrovsky <ip@unixway.org>
* J Han <hjh@best.com>
* James Earl <jdearl@telus.net>
* James FitzGibbon <jfitz@FreeBSD.org>
* James Howard <howardj@wam.umd.edu>
* Jeremy Shaffner <jeremy@external.org>
* Jim Mock <jim@FreeBSD.org>
* Joao Carlos Mendes Luis <jonny@jonny.eng.br>
* Joe Marcus Clarke <marcus@FreeBSD.org>
* Johann Visagie <wjv@FreeBSD.org>
* John Marino <marino@FreeBSD.org>
* Jose Alonso Cardenas Marquez <acardenas@bsd.org.pe>
* Jose Rodriguez <king@v2project.com>
* Julian Stacey <jhs@FreeBSD.org>
* KIRIYAMA Kazuhiko <kiri@kiri.toba-cmt.ac.jp>
* Kelly Yancey <kbyanc@posi.net>
* Kim Scarborough <user@unknown.nu>
* Kimura Fuyuki <fuyuki@nigredo.org>
* Kirill Ponomarew <ponomarew@oberon.net>
* Koop Mast <kwm@FreeBSD.org>
* Kubilay Kocak <koobs@FreeBSD.org>
* Lars Engels <lars.engels@0x20.net>
* Leland Wang <llwang@infor.org>
* Machiel Mastenbroek <machiel_mastenbroek@hotmail.com>
* Maksym Sobolyev <sobomax@pbxpress.it>
* Marc Fonvieille <blackend@FreeBSD.org>
* Marcus Alves Grando <mnag@FreeBSD.org>
* Marie Loise Nolden <loise@kde.org>
* Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
* Martin Blapp <mb@imp.ch>
* Martin Neubauer <m.ne@gmx.net>
* Martin Wilke <miwi@FreeBSD.org>
* Mathieu Arnold <m@absolight.net>
* Matt Emmerton <matt@gsicomp.on.ca>
* Matt Mills <matt_mills@btopenworld.com>
* Matthew Seaman
* Matthias Andree <matthias.andree@gmx.de>
* Max Khon <fjoe@FreeBSD.org>
* Maxim Khon <fjoe@FreeBSD.org>
* Maxim Sobolev <sobomax@FreeBSD.org>
* Michael A. Kohn <mike@mikekohn.net>
* Michael Elbel (me)
* Michael Haro <mharo@FreeBSD.org>
* Michael Johnson <ahze@FreeBSD.org>
* Michael L. Hostbaek (mich@freebsdcluster.org )
* Michael L. Hostbaek <mich@freebsdcluster.org>
* Mikael Urankar <mikael.urankar@gmail.com>
* Mike Smith <msmith@FreeBSD.org>
* Miklos Niedermayer <mico@bsd.hu>
* NECDET COKYAZICI <cokyazici@yahoo.co.uk>
* Naito Yuichiro <naito.yuichiro@gmail.com>
* Neil Blakey-Milner <nbm@rucus.ru.ac.za>
* Niek Bergboer <niek@bergboer.net>
* Oleh Hushchenkov <gor@clogic.com.ua>
* Oliver Lehmann <oliver@FreeBSD.org>
* Patrick Li <pat@databits.net>
* Patrick Seal <patseal@hyperhost.net>
* Pav Lucistnik <pav@oook.cz>
* Pete Fritchman <petef@databits.net>
* Peter Pentchev <roam@FreeBSD.org>
* Philip Paeps <philip@FreeBSD.org>
* Po-Chuan Hsieh <sunpoet@FreeBSD.org>
* Rainer Hurling <rhurlin@gwdg.de>
* Ralf S. Engelschall <rse@engelschall.com>
* Robert Withrow <witr@rwwa.com>
* Roman Bogorodskiy <novel@FreeBSD.org>
* Rong-En Fan <rafan@FreeBSD.org>
* Ryan Steinmetz <zi@FreeBSD.org>
* Sander Vesik <sander@haldjas.folklore.ee>
* Scot W. Hetzel
* Seamus Venasse <svenasse@polaris.ca>
* Sebastien gioria <gioria@FreeBSD.org>
* Serge Gagnon <gagnon__s@videotron.ca>
* Sergei Kolobov <sergei@kolobov.com>
* Sergey Skvortsov <skv@protey.ru>
* SimaMoto,RyoTa <liangtai.s4@gmail.com>
* Simon 'corecode' Schubert <corecode@corecode.ath.cx>
* Slaven Rezic <slaven@rezic.de>
* Stefan Walter <swalter@lettermax.de>
* Stephen Farrell <steve@farrell.org>
* Stephen Hurd <shurd@FreeBSD.org>
* Steve Wills <swills@FreeBSD.org>
* Steven Enderle <enderle@mdn.de>
* Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>
* TAKATSU Tomonari <tota@FreeBSD.org>
* Thierry Thomas (<thierry@FreeBSD.org>)
* Thomas Gellekum <tg@FreeBSD.org>
* Timothy Bourke <timbob@bigpond.com>
* Ting-Wei Lan <lantw44@gmail.com>
* Tobias Roth <ports@fsck.ch>
* Tom Rhodes <trhodes@FreeBSD.org>
* Tomoyuki Sakurai <cherry@trombik.org>
* Torsten Blum <torstenb@FreeBSD.org>
* Vladimir Kondratyev <wulf@FreeBSD.org>
* Wei-chun Chao
* Wen Heping <wen@FreeBSD.org>
* Willem van Engen <wvengen@stack.nl>
* Wojciech A. Koszek <wkoszek@FreeBSD.org>
* Xavier Beaudouin <kiwi@oav.net>
* Yen-Ming Lee <leeym@FreeBSD.org>
* Yen-Ming Lee <leeym@cae.ce.ntu.edu.tw>
* Ying-Chieh Liao <ijliao@FreeBSD.org>
* Yoichi NAKAYAMA <yoichi@FreeBSD.org>
* Yonatan@Xpert.com
* Yukihiro Nakai <nakai@mlab.t.u-tokyo.ac.jp>
* Yuri Victorovich <yuri@rawbw.com>
* Zach Thompson <hideo@lastamericanempire.com>
* Zeus Panchenko <zeus@gnu.org.ua>
* alfred@FreeBSD.org
* bmc@WillsCreek.COM
* chinsan
* cracauer@cons.org "Martin Cracauer"
* dbaker
* dd
* dikshie <dikshie@lapi.itb.ac.id>
* djp
* globalpanic@gmx.net
* gmarco@giovannelli.it
* gpalmer
* hrs, lesi
* igor@zynaps.ru
* ijliao
* itojun@itojun.org
* jmacd
* joerg
* jsellens
* kaz
* king@v2project.com
* marcus
* marcus@FreeBSD.org
* markm
* milki <milki@rescomp.berkeley.edu>
* mnag
* moeding
* mp39590@gmail.com
* mstowe@chicago.us.mensa.org
* olgeni@FreeBSD.org
* osa
* pfg
* ports@c0decafe.net <ports@c0decafe.net>
* roam@FreeBSD.org
* roam@orbitel.bg
* sahne
* sanpei@FreeBSD.org
* sec@42.org
* sf
* shanee@augusta.de
* shipley@dis.org
* stolz@i2.informatik.rwth-aachen.de
* sumikawa@FreeBSD.org
* vanilla
* wosch
With hat: portmgr
2022-07-20 16:22:28 +02:00
Marc Fonvieille
c7fe9c0eee
misc/freebsd-doc-*: Update to rev 8539114 from the FreeBSD docset
...
Note: HTML format build has been disabled until separate localized-only
build will work again without requiring the en_US build.
Approved by: doceng (implicit)
2022-03-15 16:43:09 +01:00
Marc Fonvieille
7ee8c0803b
misc/freebsd-doc-*: Update to ra4827f6f64 from FreeBSD docset
...
Approved by: doceng (implicit)
2021-09-26 20:28:44 +02:00
Mathieu Arnold
305f148f48
Remove # $FreeBSD$ from Makefiles.
2021-04-06 16:31:07 +02:00
Marc Fonvieille
15b04a417d
Update to r85c9d788f8 from the FreeBSD docset.
...
Approved by: doceng (implicit)
2021-01-18 11:52:15 +00:00
Marc Fonvieille
82b7b60e28
Update to r54536 from the FreeBSD docset (a.k.a. 12.2-R version)
2020-09-26 12:01:47 +00:00
Marc Fonvieille
dc6e394996
Update to r54389 from the FreeBSD docset.
...
Approved by: doceng (implicit)
2020-08-03 16:39:29 +00:00
Marc Fonvieille
efa4b2b7be
Update to r54166 from the FreeBSD docset (a.k.a. 11.4-R version)
...
Approved by: doceng (implicit)
2020-05-23 11:39:28 +00:00
Marc Fonvieille
b25685a6b3
Update to r54073 from the FreeBSD docset.
...
Approved by: doceng (implicit)
2020-04-24 16:50:10 +00:00
Marc Fonvieille
85f82627a9
Update to r54003 from the FreeBSD docset.
2020-03-23 07:20:07 +00:00
Jan Beich
f8cf30ddc6
misc/freebsd-doc-ja: unbreak after r521437
...
===> ja-freebsd-doc-53688,1 depends on file: /usr/local/share/fonts/OTF/ipam.otf - not found
===> Installing existing package /packages/All/ja-font-ipa-00303_7.txz
Installing ja-font-ipa-00303_7...
Extracting ja-font-ipa-00303_7: .......... done
===> ja-freebsd-doc-53688,1 depends on file: /usr/local/share/fonts/OTF/ipam.otf - not found
*** Error code 1
Reported by: pkg-fallout
2020-01-03 10:34:40 +00:00
Marc Fonvieille
1420aaa872
Update to r52737 from the FreeBSD docset.
...
Approved by: doceng (implicit)
2018-12-31 13:07:29 +00:00
Marc Fonvieille
44be3f0489
Update to r51513 from the FreeBSD docset.
...
Approved by: doceng (implicit)
2018-03-26 16:33:19 +00:00
Marc Fonvieille
cbc42e3ece
Update to r51391 of the FreeBSD docset.
...
Move dependencies on non-english fonts to localized Makefiles [1]
PR: 192118 [1]
Submitted by: Toni Ballesta <info@aballesta.es>
2018-01-22 13:07:46 +00:00
Marc Fonvieille
379fe34abb
Update to r51361 from the FreeBSD docset.
...
Approved by: doceng (implicit)
2018-01-03 16:22:47 +00:00
Marc Fonvieille
bc86655460
Update to r51152 from the FreeBSD docset.
...
Approved by: doceng (implicit)
2017-10-31 14:57:54 +00:00
Marc Fonvieille
7b9810e33a
Update to r50775 from the FreeBSD docset (a.k.a. 10.4-R version)
...
Approved by: doceng (implicit)
2017-09-02 11:53:47 +00:00
Marc Fonvieille
dd43bbf672
Update to r50088 from the FreeBSD docset.
...
Approved by: doceng (implicit)
2017-03-28 16:17:30 +00:00
Marc Fonvieille
62654fed3f
Update to r49982 from the FreeBSD docset.
...
Approved by: doceng (implicit)
2017-02-16 11:09:50 +00:00
Marc Fonvieille
a8254a8404
Update to r48872 from the FreeBSD docset.
...
Approved by: doceng (implicit)
2016-05-30 09:45:38 +00:00
Marc Fonvieille
4b6265d552
Update to r48633 of the FreeBSD docset.
...
Approved by: doceng (implicit)
2016-04-16 16:15:05 +00:00
Marc Fonvieille
a1d8075f92
Update to r48156 of the FreeBSD docset (a.k.a. 10.3-R version)
...
Approved by: doceng (implicit)
2016-02-11 14:32:17 +00:00
Marc Fonvieille
f7a2fd28b1
Update to r48074 of the FreeBSD docset.
...
Approved by: doceng (implicit)
2016-01-23 17:01:55 +00:00
Marc Fonvieille
f232f32076
Update to r47846 of the FreeBSD docset.
...
Approved by: doceng (implicit)
2015-12-17 18:47:04 +00:00
Marc Fonvieille
9a43aa8c94
Update to r47441 of the FreeBSD docset.
...
Approved by: doceng (implicit)
2015-11-29 17:03:14 +00:00
Marc Fonvieille
91473dddb1
Update to r47441 of the FreeBSD Documentation Set,
...
with some fixes (Add NO_ARCH knob [1]).
203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274
Submitted by: Dmitry Marakasov (amdmi3@FreeBSD.org ) [1]
Approved by: doceng (implicit)
2015-09-28 16:00:19 +00:00
Marc Fonvieille
037d41d105
Update to r46935 of the FreeBSD docset (a.k.a. 10.2-R version)
...
Approved by: doceng (implicit)
2015-07-09 19:33:11 +00:00
Marc Fonvieille
a6111287f1
Remove stale plist files and update plist creation scheme.
...
Approved by: doceng (implicit)
2015-04-29 11:53:35 +00:00
Marc Fonvieille
54074c6225
Update to r46616 of the FreeBSD docset.
...
Approved by: doceng (implicit)
2015-04-28 09:11:08 +00:00
Baptiste Daroussin
5bb9117481
Cleanup plist
2015-02-05 14:57:05 +00:00
Marc Fonvieille
fc74b31d5f
Update to r46070 of the FreeBSD docset.
...
Approved by: doceng (implicit)
2014-12-08 07:48:16 +00:00
Marc Fonvieille
d4d1f95b28
Update to r45500 of the FreeBSD docset.
...
Approved by: doceng (implicit)
2014-08-25 11:22:18 +00:00
Marc Fonvieille
0709df7937
Update to r45106 of the FreeBSD docset (a.k.a. 9.3-R version).
...
Approved by: doceng (implicit)
2014-06-24 13:10:42 +00:00
Marc Fonvieille
8dd43b8ba8
Update to r45038 of the FreeBSD docset.
...
Approved by: doceng (implicit)
2014-06-15 12:32:26 +00:00
Marc Fonvieille
3d3236b5e7
Update to r44807 of the FreeBSD docset.
...
Approved by: doceng (implicit)
2014-05-19 16:43:45 +00:00
Mathieu Arnold
cf28d260c6
Remove the last @comment $FreeBSD$ from plists.
...
With hat: portmgr
Sponsored by: Absolight
2014-04-24 16:26:48 +00:00
Marc Fonvieille
3b3348b1e1
Update to r44393 of the FreeBSD docset.
...
Approved by: doceng (implicit)
2014-04-01 08:28:26 +00:00
Marc Fonvieille
aded32c969
Update to r43641 of the FreeBSD docset.
...
Approved by: doceng (implicit)
2014-02-26 16:14:55 +00:00
Marc Fonvieille
191bffed15
Update to r43251 of the FreeBSD docset.
...
Approved by: doceng (implicit)
2014-01-26 14:31:43 +00:00
Baptiste Daroussin
e04b632220
Fix properties on pkg-plist
2014-01-21 23:40:21 +00:00
Marc Fonvieille
bdd46fabc6
Update to r43207 of the FreeBSD docset.
...
Approved by: doceng (implicit)
2013-11-19 18:52:13 +00:00
Marc Fonvieille
ccf17cb82a
Mark as unbroken thanks to r257636.
...
Approved by: doceng (implicit)
2013-11-04 18:04:09 +00:00
Marc Fonvieille
6ecb39ca33
Update to r43088 (official 10.0-R revision) of the FreeBSD docset.
...
Approved by: doceng (implicit)
2013-11-04 07:48:18 +00:00
Baptiste Daroussin
8ac99398e2
Add NO_STAGE all over the place in preparation for the staging support (cat: misc)
2013-09-20 20:50:57 +00:00
Marc Fonvieille
f0a1d121bb
Update to r41954 of the FreeBSD docset.
...
Approved by: doceng (implicit)
2013-06-26 19:24:14 +00:00
Marc Fonvieille
4d588b44fd
Update to r41327 of the FreeBSD docset.
...
Approved by: portmgr (implicit)
2013-03-31 19:42:37 +00:00
Marc Fonvieille
243c0ad4d0
Update to r41075 of the FreeBSD doc set.
...
Approved by: doceng (implicit)
2013-03-04 10:00:39 +00:00
Marc Fonvieille
ab56399558
Update to r40771 of the FreeBSD docset.
...
Approved by: doceng (implicit)
2013-02-03 19:03:57 +00:00
Marc Fonvieille
a08fbd4447
Update to RELENG_9_1_0 version of the FreeBSD docset.
...
Approved by: doceng (implicit)
2012-07-29 19:20:11 +00:00
Marc Fonvieille
dbdd163bc8
Update to r39187 of the FreeBSD docset.
...
Approved by: doceng (implicit)
2012-07-12 19:51:44 +00:00