notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)

Current status

The server has been repaired, with a new power supply, for $23. I am waiting for lower COVID rates before visiting the datacenter to return it.
Port details
qt5-virtualkeyboard Qt 5 Virtual Keyboard Module
5.15.0_1 x11-toolkits on this many watch lists=2 search for ports that depend on this port Find issues related to this port Report an issue related to this port View this port on Repology. pkg-fallout 5.15.0_1Version of this port present on the latest quarterly branch.
Maintainer: kde@FreeBSD.org search for ports maintained by this maintainer
Port Added: 2017-02-18 19:48:20
Last Update: 2020-11-21 18:18:35
SVN Revision: 556007

People watching this port, also watch: gstreamer1-plugins-pango, xerces-c3, py37-pycparser, libkvkontakte, font-misc-meltho

License: LGPL21
Description:
SVNWeb : Homepage
pkg-plist: as obtained via: make generate-plist
Expand this list (92 items)
Collapse this list.
  1. /usr/local/share/licenses/qt5-virtualkeyboard-5.15.0_1/catalog.mk
  2. /usr/local/share/licenses/qt5-virtualkeyboard-5.15.0_1/LICENSE
  3. /usr/local/share/licenses/qt5-virtualkeyboard-5.15.0_1/LGPL21
  4. include/qt5/QtHunspellInputMethod/5.15.0/QtHunspellInputMethod/private/hunspellinputmethod_p.h
  5. include/qt5/QtHunspellInputMethod/5.15.0/QtHunspellInputMethod/private/hunspellinputmethod_p_p.h
  6. include/qt5/QtHunspellInputMethod/5.15.0/QtHunspellInputMethod/private/hunspellworker_p.h
  7. include/qt5/QtHunspellInputMethod/QtHunspellInputMethod
  8. include/qt5/QtHunspellInputMethod/QtHunspellInputMethodDepends
  9. include/qt5/QtHunspellInputMethod/QtHunspellInputMethodVersion
  10. include/qt5/QtHunspellInputMethod/qhunspellinputmethod_global.h
  11. include/qt5/QtHunspellInputMethod/qthunspellinputmethodversion.h
  12. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/abstractinputpanel_p.h
  13. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/appinputpanel_p.h
  14. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/appinputpanel_p_p.h
  15. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/desktopinputpanel_p.h
  16. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/desktopinputselectioncontrol_p.h
  17. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/enterkeyaction_p.h
  18. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/enterkeyactionattachedtype_p.h
  19. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/fallbackinputmethod_p.h
  20. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/gesturerecognizer_p.h
  21. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/handwritinggesturerecognizer_p.h
  22. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/inputmethod_p.h
  23. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/inputselectionhandle_p.h
  24. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/inputview_p.h
  25. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/plaininputmethod_p.h
  26. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/platforminputcontext_p.h
  27. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/qvirtualkeyboard_staticplugin_p.h
  28. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/qvirtualkeyboardinputcontext_p.h
  29. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/settings_p.h
  30. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/shadowinputcontext_p.h
  31. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/shifthandler_p.h
  32. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/unipentrace_p.h
  33. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/virtualkeyboarddebug_p.h
  34. include/qt5/QtVirtualKeyboard/5.15.0/QtVirtualKeyboard/private/virtualkeyboardsettings_p.h
  35. include/qt5/QtVirtualKeyboard/QVirtualKeyboardAbstractInputMethod
  36. include/qt5/QtVirtualKeyboard/QVirtualKeyboardExtensionPlugin
  37. include/qt5/QtVirtualKeyboard/QVirtualKeyboardInputContext
  38. include/qt5/QtVirtualKeyboard/QVirtualKeyboardInputEngine
  39. include/qt5/QtVirtualKeyboard/QVirtualKeyboardSelectionListModel
  40. include/qt5/QtVirtualKeyboard/QVirtualKeyboardTrace
  41. include/qt5/QtVirtualKeyboard/QtVirtualKeyboard
  42. include/qt5/QtVirtualKeyboard/QtVirtualKeyboardDepends
  43. include/qt5/QtVirtualKeyboard/QtVirtualKeyboardVersion
  44. include/qt5/QtVirtualKeyboard/qtvirtualkeyboardversion.h
  45. include/qt5/QtVirtualKeyboard/qvirtualkeyboard_global.h
  46. include/qt5/QtVirtualKeyboard/qvirtualkeyboardabstractinputmethod.h
  47. include/qt5/QtVirtualKeyboard/qvirtualkeyboardextensionplugin.h
  48. include/qt5/QtVirtualKeyboard/qvirtualkeyboardinputcontext.h
  49. include/qt5/QtVirtualKeyboard/qvirtualkeyboardinputengine.h
  50. include/qt5/QtVirtualKeyboard/qvirtualkeyboardselectionlistmodel.h
  51. include/qt5/QtVirtualKeyboard/qvirtualkeyboardtrace.h
  52. lib/cmake/Qt5Gui/Qt5Gui_QVirtualKeyboardPlugin.cmake
  53. lib/cmake/Qt5HunspellInputMethod/Qt5HunspellInputMethodConfig.cmake
  54. lib/cmake/Qt5HunspellInputMethod/Qt5HunspellInputMethodConfigVersion.cmake
  55. lib/cmake/Qt5VirtualKeyboard/Qt5VirtualKeyboardConfig.cmake
  56. lib/cmake/Qt5VirtualKeyboard/Qt5VirtualKeyboardConfigVersion.cmake
  57. lib/cmake/Qt5VirtualKeyboard/Qt5VirtualKeyboard_QtVirtualKeyboardHunspellPlugin.cmake
  58. lib/qt5/libQt5HunspellInputMethod.prl
  59. lib/qt5/libQt5HunspellInputMethod.so
  60. lib/qt5/libQt5HunspellInputMethod.so.5
  61. lib/qt5/libQt5HunspellInputMethod.so.5.15
  62. lib/qt5/libQt5HunspellInputMethod.so.5.15.0
  63. @comment lib/qt5/libQt5HunspellInputMethod.so.5.15.0.debug
  64. lib/qt5/libQt5VirtualKeyboard.prl
  65. lib/qt5/libQt5VirtualKeyboard.so
  66. lib/qt5/libQt5VirtualKeyboard.so.5
  67. lib/qt5/libQt5VirtualKeyboard.so.5.15
  68. lib/qt5/libQt5VirtualKeyboard.so.5.15.0
  69. @comment lib/qt5/libQt5VirtualKeyboard.so.5.15.0.debug
  70. lib/qt5/mkspecs/modules/qt_lib_hunspellinputmethod_private.pri
  71. lib/qt5/mkspecs/modules/qt_lib_virtualkeyboard.pri
  72. lib/qt5/mkspecs/modules/qt_lib_virtualkeyboard_private.pri
  73. lib/qt5/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so
  74. @comment lib/qt5/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so.debug
  75. lib/qt5/plugins/virtualkeyboard/libqtvirtualkeyboard_hunspell.so
  76. @comment lib/qt5/plugins/virtualkeyboard/libqtvirtualkeyboard_hunspell.so.debug
  77. lib/qt5/qml/QtQuick/VirtualKeyboard/Settings/libqtquickvirtualkeyboardsettingsplugin.so
  78. @comment lib/qt5/qml/QtQuick/VirtualKeyboard/Settings/libqtquickvirtualkeyboardsettingsplugin.so.debug
  79. lib/qt5/qml/QtQuick/VirtualKeyboard/Settings/plugins.qmltypes
  80. lib/qt5/qml/QtQuick/VirtualKeyboard/Settings/qmldir
  81. lib/qt5/qml/QtQuick/VirtualKeyboard/Styles/libqtquickvirtualkeyboardstylesplugin.so
  82. @comment lib/qt5/qml/QtQuick/VirtualKeyboard/Styles/libqtquickvirtualkeyboardstylesplugin.so.debug
  83. lib/qt5/qml/QtQuick/VirtualKeyboard/Styles/plugins.qmltypes
  84. lib/qt5/qml/QtQuick/VirtualKeyboard/Styles/qmldir
  85. lib/qt5/qml/QtQuick/VirtualKeyboard/libqtquickvirtualkeyboardplugin.so
  86. @comment lib/qt5/qml/QtQuick/VirtualKeyboard/libqtquickvirtualkeyboardplugin.so.debug
  87. lib/qt5/qml/QtQuick/VirtualKeyboard/plugins.qmltypes
  88. lib/qt5/qml/QtQuick/VirtualKeyboard/qmldir
  89. libdata/pkgconfig/Qt5VirtualKeyboard.pc
  90. @owner
  91. @group
  92. @mode
