Commit graph

9375 commits

Author SHA1 Message Date
Sunpoet Po-Chuan Hsieh
224692f9b8 - Add NO_ARCH
- Pet portlint: fix diff header of patch files
2015-11-09 18:44:50 +00:00
Antoine Brodin
496ac41eab Mark a few ports BROKEN: unfetchable 2015-11-09 12:59:03 +00:00
Brad Davis
cea470f5b5 Add a missing ONLY_FOR_ARCHS= I forgot earlier and pet portlint.
Approved by:	bdrewery (mentor)
2015-11-07 03:05:33 +00:00
Brad Davis
1b96231b67 Add a new port of tools designed to work with the LEDs on ARM boards.
It initially supports the BeagleBone Black, but others will follow.

Approved by:	bdrewery (mentor)
2015-11-07 01:11:30 +00:00
Pawel Pekala
1bb7cbc805 Book of Psalms from the Douai Bible (1610) in fortune(6) file format
In general, taking random out-of-context verses from a Bible is a
VERY bad idea. This said, this is an experiment to generate a not
too bad fortune-cookie database under the following principles:

- Only the text from the psalms, which are usually meant for praying,
  were taken.
- The texts always include at least some context: you are always
  notified where the text came from and there is always sufficient
  text so that the phrases make sense.
- The text was taken from the classic Douai Bible, a direct translation
  from the latin Vulgata. The old language will not give you false
  impressions that you are actually understanding it fully.
- No effort was done to remove the original comments. Non-Christians
  may rightfully feel the translation is biased.

This is meant to be a general aid for Christian meditation: it is not
generally to be taken as my message-of-the-day from God.

To use, you need UNIX fortune(6) utility and you should follow the
instructions from the corresponding man page.

PR:		202896
Submitted by:	pfg
2015-11-05 22:58:23 +00:00
Mathieu Arnold
065c026fe5 Fix ports that confused the meaning of WRKDIR and WRKSRC.
PR:		204056
Submitted by:	mat
Reviewed by:	bapt
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D2735
2015-11-05 12:36:25 +00:00
Sunpoet Po-Chuan Hsieh
5c15bec50f - Update RUN_DEPENDS: remove redundant LOCALBASE/bin 2015-11-04 20:14:43 +00:00
Jimmy Olgeni
90273c01a1 Upgrade misc/erlang-mimerl to version 1.0.1. 2015-11-04 15:35:21 +00:00
Frederic Culot
56dbdca861 - Update to 1.06
- Add NO_ARCH

Changes:	http://search.cpan.org/dist/Chatbot-Eliza/Changes
2015-11-02 10:29:58 +00:00
Jason Unovitch
ffab2e7146 misc/mdp: update 1.0.1 -> 1.0.2
Changes:	https://github.com/visit1985/mdp/compare/1.0.1...1.0.2

