Merge branch 'kasen/core' of https://github.com/kasenvr/hifi-community into feature/chat

This commit is contained in:
Fluffy Jenkins 2020-04-13 22:39:50 +01:00
commit f852003a46
76 changed files with 1364 additions and 532 deletions

View file

@ -1,9 +1,13 @@
# General Build Information
*Last Updated on December 21, 2019*
### OS Specific Build Guides
* [BUILD_WIN.md](BUILD_WIN.md) - complete instructions for Windows.
* [BUILD_OSX.md](BUILD_OSX.md) - additional instructions for OS X.
* [BUILD_LINUX.md](BUILD_LINUX.md) - additional instructions for Linux.
* [BUILD_ANDROID.md](BUILD_ANDROID.md) - additional instructions for Android
* [Build Windows](BUILD_WIN.md) - complete instructions for Windows.
* [Build Linux](BUILD_LINUX.md) - additional instructions for Linux.
* [Build OSX](BUILD_OSX.md) - additional instructions for OS X.
* [Build Android](BUILD_ANDROID.md) - additional instructions for Android
### Dependencies
- [git](https://git-scm.com/downloads): >= 1.6
@ -21,10 +25,10 @@ These dependencies need not be installed manually. They are automatically downlo
- [QuaZip](https://sourceforge.net/projects/quazip/files/quazip/): 0.7.3
- [SDL2](https://www.libsdl.org/download-2.0.php): 2.0.3
- [Intel Threading Building Blocks](https://www.threadingbuildingblocks.org/): 4.3
- [vcpkg](https://github.com/highfidelity/vcpkg):
- [vcpkg](https://github.com/hifi-archive/vcpkg):
- [VHACD](https://github.com/virneo/v-hacd)
- [zlib](http://www.zlib.net/): 1.28 (Win32 only)
- [nvtt](https://github.com/highfidelity/nvidia-texture-tools): 2.1.1 (customized)
- [nvtt](https://github.com/hifi-archive/nvidia-texture-tools): 2.1.1 (customized)
The above dependencies will be downloaded, built, linked and included automatically by CMake where we require them. The CMakeLists files that handle grabbing each of the following external dependencies can be found in the [cmake/externals folder](cmake/externals). The resulting downloads, source files and binaries will be placed in the `build/ext` folder in each of the subfolders for each external project.

View file

@ -1,6 +1,10 @@
# Build Android
*Last Updated on December 21, 2019*
Please read the [general build guide](BUILD.md) for information on building other platforms. Only Android specific instructions are found in this file. **Note that these instructions apply to building for Oculus Quest.**
# Dependencies
## Dependencies
Building is currently supported on Windows, OSX and Linux, but developers intending to do work on the library dependencies are strongly urged to use 64 bit Linux as a build platform.
@ -27,7 +31,7 @@ Still in the _SDK Tools_ tab, click _Show Package Details_. Select CMake 3.6.4.
Also, make sure the NDK installed version is 18 (or higher).
# Environment
## Environment
### Create a keystore in Android Studio
Follow the directions [here](https://developer.android.com/studio/publish/app-signing#generate-key) to create a keystore file. You can save it anywhere (preferably not in the `hifi` folder).
@ -64,7 +68,7 @@ The above code to suppress modules is not necessary, but will speed up the build
`git clone https://github.com/kasenvr/project-athena.git`
# Building & Running
## Building & Running
### Building Modules
@ -99,9 +103,9 @@ For the interface modules, you also need to select the activity to launch.
Note the 's' in Permission**s**Checker for the Quest.
Now you are able to run your module! Click the green play button in the top toolbar of Android Studio
r
# Troubleshooting
Now you are able to run your module! Click the green play button in the top toolbar of Android Studio.
## Troubleshooting
To view a more complete debug log,

View file

@ -1,4 +1,6 @@
# Linux build guide
# Build Linux
*Last Updated on January 20, 2020*
Please read the [general build guide](BUILD.md) for information on dependencies required for all platforms. Only Linux specific instructions are found in this file.
@ -14,7 +16,7 @@ sudo add-apt-repository universe
sudo apt-get update
```
#### Install build tools:
- First update the repositiories:
- First update the repositories:
```bash
sudo apt-get update -y
sudo apt-get upgrade -y
@ -182,11 +184,11 @@ It can be worked around following these steps:
`make`
`sudo make install`
1.. Link compiled files:
1. Link compiled files:
`sudo ln -s /usr/local/lib/libnvcore.so /usr/lib/libnvcore.so`
`sudo ln -s /usr/local/lib/libnvimage.so /usr/lib/libnvimage.so`
`sudo ln -s /usr/local/lib/libnvmath.so /usr/lib/libnvmath.so`
`sudo ln -s /usr/local/lib/libnvtt.so /usr/lib/libnvtt.so`
1. After running this steps you can run interface:
1. After running these steps you can run interface:
`interface/interface`

View file

@ -1,4 +1,8 @@
Please read the [general build guide](BUILD.md) for information on dependencies required for all platforms. Only macOS specific instructions are found in this file.
# Build OSX
*Last Updated on April 30, 2019*
Please read the [general build guide](BUILD.md) for information on dependencies required for all platforms. Only macOS specific instructions are found in this document.
### Homebrew

View file

@ -1,5 +1,9 @@
This is a stand-alone guide for creating your first Project Athena build for Windows 64-bit.
## Building Project Athena
# Build Windows
*Last Updated on January 13, 2020*
This is a stand-alone guide for creating your first Vircadia build for Windows 64-bit.
Note: We are now using Visual Studio 2017 or 2019 and Qt 5.12.3.
If you are upgrading from previous versions, do a clean uninstall of those versions before going through this guide.

View file

@ -1,10 +1,10 @@
Follow the [build guide](BUILD.md) to figure out how to build High Fidelity for your platform.
# Creating an Installer
Follow the [build guide](BUILD.md) to figure out how to build Project Athena for your platform.
During generation, CMake should produce an `install` target and a `package` target.
### Install
The `install` target will copy the High Fidelity targets and their dependencies to your `CMAKE_INSTALL_PREFIX`.
The `install` target will copy the Project Athena targets and their dependencies to your `CMAKE_INSTALL_PREFIX`.
This variable is set by the `project(hifi)` command in `CMakeLists.txt` to `C:/Program Files/hifi` and stored in `build/CMakeCache.txt`
### Packaging
@ -60,8 +60,8 @@ To produce an executable installer on Windows, the following are required:
1. Install version 10.15.0 LTS
1. Perform a clean cmake from a new terminal.
1. Open the `athena.sln` Solution and select the Release configuration.
1. Build the Solution.
1. Open the `athena.sln` solution and select the Release configuration.
1. Build the solution.
1. Build `packaged-server-console-npm-install` (found under **hidden/Server Console**)
1. Build `packaged-server-console` (found under **Server Console**)
This will add 2 folders to `build\server-console\` -
@ -73,7 +73,7 @@ To produce an executable installer on Windows, the following are required:
1. [npm](<https://www.npmjs.com/get-npm>)
Install version 10.15.0 LTS
1. Perform a clean cmake.
1. Perform a clean CMake.
1. Perform a Release build of ALL_BUILD
1. Perform a Release build of `packaged-server-console`
This will add a folder to `build\server-console\` -

View file

@ -1,26 +1,14 @@
# Project Athena
# Vircadia
### What is this?
Project Athena is a 3D social software project seeking to incrementally bring about a truly free and open metaverse, in desktop and XR.
Vircadia is a 3D social software project seeking to incrementally bring about a truly free and open metaverse, in desktop and XR.
### [Download](https://projectathena.io/download-athena/)
### [Download](https://vircadia.com/download-vircadia/)
### Releases
#### v0.86.0 K2 (TBD)
##### Features, Bugs, and Housekeeping
Check out the releases page for more information!
#### v0.86.0 K1 (12/3/19)
* Audio Buffer choppy audio bugfix by increasing the buffer size.
* User Activity Logger disabled, option in code to log the reports to console.
* CMakeLists.txt configured to work for Polyvox, Interface JSDocs. (May be obsolete.)
* Custom Application Title.
* Entity Script Whitelist, no scripts are whitelisted by default.
* Background CMD outputs full log, instant close of application on closing of the CMD-line.
[View Releases here](https://github.com/kasenvr/project-athena/releases/)
### How to build the Interface
@ -30,13 +18,21 @@ Check out the releases page for more information!
[For Linux - Athena Builder](https://github.com/daleglass/athena-builder)
### How to deploy a Server
[For Windows and Linux](https://vircadia.com/download-vircadia/#server)
### How to build a Server
[For Linux - Athena Builder](https://github.com/daleglass/athena-builder)
### Boot to Metaverse: The Goal
Having a place to experience adventure, a place to relax with calm breath, that's a world to live in. An engine to support infinite combinations and possibilities of worlds without censorship and interruption, that's a metaverse. Finding a way to make infinite realities our reality, that's the dream.
### Boot to Metaverse: The Technicals
Many developers have personal combinations of High Fidelity from C++ modifications to different default scripts, all of which are lost to time as their fullest potential is never truly shared and propagated through the system.
Many developers have had personal combinations of High Fidelity from C++ modifications to different default scripts, all of which are lost to time as their fullest potential is never truly shared and propagated through the system.
The goal of this project is to achieve the metaverse dream through shared contribution and building. Setting goals that are achievable yet meaningful is key to making proper forward progress on the technical front whilst maintaining morale.
@ -52,6 +48,6 @@ We need to do the best we can with what we've got and our best bet as open sourc
### Contribution
A special thanks to the contributors of the Project Athena.
A special thanks to the contributors of Vircadia.
[Contribution](CONTRIBUTING.md)

View file

@ -734,7 +734,7 @@ BatchPointer Deserializer::readBatch(const json& node) {
std::string batchName;
if (node.count(keys::name)) {
batchName = node[keys::name];
batchName = node.value(keys::name, "");
}
BatchPointer result = std::make_shared<Batch>(batchName);
auto& batch = *result;

View file

@ -0,0 +1,43 @@
FROM ubuntu:18.04
ARG DEPENDS
ARG GITSRC
ARG GITDATE
ARG GITCOMMIT
# starting out as root, will drop back in entrypoint.sh
USER root
# expose ports for domain server
EXPOSE 40100 40101 40102
EXPOSE 40100/udp 40101/udp 40102/udp
# expose ports for assignment client
EXPOSE 48000/udp 48001/udp 48002/udp 48003/udp 48004/udp 48005/udp 48006/udp
RUN echo UTC >/etc/timezone
RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
apt-get install -y tzdata supervisor ${DEPENDS} && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* && \
mkdir -p /var/lib/athena
RUN groupadd -r athena ; \
useradd -Nr athena -d /var/lib/athena ; \
usermod -aG athena athena ; \
chown athena.athena /var/lib/athena ; \
exit 0
VOLUME /var/lib/athena
RUN mkdir -p /var/run ; chmod 777 /var/run
COPY athena.conf /etc/supervisor/conf.d/athena.conf
COPY entrypoint.sh /
COPY opt /opt/athena
COPY lib /opt/athena/lib
ENTRYPOINT ["/entrypoint.sh"]
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/athena.conf"]
LABEL \
net.projectathena.gitsrc="${GITSRC}" \
net.projectathena.gitdate="${GITDATE}" \
net.projectathena.gitcommit="${GITCOMMIT}"

60
pkg-scripts/README Normal file
View file

@ -0,0 +1,60 @@
Collection of scripts to create server distribution packages. Most of these scripts assume
use of the build script at https://github.com/daleglass/athena-builder, specifically that
the following directory structure exists
base folder/
source/ git checkout
build/ result of cmake build
qt5-install/ installed or built Qt5 installation
These scripts assume that the current directory is the pkg-scripts folder inside of the source directory
and that the base folder can be reached by going to "../..". This may not work if pkg-scripts is a symlink;
adding an ATHENA=~/Athena to the beginning of the commandline will override where it looks for the base folder
Ubuntu:
DEBEMAIL="your-email@somewhere.com" DEBFULLNAME="Your Full Name" ./make-deb-server
This script will retrieve the current git commit date and hash and assemble a version from it.
It will attempt construct a .deb file in the pkg-scripts folder
Amazon Linux 2:
./make-rpm-server
This script will retrieve the current git commit date and hash and assemble a version from it.
It will attempt construct an .rpm file in the pkg-scripts folder
Docker:
./make-docker-server
This script will attempt to create a docker container
Results:
The following directory structure is created for binaries:
/opt/athena - executables
/opt/athena/lib - private shared libraries required for executables
/opt/athena/resources - files required by domain-server administrative website
/opt/athena/plugins - files required by assignment-client, mainly for audio codecs
The following systemd services are installed in /usr/lib/systemd/system:
athena-assignment-client.service
athena-domain-server.service
athena-server.target - used to launch/shutdown the two prior services
athena-assignment-client@.service
athena-domain-server@.service
athena-server@.target - used to launch/shutdown the two prior services
The top three services in this list are the "normal" services that launch Athena
in the typical fashion. The bottom three services are "template" services designed
to permit multiple services to be installed and running on a single machine.
The script "/opt/athena/new-server serverName basePort" will do the necessary
setup for a new domain with the specified server name and port. Upon installation
the package will create and launch a domain named "default" at base port 40100.
The domain name here has nothing to do with the name people will use to find your
domain and has nothing to do with "place names", it is only used to locate the files
used to configure and run the domain on your server.
The server stores its files in the following locations:
/var/lib/athena/.local - "unnamed" services (the default location for Athena servers)
/var/lib/athena/serverName - "named" (template) domains
/etc/opt/athena - environment variables when launching named domains

View file

@ -0,0 +1,18 @@
[Unit]
Description=Assignment client service for Athena server
After=network.target
PartOf=athena-server.target
[Service]
Restart=always
WorkingDirectory=/opt/athena
Environment="LD_LIBRARY_PATH=/opt/athena/lib"
User=athena
Group=athena
#LimitCORE=infinity
#ExecStart=/opt/athena/assignment-client -n 6
ExecStart=/opt/athena/assignment-client --min 6 --max 20
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,20 @@
[Unit]
Description=Assignment client service for Athena server
After=network.target
PartOf=athena-server@%i.target
[Service]
Restart=always
WorkingDirectory=/opt/athena
EnvironmentFile=/etc/opt/athena/%i.conf
Environment="LD_LIBRARY_PATH=/opt/athena/lib" "HOME=/var/lib/athena/%i"
PrivateTmp=true
User=athena
Group=athena
#LimitCORE=infinity
#ExecStart=/opt/athena/assignment-client -n 6
ExecStart=/opt/athena/assignment-client --min 6 --max 20 --server-port $HIFI_DOMAIN_SERVER_PORT
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,18 @@
[Unit]
Description=Domain Server service for Athena
After=network.target
PartOf=athena-server.target
[Service]
Restart=on-failure
WorkingDirectory=/opt/athena
Environment="LD_LIBRARY_PATH=/opt/athena/lib"
User=athena
Group=athena
#LimitCORE=infinity
#ExecStartPre=/bin/bash -c 'if /usr/bin/pgrep -l domain-server; then /usr/bin/pkill -SIGKILL -f /usr/share/hifi/domain-server/domain-server; fi'
ExecStart=/opt/athena/domain-server
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,20 @@
[Unit]
Description=Domain Server service for Athena
After=network.target
PartOf=athena-server@%i.target
[Service]
Restart=on-failure
WorkingDirectory=/opt/athena
EnvironmentFile=/etc/opt/athena/%i.conf
Environment="LD_LIBRARY_PATH=/opt/athena/lib" "HOME=/var/lib/athena/%i"
PrivateTmp=true
User=athena
Group=athena
#LimitCORE=infinity
#ExecStartPre=/bin/bash -c 'if /usr/bin/pgrep -l domain-server; then /usr/bin/pkill -SIGKILL -f /usr/share/hifi/domain-server/domain-server; fi'
ExecStart=/opt/athena/domain-server
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,18 @@
[Unit]
Description=Ice Server service for Athena
After=network.target
PartOf=athena-server.target
[Service]
Restart=on-failure
Environment="HIFI_ENVIRONMENT=production" "LD_LIBRARY_PATH=/opt/athena/lib"
WorkingDirectory=/opt/athena
User=athena
Group=athena
#ExecStartPre=/bin/bash -c 'if /usr/bin/pgrep -l ice-server; then /usr/bin/pkill -SIGKILL -f /usr/share/hifi/ice-server/ice-server; fi'
#LimitCORE=infinity
ExecStart=/opt/athena/ice-server
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,20 @@
[Unit]
Description=Ice Server service for Athena
After=network.target
PartOf=athena-server@%i.target
[Service]
Restart=on-failure
EnvironmentFile=/etc/opt/athena/%i.conf
Environment="HIFI_ENVIRONMENT=production" "LD_LIBRARY_PATH=/opt/athena/lib" "HOME=/var/lib/athena/%i"
PrivateTmp=true
WorkingDirectory=/opt/athena
User=athena
Group=athena
#ExecStartPre=/bin/bash -c 'if /usr/bin/pgrep -l ice-server; then /usr/bin/pkill -SIGKILL -f /usr/share/hifi/ice-server/ice-server; fi'
#LimitCORE=infinity
ExecStart=/opt/athena/ice-server
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,128 @@
#ATHENA=~/Athena rpmbuild --target x86_64 -bb athena-server.spec
%define version %{lua:print(os.getenv("VERSION"))}
%define depends %{lua:print(os.getenv("DEPENDS"))}
Name: athena-server
Version: %{version}
Release: 1%{?dist}
Summary: Project Athena metaverse platform, based on the High Fidelity Engine.
License: ASL 2.0
URL: https://projectathena.io
Source0: https://github.com/daleglass/athena-builder/blob/master/athena_builder
#BuildRequires: systemd-rpm-macros
BuildRequires: chrpath
Requires: %{depends}
BuildArch: x86_64
AutoReq: no
AutoProv: no
%description
Project Athena allows creation and sharing of VR experiences.
The Project Athena metaverse provides built-in social features, including avatar interactions, spatialized audio and interactive physics. Additionally, you have the ability to import any 3D object into your virtual environment.
%prep
%build
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/opt/athena
install -m 0755 -t $RPM_BUILD_ROOT/opt/athena $ATHENA/build/assignment-client/assignment-client
install -m 0755 -t $RPM_BUILD_ROOT/opt/athena $ATHENA/build/domain-server/domain-server
install -m 0755 -t $RPM_BUILD_ROOT/opt/athena $ATHENA/build/tools/oven/oven
#install -m 0755 -t $RPM_BUILD_ROOT/opt/athena $ATHENA/build/ice-server/ice-server
strip --strip-all $RPM_BUILD_ROOT/opt/athena/*
chrpath -d $RPM_BUILD_ROOT/opt/athena/*
install -m 0755 -t $RPM_BUILD_ROOT/opt/athena $ATHENA/source/pkg-scripts/new-server
install -d $RPM_BUILD_ROOT/opt/athena/lib
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/build/libraries/*/*.so
strip --strip-all $RPM_BUILD_ROOT/opt/athena/lib/*
chrpath -d $RPM_BUILD_ROOT/opt/athena/lib/*
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/qt5-install/lib/libQt5Network.so.*.*.*
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/qt5-install/lib/libQt5Core.so.*.*.*
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/qt5-install/lib/libQt5Widgets.so.*.*.*
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/qt5-install/lib/libQt5Gui.so.*.*.*
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/qt5-install/lib/libQt5Script.so.*.*.*
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/qt5-install/lib/libQt5Quick.so.*.*.*
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/qt5-install/lib/libQt5WebSockets.so.*.*.*
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/qt5-install/lib/libQt5Qml.so.*.*.*
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/qt5-install/lib/libQt5ScriptTools.so.*.*.*
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/build/ext/makefiles/quazip/project/lib/libquazip5.so.*.*.*
install -d $RPM_BUILD_ROOT/usr/lib/systemd/system
install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/athena-assignment-client.service
install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/athena-assignment-client@.service
install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/athena-domain-server.service
install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/athena-domain-server@.service
#install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/athena-ice-server.service
#install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/athena-ice-server@.service
install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/athena-server.target
install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/athena-server@.target
cp -a $ATHENA/source/domain-server/resources $RPM_BUILD_ROOT/opt/athena
cp -a $ATHENA/build/assignment-client/plugins $RPM_BUILD_ROOT/opt/athena
chrpath -d $RPM_BUILD_ROOT/opt/athena/plugins/*.so
chrpath -d $RPM_BUILD_ROOT/opt/athena/plugins/*/*.so
strip --strip-all $RPM_BUILD_ROOT/opt/athena/plugins/*.so
strip --strip-all $RPM_BUILD_ROOT/opt/athena/plugins/*/*.so
find $RPM_BUILD_ROOT/opt/athena/resources -name ".gitignore" -delete
%files
%license $ATHENA/source/LICENSE
/opt/athena
/usr/lib/systemd/system
%changelog
%post
# create users
getent passwd athena >/dev/numm 2>&1 || useradd -r -c "Project Athena" -d /var/lib/athena -U -M athena
#getent group athena >/dev/null 2>&1 || groupadd -r athena
# create data folder
mkdir -p /etc/opt/athena
mkdir -p /var/lib/athena && chown athena:athena /var/lib/athena && chmod 775 /var/lib/athena
ldconfig -n /opt/athena/lib
if [ ! -d "/var/lib/athena/default" ]; then
/opt/athena/new-server default 40100
systemctl enable athena-server@default.target
systemctl start athena-server@default.target
fi
%systemd_post athena-assignment-client.service
%systemd_post athena-assignment-client@.service
%systemd_post athena-domain-server.service
%systemd_post athena-domain-server@.service
#%systemd_post athena-ice-server.service
#%systemd_post athena-ice-server@.service
%systemd_post athena-server.target
%systemd_post athena-server@.target
%preun
%systemd_preun athena-server.target
%systemd_preun athena-server@.target
%systemd_preun athena-assignment-client.service
%systemd_preun athena-assignment-client@.service
%systemd_preun athena-domain-server.service
%systemd_preun athena-domain-server@.service
#%systemd_preun athena-ice-server.service
#%systemd_preun athena-ice-server@.service
%postun
%systemd_postun_with_restart athena-server.target
%systemd_postun_with_restart athena-server@.target
%systemd_postun_with_restart athena-assignment-client.service
%systemd_postun_with_restart athena-assignment-client@.service
%systemd_postun_with_restart athena-domain-server.service
%systemd_postun_with_restart athena-domain-server@.service
#%systemd_postun_with_restart athena-ice-server.service
#%systemd_postun_with_restart athena-ice-server@.service

View file

@ -0,0 +1,11 @@
[Unit]
Description=Athena virtual domain
Wants=athena-assignment-client.service
Wants=athena-domain-server.service
#Wants=athena-ice-server.service
After=athena-assignment-client.service
After=athena-domain-server.service
#After=athena-ice-server.service
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,11 @@
[Unit]
Description=Athena virtual domain
Wants=athena-assignment-client@%i.service
Wants=athena-domain-server@%i.service
#Wants=athena-ice-server@%i.service
After=athena-assignment-client@%i.service
After=athena-domain-server@%i.service
#After=athena-ice-server@%i.service
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,76 @@
[supervisord]
user=athena
nodaemon=true
environment=HOME="/var/lib/athena",USER="athena",LD_LIBRARY_PATH="/opt/athena/lib"
logfile=/dev/stdout
logfile_maxbytes=0
pidfile=/var/run/supervisord.pid
[program:domain-server]
command=/opt/athena/domain-server
autorestart=unexpected
directory=/opt/athena
[program:audio-mixer]
command=/opt/athena/assignment-client -t 0 -a localhost -p 48000
autorestart=unexpected
directory=/opt/athena
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
[program:avatar-mixer]
command=/opt/athena/assignment-client -t 1 -a localhost -p 48001
autorestart=unexpected
directory=/opt/athena
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
[program:entities-server]
command=/opt/athena/assignment-client -t 6 -a localhost -p 48006
autorestart=unexpected
directory=/opt/athena
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
[program:asset-server]
command=/opt/athena/assignment-client -t 3 -a localhost -p 48003
autorestart=unexpected
directory=/opt/athena
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
[program:entity-script-server]
command=/opt/athena/assignment-client -t 5 -a localhost -p 48005
autorestart=unexpected
directory=/opt/athena
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
[program:messages-mixer]
command=/opt/athena/assignment-client -t 4 -a localhost -p 48004
autorestart=unexpected
directory=/opt/athena
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
[program:scripted-agent]
command=/opt/athena/assignment-client -t 2 -a localhost --max 100
autorestart=unexpected
directory=/opt/athena
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

View file

@ -0,0 +1,33 @@
#!/bin/sh
set -x
# In Prod, this may be configured with a GID already matching the container
# allowing the container to be run directly as Jenkins. In Dev, or on unknown
# environments, run the container as root to automatically correct docker
# group in container to match the docker.sock GID mounted from the host.
if [ -f /var/lib/athena/.local -a "$(id -u)" = "0" ]; then
# realign gid
THIS_ATHENA_GID=`ls -ngd /var/lib/athena/.local | cut -f3 -d' '`
CUR_ATHENA_GID=`getent group athena | cut -f3 -d: || true`
if [ ! -z "$THIS_ATHENA_GID" -a "$THIS_ATHENA_GID" != "$CUR_ATHENA_GID" ]; then
groupmod -g ${THIS_ATHENA_GID} -o athena
fi
# realign pid
THIS_ATHENA_PID=`ls -nd /var/lib/athena/.local | cut -f3 -d' '`
CUR_ATHENA_PID=`getent passwd athena | cut -f3 -d: || true`
if [ ! -z "$THIS_ATHENA_PID" -a "$THIS_ATHENA_PID" != "$CUR_ATHENA_PID" ]; then
usermod -u ${THIS_ATHENA_PID} -o athena
fi
if ! groups athena | grep -q athena; then
usermod -aG athena athena
fi
fi
chmod 777 /dev/stdout
chmod 777 /dev/stderr
# continue with CMD
exec "$@"

110
pkg-scripts/make-deb-server Executable file
View file

@ -0,0 +1,110 @@
#!/bin/sh
if [ "$ATHENA" = "" ]; then
ATHENA=`realpath ../..`
fi
GITDATE=`git -C $ATHENA/source log -n 1 --format=raw | grep author | cut -d">" -f 2 | cut -d" " -f 2 | xargs -I {} date -d @{} +"%Y%m%d"`
GITCOMMIT=`git -C $ATHENA/source rev-parse HEAD | cut -c 1-7`
VERSION=0.86.0-k2-$GITDATE-$GITCOMMIT
sudo apt-get install chrpath binutils dh-make
DEB_BUILD_ROOT=temp-make-deb/athena-server-$VERSION-0ubuntu1
rm -r temp-make-deb
mkdir -p $DEB_BUILD_ROOT
# copy the files over
cp $ATHENA/build/assignment-client/assignment-client $DEB_BUILD_ROOT
cp $ATHENA/build/domain-server/domain-server $DEB_BUILD_ROOT
cp $ATHENA/build/tools/oven/oven $DEB_BUILD_ROOT
cp $ATHENA/build/libraries/*/*.so $DEB_BUILD_ROOT
#cp $ATHENA/build/ice-server/ice-server $DEB_BUILD_ROOT
chrpath -d $DEB_BUILD_ROOT/*
cp $ATHENA/qt5-install/lib/libQt5Network.so.*.*.* $DEB_BUILD_ROOT
cp $ATHENA/qt5-install/lib/libQt5Core.so.*.*.* $DEB_BUILD_ROOT
cp $ATHENA/qt5-install/lib/libQt5Widgets.so.*.*.* $DEB_BUILD_ROOT
cp $ATHENA/qt5-install/lib/libQt5Gui.so.*.*.* $DEB_BUILD_ROOT
cp $ATHENA/qt5-install/lib/libQt5Script.so.*.*.* $DEB_BUILD_ROOT
cp $ATHENA/qt5-install/lib/libQt5Quick.so.*.*.* $DEB_BUILD_ROOT
cp $ATHENA/qt5-install/lib/libQt5WebSockets.so.*.*.* $DEB_BUILD_ROOT
cp $ATHENA/qt5-install/lib/libQt5Qml.so.*.*.* $DEB_BUILD_ROOT
cp $ATHENA/qt5-install/lib/libQt5ScriptTools.so.*.*.* $DEB_BUILD_ROOT
cp $ATHENA/build/ext/makefiles/quazip/project/lib/libquazip5.so.*.*.* $DEB_BUILD_ROOT
chmod +x $DEB_BUILD_ROOT/*.so.*.*.*
strip --strip-all $DEB_BUILD_ROOT/*
cp $ATHENA/source/pkg-scripts/new-server $DEB_BUILD_ROOT
cp -a $ATHENA/source/domain-server/resources $DEB_BUILD_ROOT
find $DEB_BUILD_ROOT/resources -name ".gitignore" -delete
find $DEB_BUILD_ROOT/resources -type f -executable -exec sh -c 'chmod -x {}' \;
cp $ATHENA/source/README.md $DEB_BUILD_ROOT
cp $ATHENA/source/README_hifi.md $DEB_BUILD_ROOT
cp -a $ATHENA/build/assignment-client/plugins $DEB_BUILD_ROOT
strip --strip-all $DEB_BUILD_ROOT/plugins/*.so
strip --strip-all $DEB_BUILD_ROOT/plugins/*/*.so
#begin the debian package construction
cd $DEB_BUILD_ROOT
dh_make -p athena-server_$VERSION-0ubuntu1 -c apache -s --createorig -y
cp $ATHENA/source/pkg-scripts/athena-assignment-client.service debian
cp $ATHENA/source/pkg-scripts/athena-assignment-client@.service debian
cp $ATHENA/source/pkg-scripts/athena-domain-server.service debian
cp $ATHENA/source/pkg-scripts/athena-domain-server@.service debian
#cp $ATHENA/source/pkg-scripts/athena-ice-server.service debian
#cp $ATHENA/source/pkg-scripts/athena-ice-server@.service debian
cp $ATHENA/source/pkg-scripts/athena-server.target debian
cp $ATHENA/source/pkg-scripts/athena-server@.target debian
cp $ATHENA/source/pkg-scripts/server-control debian/control
cp $ATHENA/source/pkg-scripts/server-prerm debian/prerm
cp $ATHENA/source/pkg-scripts/server-postinst debian/postinst
cp $ATHENA/source/LICENSE debian/copyright
echo /etc/opt/athena > debian/dirs
echo /var/lib/athena >> debian/dirs
echo README.md > debian/docs
echo README_hifi.md >> debian/docs
echo assignment-client opt/athena > debian/install
echo domain-server opt/athena >> debian/install
echo oven opt/athena >> debian/install
#echo ice-server opt/athena >> debian/install
echo new-server opt/athena >> debian/install
for so in *.so.*.*.*; do
echo $so opt/athena/lib >> debian/install
done
for so in *.so; do
echo $so opt/athena/lib >> debian/install
done
#for service in *.service; do
# echo $service opt/athena/systemd >> debian/install
#done
#for target in *.target; do
# echo $target opt/athena/systemd >> debian/install
#done
find resources -type f -exec sh -c 'echo {} opt/athena/$(dirname "{}") >> debian/install' \;
find plugins -type f -exec sh -c 'echo {} opt/athena/$(dirname "{}") >> debian/install' \;
#echo usr/lib/systemd/system/athena-assignment-client.service opt/athena/systemd/athena-assignment-client.service > debian/athena-server.links
#echo usr/lib/systemd/system/athena-assignment-client@.service opt/athena/systemd/athena-assignment-client@.service >> debian/athena-server.links
#echo usr/lib/systemd/system/athena-domain-server.service opt/athena/systemd/athena-domain-server.service >> debian/athena-server.links
#echo usr/lib/systemd/system/athena-domain-server@.service opt/athena/systemd/athena-domain-server@.service >> debian/athena-server.links
##echo usr/lib/systemd/system/athena-ice-server.service opt/athena/systemd/athena-ice-server.service >> debian/athena-server.links
##echo usr/lib/systemd/system/athena-ice-server@.service opt/athena/systemd/athena-ice-server@.service >> debian/athena-server.links
#echo usr/lib/systemd/system/athena-server.target opt/athena/systemd/athena-server.target >> debian/athena-server.links
#echo usr/lib/systemd/system/athena-server@.target opt/athena/systemd/athena-server@.target >> debian/athena-server.links
SOFILES=`ls *.so *.so.*.*.* | sed 's/\./\\\./g' | paste -d'|' -s`
DEPENDS=`find * -type f -executable -exec sh -c 'objdump -p {} | grep NEEDED' \; | awk '{print $2}' | sort | uniq | egrep -v "^($SOFILES)$" | xargs -n 1 -I {} sh -c 'dpkg -S {} | head -n 1' | cut -d ':' -f 1 | sort | uniq | paste -d',' -s`
cp $ATHENA/source/pkg-scripts/server-rules debian/rules
sed "s/{DEPENDS}/$DEPENDS/" $ATHENA/source/pkg-scripts/server-control > debian/control
dpkg-buildpackage -us -uc
cd ..
mv *.deb ..
cd ..

60
pkg-scripts/make-docker-server Executable file
View file

@ -0,0 +1,60 @@
#!/bin/sh
if [ "$ATHENA" = "" ]; then
ATHENA=`realpath ../..`
fi
GITSRC=`git -C $ATHENA/source config --get remote.origin.url | cut -d':' -f 2`
GITDATE=`git -C $ATHENA/source log -n 1 --format=raw | grep author | cut -d">" -f 2 | cut -d" " -f 2 | xargs -I {} date -d @{} +"%Y%m%d"`
GITCOMMIT=`git -C $ATHENA/source rev-parse HEAD | cut -c 1-7`
sudo apt-get install chrpath binutils
DOCK_BUILD_ROOT=temp-make-dock
rm -r temp-make-dock
mkdir -p $DOCK_BUILD_ROOT
cp $ATHENA/source/pkg-scripts/Dockerfile.templ $DOCK_BUILD_ROOT/Dockerfile
cp $ATHENA/source/pkg-scripts/docker-entrypoint.sh $DOCK_BUILD_ROOT/entrypoint.sh
cp $ATHENA/source/pkg-scripts/docker-athena-supervisor.conf $DOCK_BUILD_ROOT/athena.conf
# copy the files over
mkdir -p $DOCK_BUILD_ROOT/opt
cp $ATHENA/build/assignment-client/assignment-client $DOCK_BUILD_ROOT/opt
cp $ATHENA/build/domain-server/domain-server $DOCK_BUILD_ROOT/opt
cp $ATHENA/build/tools/oven/oven $DOCK_BUILD_ROOT/opt
#cp $ATHENA/build/ice-server/ice-server $DOCK_BUILD_ROOT/opt
strip --strip-all $DOCK_BUILD_ROOT/opt/*
chrpath -d $DOCK_BUILD_ROOT/opt/*
cp -a $ATHENA/build/assignment-client/plugins $DOCK_BUILD_ROOT/opt
strip --strip-all $DOCK_BUILD_ROOT/opt/plugins/*.so
chrpath -d $DOCK_BUILD_ROOT/opt/plugins/*.so
strip --strip-all $DOCK_BUILD_ROOT/opt/plugins/*/*.so
chrpath -d $DOCK_BUILD_ROOT/opt/plugins/*/*.so
cp -a $ATHENA/source/domain-server/resources $DOCK_BUILD_ROOT/opt
find $DOCK_BUILD_ROOT/opt/resources -name ".gitignore" -delete
find $DOCK_BUILD_ROOT/opt/resources -type f -executable -exec sh -c 'chmod -x {}' \;
mkdir -p $DOCK_BUILD_ROOT/lib
cp $ATHENA/build/libraries/*/*.so $DOCK_BUILD_ROOT/lib
cp $ATHENA/qt5-install/lib/libQt5Network.so.*.*.* $DOCK_BUILD_ROOT/lib
cp $ATHENA/qt5-install/lib/libQt5Core.so.*.*.* $DOCK_BUILD_ROOT/lib
cp $ATHENA/qt5-install/lib/libQt5Widgets.so.*.*.* $DOCK_BUILD_ROOT/lib
cp $ATHENA/qt5-install/lib/libQt5Gui.so.*.*.* $DOCK_BUILD_ROOT/lib
cp $ATHENA/qt5-install/lib/libQt5Script.so.*.*.* $DOCK_BUILD_ROOT/lib
cp $ATHENA/qt5-install/lib/libQt5Quick.so.*.*.* $DOCK_BUILD_ROOT/lib
cp $ATHENA/qt5-install/lib/libQt5WebSockets.so.*.*.* $DOCK_BUILD_ROOT/lib
cp $ATHENA/qt5-install/lib/libQt5Qml.so.*.*.* $DOCK_BUILD_ROOT/lib
cp $ATHENA/qt5-install/lib/libQt5ScriptTools.so.*.*.* $DOCK_BUILD_ROOT/lib
cp $ATHENA/build/ext/makefiles/quazip/project/lib/libquazip5.so.*.*.* $DOCK_BUILD_ROOT/lib
chmod +x $DOCK_BUILD_ROOT/lib/*
strip --strip-all $DOCK_BUILD_ROOT/lib/*
chrpath -d $DOCK_BUILD_ROOT/lib/*
ldconfig -n $DOCK_BUILD_ROOT/lib
SOFILES=`ls $DOCK_BUILD_ROOT/lib | sed 's/\./\\\./g' | paste -d'|' -s`
DEPENDS=`find $DOCK_BUILD_ROOT/opt $DOCK_BUILD_ROOT/lib -type f -executable -exec sh -c 'objdump -p {} | grep NEEDED' \; | awk '{print $2}' | sort | uniq | egrep -v "^($SOFILES)$" | xargs -n 1 -I {} sh -c 'dpkg -S {} | head -n 1' | cut -d ':' -f 1 | sort | uniq | paste -d' ' -s`
cd $DOCK_BUILD_ROOT
docker build -t odysseus654/athena-server --build-arg "DEPENDS=$DEPENDS" --build-arg "GITSRC=$GITSRC" --build-arg "GITDATE=$GITDATE" --build-arg "GITCOMMIT=$GITCOMMIT" .

56
pkg-scripts/make-rpm-server Executable file
View file

@ -0,0 +1,56 @@
#!/bin/sh
if [ "$ATHENA" = "" ]; then
ATHENA=`realpath ../..`
fi
GITDATE=`git -C $ATHENA/source log -n 1 --format=raw | grep author | cut -d">" -f 2 | cut -d" " -f 2 | xargs -I {} date -d @{} +"%Y%m%d"`
GITCOMMIT=`git -C $ATHENA/source rev-parse HEAD | cut -c 1-7`
VERSION=0.86.0_K2_${GITDATE}_${GITCOMMIT}
SOFILES=`ls \
$ATHENA/build/libraries/*/*.so \
$ATHENA/qt5-install/lib/libQt5Network.so.*.*.* \
$ATHENA/qt5-install/lib/libQt5Core.so.*.*.* \
$ATHENA/qt5-install/lib/libQt5Widgets.so.*.*.* \
$ATHENA/qt5-install/lib/libQt5Gui.so.*.*.* \
$ATHENA/qt5-install/lib/libQt5Script.so.*.*.* \
$ATHENA/qt5-install/lib/libQt5Quick.so.*.*.* \
$ATHENA/qt5-install/lib/libQt5WebSockets.so.*.*.* \
$ATHENA/qt5-install/lib/libQt5Qml.so.*.*.* \
$ATHENA/qt5-install/lib/libQt5ScriptTools.so.*.*.* \
$ATHENA/build/ext/makefiles/quazip/project/lib/libquazip5.so.*.*.* \
| sed 's/\./\\\./g' \
| paste -d'|' -s`
DEPENDS=mesa-libGL,`ls \
$ATHENA/build/assignment-client/assignment-client \
$ATHENA/build/domain-server/domain-server \
$ATHENA/build/tools/oven/oven \
$ATHENA/build/libraries/*/*.so \
$ATHENA/qt5-install/lib/libQt5Network.so.*.*.* \
$ATHENA/qt5-install/lib/libQt5Core.so.*.*.* \
$ATHENA/qt5-install/lib/libQt5Widgets.so.*.*.* \
$ATHENA/qt5-install/lib/libQt5Gui.so.*.*.* \
$ATHENA/qt5-install/lib/libQt5Script.so.*.*.* \
$ATHENA/qt5-install/lib/libQt5Quick.so.*.*.* \
$ATHENA/qt5-install/lib/libQt5WebSockets.so.*.*.* \
$ATHENA/qt5-install/lib/libQt5Qml.so.*.*.* \
$ATHENA/qt5-install/lib/libQt5ScriptTools.so.*.*.* \
$ATHENA/build/ext/makefiles/quazip/project/lib/libquazip5.so.*.*.* \
$ATHENA/build/assignment-client/plugins/*.so \
$ATHENA/build/assignment-client/plugins/*/*.so \
| xargs -I {} sh -c 'objdump -p {} | grep NEEDED' \
| awk '{print $2}' \
| sort | uniq \
| egrep -v "^($SOFILES)$" \
| grep -v ^libGL \
| xargs -I {} sh -c "ldconfig -p | grep {} | tr ' ' '\n' | grep /" \
| xargs rpm -qf --queryformat "%{NAME}\n" \
| sort | uniq \
| paste -d',' -s`
sudo yum install chrpath
export VERSION DEPENDS ATHENA
rpmbuild --target x86_64 -bb ./athena-server.spec
mv ~/rpmbuild/RPMS/x86_64/*.rpm .

49
pkg-scripts/new-server Executable file
View file

@ -0,0 +1,49 @@
#!/bin/sh
if [ -z "$1" ] || [ -z "$2" ]; then
echo "new-server {name} {base-port}"
echo
echo "Sets up a new athena server with the specified name and base port number"
echo " {name} - a simple name used to identify the server to scripts (not used in the server configuration)"
echo " {base-port} - the base port number (default server is 40100). The metaverse port will be {base-port}+2"
echo " Four contiguous port numbers are allocated, these must not overlap with other running services on this machine"
echo
echo "Launching a server created by this script is done with:"
echo " sudo systemctl start athena-server@{name}.target"
echo
exit 1
fi
if [ "$(id -u)" -ne 0 ]; then
echo "new-server {name} {base-port}"
echo
echo 'This script must be run by root' >&2
exit 1
fi
if [ -d "/var/lib/athena/$1" ]; then
echo "Path /var/lib/athena/$1 already exists"
echo
echo "Please remove this path first if you wish to recreate this server"
exit 2
fi
mkdir -p /var/lib/athena/$1/.local/share
ln -s ../.. /var/lib/athena/$1/.local/share/Project\ Athena\ -\ dev
ln -s ../.. /var/lib/athena/$1/.local/share/Project\ Athena
mkdir -p /var/lib/athena/$1/domain-server
echo "{\"metaverse\": {\"local_port\": $(($2 + 2))},\"version\": 2.4}" > /var/lib/athena/$1/domain-server/config.json
chown -R athena.athena /var/lib/athena/$1
echo HIFI_DOMAIN_SERVER_HTTP_PORT=$2 > /etc/opt/athena/$1.conf
echo HIFI_DOMAIN_SERVER_HTTPS_PORT=$(($2 + 1)) >> /etc/opt/athena/$1.conf
echo HIFI_DOMAIN_SERVER_PORT=$(($2 + 2)) >> /etc/opt/athena/$1.conf
echo HIFI_DOMAIN_SERVER_DTLS_PORT=$(($2 + 3)) >> /etc/opt/athena/$1.conf
echo "A new athena server has been created with the name of '$1'"
echo
echo "To launch it:"
echo " sudo systemctl start athena-server@$1.target"
echo "To have it launch at system start:"
echo " sudo systemctl enable athena-server@$1.target"
echo "The server configuration console is available at:"
echo " http://localhost:$2"

View file

@ -0,0 +1,15 @@
Source: athena-server
Section: comm
Priority: optional
Maintainer: Heather Anderson <heath@odysseus.anderson.name>
Build-Depends: debhelper (>= 10)
Standards-Version: 4.1.2
Homepage: https://www.projectathena.dev
Vcs-Git: https://github.com/kasenvr/project-athena.git
Vcs-Browser: https://github.com/kasenvr/project-athena
Package: athena-server
Architecture: any
Depends: adduser, {DEPENDS}
Description: Project Athena allows creation and sharing of VR experiences.
The Project Athena metaverse provides built-in social features, including avatar interactions, spatialized audio and interactive physics. Additionally, you have the ability to import any 3D object into your virtual environment.

53
pkg-scripts/server-postinst Executable file
View file

@ -0,0 +1,53 @@
#!/bin/sh
# postinst script for athena-server
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <postinst> `abort-remove'
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
configure)
ldconfig -n /opt/athena/lib
adduser --system --quiet --gecos "Project Athena" --home /var/lib/athena --group --no-create-home athena
mkdir -p /var/lib/athena
chown athena:athena /var/lib/athena
chmod 775 /var/lib/athena
if [ ! -d "/var/lib/athena/default" ]; then
/opt/athena/new-server default 40100
systemctl enable athena-server@default.target
systemctl start athena-server@default.target
fi
;;
abort-remove|abort-deconfigure)
ldconfig -n /opt/athena/lib
;;
abort-upgrade)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

42
pkg-scripts/server-prerm Executable file
View file

@ -0,0 +1,42 @@
#!/bin/sh
# prerm script for athena-server
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <prerm> `remove'
# * <old-prerm> `upgrade' <new-version>
# * <new-prerm> `failed-upgrade' <old-version>
# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
# * <deconfigured's-prerm> `deconfigure' `in-favour'
# <package-being-installed> <version> `removing'
# <conflicting-package> <version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
remove)
find -P /opt/athena/lib -type l -delete
;;
upgrade|deconfigure)
;;
failed-upgrade)
;;
*)
echo "prerm called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

55
pkg-scripts/server-rules Executable file
View file

@ -0,0 +1,55 @@
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
#export DH_VERBOSE = 1
# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
%:
dh $@ --with=systemd
override_dh_systemd_enable:
dh_systemd_enable --no-enable --name athena-assignment-client athena-assignment-client.service
dh_systemd_enable --no-enable --name athena-assignment-client@ athena-assignment-client@.service
dh_systemd_enable --no-enable --name athena-domain-server athena-domain-server.service
dh_systemd_enable --no-enable --name athena-domain-server@ athena-domain-server@.service
#dh_systemd_enable --no-enable --name athena-ice-server athena-ice-server.service
#dh_systemd_enable --no-enable --name athena-ice-server@ athena-ice-server@.service
dh_systemd_enable --no-enable --name athena-server athena-server.target
dh_systemd_enable --no-enable --name athena-server@ athena-server@.target
#dh_systemd_enable --name athena-server@default athena-server@default.target
override_dh_systemd_start:
dh_systemd_start --restart-after-upgrade --no-start athena-assignment-client.service
dh_systemd_start --restart-after-upgrade --no-start athena-assignment-client@.service
dh_systemd_start --restart-after-upgrade --no-start athena-domain-server.service
dh_systemd_start --restart-after-upgrade --no-start athena-domain-server@.service
#dh_systemd_start --restart-after-upgrade --no-start athena-ice-server.service
#dh_systemd_start --restart-after-upgrade --no-start athena-ice-server@.service
dh_systemd_start --restart-after-upgrade --no-start athena-server.target
dh_systemd_start --restart-after-upgrade --no-start athena-server@.target
#dh_systemd_start --restart-after-upgrade athena-server@default.target
override_dh_installinit:
dh_installinit --noscripts
override_dh_shlibdeps:
# don't run sh_shlibdeps, it REALLY won't work. We do it ourselves anyhow
override_dh_strip:
# don't run dh_strip, we do it ourselves anyhow and we want failures to be non-fatal
# dh_make generated override targets
# This is example for Cmake (See https://bugs.debian.org/641051 )
#override_dh_auto_configure:
# dh_auto_configure -- # -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH)

View file

@ -1,57 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
x="0px"
y="0px"
viewBox="0 0 50 50"
style="enable-background:new 0 0 50 50;"
xml:space="preserve"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="goto-a.svg"><metadata
id="metadata14"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs12" /><sodipodi:namedview
pagecolor="#ff0000"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="852"
inkscape:window-height="480"
id="namedview10"
showgrid="false"
inkscape:zoom="4.72"
inkscape:cx="25"
inkscape:cy="25"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" /><style
type="text/css"
id="style4">
.st0{fill:#FFFFFF;}
.st1{fill:#EF3B4E;}
</style>
<circle class="st1" cx="44.1" cy="6" r="5.6"/>
<g
id="Layer_2" /><g
id="Layer_1"
style="fill:#000000;fill-opacity:1"><path
class="st0"
d="M47.2,41.3l-9.1-9.1c-0.8-0.8-1.9-1.1-3-1l-2.4-2.4c1.8-2.6,2.8-5.7,2.8-9c0-8.9-7.2-16.1-16.1-16.1 S3.3,11,3.3,19.8c0,8.9,7.2,16.1,16.1,16.1c4.1,0,7.8-1.5,10.6-4l2.2,2.2c-0.2,1.1,0.1,2.2,1,3l9.1,9.1c1.4,1.4,3.6,1.4,4.9,0 C48.5,44.9,48.5,42.7,47.2,41.3z M19.4,32.2c-6.8,0-12.3-5.5-12.3-12.3c0-6.8,5.5-12.3,12.3-12.3s12.3,5.5,12.3,12.3 C31.8,26.6,26.2,32.2,19.4,32.2z"
id="path8"
style="fill:#000000;fill-opacity:1" /></g></svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

View file

@ -1,54 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
x="0px"
y="0px"
viewBox="0 0 50 50"
style="enable-background:new 0 0 50 50;"
xml:space="preserve"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="goto-a.svg"><metadata
id="metadata14"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs12" /><sodipodi:namedview
pagecolor="#ff0000"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="852"
inkscape:window-height="480"
id="namedview10"
showgrid="false"
inkscape:zoom="4.72"
inkscape:cx="25"
inkscape:cy="25"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" /><style
type="text/css"
id="style4">
.st0{fill:#FFFFFF;}
</style><g
id="Layer_2" /><g
id="Layer_1"
style="fill:#000000;fill-opacity:1"><path
class="st0"
d="M47.2,41.3l-9.1-9.1c-0.8-0.8-1.9-1.1-3-1l-2.4-2.4c1.8-2.6,2.8-5.7,2.8-9c0-8.9-7.2-16.1-16.1-16.1 S3.3,11,3.3,19.8c0,8.9,7.2,16.1,16.1,16.1c4.1,0,7.8-1.5,10.6-4l2.2,2.2c-0.2,1.1,0.1,2.2,1,3l9.1,9.1c1.4,1.4,3.6,1.4,4.9,0 C48.5,44.9,48.5,42.7,47.2,41.3z M19.4,32.2c-6.8,0-12.3-5.5-12.3-12.3c0-6.8,5.5-12.3,12.3-12.3s12.3,5.5,12.3,12.3 C31.8,26.6,26.2,32.2,19.4,32.2z"
id="path8"
style="fill:#000000;fill-opacity:1" /></g></svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

View file

@ -11,7 +11,7 @@
<html>
<head>
<title>GoTo Decentral</title>
<title>Explore</title>
<link href="bootstrap.min.css" rel="stylesheet">
<style>
.myButton {
@ -40,8 +40,6 @@
top: 1px;
}
.myButtonB {
box-shadow: 3px 4px 0px 0px #899599;
background: linear-gradient(to bottom, #ededed 5%, #bab1ba 100%);
@ -103,13 +101,16 @@
<body onload="retrieveInformation()">
<h1>Add Location</h1><br>
<h3>Metaverse Provider URL</h3>
<h3>Location List Provider URL</h3>
<select id="javascriptURL">
</select>
<h3>Domain Name</h3>
<input type="text" id="domainName" placeholder="Enter Domain Name here">
<h3>Owner</h3>
<input type="text" id="owner" placeholder="Enter Owner here">
<h3>Port</h3>
<input type="text" id="port" placeholder="Enter Port here (default 40102)"><br><br>

View file

@ -1,59 +1,59 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Layer_1"
x="0px"
y="0px"
viewBox="0 0 50 50"
style="enable-background:new 0 0 50 50;"
xml:space="preserve"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="explore-a.svg"><metadata
id="metadata18"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
id="defs16" /><sodipodi:namedview
pagecolor="#ff0000"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1062"
inkscape:window-height="481"
id="namedview14"
showgrid="false"
inkscape:zoom="4.72"
inkscape:cx="29.375221"
inkscape:cy="25"
inkscape:window-x="759"
inkscape:window-y="32"
inkscape:window-maximized="0"
inkscape:current-layer="Layer_1" /><style
type="text/css"
id="style3">
.st0{fill:#FFFFFF;}
</style><g
id="Layer_2" /><g
style="display:inline;fill:#aaccff;stroke:#000000"
id="g5138"
transform="matrix(0.09456523,0,0,0.09456523,5.5165215,5.1539559)"><path
id="path5124"
d="m 209,15 a 195,195 0 1 0 2,0 z"
inkscape:connector-curvature="0"
style="fill:#aaccff;stroke-width:26" /><path
id="path5126"
d="M 210,15 V 405 M 405,210 H 15 M 59,90 a 260,260 0 0 0 302,0 m 0,240 A 260,260 0 0 0 59,330 M 195,20 a 250,250 0 0 0 0,382 m 30,0 a 250,250 0 0 0 0,-382"
inkscape:connector-curvature="0"
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Layer_1"
x="0px"
y="0px"
viewBox="0 0 50 50"
style="enable-background:new 0 0 50 50;"
xml:space="preserve"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="explore-a.svg"><metadata
id="metadata18"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
id="defs16" /><sodipodi:namedview
pagecolor="#ff0000"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1062"
inkscape:window-height="481"
id="namedview14"
showgrid="false"
inkscape:zoom="4.72"
inkscape:cx="29.375221"
inkscape:cy="25"
inkscape:window-x="759"
inkscape:window-y="32"
inkscape:window-maximized="0"
inkscape:current-layer="Layer_1" /><style
type="text/css"
id="style3">
.st0{fill:#FFFFFF;}
</style><g
id="Layer_2" /><g
style="display:inline;fill:#aaccff;stroke:#000000"
id="g5138"
transform="matrix(0.09456523,0,0,0.09456523,5.5165215,5.1539559)"><path
id="path5124"
d="m 209,15 a 195,195 0 1 0 2,0 z"
inkscape:connector-curvature="0"
style="fill:#aaccff;stroke-width:26" /><path
id="path5126"
d="M 210,15 V 405 M 405,210 H 15 M 59,90 a 260,260 0 0 0 302,0 m 0,240 A 260,260 0 0 0 59,330 M 195,20 a 250,250 0 0 0 0,382 m 30,0 a 250,250 0 0 0 0,-382"
inkscape:connector-curvature="0"
style="fill:#aaccff;stroke-width:18" /></g></svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

@ -1,5 +1,5 @@
<!--
// decentralizedGoTo.html
// explore.html
//
// Created by Darlingnotin in 2019.
// Copyright 2019 Darlingnotin
@ -11,7 +11,7 @@
<html>
<head>
<title>GoTo Decentral</title>
<title>Explore</title>
<link href="bootstrap.min.css" rel="stylesheet">
<style>
.myButton {
@ -72,7 +72,7 @@
<body onload="retrieveAddressList()">
<h3>Decentralized GoTo</h3>
<h3>Explore</h3>
<input type="text" id="domainAddressInput" placeholder="Type domain address here">
@ -116,7 +116,7 @@
myAddress = messageData.myAddress;
createTableFromJSON();
if (messageData.permission) {
document.getElementById("addLocation").innerHTML = "<button class=\"myButton\" onclick=\"window.location.href = 'addLocation.html';\">Add Location To GoTo</button>";
document.getElementById("addLocation").innerHTML = "<button class=\"myButton\" onclick=\"window.location.href = 'addLocation.html';\">Add Location To Explore</button>";
}
}
});

View file

@ -1,4 +1,4 @@
// decentralizedGoTo.js
// explore.js
//
// Created by Darlingnotin in 2019.
// Copyright 2019 Darlingnotin
@ -10,7 +10,7 @@
// See the accompanying file LICENSE or https://opensource.org/licenses/ISC
(function () {
var defaultGoToJSON = "https://metaverse.projectathena.io/interim/d-goto/app/goto.json";
var defaultGoToJSON = "https://metaverse.vircadia.com/interim/d-goto/app/goto.json";
var tablet = Tablet.getTablet("com.highfidelity.interface.tablet.system");
Menu.menuItemEvent.connect(onMenuItemEvent);
@ -41,7 +41,7 @@
ui = new AppUi({
buttonName: "EXPLORE",
home: Script.resolvePath("decentralizedGoTo.html"),
home: Script.resolvePath("explore.html"),
graphicsDirectory: scriptDir
});
}
@ -84,18 +84,26 @@
Window.location = messageData.visit;
} else if (messageData.action == "addLocation") {
var messageDataDomainInformation = {
var locationBoxUserData = {
owner: messageData.owner,
domainName: messageData.domainName,
port: messageData.Port
port: messageData.Port,
grabbableKey: {
grabbable: false
}
};
var locationBoxName = "Explore Marker (" + messageData.domainName + ")";
locationboxID = Entities.addEntity({
position: Vec3.sum(MyAvatar.position, Quat.getFront(MyAvatar.orientation)),
userData: JSON.stringify(messageDataDomainInformation),
userData: JSON.stringify(locationBoxUserData),
serverScripts: messageData.script,
color: { red: 255, green: 0, blue: 0 },
type: "Box"
type: "Box",
name: locationBoxName,
collisionless: true,
grabbable: false
});
} else if (messageData.action == "retrievePortInformation") {
var readyEvent = {

View file

@ -1,260 +1,260 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
x="0px"
y="0px"
viewBox="0 0 50 200.1"
style="enable-background:new 0 0 50 200.1;"
xml:space="preserve"
id="svg125"
sodipodi:docname="Explore.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"><metadata
id="metadata131"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
id="defs129" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1017"
id="namedview127"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
inkscape:zoom="5.6568542"
inkscape:cx="18.340874"
inkscape:cy="67.670896"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer6"><sodipodi:guide
position="14.125,99.999998"
orientation="0,1"
id="guide204"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="-85.689885,150"
orientation="0,1"
id="guide206"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="-93.693885,49.999999"
orientation="0,1"
id="guide208"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="-93.458473,0"
orientation="0,1"
id="guide210"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="-62.619531,200"
orientation="0,1"
id="guide212"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="20.995787,157.79945"
orientation="0,1"
id="guide214"
inkscape:locked="false" /><sodipodi:guide
position="22.746663,107.80388"
orientation="0,1"
id="guide216"
inkscape:locked="false" /><sodipodi:guide
position="22.776089,57.704999"
orientation="0,1"
id="guide218"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="20.716236,7.5989999"
orientation="0,1"
id="guide220"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="13.21875,164.20312"
orientation="0,1"
id="guide230"
inkscape:locked="false" /><sodipodi:guide
position="18.292969,164.20703"
orientation="0,1"
id="guide5167"
inkscape:locked="false" /><sodipodi:guide
position="19.776893,114.21984"
orientation="0,1"
id="guide5169"
inkscape:locked="false" /><sodipodi:guide
position="18.473165,64.114696"
orientation="0,1"
id="guide5171"
inkscape:locked="false" /><sodipodi:guide
position="18.649941,14.009553"
orientation="0,1"
id="guide5173"
inkscape:locked="false" /></sodipodi:namedview>
<style
type="text/css"
id="style10">
.st0{fill:#414042;}
.st1{fill:#FFFFFF;}
.st2{fill:#1E1E1E;}
.st3{fill:#333333;}
</style>
<g
id="Layer_3">
</g>
<g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="Base"
style="display:inline"><g
id="Layer_2">
<g
id="g16">
<g
id="g14">
<path
class="st0"
d="m 50.1,146.1 c 0,2.2 -1.8,4 -4,4 h -42 c -2.2,0 -4,-1.8 -4,-4 v -42 c 0,-2.2 1.8,-4 4,-4 h 42 c 2.2,0 4,1.8 4,4 z"
id="path12"
inkscape:connector-curvature="0"
style="fill:#414042" />
</g>
</g>
<g
id="g22">
<g
id="g20">
<path
class="st0"
d="m 50,196.1 c 0,2.2 -1.8,4 -4,4 H 4 c -2.2,0 -4,-1.8 -4,-4 v -42 c 0,-2.2 1.8,-4 4,-4 h 42 c 2.2,0 4,1.8 4,4 z"
id="path18"
inkscape:connector-curvature="0"
style="fill:#414042" />
</g>
</g>
<g
id="g28">
<g
id="g26">
<path
class="st1"
d="m 50,46 c 0,2.2 -1.8,4 -4,4 H 4 C 1.8,50 0,48.2 0,46 V 4 C 0,1.8 1.8,0 4,0 h 42 c 2.2,0 4,1.8 4,4 z"
id="path24"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
</g>
</g>
<g
id="g32">
<path
class="st2"
d="m 50,96.1 c 0,2.2 -1.8,4 -4,4 H 4 c -2.2,0 -4,-1.8 -4,-4 v -42 c 0,-2.2 1.8,-4 4,-4 h 42 c 2.2,0 4,1.8 4,4 z"
id="path30"
inkscape:connector-curvature="0"
style="fill:#1e1e1e" />
</g>
</g></g><g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Text"
style="display:none"
sodipodi:insensitive="true" /><g
inkscape:groupmode="layer"
id="layer6"
inkscape:label="World"
style="display:inline"><g
style="fill:#aaccff;stroke:#000000"
id="g5138"
transform="matrix(0.06304349,0,0,0.06304349,11.1413,6.36036)"><path
id="path5124"
d="m 209,15 a 195,195 0 1 0 2,0 z"
inkscape:connector-curvature="0"
style="stroke-width:26;fill:#aaccff" /><path
id="path5126"
d="M 210,15 V 405 M 405,210 H 15 M 59,90 a 260,260 0 0 0 302,0 m 0,240 A 260,260 0 0 0 59,330 M 195,20 a 250,250 0 0 0 0,382 m 30,0 a 250,250 0 0 0 0,-382"
inkscape:connector-curvature="0"
style="stroke-width:18;fill:#aaccff" /></g><g
transform="matrix(0.06304349,0,0,0.06304349,11.1413,56.347551)"
id="g5155"
style="fill:#aaccff;stroke:#000000"><path
style="fill:#aaccff;stroke-width:26"
inkscape:connector-curvature="0"
d="m 209,15 a 195,195 0 1 0 2,0 z"
id="path5151" /><path
style="fill:#aaccff;stroke-width:18"
inkscape:connector-curvature="0"
d="M 210,15 V 405 M 405,210 H 15 M 59,90 a 260,260 0 0 0 302,0 m 0,240 A 260,260 0 0 0 59,330 M 195,20 a 250,250 0 0 0 0,382 m 30,0 a 250,250 0 0 0 0,-382"
id="path5153" /></g><g
style="fill:#aaccff;stroke:#000000"
id="g5161"
transform="matrix(0.06304349,0,0,0.06304349,12.025183,106.4527)"><path
id="path5157"
d="m 209,15 a 195,195 0 1 0 2,0 z"
inkscape:connector-curvature="0"
style="fill:#aaccff;stroke-width:26" /><path
id="path5159"
d="M 210,15 V 405 M 405,210 H 15 M 59,90 a 260,260 0 0 0 302,0 m 0,240 A 260,260 0 0 0 59,330 M 195,20 a 250,250 0 0 0 0,382 m 30,0 a 250,250 0 0 0 0,-382"
inkscape:connector-curvature="0"
style="fill:#aaccff;stroke-width:18" /></g><g
transform="matrix(0.06304349,0,0,0.06304349,12.025183,156.55784)"
id="g5190"
style="fill:#aaccff;stroke:#000000"><path
style="fill:#aaccff;stroke-width:26"
inkscape:connector-curvature="0"
d="m 209,15 a 195,195 0 1 0 2,0 z"
id="path5186" /><path
style="fill:#aaccff;stroke-width:18"
inkscape:connector-curvature="0"
d="M 210,15 V 405 M 405,210 H 15 M 59,90 a 260,260 0 0 0 302,0 m 0,240 A 260,260 0 0 0 59,330 M 195,20 a 250,250 0 0 0 0,382 m 30,0 a 250,250 0 0 0 0,-382"
id="path5188" /></g></g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:53.33333206px;line-height:1.5;font-family:Verdana;-inkscape-font-specification:Verdana;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
x="3.625"
y="42.300552"
id="text236"><tspan
sodipodi:role="line"
id="tspan234"
x="3.625"
y="97.624832" /></text>
<path
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.22626972px;line-height:1.5;font-family:Verdana;-inkscape-font-specification:Verdana;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.31582576"
d="m 30.032087,35.765146 c -0.941155,0 -1.679424,0.297877 -2.214236,0.897073 -0.534805,0.59633 -0.803088,1.408963 -0.803088,2.438204 0,1.020642 0.268283,1.831959 0.803088,2.434022 0.534812,0.599197 1.273081,0.899166 2.214236,0.899166 0.943776,0 1.683255,-0.299969 2.218061,-0.899166 0.534805,-0.602063 0.801179,-1.41338 0.801179,-2.434022 0,-1.029241 -0.267577,-1.841874 -0.805004,-2.438204 -0.537428,-0.599196 -1.275703,-0.897073 -2.214236,-0.897073 z M 4.6754597,35.896884 v 6.404989 H 8.9108061 V 41.06186 H 6.1783862 v -1.582951 h 2.535472 v -1.237921 h -2.535472 v -1.104092 h 2.7324199 v -1.240012 z m 4.8950284,0 2.0344959,3.178447 -2.0765627,3.226542 h 1.6673697 l 1.284944,-2.107813 1.261999,2.107813 h 1.747679 l -2.076563,-3.291366 2.044056,-3.113623 h -1.671192 l -1.254351,1.996984 -1.218021,-1.996984 z m 6.7612579,0 v 6.404989 h 1.508663 v -2.086901 h 0.940763 c 0.427322,0 0.78312,-0.06337 1.068875,-0.19238 0.288377,-0.129014 0.550647,-0.320664 0.783969,-0.572957 0.170406,-0.186354 0.300229,-0.415605 0.391986,-0.687967 0.09175,-0.275228 0.137672,-0.55601 0.137672,-0.842708 0,-0.369839 -0.06155,-0.687681 -0.187386,-0.951442 C 20.853071,36.703757 20.673012,36.488432 20.437067,36.319282 20.240449,36.178801 20.01327,36.074426 19.756353,36.00562 19.502058,35.93395 19.187858,35.896884 18.81559,35.896884 Z m 5.898892,0 v 6.404989 H 26.4526 V 41.06186 h -2.7133 v -5.164976 z m 11.96987,0 v 6.404989 h 1.501016 v -2.348287 h 0.696013 l 1.59662,2.348287 h 1.845202 l -1.954193,-2.745594 c 0.372269,-0.197819 0.657391,-0.44417 0.856629,-0.742334 0.201861,-0.298166 0.302115,-0.685411 0.302115,-1.15846 0,-0.344036 -0.06395,-0.628763 -0.195036,-0.855253 -0.128457,-0.229358 -0.303703,-0.414972 -0.523913,-0.558321 -0.217597,-0.143348 -0.450791,-0.237199 -0.699839,-0.280205 -0.249056,-0.04301 -0.546916,-0.06483 -0.892962,-0.06483 z m 6.306174,0 v 6.404989 h 4.235349 V 41.06186 h -2.732419 v -1.582951 h 2.537381 v -1.237921 h -2.537381 v -1.104092 h 2.732419 v -1.240012 z m -10.47077,1.074817 c 0.18876,0 0.370017,0.03969 0.543047,0.1171 0.175645,0.07741 0.329031,0.202285 0.462731,0.374303 0.131078,0.166285 0.238053,0.385016 0.31932,0.65451 0.08127,0.269496 0.12238,0.594454 0.12238,0.978628 0,0.358371 -0.03627,0.672267 -0.107079,0.938896 -0.07075,0.263762 -0.180163,0.493012 -0.326977,0.687967 -0.131079,0.172017 -0.283263,0.299526 -0.458907,0.382668 -0.175644,0.08027 -0.360513,0.119192 -0.554515,0.119192 -0.193995,0 -0.378864,-0.03892 -0.554516,-0.119192 -0.175644,-0.08027 -0.32974,-0.205152 -0.460818,-0.374304 -0.131078,-0.169152 -0.23614,-0.387881 -0.317415,-0.654509 -0.07864,-0.269495 -0.118547,-0.59523 -0.118547,-0.976537 0,-0.372706 0.04113,-0.697664 0.122372,-0.978627 0.0839,-0.28383 0.190155,-0.506505 0.32124,-0.667055 0.141565,-0.172019 0.296865,-0.29558 0.464644,-0.370124 0.170402,-0.07454 0.351665,-0.112916 0.54304,-0.112916 z m 5.665612,0.104557 h 0.546865 c 0.180896,0 0.339799,0.0052 0.476121,0.01673 0.136327,0.0086 0.255325,0.03568 0.357565,0.08155 0.146807,0.06594 0.251382,0.157162 0.311677,0.27184 0.06026,0.114679 0.08987,0.251394 0.08987,0.411944 0,0.18062 -0.02473,0.326001 -0.07457,0.434946 -0.04719,0.106078 -0.122675,0.203875 -0.227537,0.292751 -0.110113,0.09175 -0.246664,0.149848 -0.4092,0.175651 -0.162536,0.0258 -0.36495,0.03974 -0.606141,0.03974 H 35.70153 Z m -17.861115,0.01673 h 0.260049 c 0.249052,0 0.449062,0.0039 0.598493,0.01255 0.149431,0.0058 0.301612,0.04411 0.458909,0.112918 0.117972,0.05161 0.222541,0.142051 0.311676,0.273932 0.08914,0.129013 0.133847,0.283602 0.133847,0.464221 0,0.183485 -0.02236,0.34148 -0.06693,0.470494 -0.04193,0.126146 -0.111421,0.234466 -0.208421,0.326208 -0.112729,0.103209 -0.252883,0.172614 -0.420667,0.207018 -0.165161,0.0344 -0.375994,0.05019 -0.632911,0.05019 h -0.434052 z"
id="text240"
inkscape:connector-curvature="0" /><path
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.22626972px;line-height:1.5;font-family:Verdana;-inkscape-font-specification:Verdana;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.31582576"
d="m 30.03125,85.759766 c -0.941155,0 -1.678079,0.297288 -2.212891,0.896484 -0.534805,0.59633 -0.802734,1.408259 -0.802734,2.4375 0,1.020642 0.267929,1.833484 0.802734,2.435547 0.534812,0.599197 1.271736,0.898437 2.212891,0.898437 0.943776,0 1.683944,-0.29924 2.21875,-0.898437 0.534805,-0.602063 0.800781,-1.414905 0.800781,-2.435547 0,-1.029241 -0.26726,-1.84117 -0.804687,-2.4375 -0.537428,-0.599196 -1.276311,-0.896484 -2.214844,-0.896484 z M 4.6757812,85.890625 v 6.40625 h 4.234375 V 91.056641 H 6.1777344 V 89.472656 H 8.7128906 V 88.234375 H 6.1777344 v -1.103516 h 2.7324218 v -1.240234 z m 4.8945313,0 2.0351565,3.179687 -2.0761721,3.226563 h 1.6660151 l 1.285157,-2.109375 1.261719,2.109375 h 1.748046 l -2.076172,-3.292969 2.042969,-3.113281 h -1.669922 l -1.253906,1.998047 -1.21875,-1.998047 z m 6.7617185,0 v 6.40625 h 1.507813 v -2.087891 h 0.941406 c 0.427322,0 0.782604,-0.0624 1.068359,-0.191406 0.288377,-0.129014 0.551835,-0.321926 0.785157,-0.574219 0.170406,-0.186354 0.298868,-0.415138 0.390625,-0.6875 0.09175,-0.275228 0.138672,-0.555099 0.138671,-0.841797 0,-0.369838 -0.06166,-0.689363 -0.1875,-0.953124 C 20.853345,86.697176 20.673445,86.483603 20.4375,86.314453 20.240882,86.173972 20.012776,86.068806 19.755859,86 19.501564,85.92833 19.188674,85.890625 18.816406,85.890625 Z m 5.898438,0 v 6.40625 h 4.222656 v -1.240234 h -2.712891 v -5.166016 z m 11.970703,0 v 6.40625 h 1.5 v -2.349609 h 0.697266 l 1.595703,2.349609 h 1.845703 l -1.955078,-2.746094 c 0.372269,-0.197819 0.658183,-0.444023 0.857422,-0.742187 0.201861,-0.298166 0.300781,-0.685154 0.300781,-1.158203 0,-0.344036 -0.06227,-0.628979 -0.19336,-0.855469 -0.128457,-0.229358 -0.30518,-0.415245 -0.52539,-0.558594 -0.217597,-0.143348 -0.450171,-0.238244 -0.699219,-0.28125 -0.249056,-0.04301 -0.546532,-0.06445 -0.892578,-0.06445 z m 6.304687,0 v 6.40625 h 4.236329 v -1.240234 h -2.732422 v -1.583985 h 2.537109 v -1.238281 h -2.537109 v -1.103516 h 2.732422 v -1.240234 z m -10.470703,1.076172 c 0.18876,0 0.369939,0.03978 0.542969,0.117187 0.175645,0.07741 0.329191,0.201029 0.462891,0.373047 0.131078,0.166285 0.239045,0.384803 0.320312,0.654297 0.08127,0.269496 0.121094,0.594342 0.121094,0.978516 0,0.358371 -0.03466,0.672824 -0.105469,0.939453 -0.07075,0.263762 -0.181311,0.492545 -0.328125,0.6875 -0.131079,0.172017 -0.28334,0.29967 -0.458984,0.382812 -0.175644,0.08027 -0.360686,0.119141 -0.554688,0.119141 -0.193995,0 -0.379035,-0.03887 -0.554687,-0.119141 -0.175644,-0.08027 -0.327907,-0.203894 -0.458985,-0.373047 -0.131078,-0.169151 -0.237084,-0.389621 -0.318359,-0.65625 -0.07864,-0.269495 -0.119141,-0.595255 -0.119141,-0.976562 0,-0.372706 0.04181,-0.697553 0.123047,-0.978516 0.0839,-0.28383 0.189228,-0.505465 0.320313,-0.666015 0.141565,-0.172019 0.297065,-0.29655 0.464844,-0.371094 0.170401,-0.07454 0.351593,-0.111328 0.542968,-0.111328 z m 5.666016,0.103515 h 0.546875 c 0.180896,0 0.34024,0.006 0.476562,0.01758 0.136327,0.0086 0.255182,0.03421 0.357422,0.08008 0.146807,0.06594 0.252205,0.158759 0.3125,0.273437 0.06026,0.114679 0.08984,0.25156 0.08984,0.41211 0,0.18062 -0.02633,0.324648 -0.07617,0.433593 -0.04719,0.106078 -0.1217,0.204093 -0.226562,0.292969 -0.110113,0.09175 -0.247621,0.149978 -0.410157,0.175781 -0.162536,0.0258 -0.364277,0.03906 -0.605468,0.03906 H 35.70117 Z m -17.861328,0.01758 h 0.259765 c 0.249052,0 0.450179,0.0031 0.59961,0.01172 0.149431,0.0058 0.301687,0.04447 0.458984,0.113282 0.117972,0.05161 0.221412,0.141556 0.310547,0.273437 0.08914,0.129013 0.134766,0.284225 0.134766,0.464844 0,0.183485 -0.02184,0.341689 -0.06641,0.470703 -0.04193,0.126146 -0.111984,0.23443 -0.208984,0.326172 -0.112729,0.103209 -0.252138,0.172627 -0.419922,0.207031 -0.165161,0.0344 -0.375895,0.04883 -0.632812,0.04883 h -0.435547 z"
id="path4755"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path4758"
d="m 30.03125,135.8579 c -0.941155,0 -1.678079,0.29729 -2.212891,0.89648 -0.534805,0.59633 -0.802734,1.40826 -0.802734,2.4375 0,1.02064 0.267929,1.83349 0.802734,2.43555 0.534812,0.5992 1.271736,0.89844 2.212891,0.89844 0.943776,0 1.683944,-0.29924 2.21875,-0.89844 0.534805,-0.60206 0.800781,-1.41491 0.800781,-2.43555 0,-1.02924 -0.26726,-1.84117 -0.804687,-2.4375 -0.537428,-0.59919 -1.276311,-0.89648 -2.214844,-0.89648 z m -25.3554688,0.13086 v 6.40625 h 4.234375 v -1.24024 H 6.1777344 v -1.58398 h 2.5351562 v -1.23828 H 6.1777344 v -1.10352 h 2.7324218 v -1.24023 z m 4.8945313,0 2.0351565,3.17968 -2.0761721,3.22657 h 1.6660151 l 1.285157,-2.10938 1.261719,2.10938 h 1.748046 l -2.076172,-3.29297 2.042969,-3.11328 h -1.669922 l -1.253906,1.99804 -1.21875,-1.99804 z m 6.7617185,0 v 6.40625 h 1.507813 v -2.08789 h 0.941406 c 0.427322,0 0.782604,-0.0624 1.068359,-0.19141 0.288377,-0.12901 0.551835,-0.32193 0.785157,-0.57422 0.170406,-0.18635 0.298868,-0.41514 0.390625,-0.6875 0.09175,-0.27523 0.138672,-0.5551 0.138671,-0.8418 0,-0.36983 -0.06166,-0.68936 -0.1875,-0.95312 -0.123217,-0.26376 -0.303117,-0.47734 -0.539062,-0.64649 -0.196618,-0.14048 -0.424724,-0.24564 -0.681641,-0.31445 -0.254295,-0.0717 -0.567185,-0.10937 -0.939453,-0.10937 z m 5.898438,0 v 6.40625 h 4.222656 v -1.24024 h -2.712891 v -5.16601 z m 11.970703,0 v 6.40625 h 1.5 v -2.34961 h 0.697266 l 1.595703,2.34961 h 1.845703 l -1.955078,-2.7461 c 0.372269,-0.19782 0.658183,-0.44402 0.857422,-0.74218 0.201861,-0.29817 0.300781,-0.68516 0.300781,-1.15821 0,-0.34403 -0.06227,-0.62898 -0.19336,-0.85547 -0.128457,-0.22935 -0.30518,-0.41524 -0.52539,-0.55859 -0.217597,-0.14335 -0.450171,-0.23824 -0.699219,-0.28125 -0.249056,-0.043 -0.546532,-0.0644 -0.892578,-0.0644 z m 6.304687,0 v 6.40625 h 4.236329 v -1.24024 h -2.732422 v -1.58398 h 2.537109 v -1.23828 h -2.537109 v -1.10352 h 2.732422 v -1.24023 z m -10.470703,1.07617 c 0.18876,0 0.369939,0.0398 0.542969,0.11719 0.175645,0.0774 0.329191,0.20102 0.462891,0.37304 0.131078,0.16629 0.239045,0.38481 0.320312,0.6543 0.08127,0.2695 0.121094,0.59434 0.121094,0.97852 0,0.35837 -0.03466,0.67282 -0.105469,0.93945 -0.07075,0.26376 -0.181311,0.49254 -0.328125,0.6875 -0.131079,0.17202 -0.28334,0.29967 -0.458984,0.38281 -0.175644,0.0803 -0.360686,0.11914 -0.554688,0.11914 -0.193995,0 -0.379035,-0.0389 -0.554687,-0.11914 -0.175644,-0.0803 -0.327907,-0.20389 -0.458985,-0.37305 -0.131078,-0.16915 -0.237084,-0.38962 -0.318359,-0.65625 -0.07864,-0.26949 -0.119141,-0.59525 -0.119141,-0.97656 0,-0.3727 0.04181,-0.69755 0.123047,-0.97851 0.0839,-0.28383 0.189228,-0.50547 0.320313,-0.66602 0.141565,-0.17202 0.297065,-0.29655 0.464844,-0.37109 0.170401,-0.0745 0.351593,-0.11133 0.542968,-0.11133 z m 5.666016,0.10351 h 0.546875 c 0.180896,0 0.34024,0.006 0.476562,0.0176 0.136327,0.009 0.255182,0.0342 0.357422,0.0801 0.146807,0.0659 0.252205,0.15876 0.3125,0.27344 0.06026,0.11468 0.08984,0.25156 0.08984,0.41211 0,0.18062 -0.02633,0.32465 -0.07617,0.43359 -0.04719,0.10608 -0.1217,0.2041 -0.226562,0.29297 -0.110113,0.0917 -0.247621,0.14998 -0.410157,0.17578 -0.162536,0.0258 -0.364277,0.0391 -0.605468,0.0391 H 35.70117 Z m -17.861328,0.0176 h 0.259765 c 0.249052,0 0.450179,0.003 0.59961,0.0117 0.149431,0.006 0.301687,0.0445 0.458984,0.11329 0.117972,0.0516 0.221412,0.14155 0.310547,0.27343 0.08914,0.12902 0.134766,0.28423 0.134766,0.46485 0,0.18348 -0.02184,0.34169 -0.06641,0.4707 -0.04193,0.12615 -0.111984,0.23443 -0.208984,0.32617 -0.112729,0.10321 -0.252138,0.17263 -0.419922,0.20703 -0.165161,0.0344 -0.375895,0.0488 -0.632812,0.0488 h -0.435547 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.22626972px;line-height:1.5;font-family:Verdana;-inkscape-font-specification:Verdana;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.31582576" /><path
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.22626972px;line-height:1.5;font-family:Verdana;-inkscape-font-specification:Verdana;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.31582576"
d="m 30.03125,185.9639 c -0.941155,0 -1.678079,0.29729 -2.212891,0.89648 -0.534805,0.59633 -0.802734,1.40826 -0.802734,2.4375 0,1.02064 0.267929,1.83349 0.802734,2.43555 0.534812,0.5992 1.271736,0.89844 2.212891,0.89844 0.943776,0 1.683944,-0.29924 2.21875,-0.89844 0.534805,-0.60206 0.800781,-1.41491 0.800781,-2.43555 0,-1.02924 -0.26726,-1.84117 -0.804687,-2.4375 -0.537428,-0.59919 -1.276311,-0.89648 -2.214844,-0.89648 z m -25.3554688,0.13086 v 6.40625 h 4.234375 v -1.24024 H 6.1777344 v -1.58398 h 2.5351562 v -1.23828 H 6.1777344 v -1.10352 h 2.7324218 v -1.24023 z m 4.8945313,0 2.0351565,3.17968 -2.0761721,3.22657 h 1.6660151 l 1.285157,-2.10938 1.261719,2.10938 h 1.748046 l -2.076172,-3.29297 2.042969,-3.11328 h -1.669922 l -1.253906,1.99804 -1.21875,-1.99804 z m 6.7617185,0 v 6.40625 h 1.507813 v -2.08789 h 0.941406 c 0.427322,0 0.782604,-0.0624 1.068359,-0.19141 0.288377,-0.12901 0.551835,-0.32193 0.785157,-0.57422 0.170406,-0.18635 0.298868,-0.41514 0.390625,-0.6875 0.09175,-0.27523 0.138672,-0.5551 0.138671,-0.8418 0,-0.36983 -0.06166,-0.68936 -0.1875,-0.95312 -0.123217,-0.26376 -0.303117,-0.47734 -0.539062,-0.64649 -0.196618,-0.14048 -0.424724,-0.24564 -0.681641,-0.31445 -0.254295,-0.0717 -0.567185,-0.10937 -0.939453,-0.10937 z m 5.898438,0 v 6.40625 h 4.222656 v -1.24024 h -2.712891 v -5.16601 z m 11.970703,0 v 6.40625 h 1.5 v -2.34961 h 0.697266 l 1.595703,2.34961 h 1.845703 l -1.955078,-2.7461 c 0.372269,-0.19782 0.658183,-0.44402 0.857422,-0.74218 0.201861,-0.29817 0.300781,-0.68516 0.300781,-1.15821 0,-0.34403 -0.06227,-0.62898 -0.19336,-0.85547 -0.128457,-0.22935 -0.30518,-0.41524 -0.52539,-0.55859 -0.217597,-0.14335 -0.450171,-0.23824 -0.699219,-0.28125 -0.249056,-0.043 -0.546532,-0.0644 -0.892578,-0.0644 z m 6.304687,0 v 6.40625 h 4.236329 v -1.24024 h -2.732422 v -1.58398 h 2.537109 v -1.23828 h -2.537109 v -1.10352 h 2.732422 v -1.24023 z m -10.470703,1.07617 c 0.18876,0 0.369939,0.0398 0.542969,0.11719 0.175645,0.0774 0.329191,0.20102 0.462891,0.37304 0.131078,0.16629 0.239045,0.38481 0.320312,0.6543 0.08127,0.2695 0.121094,0.59434 0.121094,0.97852 0,0.35837 -0.03466,0.67282 -0.105469,0.93945 -0.07075,0.26376 -0.181311,0.49254 -0.328125,0.6875 -0.131079,0.17202 -0.28334,0.29967 -0.458984,0.38281 -0.175644,0.0803 -0.360686,0.11914 -0.554688,0.11914 -0.193995,0 -0.379035,-0.0389 -0.554687,-0.11914 -0.175644,-0.0803 -0.327907,-0.20389 -0.458985,-0.37305 -0.131078,-0.16915 -0.237084,-0.38962 -0.318359,-0.65625 -0.07864,-0.26949 -0.119141,-0.59525 -0.119141,-0.97656 0,-0.3727 0.04181,-0.69755 0.123047,-0.97851 0.0839,-0.28383 0.189228,-0.50547 0.320313,-0.66602 0.141565,-0.17202 0.297065,-0.29655 0.464844,-0.37109 0.170401,-0.0745 0.351593,-0.11133 0.542968,-0.11133 z m 5.666016,0.10351 h 0.546875 c 0.180896,0 0.34024,0.006 0.476562,0.0176 0.136327,0.009 0.255182,0.0342 0.357422,0.0801 0.146807,0.0659 0.252205,0.15876 0.3125,0.27344 0.06026,0.11468 0.08984,0.25156 0.08984,0.41211 0,0.18062 -0.02633,0.32465 -0.07617,0.43359 -0.04719,0.10608 -0.1217,0.2041 -0.226562,0.29297 -0.110113,0.0917 -0.247621,0.14998 -0.410157,0.17578 -0.162536,0.0258 -0.364277,0.0391 -0.605468,0.0391 H 35.70117 Z m -17.861328,0.0176 h 0.259765 c 0.249052,0 0.450179,0.003 0.59961,0.0117 0.149431,0.006 0.301687,0.0445 0.458984,0.11329 0.117972,0.0516 0.221412,0.14155 0.310547,0.27343 0.08914,0.12902 0.134766,0.28423 0.134766,0.46485 0,0.18348 -0.02184,0.34169 -0.06641,0.4707 -0.04193,0.12615 -0.111984,0.23443 -0.208984,0.32617 -0.112729,0.10321 -0.252138,0.17263 -0.419922,0.20703 -0.165161,0.0344 -0.375895,0.0488 -0.632812,0.0488 h -0.435547 z"
id="path4760"
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
x="0px"
y="0px"
viewBox="0 0 50 200.1"
style="enable-background:new 0 0 50 200.1;"
xml:space="preserve"
id="svg125"
sodipodi:docname="Explore.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"><metadata
id="metadata131"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
id="defs129" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1017"
id="namedview127"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
inkscape:zoom="5.6568542"
inkscape:cx="18.340874"
inkscape:cy="67.670896"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer6"><sodipodi:guide
position="14.125,99.999998"
orientation="0,1"
id="guide204"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="-85.689885,150"
orientation="0,1"
id="guide206"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="-93.693885,49.999999"
orientation="0,1"
id="guide208"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="-93.458473,0"
orientation="0,1"
id="guide210"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="-62.619531,200"
orientation="0,1"
id="guide212"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="20.995787,157.79945"
orientation="0,1"
id="guide214"
inkscape:locked="false" /><sodipodi:guide
position="22.746663,107.80388"
orientation="0,1"
id="guide216"
inkscape:locked="false" /><sodipodi:guide
position="22.776089,57.704999"
orientation="0,1"
id="guide218"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="20.716236,7.5989999"
orientation="0,1"
id="guide220"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="13.21875,164.20312"
orientation="0,1"
id="guide230"
inkscape:locked="false" /><sodipodi:guide
position="18.292969,164.20703"
orientation="0,1"
id="guide5167"
inkscape:locked="false" /><sodipodi:guide
position="19.776893,114.21984"
orientation="0,1"
id="guide5169"
inkscape:locked="false" /><sodipodi:guide
position="18.473165,64.114696"
orientation="0,1"
id="guide5171"
inkscape:locked="false" /><sodipodi:guide
position="18.649941,14.009553"
orientation="0,1"
id="guide5173"
inkscape:locked="false" /></sodipodi:namedview>
<style
type="text/css"
id="style10">
.st0{fill:#414042;}
.st1{fill:#FFFFFF;}
.st2{fill:#1E1E1E;}
.st3{fill:#333333;}
</style>
<g
id="Layer_3">
</g>
<g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="Base"
style="display:inline"><g
id="Layer_2">
<g
id="g16">
<g
id="g14">
<path
class="st0"
d="m 50.1,146.1 c 0,2.2 -1.8,4 -4,4 h -42 c -2.2,0 -4,-1.8 -4,-4 v -42 c 0,-2.2 1.8,-4 4,-4 h 42 c 2.2,0 4,1.8 4,4 z"
id="path12"
inkscape:connector-curvature="0"
style="fill:#414042" />
</g>
</g>
<g
id="g22">
<g
id="g20">
<path
class="st0"
d="m 50,196.1 c 0,2.2 -1.8,4 -4,4 H 4 c -2.2,0 -4,-1.8 -4,-4 v -42 c 0,-2.2 1.8,-4 4,-4 h 42 c 2.2,0 4,1.8 4,4 z"
id="path18"
inkscape:connector-curvature="0"
style="fill:#414042" />
</g>
</g>
<g
id="g28">
<g
id="g26">
<path
class="st1"
d="m 50,46 c 0,2.2 -1.8,4 -4,4 H 4 C 1.8,50 0,48.2 0,46 V 4 C 0,1.8 1.8,0 4,0 h 42 c 2.2,0 4,1.8 4,4 z"
id="path24"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
</g>
</g>
<g
id="g32">
<path
class="st2"
d="m 50,96.1 c 0,2.2 -1.8,4 -4,4 H 4 c -2.2,0 -4,-1.8 -4,-4 v -42 c 0,-2.2 1.8,-4 4,-4 h 42 c 2.2,0 4,1.8 4,4 z"
id="path30"
inkscape:connector-curvature="0"
style="fill:#1e1e1e" />
</g>
</g></g><g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Text"
style="display:none"
sodipodi:insensitive="true" /><g
inkscape:groupmode="layer"
id="layer6"
inkscape:label="World"
style="display:inline"><g
style="fill:#aaccff;stroke:#000000"
id="g5138"
transform="matrix(0.06304349,0,0,0.06304349,11.1413,6.36036)"><path
id="path5124"
d="m 209,15 a 195,195 0 1 0 2,0 z"
inkscape:connector-curvature="0"
style="stroke-width:26;fill:#aaccff" /><path
id="path5126"
d="M 210,15 V 405 M 405,210 H 15 M 59,90 a 260,260 0 0 0 302,0 m 0,240 A 260,260 0 0 0 59,330 M 195,20 a 250,250 0 0 0 0,382 m 30,0 a 250,250 0 0 0 0,-382"
inkscape:connector-curvature="0"
style="stroke-width:18;fill:#aaccff" /></g><g
transform="matrix(0.06304349,0,0,0.06304349,11.1413,56.347551)"
id="g5155"
style="fill:#aaccff;stroke:#000000"><path
style="fill:#aaccff;stroke-width:26"
inkscape:connector-curvature="0"
d="m 209,15 a 195,195 0 1 0 2,0 z"
id="path5151" /><path
style="fill:#aaccff;stroke-width:18"
inkscape:connector-curvature="0"
d="M 210,15 V 405 M 405,210 H 15 M 59,90 a 260,260 0 0 0 302,0 m 0,240 A 260,260 0 0 0 59,330 M 195,20 a 250,250 0 0 0 0,382 m 30,0 a 250,250 0 0 0 0,-382"
id="path5153" /></g><g
style="fill:#aaccff;stroke:#000000"
id="g5161"
transform="matrix(0.06304349,0,0,0.06304349,12.025183,106.4527)"><path
id="path5157"
d="m 209,15 a 195,195 0 1 0 2,0 z"
inkscape:connector-curvature="0"
style="fill:#aaccff;stroke-width:26" /><path
id="path5159"
d="M 210,15 V 405 M 405,210 H 15 M 59,90 a 260,260 0 0 0 302,0 m 0,240 A 260,260 0 0 0 59,330 M 195,20 a 250,250 0 0 0 0,382 m 30,0 a 250,250 0 0 0 0,-382"
inkscape:connector-curvature="0"
style="fill:#aaccff;stroke-width:18" /></g><g
transform="matrix(0.06304349,0,0,0.06304349,12.025183,156.55784)"
id="g5190"
style="fill:#aaccff;stroke:#000000"><path
style="fill:#aaccff;stroke-width:26"
inkscape:connector-curvature="0"
d="m 209,15 a 195,195 0 1 0 2,0 z"
id="path5186" /><path
style="fill:#aaccff;stroke-width:18"
inkscape:connector-curvature="0"
d="M 210,15 V 405 M 405,210 H 15 M 59,90 a 260,260 0 0 0 302,0 m 0,240 A 260,260 0 0 0 59,330 M 195,20 a 250,250 0 0 0 0,382 m 30,0 a 250,250 0 0 0 0,-382"
id="path5188" /></g></g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:53.33333206px;line-height:1.5;font-family:Verdana;-inkscape-font-specification:Verdana;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
x="3.625"
y="42.300552"
id="text236"><tspan
sodipodi:role="line"
id="tspan234"
x="3.625"
y="97.624832" /></text>
<path
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.22626972px;line-height:1.5;font-family:Verdana;-inkscape-font-specification:Verdana;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.31582576"
d="m 30.032087,35.765146 c -0.941155,0 -1.679424,0.297877 -2.214236,0.897073 -0.534805,0.59633 -0.803088,1.408963 -0.803088,2.438204 0,1.020642 0.268283,1.831959 0.803088,2.434022 0.534812,0.599197 1.273081,0.899166 2.214236,0.899166 0.943776,0 1.683255,-0.299969 2.218061,-0.899166 0.534805,-0.602063 0.801179,-1.41338 0.801179,-2.434022 0,-1.029241 -0.267577,-1.841874 -0.805004,-2.438204 -0.537428,-0.599196 -1.275703,-0.897073 -2.214236,-0.897073 z M 4.6754597,35.896884 v 6.404989 H 8.9108061 V 41.06186 H 6.1783862 v -1.582951 h 2.535472 v -1.237921 h -2.535472 v -1.104092 h 2.7324199 v -1.240012 z m 4.8950284,0 2.0344959,3.178447 -2.0765627,3.226542 h 1.6673697 l 1.284944,-2.107813 1.261999,2.107813 h 1.747679 l -2.076563,-3.291366 2.044056,-3.113623 h -1.671192 l -1.254351,1.996984 -1.218021,-1.996984 z m 6.7612579,0 v 6.404989 h 1.508663 v -2.086901 h 0.940763 c 0.427322,0 0.78312,-0.06337 1.068875,-0.19238 0.288377,-0.129014 0.550647,-0.320664 0.783969,-0.572957 0.170406,-0.186354 0.300229,-0.415605 0.391986,-0.687967 0.09175,-0.275228 0.137672,-0.55601 0.137672,-0.842708 0,-0.369839 -0.06155,-0.687681 -0.187386,-0.951442 C 20.853071,36.703757 20.673012,36.488432 20.437067,36.319282 20.240449,36.178801 20.01327,36.074426 19.756353,36.00562 19.502058,35.93395 19.187858,35.896884 18.81559,35.896884 Z m 5.898892,0 v 6.404989 H 26.4526 V 41.06186 h -2.7133 v -5.164976 z m 11.96987,0 v 6.404989 h 1.501016 v -2.348287 h 0.696013 l 1.59662,2.348287 h 1.845202 l -1.954193,-2.745594 c 0.372269,-0.197819 0.657391,-0.44417 0.856629,-0.742334 0.201861,-0.298166 0.302115,-0.685411 0.302115,-1.15846 0,-0.344036 -0.06395,-0.628763 -0.195036,-0.855253 -0.128457,-0.229358 -0.303703,-0.414972 -0.523913,-0.558321 -0.217597,-0.143348 -0.450791,-0.237199 -0.699839,-0.280205 -0.249056,-0.04301 -0.546916,-0.06483 -0.892962,-0.06483 z m 6.306174,0 v 6.404989 h 4.235349 V 41.06186 h -2.732419 v -1.582951 h 2.537381 v -1.237921 h -2.537381 v -1.104092 h 2.732419 v -1.240012 z m -10.47077,1.074817 c 0.18876,0 0.370017,0.03969 0.543047,0.1171 0.175645,0.07741 0.329031,0.202285 0.462731,0.374303 0.131078,0.166285 0.238053,0.385016 0.31932,0.65451 0.08127,0.269496 0.12238,0.594454 0.12238,0.978628 0,0.358371 -0.03627,0.672267 -0.107079,0.938896 -0.07075,0.263762 -0.180163,0.493012 -0.326977,0.687967 -0.131079,0.172017 -0.283263,0.299526 -0.458907,0.382668 -0.175644,0.08027 -0.360513,0.119192 -0.554515,0.119192 -0.193995,0 -0.378864,-0.03892 -0.554516,-0.119192 -0.175644,-0.08027 -0.32974,-0.205152 -0.460818,-0.374304 -0.131078,-0.169152 -0.23614,-0.387881 -0.317415,-0.654509 -0.07864,-0.269495 -0.118547,-0.59523 -0.118547,-0.976537 0,-0.372706 0.04113,-0.697664 0.122372,-0.978627 0.0839,-0.28383 0.190155,-0.506505 0.32124,-0.667055 0.141565,-0.172019 0.296865,-0.29558 0.464644,-0.370124 0.170402,-0.07454 0.351665,-0.112916 0.54304,-0.112916 z m 5.665612,0.104557 h 0.546865 c 0.180896,0 0.339799,0.0052 0.476121,0.01673 0.136327,0.0086 0.255325,0.03568 0.357565,0.08155 0.146807,0.06594 0.251382,0.157162 0.311677,0.27184 0.06026,0.114679 0.08987,0.251394 0.08987,0.411944 0,0.18062 -0.02473,0.326001 -0.07457,0.434946 -0.04719,0.106078 -0.122675,0.203875 -0.227537,0.292751 -0.110113,0.09175 -0.246664,0.149848 -0.4092,0.175651 -0.162536,0.0258 -0.36495,0.03974 -0.606141,0.03974 H 35.70153 Z m -17.861115,0.01673 h 0.260049 c 0.249052,0 0.449062,0.0039 0.598493,0.01255 0.149431,0.0058 0.301612,0.04411 0.458909,0.112918 0.117972,0.05161 0.222541,0.142051 0.311676,0.273932 0.08914,0.129013 0.133847,0.283602 0.133847,0.464221 0,0.183485 -0.02236,0.34148 -0.06693,0.470494 -0.04193,0.126146 -0.111421,0.234466 -0.208421,0.326208 -0.112729,0.103209 -0.252883,0.172614 -0.420667,0.207018 -0.165161,0.0344 -0.375994,0.05019 -0.632911,0.05019 h -0.434052 z"
id="text240"
inkscape:connector-curvature="0" /><path
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.22626972px;line-height:1.5;font-family:Verdana;-inkscape-font-specification:Verdana;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.31582576"
d="m 30.03125,85.759766 c -0.941155,0 -1.678079,0.297288 -2.212891,0.896484 -0.534805,0.59633 -0.802734,1.408259 -0.802734,2.4375 0,1.020642 0.267929,1.833484 0.802734,2.435547 0.534812,0.599197 1.271736,0.898437 2.212891,0.898437 0.943776,0 1.683944,-0.29924 2.21875,-0.898437 0.534805,-0.602063 0.800781,-1.414905 0.800781,-2.435547 0,-1.029241 -0.26726,-1.84117 -0.804687,-2.4375 -0.537428,-0.599196 -1.276311,-0.896484 -2.214844,-0.896484 z M 4.6757812,85.890625 v 6.40625 h 4.234375 V 91.056641 H 6.1777344 V 89.472656 H 8.7128906 V 88.234375 H 6.1777344 v -1.103516 h 2.7324218 v -1.240234 z m 4.8945313,0 2.0351565,3.179687 -2.0761721,3.226563 h 1.6660151 l 1.285157,-2.109375 1.261719,2.109375 h 1.748046 l -2.076172,-3.292969 2.042969,-3.113281 h -1.669922 l -1.253906,1.998047 -1.21875,-1.998047 z m 6.7617185,0 v 6.40625 h 1.507813 v -2.087891 h 0.941406 c 0.427322,0 0.782604,-0.0624 1.068359,-0.191406 0.288377,-0.129014 0.551835,-0.321926 0.785157,-0.574219 0.170406,-0.186354 0.298868,-0.415138 0.390625,-0.6875 0.09175,-0.275228 0.138672,-0.555099 0.138671,-0.841797 0,-0.369838 -0.06166,-0.689363 -0.1875,-0.953124 C 20.853345,86.697176 20.673445,86.483603 20.4375,86.314453 20.240882,86.173972 20.012776,86.068806 19.755859,86 19.501564,85.92833 19.188674,85.890625 18.816406,85.890625 Z m 5.898438,0 v 6.40625 h 4.222656 v -1.240234 h -2.712891 v -5.166016 z m 11.970703,0 v 6.40625 h 1.5 v -2.349609 h 0.697266 l 1.595703,2.349609 h 1.845703 l -1.955078,-2.746094 c 0.372269,-0.197819 0.658183,-0.444023 0.857422,-0.742187 0.201861,-0.298166 0.300781,-0.685154 0.300781,-1.158203 0,-0.344036 -0.06227,-0.628979 -0.19336,-0.855469 -0.128457,-0.229358 -0.30518,-0.415245 -0.52539,-0.558594 -0.217597,-0.143348 -0.450171,-0.238244 -0.699219,-0.28125 -0.249056,-0.04301 -0.546532,-0.06445 -0.892578,-0.06445 z m 6.304687,0 v 6.40625 h 4.236329 v -1.240234 h -2.732422 v -1.583985 h 2.537109 v -1.238281 h -2.537109 v -1.103516 h 2.732422 v -1.240234 z m -10.470703,1.076172 c 0.18876,0 0.369939,0.03978 0.542969,0.117187 0.175645,0.07741 0.329191,0.201029 0.462891,0.373047 0.131078,0.166285 0.239045,0.384803 0.320312,0.654297 0.08127,0.269496 0.121094,0.594342 0.121094,0.978516 0,0.358371 -0.03466,0.672824 -0.105469,0.939453 -0.07075,0.263762 -0.181311,0.492545 -0.328125,0.6875 -0.131079,0.172017 -0.28334,0.29967 -0.458984,0.382812 -0.175644,0.08027 -0.360686,0.119141 -0.554688,0.119141 -0.193995,0 -0.379035,-0.03887 -0.554687,-0.119141 -0.175644,-0.08027 -0.327907,-0.203894 -0.458985,-0.373047 -0.131078,-0.169151 -0.237084,-0.389621 -0.318359,-0.65625 -0.07864,-0.269495 -0.119141,-0.595255 -0.119141,-0.976562 0,-0.372706 0.04181,-0.697553 0.123047,-0.978516 0.0839,-0.28383 0.189228,-0.505465 0.320313,-0.666015 0.141565,-0.172019 0.297065,-0.29655 0.464844,-0.371094 0.170401,-0.07454 0.351593,-0.111328 0.542968,-0.111328 z m 5.666016,0.103515 h 0.546875 c 0.180896,0 0.34024,0.006 0.476562,0.01758 0.136327,0.0086 0.255182,0.03421 0.357422,0.08008 0.146807,0.06594 0.252205,0.158759 0.3125,0.273437 0.06026,0.114679 0.08984,0.25156 0.08984,0.41211 0,0.18062 -0.02633,0.324648 -0.07617,0.433593 -0.04719,0.106078 -0.1217,0.204093 -0.226562,0.292969 -0.110113,0.09175 -0.247621,0.149978 -0.410157,0.175781 -0.162536,0.0258 -0.364277,0.03906 -0.605468,0.03906 H 35.70117 Z m -17.861328,0.01758 h 0.259765 c 0.249052,0 0.450179,0.0031 0.59961,0.01172 0.149431,0.0058 0.301687,0.04447 0.458984,0.113282 0.117972,0.05161 0.221412,0.141556 0.310547,0.273437 0.08914,0.129013 0.134766,0.284225 0.134766,0.464844 0,0.183485 -0.02184,0.341689 -0.06641,0.470703 -0.04193,0.126146 -0.111984,0.23443 -0.208984,0.326172 -0.112729,0.103209 -0.252138,0.172627 -0.419922,0.207031 -0.165161,0.0344 -0.375895,0.04883 -0.632812,0.04883 h -0.435547 z"
id="path4755"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path4758"
d="m 30.03125,135.8579 c -0.941155,0 -1.678079,0.29729 -2.212891,0.89648 -0.534805,0.59633 -0.802734,1.40826 -0.802734,2.4375 0,1.02064 0.267929,1.83349 0.802734,2.43555 0.534812,0.5992 1.271736,0.89844 2.212891,0.89844 0.943776,0 1.683944,-0.29924 2.21875,-0.89844 0.534805,-0.60206 0.800781,-1.41491 0.800781,-2.43555 0,-1.02924 -0.26726,-1.84117 -0.804687,-2.4375 -0.537428,-0.59919 -1.276311,-0.89648 -2.214844,-0.89648 z m -25.3554688,0.13086 v 6.40625 h 4.234375 v -1.24024 H 6.1777344 v -1.58398 h 2.5351562 v -1.23828 H 6.1777344 v -1.10352 h 2.7324218 v -1.24023 z m 4.8945313,0 2.0351565,3.17968 -2.0761721,3.22657 h 1.6660151 l 1.285157,-2.10938 1.261719,2.10938 h 1.748046 l -2.076172,-3.29297 2.042969,-3.11328 h -1.669922 l -1.253906,1.99804 -1.21875,-1.99804 z m 6.7617185,0 v 6.40625 h 1.507813 v -2.08789 h 0.941406 c 0.427322,0 0.782604,-0.0624 1.068359,-0.19141 0.288377,-0.12901 0.551835,-0.32193 0.785157,-0.57422 0.170406,-0.18635 0.298868,-0.41514 0.390625,-0.6875 0.09175,-0.27523 0.138672,-0.5551 0.138671,-0.8418 0,-0.36983 -0.06166,-0.68936 -0.1875,-0.95312 -0.123217,-0.26376 -0.303117,-0.47734 -0.539062,-0.64649 -0.196618,-0.14048 -0.424724,-0.24564 -0.681641,-0.31445 -0.254295,-0.0717 -0.567185,-0.10937 -0.939453,-0.10937 z m 5.898438,0 v 6.40625 h 4.222656 v -1.24024 h -2.712891 v -5.16601 z m 11.970703,0 v 6.40625 h 1.5 v -2.34961 h 0.697266 l 1.595703,2.34961 h 1.845703 l -1.955078,-2.7461 c 0.372269,-0.19782 0.658183,-0.44402 0.857422,-0.74218 0.201861,-0.29817 0.300781,-0.68516 0.300781,-1.15821 0,-0.34403 -0.06227,-0.62898 -0.19336,-0.85547 -0.128457,-0.22935 -0.30518,-0.41524 -0.52539,-0.55859 -0.217597,-0.14335 -0.450171,-0.23824 -0.699219,-0.28125 -0.249056,-0.043 -0.546532,-0.0644 -0.892578,-0.0644 z m 6.304687,0 v 6.40625 h 4.236329 v -1.24024 h -2.732422 v -1.58398 h 2.537109 v -1.23828 h -2.537109 v -1.10352 h 2.732422 v -1.24023 z m -10.470703,1.07617 c 0.18876,0 0.369939,0.0398 0.542969,0.11719 0.175645,0.0774 0.329191,0.20102 0.462891,0.37304 0.131078,0.16629 0.239045,0.38481 0.320312,0.6543 0.08127,0.2695 0.121094,0.59434 0.121094,0.97852 0,0.35837 -0.03466,0.67282 -0.105469,0.93945 -0.07075,0.26376 -0.181311,0.49254 -0.328125,0.6875 -0.131079,0.17202 -0.28334,0.29967 -0.458984,0.38281 -0.175644,0.0803 -0.360686,0.11914 -0.554688,0.11914 -0.193995,0 -0.379035,-0.0389 -0.554687,-0.11914 -0.175644,-0.0803 -0.327907,-0.20389 -0.458985,-0.37305 -0.131078,-0.16915 -0.237084,-0.38962 -0.318359,-0.65625 -0.07864,-0.26949 -0.119141,-0.59525 -0.119141,-0.97656 0,-0.3727 0.04181,-0.69755 0.123047,-0.97851 0.0839,-0.28383 0.189228,-0.50547 0.320313,-0.66602 0.141565,-0.17202 0.297065,-0.29655 0.464844,-0.37109 0.170401,-0.0745 0.351593,-0.11133 0.542968,-0.11133 z m 5.666016,0.10351 h 0.546875 c 0.180896,0 0.34024,0.006 0.476562,0.0176 0.136327,0.009 0.255182,0.0342 0.357422,0.0801 0.146807,0.0659 0.252205,0.15876 0.3125,0.27344 0.06026,0.11468 0.08984,0.25156 0.08984,0.41211 0,0.18062 -0.02633,0.32465 -0.07617,0.43359 -0.04719,0.10608 -0.1217,0.2041 -0.226562,0.29297 -0.110113,0.0917 -0.247621,0.14998 -0.410157,0.17578 -0.162536,0.0258 -0.364277,0.0391 -0.605468,0.0391 H 35.70117 Z m -17.861328,0.0176 h 0.259765 c 0.249052,0 0.450179,0.003 0.59961,0.0117 0.149431,0.006 0.301687,0.0445 0.458984,0.11329 0.117972,0.0516 0.221412,0.14155 0.310547,0.27343 0.08914,0.12902 0.134766,0.28423 0.134766,0.46485 0,0.18348 -0.02184,0.34169 -0.06641,0.4707 -0.04193,0.12615 -0.111984,0.23443 -0.208984,0.32617 -0.112729,0.10321 -0.252138,0.17263 -0.419922,0.20703 -0.165161,0.0344 -0.375895,0.0488 -0.632812,0.0488 h -0.435547 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.22626972px;line-height:1.5;font-family:Verdana;-inkscape-font-specification:Verdana;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.31582576" /><path
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.22626972px;line-height:1.5;font-family:Verdana;-inkscape-font-specification:Verdana;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.31582576"
d="m 30.03125,185.9639 c -0.941155,0 -1.678079,0.29729 -2.212891,0.89648 -0.534805,0.59633 -0.802734,1.40826 -0.802734,2.4375 0,1.02064 0.267929,1.83349 0.802734,2.43555 0.534812,0.5992 1.271736,0.89844 2.212891,0.89844 0.943776,0 1.683944,-0.29924 2.21875,-0.89844 0.534805,-0.60206 0.800781,-1.41491 0.800781,-2.43555 0,-1.02924 -0.26726,-1.84117 -0.804687,-2.4375 -0.537428,-0.59919 -1.276311,-0.89648 -2.214844,-0.89648 z m -25.3554688,0.13086 v 6.40625 h 4.234375 v -1.24024 H 6.1777344 v -1.58398 h 2.5351562 v -1.23828 H 6.1777344 v -1.10352 h 2.7324218 v -1.24023 z m 4.8945313,0 2.0351565,3.17968 -2.0761721,3.22657 h 1.6660151 l 1.285157,-2.10938 1.261719,2.10938 h 1.748046 l -2.076172,-3.29297 2.042969,-3.11328 h -1.669922 l -1.253906,1.99804 -1.21875,-1.99804 z m 6.7617185,0 v 6.40625 h 1.507813 v -2.08789 h 0.941406 c 0.427322,0 0.782604,-0.0624 1.068359,-0.19141 0.288377,-0.12901 0.551835,-0.32193 0.785157,-0.57422 0.170406,-0.18635 0.298868,-0.41514 0.390625,-0.6875 0.09175,-0.27523 0.138672,-0.5551 0.138671,-0.8418 0,-0.36983 -0.06166,-0.68936 -0.1875,-0.95312 -0.123217,-0.26376 -0.303117,-0.47734 -0.539062,-0.64649 -0.196618,-0.14048 -0.424724,-0.24564 -0.681641,-0.31445 -0.254295,-0.0717 -0.567185,-0.10937 -0.939453,-0.10937 z m 5.898438,0 v 6.40625 h 4.222656 v -1.24024 h -2.712891 v -5.16601 z m 11.970703,0 v 6.40625 h 1.5 v -2.34961 h 0.697266 l 1.595703,2.34961 h 1.845703 l -1.955078,-2.7461 c 0.372269,-0.19782 0.658183,-0.44402 0.857422,-0.74218 0.201861,-0.29817 0.300781,-0.68516 0.300781,-1.15821 0,-0.34403 -0.06227,-0.62898 -0.19336,-0.85547 -0.128457,-0.22935 -0.30518,-0.41524 -0.52539,-0.55859 -0.217597,-0.14335 -0.450171,-0.23824 -0.699219,-0.28125 -0.249056,-0.043 -0.546532,-0.0644 -0.892578,-0.0644 z m 6.304687,0 v 6.40625 h 4.236329 v -1.24024 h -2.732422 v -1.58398 h 2.537109 v -1.23828 h -2.537109 v -1.10352 h 2.732422 v -1.24023 z m -10.470703,1.07617 c 0.18876,0 0.369939,0.0398 0.542969,0.11719 0.175645,0.0774 0.329191,0.20102 0.462891,0.37304 0.131078,0.16629 0.239045,0.38481 0.320312,0.6543 0.08127,0.2695 0.121094,0.59434 0.121094,0.97852 0,0.35837 -0.03466,0.67282 -0.105469,0.93945 -0.07075,0.26376 -0.181311,0.49254 -0.328125,0.6875 -0.131079,0.17202 -0.28334,0.29967 -0.458984,0.38281 -0.175644,0.0803 -0.360686,0.11914 -0.554688,0.11914 -0.193995,0 -0.379035,-0.0389 -0.554687,-0.11914 -0.175644,-0.0803 -0.327907,-0.20389 -0.458985,-0.37305 -0.131078,-0.16915 -0.237084,-0.38962 -0.318359,-0.65625 -0.07864,-0.26949 -0.119141,-0.59525 -0.119141,-0.97656 0,-0.3727 0.04181,-0.69755 0.123047,-0.97851 0.0839,-0.28383 0.189228,-0.50547 0.320313,-0.66602 0.141565,-0.17202 0.297065,-0.29655 0.464844,-0.37109 0.170401,-0.0745 0.351593,-0.11133 0.542968,-0.11133 z m 5.666016,0.10351 h 0.546875 c 0.180896,0 0.34024,0.006 0.476562,0.0176 0.136327,0.009 0.255182,0.0342 0.357422,0.0801 0.146807,0.0659 0.252205,0.15876 0.3125,0.27344 0.06026,0.11468 0.08984,0.25156 0.08984,0.41211 0,0.18062 -0.02633,0.32465 -0.07617,0.43359 -0.04719,0.10608 -0.1217,0.2041 -0.226562,0.29297 -0.110113,0.0917 -0.247621,0.14998 -0.410157,0.17578 -0.162536,0.0258 -0.364277,0.0391 -0.605468,0.0391 H 35.70117 Z m -17.861328,0.0176 h 0.259765 c 0.249052,0 0.450179,0.003 0.59961,0.0117 0.149431,0.006 0.301687,0.0445 0.458984,0.11329 0.117972,0.0516 0.221412,0.14155 0.310547,0.27343 0.08914,0.12902 0.134766,0.28423 0.134766,0.46485 0,0.18348 -0.02184,0.34169 -0.06641,0.4707 -0.04193,0.12615 -0.111984,0.23443 -0.208984,0.32617 -0.112729,0.10321 -0.252138,0.17263 -0.419922,0.20703 -0.165161,0.0344 -0.375895,0.0488 -0.632812,0.0488 h -0.435547 z"
id="path4760"
inkscape:connector-curvature="0" /></svg>

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View file

@ -42,7 +42,7 @@ var DEFAULT_SCRIPTS_SEPARATE = [
"communityModules/notificationCore/notificationCore.js",
"simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js",
{"stable": "system/more/app-more.js", "beta": "https://kasenvr.github.io/community-apps/more/app-more.js"},
{"stable": "communityScripts/decentralizedGoTo/decentralizedGoTo.js", "beta": "https://metaverse.projectathena.io/interim/d-goto/app/decentralizedGoTo.js"},
{"stable": "communityScripts/explore/explore.js", "beta": "https://metaverse.vircadia.com/interim/d-goto/app/explore.js"},
{"stable": "communityModules/chat/FloofChat.js", "beta": "https://content.fluffy.ws/scripts/chat/FloofChat.js"}
//"system/chat.js"
];

View file

@ -11,7 +11,8 @@
//
// Distributed under the Apache License, Version 2.0.
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
//
//
(function() {
var ROOT = Script.resolvePath('').split("app-more.js")[0];
var APP_NAME = "MORE...";
@ -68,8 +69,7 @@
if (instruction.action === "installScript") {
if (lastProcessing.action !== instruction.action || lastProcessing.script !== instruction.script) {
ScriptDiscoveryService.loadOneScript(instruction.script);
lastProcessing.action = instruction.action;
ScriptDiscoveryService.loadScript(instruction.script, true, false, false, true, false); // Force reload the script, do not use cache. lastProcessing.action = instruction.action;
lastProcessing.script = instruction.script;
Script.setTimeout(function() {
sendRunningScriptList();

View file

@ -9,6 +9,7 @@
//
// Created by Dante Ruiz on 8 February 2017
// Copyright 2016 High Fidelity, Inc.
// Copyright 2020 Project Athena contributors.
//
// Distributed under the Apache License, Version 2.0.
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
@ -106,7 +107,7 @@ function isReturnedDataEmpty(data) {
var ui;
var GOTO_QML_SOURCE = "hifi/tablet/TabletAddressDialog.qml";
var BUTTON_NAME = "GOTO";
var BUTTON_NAME = "OLD GOTO";
function startup() {
var options = [
'include_actions=announcement',
@ -119,6 +120,8 @@ function startup() {
ui = new AppUi({
buttonName: BUTTON_NAME,
normalButton: "icons/tablet-icons/goto-i.svg",
activeButton: "icons/tablet-icons/goto-a.svg",
sortOrder: 8,
onOpened: gotoOpened,
home: GOTO_QML_SOURCE,

View file

@ -1,6 +1,6 @@
{
"name": "HighFidelityConsole",
"description": "High Fidelity Console",
"name": "VircadiaConsole",
"description": "Vircadia Console",
"author": "High Fidelity",
"license": "Apache-2.0",
"version": "1.0.0",
@ -13,7 +13,7 @@
},
"repository": {
"type": "git",
"url": "https://github.com/highfidelity/hifi.git"
"url": "https://github.com/kasenvr/project-athena.git"
},
"main": "src/main.js",
"scripts": {

View file

@ -28,15 +28,15 @@ var options = {
const EXEC_NAME = "server-console";
var SHORT_NAME = argv.client_only ? "Console" : "Sandbox";
var FULL_NAME = argv.client_only ? "High Fidelity Console" : "High Fidelity Sandbox";
var FULL_NAME = argv.client_only ? "Vircadia Console" : "Vircadia Sandbox";
// setup per OS options
if (osType == "Darwin") {
options["app-bundle-id"] = "com.highfidelity.server-console" + (argv.production ? "" : "-dev")
options["app-bundle-id"] = "com.vircadia.server-console" + (argv.production ? "" : "-dev")
options["name"] = SHORT_NAME
} else if (osType == "Windows_NT") {
options["version-string"] = {
CompanyName: "High Fidelity, Inc.",
CompanyName: "Vircadia",
FileDescription: FULL_NAME,
ProductName: FULL_NAME,
OriginalFilename: EXEC_NAME + ".exe"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 281 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 169 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 695 B

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 922 B

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 281 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 96 KiB

View file

@ -1,7 +1,7 @@
<!DOCTYPE html>
<html>
<head>
<title>High Fidelity Sandbox</title>
<title>Vircadia Sandbox</title>
<script src="content-update.js"></script>
<link rel="stylesheet" type="text/css" href="content-update.css"></link>
</head>
@ -45,7 +45,7 @@
</div>
<div class="footer">
<p>For more information about managing your high Fidelity Sandbox Server, check out our docs: <a href="https://wiki.highfidelity.com/wiki/Sandbox" target="_blank">wiki.highfidelity.com/wiki/Sandbox</a>
<p>For more information about managing your Vircadia Sandbox Server, check out our docs: <a href="https://docs.vircadia.dev/host.html" target="_blank">docs.vircadia.com</a>
</p>
</div>
</div>

View file

@ -1,7 +1,7 @@
<!DOCTYPE html>
<html>
<head>
<title>High Fidelity</title>
<title>Vircadia</title>
<script src="downloader.js"></script>
<link rel="stylesheet" type="text/css" href="downloader.css"></link>
</head>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View file

@ -113,7 +113,7 @@ function isInterfaceInstalled () {
// the executable to a random location before starting it
// which makes finding the interface near impossible using
// relative paths. For now, as there are no server-only
// installs, we just assume the interface is installed here
// installs, we just assume the interface is installed here
return true;
} else {
return interfacePath;
@ -134,7 +134,7 @@ function shutdown() {
dialog.showMessageBox({
type: 'question',
buttons: ['Yes', 'No'],
title: 'Stopping High Fidelity Sandbox',
title: 'Stopping Vircadia Sandbox',
message: 'Quitting will stop your Sandbox and your Home domain will no longer be running.\nDo you wish to continue?'
}, shutdownCallback);
} else {
@ -280,7 +280,7 @@ function binaryMissingMessage(displayName, executableName, required) {
var message = "The " + displayName + " executable was not found.\n";
if (required) {
message += "It is required for the High Fidelity Sandbox to run.\n\n";
message += "It is required for the Vircadia Sandbox to run.\n\n";
} else {
message += "\n";
}
@ -293,7 +293,7 @@ function binaryMissingMessage(displayName, executableName, required) {
message += paths.join("\n");
} else {
message += "It is expected to be found beside this executable.\n";
message += "You may need to re-install the High Fidelity Sandbox.";
message += "You may need to re-install the Vircadia Sandbox.";
}
return message;
@ -337,10 +337,10 @@ var notificationState = NotificationState.UNNOTIFIED;
function setNotificationState (notificationType, pending = undefined) {
if (pending !== undefined) {
if ((notificationType === HifiNotificationType.TRANSACTIONS ||
if ((notificationType === HifiNotificationType.TRANSACTIONS ||
notificationType === HifiNotificationType.ITEMS)) {
// special case, because we want to clear the indicator light
// on INVENTORY when either Transactions or Items are
// on INVENTORY when either Transactions or Items are
// clicked on in the notification popup, we detect that case
// here and force both to be unnotified.
pendingNotifications[HifiNotificationType.TRANSACTIONS] = pending;
@ -399,7 +399,7 @@ function visitSandboxClicked() {
StartInterface('hifi://localhost');
} else {
// show an error to say that we can't go home without an interface instance
dialog.showErrorBox("Client Not Found", binaryMissingMessage("High Fidelity client", "Interface", false));
dialog.showErrorBox("Client Not Found", binaryMissingMessage("Vircadia client", "Interface", false));
}
}
@ -613,7 +613,7 @@ function updateTrayMenu(serverState) {
tray.setImage(trayIcons[notificationState]);
tray.setContextMenu(Menu.buildFromTemplate(menuArray));
if (isShuttingDown) {
tray.setToolTip('High Fidelity - Shutting Down');
tray.setToolTip('Vircadia - Shutting Down');
}
}
}
@ -868,7 +868,7 @@ function onContentLoaded() {
notifier.notify({
icon: notificationIcon,
title: 'An update is available!',
message: 'High Fidelity version ' + latestVersion + ' is available',
message: 'Vircadia version ' + latestVersion + ' is available',
wait: true,
appID: buildInfo.appUserModelId,
url: url
@ -941,7 +941,7 @@ app.on('ready', function() {
// Create tray icon
tray = new Tray(trayIcons[NotificationState.UNNOTIFIED]);
tray.setToolTip('High Fidelity');
tray.setToolTip('Vircadia');
tray.on('click', function() {
tray.popUpContextMenu(tray.menu);
@ -951,7 +951,7 @@ app.on('ready', function() {
trayNotifications.startPolling();
}
updateTrayMenu(ProcessGroupStates.STOPPED);
if (isServerInstalled()) {
maybeInstallDefaultContentSet(onContentLoaded);
}

View file

@ -34,8 +34,8 @@ exports.getBuildInfo = function() {
buildIdentifier: "dev",
buildNumber: "0",
stableBuild: "0",
organization: "High Fidelity - dev",
appUserModelId: "com.highfidelity.console"
organization: "Vircadia - dev",
appUserModelId: "com.vircadia.console"
};
var buildInfo = DEFAULT_BUILD_INFO;
@ -63,11 +63,11 @@ exports.startInterface = function(url) {
// do this as a workaround for app translocation on osx, which makes
// it nearly impossible to find the interface executable
var bundle_id = 'com.highfidelity.interface-dev';
var bundle_id = 'com.vircadia.interface-dev';
if (buildInfo.releaseType == 'PR') {
bundle_id = 'com.highfidelity.interface-pr';
bundle_id = 'com.vircadia.interface-pr';
} else if (buildInfo.releaseType == 'PRODUCTION') {
bundle_id = 'com.highfidelity.interface';
bundle_id = 'com.vircadia.interface';
}
childProcess.exec('open -b ' + bundle_id + ' --args --url ' + url);
} else {

View file

@ -1,7 +1,7 @@
<!DOCTYPE html>
<html>
<head>
<title>High Fidelity</title>
<title>Vircadia</title>
<script src="splash.js"></script>
<link rel="stylesheet" type="text/css" href="splash.css"></link>
</head>
@ -19,7 +19,7 @@
<div class="column left">
<p>
<h2>What now?</h2>
High Fidelity is now installed and your Home domain is ready for you to explore. To start you off, we've put a few things in your home to play around with and learn the ropes.
Vircadia is now installed and your Home domain is ready for you to explore. To start you off, we've put a few things in your home to play around with and learn the ropes.
</p>
<p>
@ -28,13 +28,13 @@ You can make your home yours by uploading your own models and scripts.
</p>
<p>
<em>To get started exploring and creating,</em> <a target="_blank" href="https://docs.highfidelity.com/docs/explore">check out our Quick-start Guide</a>
<em>To get started exploring and creating,</em> <a target="_blank" href="https://docs.vircadia.dev/explore.html">check out our Quick-start Guide</a>
</p>
</div>
<div class="column center">
<p>
<h2>How do I use it?</h2>
You can manage your server by clicking on the High Fidelity icon in your
You can manage your server by clicking on the Vircadia icon in your
<script>
var osType = require('os').type();
document.write(osType == 'Windows_NT' ? 'system tray.' : 'menu bar.');
@ -44,14 +44,14 @@ You can make your home yours by uploading your own models and scripts.
<p>
<ul>
<li>go to your 'Home,' automatically launching High Fidelity</li>
<li>go to your 'Home,' automatically launching Vircadia</li>
<li>administer basic function like starting and stopping your server</li>
<li>access your server's settings and logs</li>
</ul>
</p>
<p>
<em>For more information on managing your server,</em> <a target="_blank" href="https://docs.highfidelity.com/">visit our documentation</a>
<em>For more information on managing your server,</em> <a target="_blank" href="https://docs.vircadia.dev/host.html">visit our documentation</a>
</p>
</div>
<div class="column right">

View file

@ -1,19 +1,19 @@
#JavaScript Documentation Generation
# JavaScript Documentation Generation
##Prerequisites
## Prerequisites
* Install node.js.
* Install jsdoc via npm. `npm install jsdoc -g`
If you would like the extra functionality for gravPrep:
* Run npm install
* Run `npm install`
To generate html documentation for the High Fidelity JavaScript API:
To generate HTML documentation for the Vircadia JavaScript API:
* `cd tools/jsdoc`
* `jsdoc root.js -r api-mainpage.md -c config.json`
The out folder should contain index.html.
The **out** folder should contain index.html.
If you get a "JavaScript heap out of memory" error when running the `jsdoc` command you need to increase the amount of memory
available to it. For example, to increase the memory available to 2GB on Windows:

View file

@ -45,20 +45,21 @@
var defaultDarkDisabled = false;
var darkDisabled = isLocalStorageSupported ? JSON.parse(localStorage.getItem('darkDisabled')) : defaultDarkDisabled;
var nightSheet = document.querySelector('[href="styles/night.css"]');
if (darkDisabled === null) {
localStorage.setItem('darkDisabled', JSON.stringify(defaultDarkDisabled));
} else {
var nightSheet = document.querySelector('[href="styles/night.css"]');
nightSheet.disabled = darkDisabled;
}
var defaultResponsiveDisabled = true;
var responsiveDisabled =
isLocalStorageSupported ? JSON.parse(localStorage.getItem('responsiveDisabled')) : defaultResponsiveDisabled;
var responsiveSheet = document.querySelector('[href="styles/responsive.css"]');
if (responsiveDisabled === null) {
localStorage.setItem('responsiveDisabled', JSON.stringify(defaultResponsiveDisabled));
responsiveSheet.disabled = defaultResponsiveDisabled;
} else {
var responsiveSheet = document.querySelector('[href="styles/responsive.css"]');
responsiveSheet.disabled = responsiveDisabled;
}
</script>

View file

@ -16,7 +16,7 @@ exports.handlers = {
beforeParse: function(e) {
var pathTools = require('path');
var rootFolder = pathTools.dirname(e.filename);
console.log("Scanning hifi source for jsdoc comments...");
console.log("Scanning the Vircadia source for JSDoc comments...");
// directories to scan for jsdoc comments
var dirList = [