Collapse this list.
Dependency lines:
  • qt5-virtualkeyboard>0:x11-toolkits/qt5-virtualkeyboard
To install the port: cd /usr/ports/x11-toolkits/qt5-virtualkeyboard/ && make install clean
To add the package: pkg install qt5-virtualkeyboard
PKGNAME: qt5-virtualkeyboard
Flavors: there is no flavor information for this port.
distinfo:
Packages: (move your mouse over the cells for more information)
qt5-virtualkeyboard
ABIlatestquarterly
FreeBSD:11:aarch645.11.15.14.2
FreeBSD:11:amd64--
FreeBSD:11:armv6-5.14.2
FreeBSD:11:i386--
FreeBSD:11:mips--
FreeBSD:11:mips64--
FreeBSD:12:aarch645.11.25.15.2_1
FreeBSD:12:amd645.15.2_15.15.2_1
FreeBSD:12:armv65.11.25.15.0
FreeBSD:12:armv75.11.25.15.0
FreeBSD:12:i3865.15.2_15.15.2_1
FreeBSD:12:mips--
FreeBSD:12:mips64--
FreeBSD:12:powerpc64-5.15.2_1
FreeBSD:13:aarch645.15.2_15.15.2_1
FreeBSD:13:amd645.15.2_15.15.2_1
FreeBSD:13:armv65.15.2_1-
FreeBSD:13:armv7--
FreeBSD:13:i3865.15.2_15.15.2_1
FreeBSD:13:mips--
FreeBSD:13:mips64--
FreeBSD:13:powerpc64--
FreeBSD:14:aarch645.15.2_1-
FreeBSD:14:amd645.15.2_1-
FreeBSD:14:armv6--
FreeBSD:14:armv7--
FreeBSD:14:i3865.15.2_1-
FreeBSD:14:mips--
FreeBSD:14:mips64--
FreeBSD:14:powerpc645.15.2_1-
 