PR:		204136
Submitted by:	Neel Chauhan <neel@neelc.org> (maintainer)
2015-10-30 23:42:59 +00:00
Jimmy Olgeni
65be26ad82 Add misc/erlang-mimerl, an Erlang library to handle MIME types. 2015-10-27 13:54:13 +00:00
Jimmy Olgeni
e6632492bf Upgrade misc/elixir-uuid to version 1.1.0. 2015-10-25 21:26:01 +00:00
Rene Ladan
9355e0fe63 Remove expired ports:
2015-10-22 misc/ruby-progressbar: Abandoned upstream, superseded by devel/rubygem-ruby-progressbar
2015-10-24 www/twig: Upstream vanished, php3 and php4 are long unsupported
2015-10-25 00:24:23 +00:00
Alexey Dokuchaev
2be1162ae8 - Improve wide character (UTF-8) support, define LICENSE (MIT)
- Convert to option helpers and thus cleanup Makefile; running `make
  package OPTIONS_UNSET=DOCS -DBATCH' will produce a docless package
  without any pre-staging-era hacks in the Makefile

PR:		203098
Submitted by:	dhw
Approved by:	maintainer
2015-10-23 13:09:10 +00:00
Dmitry Marakasov
92b912c427 - Add NO_ARCH
PR:		203952
Submitted by:	s3erios@gmail.com
Approved by:	portmgr blanket
2015-10-23 10:57:09 +00:00
Alexey Dokuchaev
11126a6604 Add a port of TuDu, a command line (curses) program to manage hierarchical
"todo" lists.

PR:	198722
2015-10-22 13:05:55 +00:00
Brad Davis
e0713cdfc9 Fix ONLY_FOR_ARCHS spelling.
Submitted by:	Mikael Urankar <mikael.urankar@gmail.com> (maintainer)
Approved by:	bdrewery (mentor)
2015-10-20 15:09:55 +00:00
Sunpoet Po-Chuan Hsieh
195829c227 - Update to 20151011
Changes:	http://people.FreeBSD.org/~sunpoet/pciids-20151011.diff
2015-10-19 20:17:53 +00:00
Brad Davis
734036e381 Add missing ${PORTSDIR} to LIBDEPENDS. I forgot we were not doing that yet..
Approved by:	bdrewery (mentor)
2015-10-19 16:35:28 +00:00
Brad Davis
6934ab9053 Add a port of the raspberrypi userland tools.
Submitted by:	Mikael Urankar <mikael.urankar at gmail.com> via freebsd-arm
Approved by:	bdrewery (mentor)
2015-10-19 16:16:19 +00:00
Dmitry Marakasov
67971bd0fb Improve shebangfix framework
- Support multiple values in *_OLD_CMD, i.e. we can now fix both "/usr/bin/python" and "/usr/bin/env python" at the same time
- Default *_OLD_CMD values are now always appended, so you don't need to specify them in individual ports
- Add lua support (depends on USES=lua)
- Add more default values, such as "/usr/bin/env foo" for python, perl, bash, ruby and lua
- Shebangfix now matches whole words, e.g. we will no longer (erroneously) replace "/usr/bin/perl5.005" with "${perl_CMD}5.005" (but "/usr/bin/perl -tt" is still (correctly) replaced with "${perl_CMD} -tt")

Note that *_OLD_CMD items containing spaces must now be quoted (e.g. perl_OLD_CMD=/bin/perl /usr/bin/perl "/usr/bin/env perl")

Update shebangfix usage according to new rules in many ports:

- Remove *_OLD_CMD for patterns now replaced by default
- Quote custom *_OLD_CMD which contain spaces

Fix shebangfix usage in many ports (irrelevant to infrastructure change):

- Remove redundant SHEBANG_LANG (no need to duplicate default langs)
- Remove redundant *_CMD (such as python_CMD=${LOCALBASE}/bin/python${PYTHON_VER} when USES=python is present)
- Never use *_OLD_CMD in REINPLACE_CMD matchers, these should always look for exact string

Approved by:	portmgr (bapt)
Differential Revision:	D3756
2015-10-19 14:50:52 +00:00
Sunpoet Po-Chuan Hsieh
cf06ce6af8 - Add LICENSE
- Convert to new options helper
- Cosmetic change
- Pet portlint: fix diff header of patch files
2015-10-15 20:19:58 +00:00
Sunpoet Po-Chuan Hsieh
159345733b - Use USES=localbase
- Convert to new options target helper
2015-10-15 20:16:41 +00:00
Sunpoet Po-Chuan Hsieh
56a14f616d - Use USES=localbase
- Convert to new options target helper
2015-10-15 20:16:36 +00:00
Sunpoet Po-Chuan Hsieh
c33959cd3f - Add LICENSE_FILE
- Use LIBS instead of CFLAGS
- Cleanup Makefile
2015-10-15 20:16:31 +00:00
Mathieu Arnold
7f0f664d7e Drop 8 support.
With hat:	portmgr
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D3694
2015-10-15 14:55:14 +00:00
Frederic Culot
1d0b9d3e31 - Reassign lippe@'s ports after his commit bit was taken in for safekeeping 2015-10-14 11:04:10 +00:00
Max Brazhnikov
ca45c4c08c misc/qt5ct:
- Update to 0.19
- Add pkg-message for those who don't read README (or build ports without DOCS)
2015-10-13 20:34:50 +00:00
Marc Fonvieille
f85c41aa3a Remove duplicate plist entries.
PR:		203274
Submitted by:	Dmitry Marakasov <amdmi3@FreeBSD.org>
Approved by:	doceng (implicit)
2015-10-10 10:47:13 +00:00
Sunpoet Po-Chuan Hsieh
badbdc09ee - Update to 20150928
Changes:	http://people.FreeBSD.org/~sunpoet/usbids-20150928.diff
2015-10-10 07:05:28 +00:00
Sunpoet Po-Chuan Hsieh
16c6eb73cd - Update to 20151007
Changes:	http://people.FreeBSD.org/~sunpoet/pciids-20151007.diff
2015-10-10 07:05:23 +00:00
Jimmy Olgeni
eb8748beda Remove trailing whitespace from Makefiles, M-X. 2015-10-08 15:12:22 +00:00
Dmitry Marakasov
26444dae35 - Remove obsolete logic used to coexist with compat3x, fix stage-qa
PR:		203272
Approved by:	mat
2015-10-08 13:25:59 +00:00
Dirk Meyer
c3cbd64b33 - cleanup 2015-10-08 04:39:06 +00:00
Michael Moll
a25792348d misc/ruby-progressbar: set to deprecated
Approved by:	tota (maintainer, via private mail)
2015-10-07 22:03:37 +00:00
Michael Moll
f505a906e4 new port: devel/rubygem-ruby-progressbar
Ruby/ProgressBar is an extremely flexible text progress bar library for Ruby.
The output can be customized with a flexible formatting system including
percentage, bars of various formats, elapsed time and estimated time remaining.

WWW: https://github.com/jfelchner/ruby-progressbar

As this gem is based on the code that's available as misc/ruby-progressbar,
conflict with it, to avoid problems.
2015-10-06 21:19:38 +00:00
Sunpoet Po-Chuan Hsieh
f2874d80e4 - Add NO_ARCH 2015-10-03 17:11:25 +00:00
Sunpoet Po-Chuan Hsieh
41bb5e5d5c - Add NO_ARCH
- Convert to new options helper
- Convert to new options target helper

Approved by:	portmgr (blanket)
2015-10-03 17:11:00 +00:00
Koop Mast
3380dae4df Update iso-codes to 3.62. 2015-10-02 16:43:00 +00:00
Sunpoet Po-Chuan Hsieh
e9d3d88c5d - Convert to new test framework 2015-10-01 15:55:56 +00:00
Dmitry Marakasov
6ea3b21724 - Fix build after GNUstep changes by stripping files in the correct place 2015-09-29 11:50:30 +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
5330beb392 Add Korean FreeBSD Documentation port.
Approved by:	doceng (implicit)
2015-09-28 15:49:50 +00:00
Sunpoet Po-Chuan Hsieh
da7e919a40 - Update to 20150919
Changes:	http://people.FreeBSD.org/~sunpoet/usbids-20150919.diff
2015-09-28 06:20:46 +00:00
Sunpoet Po-Chuan Hsieh
74b9bb0066 - Update to 20150924
Changes:	http://people.FreeBSD.org/~sunpoet/pciids-20150924.diff
2015-09-28 06:20:41 +00:00
Antoine Brodin
2d6d9fec01 Remove @exec lines redundant with USE_LDCONFIG32 2015-09-26 12:25:52 +00:00
Alex Kozlov
7f2c07b66c - Take maintainership
- Update WWW
2015-09-25 21:48:18 +00:00
Dmitry Marakasov
dca4fb2c93 - Add LICENSE
- Regenerate patches with `make makepatch`
2015-09-25 15:17:48 +00:00
Baptiste Daroussin
4030ccea8f Remove unneeded @dirrmtry 2015-09-24 23:26:34 +00:00
Baptiste Daroussin
f478ecfe88 Convert to @sample 2015-09-24 22:57:57 +00:00
Frederic Culot
d0d2fb3c56 - Reassign to the heap after fluffy@'s bit was taken in for safekeeping 2015-09-24 08:12:33 +00:00
Dmitry Marakasov
4dd29f9c7e - Drop 8.x support
Approved by:	portmgr blanket
2015-09-22 03:46:11 +00:00
Jimmy Olgeni
41a7072cfb Typos, whitespace and capitalization fixes (G-P). 2015-09-20 20:54:08 +00:00
David Chisnall
9156bf1b9e Make all GNUstep ports install into the System domain so that the Local domain is available for stuff built from source.
Some ports were already installing in the System domain, for these just remove the Makefile lines explicitly specifying the install domain.

The rest are installed in the Local domain, remove any overrides, update their pkg-plists and any explicit paths in the Makefiles and then bump port revision.

Approved by:	bapt (mentor)
Differential Revision:	https://reviews.freebsd.org/D2977
2015-09-19 10:33:34 +00:00
Sunpoet Po-Chuan Hsieh
998ca0dbe2 - Put back CONFIGURE_FAIL_MESSAGE as I still get mails of build failure caused by 2-year-old infrastructure change 2015-09-19 05:10:08 +00:00
Sunpoet Po-Chuan Hsieh
429b868ceb - Add NO_ARCH
- Sort PLIST
2015-09-17 17:09:49 +00:00
Baptiste Daroussin
e0de738591 Remove ansi version fo wxGTK 2.8 and only keep the unicode version
All applications in the ports tree works correctly with unicode version of wxGTK

Newer version of wxGTK are unicode only (3.0+)

Note that now WX_UNICODE macro is noop
2015-09-16 19:51:26 +00:00
Raphael Kubo da Costa
39ced03cc1 Update the Qt4 ports to 4.8.7.
According to upstream, this is the last planned Qt4 release.
A list of changes since 4.8.6 can be found here:
<http://download.qt.io/official_releases/qt/4.8/4.8.7/changes-4.8.7>

Porting notes and changes:
- Remove several patches that have been upstreamed.
- Make Uses/qmake.mk pass the contents of LIBS to the qmake environment. [1]
- Repurpose devel/qt4/files/extrapatch-src-corelib-global-qglobal.h now the
  original patch is part of the release (curiously enough, the original
  patch was never actually used, as the ?= assignment in r362837 after
  r362770 was never possible).

  This works around the way compiler support for C++11 features is detected
  in Qt 4.8.7: while it originally only uses the compiler to determine if
  something is supported or not, the initializer lists feature also depends
  on the C++ standard library being used. It's a problem in FreeBSD 9.x,
  where USES=compiler:c++0x or USES=compiler:c++11-lang means we will use
  clang to build a port but use libstdc++ from base (GCC 4.2). The latter
  obviously does not support initializer lists, and the build fails because
  Qt tries to include headers that do not exist (<initializer_list>).

  Since detecting libstdc++'s version is not trivial (we need to include a
  non-lightweight header like cstdio and then check for __GLIBCXX__), we
  just enable Q_COMPILER_INITIALIZER_LISTS support only when libc++ is used
  (there should be no reason for someone to be using clang with GCC 4.8's
  libstdc++, for example).

  x11/kdelibs4's FindQt4.cmake had to include a backported change from the
  upstream FindQt4.cmake in CMake itself to use a C++ compiler to detect
  flags like Q_WS_X11, otherwise the inclusion of <ciso646> in qglobal.h
  makes the build fail.

This patch contains changes by me, makc@ and alonso@.

PR:             202552 [1]
PR:             202808 [exp-run]
Submitted by:	pawel@ [1]
2015-09-16 08:55:04 +00:00
Sunpoet Po-Chuan Hsieh
f9a65c27bf - Update to 2.6.2
Changes:	https://github.com/halostatue/mime-types/blob/master/History.rdoc
2015-09-15 15:49:19 +00:00
Sunpoet Po-Chuan Hsieh
11ea3744d9 - Update to 20150904
Changes:	http://people.FreeBSD.org/~sunpoet/usbids-20150904.diff
2015-09-15 15:48:06 +00:00
Carlo Strub
0fde724961 needs USES=python:2
PR:		199397
Submitted by:	Florian Limberger <flo@snakeoilproductions.net>
Approved by:	maintainer timeout (> 4 months)
2015-09-14 22:36:16 +00:00
Mathieu Arnold
afae652a2a Make it so that the default Perl is always called perl5.
- Move Perl's man1 files along with its man3 files.
- Move where Perl installs its modules man1 pages.
- Convert the ports installing man1 pages.
- Make different Perl versions installable at the same time.
  Though you should note that only the default version can be used to
  install Perl modules, and the non default Perl versions cannot use the
  modules installed via ports if they contain .so as they are installed
  in a version specific directory.

Reviewed by:	bapt (the Mk bits)
Exp-run by:	antoine
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D3542
2015-09-14 12:19:48 +00:00
Baptiste Daroussin
1ee9f51cc5 Mark as broken: does not fetch 2015-09-13 21:53:17 +00:00
Baptiste Daroussin
ad139e4912 Mark as BROKEN because it does not fetch 2015-09-13 20:31:08 +00:00
Sunpoet Po-Chuan Hsieh
21eb307a29 - Update to 20150910
Changes:	http://people.FreeBSD.org/~sunpoet/pciids-20150910.diff
2015-09-12 17:07:48 +00:00
Dmitry Marakasov
b426016d9d - Switch to options helpers
Approved by:	portmgr blanket
2015-09-09 14:43:39 +00:00
Dmitry Marakasov
a1baff5c39 - Fix shebangs
Approved by:	portmgr blanket
MFH:		2015Q3 (blanket)
2015-09-09 14:33:19 +00:00
Dmitry Marakasov
6cbe28b8d7 - Fix shebangs
- Add NO_ARCH

Approved by:	portmgr blanket
2015-09-08 15:19:33 +00:00
Max Brazhnikov
c3b9eaa080 misc/qt5ct:
- Update to 0.12
2015-09-05 19:29:39 +00:00
TAKATSU Tomonari
13bf8d01cb - Update to 0.4 2015-09-05 07:48:12 +00:00
Sunpoet Po-Chuan Hsieh
1e1a27d2da - Update to 2015.6.1
Changes:	https://pecl.php.net/package-changelog.php?package=timezonedb
2015-09-03 16:22:27 +00:00
Dmitry Marakasov
3f9fec83ec - Update to 1.83
- Add LICENSE
- Cleanup the port
- While here, add NO_ARCH

PR:		202331
Submitted by:	eserte12@yahoo.de
Approved by:	maintainer timeout (slaven@rezic.de, 2 weeks)
2015-09-03 10:05:02 +00:00
Sunpoet Po-Chuan Hsieh
26f462f30c - Update to 20150901
Changes:	http://people.FreeBSD.org/~sunpoet/pciids-20150901.diff
2015-09-02 17:02:50 +00:00
Sunpoet Po-Chuan Hsieh
8b8f1481c5 - Add NO_ARCH 2015-08-31 13:32:23 +00:00
Sunpoet Po-Chuan Hsieh
02686341f5 - Add NO_ARCH 2015-08-31 13:32:19 +00:00
Sunpoet Po-Chuan Hsieh
cc7a85ffce - Add NO_ARCH 2015-08-31 13:32:15 +00:00
Sunpoet Po-Chuan Hsieh
365a33a262 - Add NO_ARCH 2015-08-31 13:32:10 +00:00
Sunpoet Po-Chuan Hsieh
66b1d80d6d - Add NO_ARCH 2015-08-31 13:32:06 +00:00
Sunpoet Po-Chuan Hsieh
61e9980978 - Add NO_ARCH 2015-08-31 13:32:02 +00:00
Sunpoet Po-Chuan Hsieh
67be0dc338 - Add NO_ARCH 2015-08-31 13:31:58 +00:00
Sunpoet Po-Chuan Hsieh
83a554b3fe - Add NO_ARCH 2015-08-31 13:31:53 +00:00
Sunpoet Po-Chuan Hsieh
6a616afcbd - Add NO_ARCH 2015-08-31 13:31:49 +00:00
Sunpoet Po-Chuan Hsieh
ce761104b5 - Add NO_ARCH 2015-08-31 13:31:45 +00:00
Dmitry Marakasov
a75173733d - Clarify LICENSE
- Add LICENSE_FILE
- Pet portlint
- Switch to @sample
2015-08-30 10:51:18 +00:00
Sunpoet Po-Chuan Hsieh
d48f045a09 - Cleanup Makefile 2015-08-30 03:56:26 +00:00
Dmitry Marakasov
fe4f5289c9 - Add LICENSE
- Switch to options helpers
- Switch to @sample

Approved by:	portmgr blanket
2015-08-29 12:08:11 +00:00
Dmitry Marakasov
e638299edc - Switch to options helpers
- While here, add some NO_ARCHes and couple missing PORT_OPTIONS=DOCS

Approved by:	portmgr blanket
2015-08-28 13:39:56 +00:00
Danilo Egea Gondolfo
963c62cd0e - Update to 1.1.1 2015-08-26 02:56:32 +00:00
Dmitry Marakasov
04bc0a2a43 - Strip binaries
- Cosmetic fixes
2015-08-26 02:45:10 +00:00
Max Brazhnikov
435cc72cc6 misc/qt5ct:
- Update to 0.13
- Use new options helpers
2015-08-24 21:04:33 +00:00
Hiroki Sato
27470e1676 - Split ghostscript into X11-independent and -dependent parts:
* print/ghostscript{7,8,9,9-agpl}-base

   Installs Ghostscript binary, libgs, and related files.
   These ports do not depend on X11 libraries (i.e. x11* devices
   are not available).  USES=ghostscript will set dependency on
   one of them depending on GHOSTSCRIPT_DEFAULT.

   The default device is set to "display" or "bbox".

 * print/ghostscript{7,8,9,9-agpl}-x11

   Installs a shared library which provides X11 support to
   the installed Ghostscript binaries.  x11* devices will be
   enabled when the library is available.

   This depends on *-base (RUN_DEPENDS).  USES=ghostscript:x11
   will set dependency on one of them.

- Fix integer overflow reported as CVE-2015-3228.

- Update Uses/ghostscript.mk:

 * Add x11 keyword.  nox11 keyword is now obsolete.

 * Use packagename in *_DEPENDS line to prevent relationship between
   -base and -x11 packages from being broken.

- Fix x11/nox11 keyword and bump PORTREVISION in ports using
  USES=ghostscript to update dependency of pre-compiled packages.
2015-08-22 17:48:35 +00:00
Philip M. Gollucci
d87a4aa168 OBremove empty files
misc/freebsd-doc-*, devel/linux-c6-qt47
2015-08-20 18:04:56 +00:00
Erwin Lansing
a699cac240 Reset maintainer
<simon@comsys.ntu-kpi.kiev.ua>: host mx.kpi.ua[77.47.128.136] said:
    550-Verification failed for <indexbuild@FreeBSD.org> 550-Called:
    8.8.178.115 550-Sent:     RCPT TO:<indexbuild@FreeBSD.org> 550-Response:
    554 5.7.1 Service unavailable; Unverified Client host [mail1.kpi.ua]
    blocked using dbl.spamhaus.org;
    http://www.spamhaus.org/query/dbl?domain=kpi.ua 550 From email address must
    be valid (in reply to RCPT TO command)

Sponsored by:	DK Hostmaster A/S
2015-08-19 08:12:19 +00:00
Erwin Lansing
dfd7972e65 Reset maintainer
<ea@zaib.as>: Host or domain name not found. Name service error for
    name=zaib.as type=AAAA: Host not found

Sponsored by:	DK Hostmaster A/S
2015-08-19 07:13:26 +00:00
Steve Wills
8e9a348118 misc/terraform: PKGNAMEPREFIX and cleanup
Add PKGNAMEPREFIX so I can use the package name with sysutils/terraform
While here, pet portlint by removing duplicate PORTREVISION and sorting USES
Bump PORTREVISION for package name change
2015-08-18 00:50:57 +00:00
Mathieu Arnold
21a283f3be Remove UNIQUENAME and LATEST_LINK.
UNIQUENAME was never unique, it was only used by USE_LDCONFIG and now,
we won't have conflicts there.

Use PKGBASE instead of LATEST_LINK in PKGLATESTFILE, the *only* consumer
is pkg-devel, and it works just fine without LATEST_LINK as pkg-devel
has the correct PKGNAME anyway.

Now that UNIQUENAME is gone, OPTIONSFILE is too. (it's been called
OPTIONS_FILE now.)

Reviewed by:	antoine, bapt
Exp-run by:	antoine
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D3336
2015-08-17 14:20:40 +00:00
Tijl Coosemans
78175e4025 Bump PORTREVISION for libupower-glib library version bump in r393607. 2015-08-17 08:21:50 +00:00
Sunpoet Po-Chuan Hsieh
16bcd68a11 - Update WWW 2015-08-16 00:41:13 +00:00
Edwin Groothuis
784d7e88d8 Update to tzdata2015f:
Changes affecting future time stamps

    North Korea switches to +0830 on 2015-08-15.  (Thanks to Steffen Thorsen.)
    The abbreviation remains "KST".  (Thanks to Robert Elz.)

    Uruguay no longer observes DST.  (Thanks to Steffen Thorsen and Pablo Camargo.)

    Changes affecting past and future time stamps

    Moldova starts and ends DST at 00:00 UTC, not at 01:00 UTC. (Thanks to Roman Tudos.)
2015-08-13 23:26:45 +00:00
Sunpoet Po-Chuan Hsieh
8c9a5f334f - Remove RG link 2015-08-13 17:39:31 +00:00
Sunpoet Po-Chuan Hsieh
3b38c3801f - Remove MASTER_SITE_SUBDIR
- Add NO_ARCH
2015-08-13 17:32:43 +00:00
Sunpoet Po-Chuan Hsieh
2d72478732 - Update to 0.16
- Remove MASTER_SITE_SUBDIR
- Add NO_ARCH

Changes:	http://search.cpan.org/dist/Geo-Coder-Google/Changes
2015-08-13 17:32:38 +00:00
Sunpoet Po-Chuan Hsieh
4fdcd6ab20 - Remove MASTER_SITE_SUBDIR
- Add NO_ARCH
2015-08-13 17:32:34 +00:00
Sunpoet Po-Chuan Hsieh
cb32ddf709 - Update to 2015.6
Changes:	https://pecl.php.net/package-changelog.php?package=timezonedb
2015-08-13 17:31:30 +00:00
Sunpoet Po-Chuan Hsieh
7655e51158 - Update to 20150727
Changes:	http://people.FreeBSD.org/~sunpoet/usbids-20150727.diff
2015-08-13 17:31:05 +00:00
Sunpoet Po-Chuan Hsieh
c2b57515d8 - Update to 20150731
Changes:	http://people.FreeBSD.org/~sunpoet/pciids-20150731.diff
2015-08-13 17:31:00 +00:00
Koop Mast
0c3232e0ce Update iso-codes to 3.60. 2015-08-13 08:50:11 +00:00
Jose Alonso Cardenas Marquez
230cf6828f - editors/lazarus update to 1.4.2
- Add USE_FPC_RUN to bsd.fpc.mk. It add fpc units like run dependencies. Otherwise
  fpc units only are added like build dependencies (less dependencies registered
  when they are installed with pkg).
- Remove GTK1 obsolete dependencies
- Bump all ports with dependencies of fpc-* units
- Bump all ports with dependencies of lazarus ports
- Clean up
2015-08-09 08:06:43 +00:00
TAKATSU Tomonari
0d4b941f74 - Add new port: misc/R-cran-mime
Guesses the MIME type from a filename extension using the data
  derived from /etc/mime.types in UNIX-type systems.

  WWW: https://cran.r-project.org/web/packages/mime/
2015-08-08 06:01:28 +00:00
Koop Mast
d129587b5d The FreeBSD GNOME team proudly presents GNOME 3.16 for FreeBSD.
The offical GNOME 3.16 release notes can be found at https://help.gnome.org/misc/release-notes/3.16/

Upgrade instructions for port users:

Delete the old tracker package with:
# pkg delete -f tracker
And user port upgrade tool of choice to upgrade.

Thanks to Antoine Brodin for running the exp-runs.

This release was made possible by the following people:
  Gustau Perez
  Ting-Wei_Lan

PR:		201980
2015-08-05 19:13:24 +00:00
Dmitry Marakasov
251ec3829b - Don't use / in sed regexps to allow paths, unbreaking cross-builds
Approved by:	portmgr blanket
2015-08-04 16:38:36 +00:00
Steve Wills
314599be11 misc/exercism: update to 2.2.0 2015-08-03 14:05:42 +00:00
Koop Mast
757724fd75 Update poppler to 0.34.0. [1]
Chase all users of shlib version change of libpoppler.so.

PR:		201477 [1]
Submitted by:	olivierd@ [1]
2015-08-02 16:06:16 +00:00
Tijl Coosemans
a374acb969 By default libtool replaces -export-symbols <file> with -retain-symbols-file
<file> on ELF systems, but this doesn't really do what -export-symbols is
meant to do.  On GNU ELF systems it converts <file> to a simple version
script first and then uses -version-script instead of -retain-symbols-file.
Let USES=libtool patch libtool scripts to do this on all systems with GNU
ld(1).

Bump PORTREVISION on all ports where the build log contains -export-symbols.

audio/calf: This port builds a module that now exports only one function,
but it also builds a number of executables that link to this module and
expect to see other functions.  Because it's already a bit dodgy to link to
a module (libtool warns about this) let the module continue to export only
one function and instead build an ordinary library from the same source that
the executables can link to.  Fix a number of other issues in the same
Makefile.am and clean up the port Makefile.

japanese/scim-honoka: Tries to hide all symbols that start with an
underscore, but because this library is written in C++ all symbols start
with _Z so it ends up hiding everything.  Just don't hide anything at all
like the textproc/scim configure script does.

multimedia/schroedinger: Apply an upstream patch.

textproc/scim-input-pad: Same as japanese/scim-honoka.

PR:		201922
Approved by:	portmgr (antoine)
Exp-run by:	antoine
2015-08-02 15:03:19 +00:00
Dmitry Marakasov
39d7e30206 - Add LICENSE
- Fix shebangs
- Use options helpers
2015-07-30 10:48:12 +00:00
Antoine Brodin
6e381a9d53 Switch default python_CMD used by shebangfix to ${PYTHON_CMD} for ports
using python

PR:		201077
Reviewed by:	mat
With hat:	portmgr
Differential Revision:	https://reviews.freebsd.org/D2955
2015-07-29 22:09:53 +00:00
Koop Mast
81494fd785 Update shared-mime-info to 1.4. 2015-07-29 21:34:04 +00:00
Koop Mast
9bdfc58443 Update hicolor-icon-theme to 0.15. 2015-07-29 11:27:07 +00:00
Sunpoet Po-Chuan Hsieh
397cb46181 - Update to 20150722
Changes:	http://people.FreeBSD.org/~sunpoet/pciids-20150722.diff
2015-07-25 07:40:38 +00:00
Muhammad Moinur Rahman
936ce634f9 [MAINTAINER UPDATE] misc/mdp : Update version 1.0.0=>1.0.1
PR:		201766
Submitted by:	neel@neelc.org
2015-07-22 18:35:26 +00:00
Bartek Rutkowski
c2ed9db4e7 misc/solarized: NEW PORT - Precision colors schemes for machines and people
Solarized is a sixteen color palette (eight monotones, eight accent colors)
designed for use with terminal and gui applications. It has several unique
properties. It has been tested extensively in real world use on color
calibrated displays (as well as uncalibrated/intentionally miscalibrated
displays) and in a variety of lighting conditions.

WWW: http://ethanschoonover.com/solarized

PR:		201096
Submitted by:	Danilo G. Baio <dbaio@bsd.com.br>
2015-07-21 10:04:44 +00:00
Hiroki Sato
f7ec944c63 - Add print/latex-biber, a biblatex replacement which supports Unicode.
- Add or update the following ports which latex-biber depends on:

   japanese/p5-Encode-EUCJPASCII (added, eucJP-open encoding support)
   misc/p5-Business-ISMN (added, ISMN support)
   textproc/p5-Text-BibTeX (updated to 0.71)
   textproc/p5-Text-Roman (added, conversion of Roman numerals)
2015-07-20 01:16:56 +00:00
Marc Fonvieille
8ec1ba09e4 Update to r47011 of the FreeBSD docset (a.k.a., definitively, 10.2-R version)
Approved by:	doceng (implicit)
2015-07-19 09:52:01 +00:00
Koop Mast
68f883edfc Convert code in bsd.port.mk for USE_GHOSTSCRIPT* to USES=ghostscript.
Add GHOSTSCRIPT_DEFAULT to bsd.default-versions.mk for easy version selection.
Arguments supported: <empty>, build, run, nox11 and agpl

PR:		201201 (exp-run)
Approved by:	portmgr (mat@)
Exp run by:	antione@ (previous patch)
Differential Revision:	https://reviews.freebsd.org/D2938
2015-07-16 20:53:28 +00:00
Philip M. Gollucci
ac78b7b532 misc/vifm: 0.7.8 -> 0.8
- update from 0.7.8 to 0.8
- use github instead of SF
- sort USES
- pass maintainer to submitter, previous maintainer has 3 successive
  timeouts and no approvals or updates since 2013.

PR:                  201579
Submitted by:        mp39590@gmail.com
2015-07-16 18:35:10 +00:00
Renato Botelho
7276987ed6 Drop maintainership of compat*x ports 2015-07-15 12:31:09 +00:00
William Grzybowski
cb76938c43 misc/py-progressbar231: text progress bar library for Python
This is a fork of the real py-progressbar with a few additions.
2015-07-14 01:51:23 +00:00
Sunpoet Po-Chuan Hsieh
3b9ac39ba6 - Add LICENSE
- Add NO_ARCH
- Add PORTSCOUT: 1.4.7 tarball is corrupted
- Cosmetic change
2015-07-12 16:08:21 +00:00
Sunpoet Po-Chuan Hsieh
c3d16e704a - Update to 20150710
Changes:	http://people.FreeBSD.org/~sunpoet/pciids-20150710.diff
2015-07-12 16:06:50 +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
Jimmy Olgeni
d407841e65 Use actual port name as PORTNAME, and set ELIXIR_APP_NAME. 2015-07-08 11:16:24 +00:00
Jimmy Olgeni
46862b261f Add misc/elixir-uuid, UUID generator for Elixir. 2015-07-08 10:50:17 +00:00
Steve Wills
4410aef4b8 misc/ansiweather: remove unneeded reference to LOCALBASE
Reported by:	adamw
Pointyhat to:	swills
2015-07-06 23:27:45 +00:00
Sunpoet Po-Chuan Hsieh
b0ef7d5714 - Remove blank line between NO_ARCH and USE_RUBY 2015-07-06 18:05:37 +00:00
Steve Wills
ebc75f0320 misc/ansiweather: create port
AnsiWeather is a Shell script for displaying the current weather conditions
in your terminal, with support for ANSI colors and Unicode symbols.

Weather data comes from the OpenWeatherMap free weather API.

WWW: https://github.com/fcambus/ansiweather/

PR:		201097
Submitted by:	Danilo G. Baio <dbaio@bsd.com.br>
2015-07-06 16:51:06 +00:00
Philip M. Gollucci
4e3d011569 Set NO_ARCH for remaining rubygem-* ports with no arch dependent files
Obtained from:  DEVELOPER_MODE
With Hat:       ruby@

Sponsored by:   RideCharge Inc / Curb
2015-07-02 16:01:06 +00:00
Koop Mast
101151c489 Update libisocodes to 1.2.2. 2015-07-02 14:37:27 +00:00
Koop Mast
e67822f8c3 Update iso-codes to 3.59.
Sort USES.
2015-07-02 14:34:47 +00:00
Sunpoet Po-Chuan Hsieh
21a848a8fc - Update to 20150622
Changes:	http://people.FreeBSD.org/~sunpoet/usbids-20150622.diff
2015-07-01 17:45:12 +00:00
Sunpoet Po-Chuan Hsieh
0b52d79be1 - Update to 20150701
Changes:	http://people.FreeBSD.org/~sunpoet/pciids-20150701.diff
2015-07-01 17:45:07 +00:00
Dmitry Marakasov
b5ac87235e - Update to 2.10
- Modernize

PR:		201176
Submitted by:	tkato432@yahoo.com
2015-07-01 16:21:57 +00:00
David Chisnall
b6546ca2ca Update GNUstep ports to their latest versions.
Also fix a few bits of generic infrastructure along the way.

Approved by:	bapt (mentor)
Differential Revision:	https://reviews.freebsd.org/D2961
2015-07-01 13:50:28 +00:00
Danilo Egea Gondolfo
f468aa5a1c - Update to 1.64 2015-06-30 02:20:51 +00:00
Sunpoet Po-Chuan Hsieh
81a4d583b1 - Add NO_ARCH
- Cleanup Makefile
2015-06-29 13:50:51 +00:00
Dmitry Marakasov
786afd3bcf - Swich default pastebin to a working one 2015-06-25 10:35:06 +00:00
Olivier Duchateau
81d536be67 Update to 0.8.6 2015-06-23 19:41:32 +00:00
Antoine Brodin
6e5719ca80 Convert to USES=jpeg 2015-06-22 18:33:20 +00:00
Sunpoet Po-Chuan Hsieh
73834204b7 - Update to 2.0.2
- Add NO_ARCH

Changes:	https://github.com/bkeepers/dotenv/blob/master/Changelog.md
2015-06-21 10:40:48 +00:00
Sunpoet Po-Chuan Hsieh
c0d4b09ba8 - Fix typo in URL
Submitted by:	ryusuke
2015-06-16 17:29:27 +00:00
Sunpoet Po-Chuan Hsieh
340b7073e1 - Update to 2015.5
Changes:	https://pecl.php.net/package-changelog.php?package=timezonedb
2015-06-16 14:27:24 +00:00
Sunpoet Po-Chuan Hsieh
b54310f87e - Update to 20150609
- Add NO_ARCH

Changes:	http://people.FreeBSD.org/~sunpoet/usbids-20150609.diff
2015-06-16 14:27:20 +00:00
Sunpoet Po-Chuan Hsieh
e1f2da4b36 - Update to 20150615
- Add NO_ARCH

Changes:	http://people.FreeBSD.org/~sunpoet/pciids-20150615.diff
2015-06-16 14:27:15 +00:00
Edwin Groothuis
b23b409503 Update to tzdata2015e:
Changes affecting future time stamps

    Morocco will suspend DST from 2015-06-14 03:00 through 2015-07-19 02:00,
    not 06-13 and 07-18 as we had guessed.  (Thanks to Milamber.)

    Assume Cayman Islands will observe DST starting next year, using US rules.
    Although it isn't guaranteed, it is the most likely.
2015-06-15 00:53:42 +00:00
Sunpoet Po-Chuan Hsieh
f3281c4223 - Add NO_ARCH 2015-06-13 13:56:16 +00:00
Erwin Lansing
559561ed8f Reset maintainership for obrien
Approved by:	portmgr
2015-06-12 21:17:43 +00:00
Erwin Lansing
3e67d040d7 Reset dhn's ports
PR:		197522
Submitted by:	jbeich
Approved by:	portmgr
2015-06-12 20:58:13 +00:00
Dmitry Marakasov
263762af25 - Add LICENSE
- Fix shebangs

MFH:		2015Q2
2015-06-11 10:17:17 +00:00
Steve Wills
83c258ba8a www/rubygem-rails4: update to 4.2.1
Differential Revision:	https://reviews.freebsd.org/D2710
2015-06-10 18:09:37 +00:00
Max Brazhnikov
04768cef91 misc/qt5ct:
- Update to 0.12
2015-06-10 09:26:08 +00:00
Dmitry Marakasov
5cbcb31b92 - Fix shebangs
MFH:		2015Q2 (blanket)
2015-06-09 18:53:07 +00:00
Dmitry Marakasov
324d55e02a - Fix library installation 2015-06-07 14:54:52 +00:00
Thomas Abthorpe
82f71bed74 - Mark as BROKEN < 10.X
MFH:		2015Q2
2015-06-06 15:47:32 +00:00
Dmitry Marakasov
9364fea29f - Switch to USES=autoreconf 2015-06-05 19:20:04 +00:00
Mathieu Arnold
6212a2753d Get rid of PERL_LEVEL checks for Perl versions not supported.
Sponsored by:	Absolight
2015-06-05 14:21:43 +00:00
Dmitry Marakasov
d9e6627c59 - Switch to USES=autoreconf
- Strip library
2015-06-02 12:27:33 +00:00
Rusmir Dusko
df05ed9cbe - Update to 0.2.38, announce message:
- Add in/min and others to speed category

- Add files/patch-gonvert.desktop
2015-06-01 15:14:56 +00:00
Antoine Brodin
4401a143ac - Use ${CC} instead of CC, ${CC} was intented here
- Do not unconditionally strip binary

PR:		200523
2015-05-29 21:31:06 +00:00
Dmitry Marakasov
d722434881 - Strip binaries 2015-05-29 10:54:18 +00:00
Sunpoet Po-Chuan Hsieh
3e2bd79ef0 - Update to 0.15
Changes:	http://search.cpan.org/dist/Geo-Coder-Google/Changes
2015-05-27 11:21:52 +00:00
Antoine Brodin
1b85bc9332 Switch PYTHON_REL from a 3 digits number to a 4 digits number to handle
python 2.7.10

Differential Revision:	https://reviews.freebsd.org/D2639
Reviewed by:	sunpoet, mva
2015-05-26 16:47:02 +00:00
Dmitry Marakasov
dcf9fd07ce - Fix stripping 2015-05-25 21:39:34 +00:00
Sunpoet Po-Chuan Hsieh
bf5ddb7bf8 - Add LICENSE
- Update COMMENT
- Use = instead of +=
- Update WWW
2015-05-25 19:56:06 +00:00
Sunpoet Po-Chuan Hsieh
ba516184d6 - Update to 2.0.1
- Add LICENSE
- Use = instead of +=

Changes:	https://github.com/bkeepers/dotenv/blob/master/Changelog.md
2015-05-25 19:55:55 +00:00
Antoine Brodin
f839f810ed Fix build with mono 4 2015-05-24 20:06:06 +00:00
Sunpoet Po-Chuan Hsieh
95c03c2835 - Update to 20150505
Changes:	http://people.FreeBSD.org/~sunpoet/usbids-20150505.diff
2015-05-24 00:04:40 +00:00
Sunpoet Po-Chuan Hsieh
62b8926e1e - Update to 20150523
Changes:	http://people.FreeBSD.org/~sunpoet/pciids-20150523.diff
2015-05-24 00:04:35 +00:00
Mathieu Arnold
6172d4b590 Remove $FreeBSD$ from patches files everywhere.
With hat:	portmgr
Sponsored by:	Absolight
2015-05-22 20:34:27 +00:00
Edwin Groothuis
35ff0626de Update to tzdata2015d:
Release 2015d - 2015-04-24 08:09:46 -0700

  Changes affecting future time stamps

    Egypt will not observe DST in 2015 and will consider canceling it
    permanently.  For now, assume no DST indefinitely.
    (Thanks to Ahmed Nazmy and Tim Parenti.)

  Change affecting past and future time zone abbreviations

    The abbreviations for Hawaii-Aleutian standard and daylight times
    have been changed from HAST/HADT to HST/HDT, as per US Government
    Printing Office style.  This affects only America/Adak since 1983,
    as America/Honolulu was already using the new style.
2015-05-18 21:00:22 +00:00
Mathieu Arnold
f29a218fcd Replace most occurences of github.com in MASTER_SITES with USE_GITHUB usage.
With hat:	portmgr
Sponsored by:	Absolight
2015-05-18 17:07:45 +00:00
Edwin Groothuis
7157b95b14 Update to tzdata2015c:
Release 2015c - 2015-04-11 08:55:55 -0700

    Changes affecting future time stamps

    Egypt's spring-forward transition is at 24:00 on April's last Thursday,
    not 00:00 on April's last Friday.  2015's transition will therefore be on
    Thursday, April 30 at 24:00, not Friday, April 24 at 00:00.  Similar fixes
    apply to 2026, 2037, 2043, etc.  (Thanks to Steffen Thorsen.)
2015-05-18 01:55:59 +00:00
Max Brazhnikov
295d7a1a80 misc/qt5ct:
- Update to 0.11
2015-05-16 10:02:00 +00:00
Dmitry Marakasov
c85420c73e - Strip library 2015-05-16 09:28:35 +00:00
Dmitry Marakasov
bb4109c6c0 - Strip binary 2015-05-15 16:52:06 +00:00
Mathieu Arnold
60d1a83c2a MASTER_SITES cleanup.
- Replace ${MASTER_SITE_FOO} with FOO.
- Merge MASTER_SITE_SUBDIR into MASTER_SITES when possible. (This means 99.9%
  of the time.)
- Remove occurrences of MASTER_SITE_LOCAL when no subdirectory was present and
  no hint of what it should be was present.
- Fix some logic.
- And generally, make things more simple and easy to understand.

While there, add magic values to the FESTIVAL, GENTOO, GIMP, GNUPG, QT and
SAMBA macros.

Also, replace some EXTRACT_SUFX occurences with USES=tar:*.

Checked by:	make fetch-urlall-list
With hat:	portmgr
Sponsored by:	Absolight
2015-05-14 10:15:04 +00:00
Dmitry Marakasov
c440f0d3bc - Add LICENSE
- Remove useless options.mk include
2015-05-14 07:10:01 +00:00
Mathieu Arnold
88bfe4bd43 Cleanup DIST* variables.
When appropriate:
- Try to use DISTVERSION{SUF,PRE}FIX
- Replace PORTNAME-PORTVERSION by DISTNAME
- Convert MASTER_SITES to use macros
- Other light cleanup

With hat:	portmgr
Sponsored by:	Absolight
2015-05-11 18:34:57 +00:00
Mathieu Arnold
65a99e72a5 Move p5- ports from ports@ to perl@.
With hat:	perl@
Sponsored by:	Absolight
2015-05-11 12:04:18 +00:00
Dmitry Marakasov
a0a962a887 - Add LICENSE
- Strip binaries
2015-05-11 04:37:40 +00:00
Muhammad Moinur Rahman
99ac6c08f8 misc/mdp: Update version 0.93.0=>1.0.0
PR:		199786
Submitted by:	neel@neelc.org
2015-05-10 14:33:31 +00:00
Dmitry Marakasov
b78f9f5609 - Simplify MASTER_SITES
- Add LICENSE
- Strip libraries
2015-05-09 08:29:36 +00:00
Antoine Brodin
54142ac453 Properly register info pages 2015-05-07 22:42:25 +00:00
Mathieu Arnold
07da776842 Update ports in the [i-m]* category to not use GH_COMMIT.
With minor cleanups to make things simpler.

With hat:	portmgr
Sponsored by:	Absolight
2015-05-07 16:32:43 +00:00
Jan Beich
79883a4ddd misc/dvorak7min: switch to distfile without prebuilt binaries 2015-05-07 10:05:23 +00:00
Dmitry Marakasov
2e6f03a2b7 - Fix build with perl 5.16 (requires ExtUtils::MakeMaker)
Approved by:	portmgr blanket
MFH:		2015Q2
2015-05-03 21:24:28 +00:00
Sunpoet Po-Chuan Hsieh
7aed00ffc0 - Update to 20150428
Changes:	http://people.FreeBSD.org/~sunpoet/pciids-20150428.diff
2015-05-03 19:35:14 +00:00
Sunpoet Po-Chuan Hsieh
f4dfee865c - Add rubygem-mimemagic 0.3.0
MimeMagic is a library to detect the mime type of a file by extension or by
content. It uses the mime database provided by freedesktop.org.

WWW: https://github.com/minad/mimemagic

PR:		199689
Submitted by:	Michael Fausten <ports@michael-fausten.de>
2015-05-02 16:55:06 +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
Bryan Drewery
63408327b0 USES=xfce: Stop overriding MASTER_SITE_SUBDIR.
Add an XFCE SITE_SUBDIR abbreviation and use it forf or the xfce ports,
which removes the need to set MASTER_SITE_SUBDIR in any of them.

This fixes ports that have USES=xfce but do not use the XFCE MASTER_SITE,
namely sysutils/xfce4-bsdcpufreq-plugin.

With hat:	portmgr
2015-04-28 17:01:46 +00:00
Marc Fonvieille
54074c6225 Update to r46616 of the FreeBSD docset.
Approved by:	doceng (implicit)
2015-04-28 09:11:08 +00:00
Sunpoet Po-Chuan Hsieh
fc006f6d05 - Update to 2015.4
- Remove post-install:

Changes:	https://pecl.php.net/package-changelog.php?package=timezonedb
2015-04-27 14:57:40 +00:00