Dependencies
NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
Build dependencies:
  1. pkgconf>=1.3.0_1 : devel/pkgconf
  2. moc : devel/qt5-buildtools
  3. qmake : devel/qt5-qmake
Runtime dependencies:
  1. qtchooser : misc/qtchooser
Library dependencies:
  1. libhunspell-1.7.so : textproc/hunspell
  2. libQt5Core.so : devel/qt5-core
  3. libQt5Qml.so : x11-toolkits/qt5-declarative
  4. libQt5Gui.so : x11-toolkits/qt5-gui
  5. libQt5Network.so : net/qt5-network
  6. libQt5Svg.so : graphics/qt5-svg
  7. libQt5Widgets.so : x11-toolkits/qt5-widgets
This port is required by:
for Run
  1. devel/qt5
  2. x11-wm/plasma5-kwin

Configuration Options

USES:

Master Sites:
Expand this list (7 items)
    Collapse this list.
  1. http://master.qt.io/official_releases/qt/5.15/5.15.0/submodules//
  2. http://qtmirror.ics.com/pub/qtproject/official_releases/qt/5.15/5.15.0/submodules//
  3. http://www.nic.funet.fi/pub/mirrors/download.qt-project.org/official_releases/qt/5.15/5.15.0/submodules//
  4. https://download.qt.io/official_releases/qt/5.15/5.15.0/submodules//
  5. https://ftp.jaist.ac.jp/pub/qtproject/official_releases/qt/5.15/5.15.0/submodules//
  6. https://www.mirrorservice.org/sites/download.qt-project.org/official_releases/qt/5.15/5.15.0/submodules//
  7. Collapse this list.

Number of commits found: 15

Commit History - (may be incomplete: see SVNWeb link above for full details)
DateByDescription
21 Nov 2020 18:18:35
Original commit files touched by this commit  5.15.0_1
Revision:556007
tcberner search for other commits by this committer
Only define USE_LDCONFIG in devel/qt5-core

All the qt5-ports share the same library directory. devel/qt5-core is dependet
on
by all others.
So there is no need to add identical entries to libdata/ldconfig, and restart
the
ldconfig service on every pkg change of those ports.

Reported by:	bapt
Reviewed by:	bapt
Differential Revision:	https://reviews.freebsd.org/D27224
08 Nov 2019 16:59:59
Original commit files touched by this commit  5.13.2
Revision:517080
tcberner search for other commits by this committer
Update Qt5 to 5.13.2

Announcement:
        https://www.qt.io/blog/qt-5.13.2-released

Thanks to kai@ for updating webengine.

PR:		241649
Exp-run by:	antoine
26 Jul 2019 20:46:57
Original commit files touched by this commit  5.12.2_1
Revision:507372
gerald search for other commits by this committer
Bump PORTREVISION for ports depending on the canonical version of GCC
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.

This includes ports
 - with USE_GCC=yes or USE_GCC=any,
 - with USES=fortran,
 - using Mk/bsd.octave.mk which in turn features USES=fortran, and
 - with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
   c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.

PR:		238330
12 Feb 2019 17:43:00
Original commit files touched by this commit  5.12.1
Revision:492793
tcberner search for other commits by this committer
Update Qt5 to 5.12.1

Release announcement:
  https://blog.qt.io/blog/2019/02/01/qt-5-12-1-released/
Changelog:
  https://wiki.qt.io/Qt_5.12.1_Change_Files

- A change was required to qt-dist.mk to always pass LOCALBASE to qmake,
  as Qt5 has been installed to a prefix for some time now, there should
  not be any harm in that, with respect to it picking up installed versions
  of itself during build.

PR:		235622
Exp-run by:	antoine
18 Jan 2019 21:14:42
Original commit files touched by this commit  5.12.0_2
Revision:490671
jbeich search for other commits by this committer
textproc/hunspell: update to 1.7.0

- Drop const optimization as v2 API moved to nuspell

Changes:	https://github.com/hunspell/hunspell/releases/tag/v1.7.0
16 Jan 2019 11:13:45
Original commit files touched by this commit  5.12.0_1
Revision:490472
tijl search for other commits by this committer
Fix Qt5 symbol version scripts to put the catch-all clause first.  When
a symbol matches multiple clauses the last one takes precedence.  If the
catch-all is last it captures everything.  In the case of Qt5 libraries
this caused all symbols to have a Qt_5 label while some should have
Qt_5_PRIVATE_API.  This only affects lld because GNU ld always gives the
catch-all lowest priority.

Older versions of Qt5Webengine exported some memory allocation symbols from
the bundled Chromium.  Version 5.9 stopped exporting these [1] but the
symbols were kept as weak wrappers for the standard allocation functions to
maintain binary compatibility. [2][3]  The problem is that the call to the
standard function in these weak wrappers is only resolved to the standard
function if there's a call to this standard function in other parts of
Qt5Webengine, because only then is there a non-weak symbol that takes
precedence over the weak one.  If there's no such non-weak symbol the call
(Only the first 15 lines of the commit message are shown above View all of this commit message)
16 Dec 2018 14:49:16
Original commit files touched by this commit  5.12.0
Revision:487594
tcberner search for other commits by this committer
Update Qt5 to 5.12.0

http://blog.qt.io/blog/2018/12/06/qt-5-12-lts-released/

- This breaks support for libressl again. Patches are welcome.

PR:		233705
Exp-run by:	antoine
12 Dec 2018 01:35:36
Original commit files touched by this commit  5.11.2_2
Revision:487272
gerald search for other commits by this committer
Bump PORTREVISION for ports depending on the canonical version of GCC
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.

This includes ports
 - with USE_GCC=yes or USE_GCC=any,
 - with USES=fortran,
 - using Mk/bsd.octave.mk which in turn features USES=fortran, and
 - with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
   c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.

PR:		231590
04 Nov 2018 19:00:54
Original commit files touched by this commit  5.11.2_1
Revision:484140
tcberner search for other commits by this committer
Merge lang/qt5-qml and x11-toolkits/qt5-quick into x11-toolkits/qt5-declarative

- There was no obvious reason to split these ports, and it makes
  porting simpler; the set of ports using either mostly coincided.

Exp-run by:	antoine
PR:		223687
PR:		232751
14 Oct 2018 08:01:14
Original commit files touched by this commit  5.11.2
Revision:482034
tcberner search for other commits by this committer
qt5: Fix build on GCC based architectures.

PR:		231584
PR:		231677
PR:		231685
PR:		231830
PR:		231955
PR:		231905
PR:		231892
PR:		231684
PR:		231958
PR:		231960
PR:		231818
PR:		231542
PR:		231860
(Only the first 15 lines of the commit message are shown above View all of this commit message)
09 Sep 2018 11:12:15
Original commit files touched by this commit  5.11.1
Revision:479286
tcberner search for other commits by this committer
Update Qt5 to 5.11.1

Big thanks to
        * brnrd for the libressl patches in net/qt5-network
        * jhale for fixing the bulk load of ports

PR:		230884
Exp-run by:	antoine
28 Jun 2018 17:39:55
Original commit files touched by this commit  5.10.1
Revision:473503
tcberner search for other commits by this committer
Replace bsd.qt.mk by Uses/qt.mk and Uses/qt-dist.mk

From now on, ports that depend on Qt4 will have to set
	USES=		qt:4
	USE_QT=		foo bar
ports depending on Qt5 will use
	USES=		qt:5
	USE_QT=		foo bar

PR:		229225
Exp-run by:	antoine
Reviewed by:	mat
Approved by:	portmgr (antoine)
Differential Revision:	-https://reviews.freebsd.org/D15540
18 May 2018 12:27:44
Original commit files touched by this commit  5.10.1
Revision:470288
rakuco search for other commits by this committer
Update the Qt5 ports to 5.10.1.

The work was done by tcberner and myself, with thanks to antoine for the
exp-run.

Not a lot to report compared to other Qt5 updates:
* net/qt5-network is still broken with LibreSSL. I said this in a commit
  message ages ago but it bears repeating: upstream is open to adding support
  for LibreSSL, but someone needs to step up to maintain it upstream, otherwise
  things will continue to be broken all the time.
* www/qt5-webengine is a huge monster that is terrible to update, just like
  www/chromium itself is. We (kde@) have decided to keep using the 5.9 series
  for the time being, as it should be compatible with the rest of Qt anyway. It
  was updated to 5.9.5, the latest 5.9 release at the time of writing.

PR:		228213
29 Mar 2018 19:03:18
Original commit files touched by this commit  5.9.4_1
Revision:465911
tcberner search for other commits by this committer
Fix permissions in installed Qt5 header files

For the qt5-* ports bsd.qt.mk sets EXTRACT_AFTER_ARGS, and
thereby does not get the normal default value of
      --no-same-owner --no-same-permissions
passed when extracting. This lead to for example header files
being installed (i.e. copied), with permissions group write
permissions.

Manually append that to the bsd.qt.mk shenanigans (also do the
same in www/qt5-webchannel, which opts out of the bsd.qt.mk value)

PR:		227027
Reported by:	grarpamp@gmail.com
18 Feb 2017 19:48:05
Original commit files touched by this commit  5.7.1
Revision:434380
tcberner search for other commits by this committer
Update Qt5 to 5.7.1, and unify the Qt4 and Qt5 ports some more

* Update Qt5 to 5.7.1
* Move Qt4 binaries to lib/qt4/bin
* Move Qt5 libraries to lib/qt5/lib
  By moving the libraries we should finally be able to get rid of the inplace
  upgrade bug (see ports bugs 194088, 195105 and 198720):  when Qt5's libraries
  were lying in /usr/local/lib, which would often get added by pkgconfig to the
  linker paths via dependencies, the already installed libraries were linked
  against, instead of the ones that were being built. This forced us to make
  sure, that -L${WRKSRC}/lib was always coming before -L/usr/local/lib in the
  linker flags. With this change this should no longer be the case.
* Rename some ports to match the rest (foo-qtX -> qtX-foo)
* Depend on new port misc/qtchooser [see UPDATING & CHANGES]

There are several new Qt5 ports which all have been created by Marie Loise
Nolden
<nolden@kde.org>. Thanks again.

PR:		216797
Exp-Run by:	antoine
Reviewed by:	rakuco, mat, groot_kde.org
Approved by:	rakuco (mentor)
Differential Revision:	https://reviews.freebsd.org/D9213

Number of commits found: 15

Login
User Login
Create account

Servers and bandwidth provided by
New York Internet, iXsystems, and RootBSD

This site
What is FreshPorts?
About the authors
Issues
FAQ
How big is it?
The latest upgrade!
Privacy
Blog
Contact

Search
Enter Keywords:
 
more...

Latest Vulnerabilities
vaultFeb 27
redisFeb 23
redis-develFeb 23
redis5Feb 23
zeekFeb 22
jenkinsFeb 20
raptor2Feb 20
asterisk13Feb 18
asterisk13Feb 18
asterisk13Feb 18
asterisk16Feb 18
asterisk16Feb 18
asterisk16Feb 18
asterisk16Feb 18
asterisk16Feb 18

13 vulnerabilities affecting 98 ports have been reported in the past 14 days

* - modified, not new

All vulnerabilities

Last updated:
2021-02-27 01:52:12


Ports
Home
Categories
Deleted ports
Sanity Test Failures
Newsfeeds

Statistics
Graphs
NEW Graphs (Javascript)
Traffic

Calculated hourly:
Port count 42641
Broken 77
Deprecated 174
Ignore 316
Forbidden 4
Restricted 139
No CDROM 71
Vulnerable 21
Expired 36
Set to expire 150
Interactive 0
new 24 hours 11
new 48 hours26
new 7 days55
new fortnight93
new month160

Servers and bandwidth provided by
New York Internet, iXsystems, and RootBSD
Valid HTML, CSS, and RSS.
Copyright © 2000-2021 Dan Langille. All rights reserved.