Compare commits

..
79 Commits
Author SHA1 Message Date
github-actions[bot] 713550d1c0 Update Tailscale to v1.94.2 2026-02-26 02:46:36 +00:00
github-actions[bot] 14db783425 Update Tailscale to v1.94.1 2026-01-28 02:26:05 +00:00
github-actions[bot] c02f0aa498 Update Tailscale to v1.92.5 2026-01-07 02:22:01 +00:00
github-actions[bot] 96477cdb0d Update Tailscale to v1.92.3 2025-12-17 08:38:44 +00:00
Weston BliedenandGitHub 4e0eabeec3 Update version in manifest.json to 1.92.1 2025-12-17 09:36:08 +01:00
Weston BliedenandGitHub 59161ccd91 Downgrade version from 1.92.3 to 1.92.1 2025-12-17 09:35:26 +01:00
Weston BliedenandGitHub e1b2ac3490 Downgrade version from 1.92.3 to 1.92.1 2025-12-17 09:35:04 +01:00
Weston BliedenandGitHub 5f03ac918f Update version in manifest.json to 1.92.1 2025-12-17 09:34:45 +01:00
Weston BliedenandGitHub 2db9f27181 Update version in manifest.json to 1.92.1 2025-12-17 09:34:26 +01:00
Weston Blieden 396b450415 Store state in localdata
The tailscaled.state file in localdata will now persist across updates, so your camera stays connected to Tailscale without re-authentication
2025-12-17 09:31:34 +01:00
github-actions[bot] 2d1ff5e8a6 Update Tailscale to v1.92.3 2025-12-17 07:36:38 +00:00
Weston BliedenandGitHub 7655028477 Update cron schedule for build workflow 2025-12-17 08:33:36 +01:00
Mo3he f890d8df1a Re add lib folders after housekeeping 2025-12-15 15:48:21 +01:00
Weston BliedenandGitHub df0756a64d Update .gitignore to exclude release and Tailscale files
Added entries to ignore release artifacts and Tailscale files.
2025-12-15 12:25:06 +01:00
Weston BliedenandGitHub df2cf84c6c Modify build.yml to limit git add to manifest files
Only commit manifest files and ignore release artifacts.
2025-12-15 12:23:57 +01:00
github-actions[bot] f420e7d24c Update Tailscale to v1.92.1 2025-12-15 11:02:54 +00:00
Weston BliedenandGitHub 3dc49f1254 Enhance Tailscale version retrieval logic
Updated the workflow to check for ARM build availability and fallback to the latest version if not found.
2025-12-15 11:58:09 +01:00
github-actions[bot] 2005ba32db Update Tailscale to v1.90.9 2025-11-26 15:08:35 +00:00
github-actions[bot] 1f9c6a9e45 Update Tailscale to v1.90.8 2025-11-20 14:26:56 +00:00
github-actions[bot] 6148fc3298 Update Tailscale to v1.90.6 2025-11-03 03:52:08 +00:00
github-actions[bot] bd60c24b5b Update Tailscale to v1.90.3 2025-10-28 07:40:27 +00:00
github-actions[bot] 7926c58b3d Update Tailscale to v1.90.2 2025-10-27 03:53:33 +00:00
github-actions[bot] 6bdca7eadd Update Tailscale to v1.90.1 2025-10-23 20:07:52 +00:00
Weston BliedenandGitHub 8b941b08a5 Update README for Tailscale ACAP user space mode
Removed limitation note for Tailscale ACAP user space mode.
2025-10-22 21:36:54 +02:00
Weston BliedenandGitHub d157a91bae Fix build_needed flag logic in workflow 2025-10-22 21:31:29 +02:00
Weston BliedenandGitHub b35ed437b5 Fix build_needed condition in build workflow 2025-10-22 21:25:51 +02:00
Weston BliedenandGitHub cb390384a1 Update tailscaled command to include SOCKS5 server 2025-10-22 21:18:43 +02:00
Weston BliedenandGitHub 533fc53040 Update Tailscaled command to include SOCKS5 server 2025-10-22 21:17:11 +02:00
Weston BliedenandGitHub 0a85c286b4 Merge pull request #26 from kaleaht/SOCKS5-proxy
feat: ability to route traffic to other tailnet nodes using SOCKS5 proxy
2025-10-22 21:13:05 +02:00
Ahti Kalervo d7e7b63952 feat: ability to route traffic to other tailnet nodes using SOCKS5 proxy 2025-10-22 21:55:10 +03:00
Weston BliedenandGitHub ed7643b2eb Update README.md 2025-09-29 10:53:27 +02:00
Weston BliedenandGitHub c4b24aee40 Update README.md 2025-09-29 10:51:24 +02:00
Weston BliedenandGitHub bec473f0a8 Update README.md 2025-09-29 09:35:34 +02:00
Weston BliedenandGitHub 5278677098 Update README.md 2025-09-29 09:33:20 +02:00
github-actions[bot] c21f640622 Update Tailscale to v1.88.3 2025-09-29 03:38:36 +00:00
Weston BliedenandGitHub 83e108bb05 Update README.md 2025-09-15 13:49:03 +02:00
Weston BliedenandGitHub 38d7af6c86 Update build.yml 2025-09-15 07:58:02 +02:00
github-actions[bot] 51ead4a708 Update Tailscale to v1.88.1 2025-09-15 03:41:03 +00:00
Weston BliedenandGitHub 123906c98b Update README.md 2025-08-28 12:15:15 +02:00
Weston BliedenandGitHub f6999311b7 Update build.yml 2025-08-28 12:09:50 +02:00
Weston BliedenandGitHub a95415d687 Update build.yml 2025-08-28 12:04:18 +02:00
Weston BliedenandGitHub 7d584d1a22 Update build.yml 2025-08-28 11:50:02 +02:00
Weston BliedenandGitHub e27f0cdb34 Update build.yml 2025-08-28 11:45:27 +02:00
Weston BliedenandGitHub e5954eac52 Update build.yml 2025-08-28 11:41:17 +02:00
Weston BliedenandGitHub 91a45be400 Update build.yml 2025-08-28 11:35:04 +02:00
Weston BliedenandGitHub 9b06b49fef Update build.yml 2025-08-28 11:26:37 +02:00
Weston BliedenandGitHub 811aa9e2f5 Update README.md 2025-08-27 17:14:07 +02:00
Weston BliedenandGitHub f69a1971a2 Update README.md 2025-08-27 17:12:09 +02:00
github-actions[bot] e01a2ab95f Update Tailscale to v1.86.2 2025-08-27 15:08:38 +00:00
Weston BliedenandGitHub 5b87555295 Delete all directory 2025-08-27 17:04:51 +02:00
Weston BliedenandGitHub 4a4618344a Create build.yml 2025-08-27 17:04:08 +02:00
Weston BliedenandGitHub de739dec13 Update README.md 2025-05-26 18:25:20 +02:00
Weston BliedenandGitHub ef0cb156be Update README.md 2025-05-26 18:24:37 +02:00
Weston Blieden f3556d3e76 Merge branch 'main' of https://github.com/Mo3he/Axis_Cam_Tailscale 2025-05-26 15:18:51 +02:00
Weston Blieden d5e2be837f Update To Version 1.84.0
Updated Tailscale Binaries to version 1.84.0
2025-05-26 15:18:47 +02:00
Weston BliedenandGitHub 10f5cec1dd Update README.md 2025-04-30 08:59:39 +02:00
Weston BliedenandGitHub eb46f0f201 Update README.md 2025-04-30 08:56:54 +02:00
Weston BliedenandGitHub 5a6aada216 Update README.md 2025-04-30 08:54:08 +02:00
Weston BliedenandGitHub 65509f037e Update README.md 2025-04-30 08:40:22 +02:00
Weston BliedenandGitHub 5e27f2f6ca Update README.md 2025-04-30 08:20:02 +02:00
Weston Blieden f27769f415 Added "ROOT" versions 2025-04-25 13:34:46 +02:00
Weston BliedenandGitHub b8038797f3 Update README.md 2025-04-16 19:59:46 +02:00
Weston BliedenandGitHub 07f73648bf Update README.md 2025-04-16 18:41:39 +02:00
Weston BliedenandGitHub 108ea203b4 Update README.md 2025-04-16 18:40:32 +02:00
Weston BliedenandGitHub 4b282e81e6 Update README.md 2025-04-16 18:38:50 +02:00
Weston Blieden 34943f62b9 Added custom version 2025-04-16 18:35:38 +02:00
Weston Blieden 3d12e28a1f Update binaries to 1.82.0 2025-04-11 09:51:39 +02:00
Weston BliedenandGitHub b453bcb6f2 Update README.md 2025-03-24 10:02:25 +01:00
Weston Blieden 616d270350 Update Tailscale binaries to v1.80.3 2025-03-24 10:01:38 +01:00
Weston Blieden 17c2ae705c Update Tailscale binaries to v1.78.1 2025-01-13 08:19:57 +01:00
Weston Blieden 54be4dd84f V 1.76.1
Updated Tailscale binaries to version 1.76.1
2024-10-24 08:03:20 +02:00
Weston Blieden 452f7d54d8 V1.72.1
Updated tailscale binaries to v1.72.1
2024-08-26 08:33:38 +02:00
Weston BliedenandGitHub b444c964f6 Update README.md 2024-08-08 18:34:06 +02:00
Weston BliedenandGitHub e0178b531e Update README.md 2024-08-08 18:27:54 +02:00
Weston BliedenandGitHub 46f7a524c0 Merge pull request #15 from MicroTechnology-Services/allarch
Add all arch build
2024-08-08 18:25:38 +02:00
Wes Malone f5ab42fd3f Add all arch 2024-08-07 10:32:02 -05:00
Weston BliedenandGitHub 019beb3c73 Update README.md 2024-06-27 10:10:42 +02:00
Weston BliedenandGitHub db343b4447 Update README.md 2024-06-27 07:08:30 +02:00
Weston Blieden f3163cae45 Updated to V1.68.1
Updated tailscale binaries and removed need for root to run
2024-06-27 07:04:56 +02:00
238 changed files with 938 additions and 80873 deletions
+169
View File
@@ -0,0 +1,169 @@
name: Auto Build & Release Tailscale ACAP
on:
schedule:
- cron: "0 0 * * *" # Every Monday at 03:00 UTC
workflow_dispatch:
jobs:
build-and-release:
runs-on: ubuntu-latest
steps:
# 1. Checkout repo
- uses: actions/checkout@v3
with:
persist-credentials: true
fetch-depth: 0
# 2. Get latest Tailscale version
- name: Get latest Tailscale version
id: tailscale_version
run: |
# 1. Start from GitHub latest
GH_TAG=$(curl -s https://api.github.com/repos/tailscale/tailscale/releases/latest | jq -r .tag_name)
GH_VERSION=${GH_TAG#v}
echo "GitHub latest: $GH_VERSION"
# 2. See if static ARM build exists for that version
if curl -sfI "https://pkgs.tailscale.com/stable/tailscale_${GH_VERSION}_arm.tgz" > /dev/null; then
VERSION="$GH_VERSION"
echo "Using GitHub latest (has ARM package): $VERSION"
else
echo "No ARM package for $GH_VERSION, falling back to latest version on pkgs.tailscale.com"
# 3. Derive latest version that actually has an ARM tarball
VERSION=$(
curl -s https://pkgs.tailscale.com/stable/ \
| grep -o 'tailscale_[0-9.]*_arm\.tgz' \
| sed -E 's/^tailscale_([0-9.]+)_arm\.tgz$/\1/' \
| sort -V | tail -n1
)
echo "Fallback version: $VERSION"
fi
echo "RELEASE_VERSION=$VERSION" >> $GITHUB_ENV
echo "version=$VERSION" >> $GITHUB_OUTPUT
- name: Get current repo version
id: current
run: |
CURRENT=$(find . -path "*/app/manifest.json" -exec jq -r '.acapPackageConf.setup.version' {} \; | sort -u | head -n1)
echo "CURRENT_VERSION=$CURRENT" >> $GITHUB_ENV
echo "Current repo version: $CURRENT"
- name: Compare versions
id: compare
run: |
echo "Repo version: $CURRENT_VERSION"
echo "Latest Tailscale version: $RELEASE_VERSION"
if [ "$CURRENT_VERSION" = "$RELEASE_VERSION" ]; then
echo "build_needed=false" >> $GITHUB_ENV
echo "Already up to date. Skipping build."
else
echo "build_needed=true" >> $GITHUB_ENV
echo "New version detected. Will build."
fi
# 3. Download Tailscale binaries
- name: Download Tailscale binaries
if: env.build_needed == 'true'
run: |
mkdir -p tailscale_bins
curl -L "https://pkgs.tailscale.com/stable/tailscale_${RELEASE_VERSION}_arm.tgz" -o tailscale_arm.tgz
tar -xzf tailscale_arm.tgz -C tailscale_bins --strip-components=1
mv tailscale_bins/tailscale tailscale_bins/tailscale_arm
mv tailscale_bins/tailscaled tailscale_bins/tailscaled_arm
curl -L "https://pkgs.tailscale.com/stable/tailscale_${RELEASE_VERSION}_arm64.tgz" -o tailscale_arm64.tgz
tar -xzf tailscale_arm64.tgz -C tailscale_bins --strip-components=1
mv tailscale_bins/tailscale tailscale_bins/tailscale_arm64
mv tailscale_bins/tailscaled tailscale_bins/tailscaled_arm64
# 4. Build each folder, update manifest, and copy .eap files
- name: Build all folders
if: env.build_needed == 'true'
run: |
mkdir -p build
rm -rf releases
mkdir -p releases
for folder in */ ; do
[[ ! -d "$folder/app" ]] && continue
FOLDER_NAME="${folder%/}" # remove trailing slash
echo "Processing folder $FOLDER_NAME"
# Detect architecture
if [[ "$FOLDER_NAME" == arm* ]]; then
cp tailscale_bins/tailscale_arm "$folder/app/lib/tailscale"
cp tailscale_bins/tailscaled_arm "$folder/app/lib/tailscaled"
else
cp tailscale_bins/tailscale_arm64 "$folder/app/lib/tailscale"
cp tailscale_bins/tailscaled_arm64 "$folder/app/lib/tailscaled"
fi
# Stage updated binaries for commit
git add "$folder/app/lib/tailscale" "$folder/app/lib/tailscaled"
# Detect variant suffix for .eap naming
if [[ "$FOLDER_NAME" == *_ROOT ]]; then
VARIANT="_root"
elif [[ "$FOLDER_NAME" == *_custom ]]; then
VARIANT="_custom"
else
VARIANT=""
fi
# Update manifest version
sed -i "s/\"version\": \".*\"/\"version\": \"${RELEASE_VERSION}\"/" "$folder/app/manifest.json"
# Docker build
TAG_NAME=$(echo "$FOLDER_NAME" | tr '[:upper:]' '[:lower:]' | tr '/ ' '_') # lowercase and clean
echo "Building $TAG_NAME"
docker build -f "$folder/Dockerfile" --tag "$TAG_NAME" "$folder"
# Extract .eap files into build folder
EAP_OUTPUT="./build/${TAG_NAME}"
mkdir -p "$EAP_OUTPUT"
docker cp $(docker create "$TAG_NAME"):/opt/app "$EAP_OUTPUT"
# Move all .eap files to releases folder, append variant if needed
find "$EAP_OUTPUT" -type f -name "*.eap" | while read eap; do
BASENAME=$(basename "$eap" .eap)
if [[ -n "$VARIANT" ]]; then
mv "$eap" "releases/${BASENAME}${VARIANT}.eap"
else
mv "$eap" "releases/${BASENAME}.eap"
fi
done
done
# Clean up
rm -rf build tailscale_bins *.tgz
# 5. Commit updated manifests and .eap files directly to main
- name: Commit updates to main
if: env.build_needed == 'true'
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
# Only commit manifests; do not track release artifacts
git add */app/manifest.json
if git diff --cached --quiet; then
echo "No changes to commit"
else
git commit -m "Update Tailscale to v${RELEASE_VERSION}"
git push https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/Mo3he/Axis_Cam_Tailscale.git main
fi
# 6. Create GitHub Release with all new .eap files
- name: Create GitHub Release
if: env.build_needed == 'true'
uses: softprops/action-gh-release@v1
with:
tag_name: v${{ env.RELEASE_VERSION }}
name: "Tailscale VPN ${{ env.RELEASE_VERSION }}"
files: releases/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+8
View File
@@ -1,2 +1,10 @@
**/.DS_Store
**/build
# Do not track release artifacts
releases/
build/
# Do not track downloaded Tailscale tarballs and temp bins
tailscale_bins/
*.tgz
-6
View File
@@ -1,6 +0,0 @@
{
"files.associations": {
"axlicense.h": "c"
},
"C_Cpp.errorSquiggles": "disabled"
}
+102 -45
View File
@@ -1,86 +1,143 @@
# The Tailscale installer ACAP
# Tailscale Installer ACAP for Axis Cameras
This ACAP packages the scripts and files required to install the Tailscale VPN client on Axis Cameras.
This repository contains an **ACAP package** that installs the [Tailscale VPN client](https://tailscale.com/) on Axis cameras.
Current version 1.63.0,
- ✅ Secure remote access to cameras
- ✅ Easy to install via EAP package
- ✅ Works on **Axis OS 12+** (non-root version)
- ✅ Based on **WireGuard VPN** technology
The "Auto Update" version has been removed since it no longer works given the files are not stored in the default location.
[![Releases](https://img.shields.io/github/v/release/Mo3he/Axis_Cam_Tailscale)](https://github.com/Mo3he/Axis_Cam_Tailscale/releases)
[![License](https://img.shields.io/github/license/Mo3he/Axis_Cam_Tailscale)](LICENSE)
[![Sponsor](https://img.shields.io/badge/sponsor-%E2%9D%A4-lightgrey?logo=github)](https://github.com/sponsors/Mo3he)
https://tailscale.com/changelog/
---
## Axis OS Support
## 📑 Table of Contents
Support for Axis OS 12.
- [📥 Installation](#-installation)
- [🚀 Usage](#-usage)
- [🔄 Updating Tailscale](#-updating-tailscale)
- [🧪 Testers Needed](#-testers-needed)
- [🎉 Good News](#-good-news)
- [🎯 Purpose](#-purpose)
- [🔗 Useful Links](#-useful-links)
- [🖥️ Compatibility](#️-compatibility)
- [⭐ Star History](#-star-history)
- [💖 Support](#-support)
## Purpose
---
Adding a VPN client directly to the camera allows secure remote access to the device without requiring any other equipment or network configuration.
Tailscale achieves this in a secure, simple to setup and easy to use way.
Tailscale is based on WireGuard VPN tunneling technology.
## 📥 Installation
https://tailscale.com/blog/how-tailscale-works/
The recommended way is to use the **prebuilt `.eap` file** from the [Releases page](https://github.com/Mo3he/Axis_Cam_Tailscale/releases).
## Links
1. Log into your Axis camera.
2. Go to **Apps → Add App**.
3. Upload the `.eap` file.
https://tailscale.com/
Once installed:
- Start the app.
- Click **Open** to view logs and get your Tailscale authentication URL.
- On uninstall, all changes/files are removed.
https://github.com/tailscale/tailscale
> ⚠️ You’ll need a [Tailscale account](https://tailscale.com/) to authenticate.
https://www.wireguard.com/
---
https://www.axis.com/
## 🚀 Usage
## Compatibility
- Runs a startup script to set permissions and launch Tailscale.
- View logs via the **Open** button in the app.
- Authenticate using the provided URL.
The Tailscale ACAP is compatable with Axis cameras with arm and aarch64 based Soc's.
---
```
curl --anyauth "*" -u <username>:<password> <device ip>/axis-cgi/basicdeviceinfo.cgi --data "{\"apiVersion\":\"1.0\",\"context\":\"Client defined request ID\",\"method\":\"getAllProperties\"}"
## 🔄 Updating Tailscale
- New `.eap` files are auto-built and released **weekly** (if a new Tailscale version is available).
- To update, simply install the new `.eap` over the existing one.
### Manual update (advanced)
Replace the binaries in the `lib/` folder:
- `tailscale`
- `tailscaled`
Download the latest versions: [Tailscale static builds](https://pkgs.tailscale.com/stable/#static)
#### Build locally
From the main directory of the version you want (`arm` / `aarch64`):
```bash
docker build --tag <package_name> .
docker cp $(docker create <package_name>):/opt/app ./build
```
where `<device ip>` is the IP address of the Axis device, `<username>` is the root username and `<password>` is the root password. Please
note that you need to enclose your password with quotes (`'`) if it contains special characters.
---
## Installing
## 🧪 Testers Needed
The recommended way to install this ACAP is to use the pre built eap file.
Go to "Apps" on the camera and click "Add app".
A new **custom** version is available:
- Allows setting a custom server and auth key (for [Headscale](https://headscale.net/)).
- Go to **Settings (⋮ → Settings)** to add your details.
Please give it a try and share your feedback!
## Using the Tailscale ACAP
---
The Tailscale ACAP will run a script on startup that sets the required permissions and starts the service and app.
Once started click "Open" to see the output of the logs for further instructions and obtain the authetication URL.
## 🎉 Good News
When uninstalling the ACAP, all changes and files are removed from the camera.
Tailscale ACAP can now run **without root privileges**, making it compatible with **Axis OS 12+**.
You will need a tailscale.com account to use the ACAP
- Runs in **user space networking mode**.
## Updating Tailscale version
For **full networking features**, use the **ROOT** version on Axis OS < 12.
The eap files will be updated from time to time and simply installing the new version over the old will update all files.
---
It's also possible to build and use a locally built image as all necesary files are provided.
## 🎯 Purpose
Replace binaries "tailscale" and "tailscaled" in lib folder with new versions.
Make sure you use the files for the correct Soc.
Adding a VPN client directly to the camera enables:
- Secure remote access without additional hardware or complex network configuration.
- Easy setup through Tailscale’s lightweight WireGuard-based tunnel.
Latest versions can be found at
🔗 Learn more: [How Tailscale Works](https://tailscale.com/blog/how-tailscale-works/)
https://pkgs.tailscale.com/stable/#static
---
## 🔗 Useful Links
To build,
From main directory of the version you want (arm/aarch64)
- [Tailscale](https://tailscale.com/)
- [Tailscale GitHub](https://github.com/tailscale/tailscale)
- [WireGuard](https://www.wireguard.com/)
- [Axis Communications](https://www.axis.com/)
```
docker build --tag <package name> .
```
```
docker cp $(docker create <package name>):/opt/app ./build
---
## 🖥️ Compatibility
The Tailscale ACAP is compatible with Axis cameras with **ARM** and **AARCH64**-based SoCs.
You can verify your device details using the following command:
```bash
curl --anyauth "*" -u <username>:<password> <device_ip>/axis-cgi/basicdeviceinfo.cgi --data '{"apiVersion":"1.0","context":"Client defined request ID","method":"getAllProperties"}'
```
> Replace `<device_ip>`, `<username>`, and `<password>` with your device credentials.
> Enclose your password in quotes `' '` if it contains special characters.
---
## ⭐ Star History
[![Star History Chart](https://api.star-history.com/svg?repos=Mo3he/Axis_Cam_Tailscale&type=Date)](https://www.star-history.com/#Mo3he/Axis_Cam_Tailscale&Date)
---
## 💖 Support
If you like this project and want to support future updates:
👉 [Sponsor Me](https://github.com/sponsors/Mo3he)
+1 -1
View File
@@ -1,5 +1,5 @@
ARG ARCH=aarch64
ARG VERSION=1.14
ARG VERSION=1.3
ARG UBUNTU_VERSION=22.04
ARG REPO=axisecp
ARG SDK=acap-native-sdk
+1 -24
View File
@@ -1,24 +1 @@
#//Version=Native
AXIS_USABLE_LIBS = UCLIBC GLIBC
include libs/*/makefile.info
PROG = tailscale_vpn
CFLAGS += -Wall
PKGS += glib-2.0 gio-2.0
CFLAGS += $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-config --cflags $(PKGS))
LDLIBS += $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-config --libs $(PKGS))
SRCS += main.c
OBJS += $(SRCS:.c=.o)
all: $(PROG) $(OBJS)
$(PROG): $(OBJS)
$(CC) $^ $(CFLAGS) $(LIBS) $(LDFLAGS) -lm $(LDLIBS) -o $@
$(STRIP) $@
clean:
#rm -f $(PROG) $(OBJS)
nop:
-23
View File
@@ -1,23 +0,0 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# dependencies
/node_modules
/.pnp
.pnp.js
# testing
/coverage
# production
/build
# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*
-68
View File
@@ -1,68 +0,0 @@
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
## Available Scripts
In the project directory, you can run:
### `npm start`
Runs the app in the development mode.<br />
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
The page will reload if you make edits.<br />
You will also see any lint errors in the console.
### `npm test`
Launches the test runner in the interactive watch mode.<br />
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
### `npm run build`
Builds the app for production to the `build` folder.<br />
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.<br />
Your app is ready to be deployed!
See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
### `npm run eject`
**Note: this is a one-way operation. Once you `eject`, you can’t go back!**
If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
## Learn More
You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
To learn React, check out the [React documentation](https://reactjs.org/).
### Code Splitting
This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting
### Analyzing the Bundle Size
This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size
### Making a Progressive Web App
This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app
### Advanced Configuration
This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration
### Deployment
This section has moved here: https://facebook.github.io/create-react-app/docs/deployment
### `npm run build` fails to minify
This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify
-14500
View File
File diff suppressed because it is too large Load Diff
-48
View File
@@ -1,48 +0,0 @@
{
"name": "license",
"version": "0.1.0",
"private": true,
"homepage": ".",
"dependencies": {
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.5.0",
"@testing-library/user-event": "^7.2.1",
"@types/styled-components": "^5.1.25",
"axios": "^0.19.2",
"bootstrap": "^4.5.0",
"pepjs": "^0.5.3",
"practical-react-components-core": "^1.3.0",
"practical-react-components-icons": "^1.3.0",
"react": "^18.1.0",
"react-bootstrap": "^1.2.2",
"react-dom": "^18.1.0",
"react-native-web": "^0.17.7",
"react-router-dom": "^5.2.0",
"react-scripts": "3.4.1",
"react-transition-group": "^4.4.2",
"react-xml-parser": "^1.1.6",
"semantic-ui-react": "^1.0.0",
"styled-components": "^5.3.5"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
@@ -1,91 +0,0 @@
import React from 'react';
import { Nav, Navbar, Form, FormControl } from 'react-bootstrap';
import styled from 'styled-components';
const Styles = styled.div`
.navbar {
background-color: white;
min-width:100px
}
a, .navbar-light {
height: 34px;
width: 100%;
color: black;
&:hover { color: white; }
}
.nav-link {
color: black;
&:hover { color: black; }
}
.navbar-brand {
padding-top: 12px
font-size: 1.4em;
color: black;
margin-left: 100px;
&:hover { color: black; }
}
.navbar-collapse {
position: fixed; /* Fixed Sidebar (stay in place on scroll and position relative to viewport) */
top:0px;
left: 85%
width:100%;
height:47px;
background-color: #FFCC33; /* Axis yeallow */
font-size: 1.4em;
color: black;
&:hover { color: white; }
}
.form-center {
position: absolute !important;
left: 25%;
right: 25%;
}
#conertext {
padding: 20px;
color:grey;
padding-top: 27px;
}
#line {
top:0px;
height: 6px;
background-color: #e6e6e6;
}
#conerimage {
top: 0px;
height: 62px;
}
#conerinfo{
position: fixed;
height:62px;
width:100%;
background-color: #FFCC33; /* Axis yeallow */
left: 85%;
font-size: 1.4em;
}
#logomage{
position: fixed;
top:5px;
font-size: 1.4em;
}
`;
export const NavigationBar = () => (
<Styles>
<Navbar >
<img id="logomage" src="./img/logo.svg" ></img>
<Navbar.Brand href="/">{window.acapName}</Navbar.Brand>
<Nav className="ml-auto" id="conerinfo">
<img id="conerimage" src="./img/topcorner62.png" alt="Axis" ></img>
<span id="conertext">{window.cornertext}{window.ver}</span>
</Nav>
</Navbar>
<hr id="line"></hr>
</Styles>
)
/*
<Form className="form-center">
<FormControl type="text" placeholder="Search" className="" />
</Form>
*/
@@ -1,74 +0,0 @@
import React from 'react';
import styled from 'styled-components';
import { Menu } from 'semantic-ui-react';
import { Link } from 'react-router-dom'
const StyledSideNav = styled.div`
/* position: fixed; /* Fixed Sidebar (stay in place on scroll and position relative to viewport) */
/* height: 100%;
/* width: 250px; /* Set the width of the sidebar */
/* z-index: 1; /* Stay on top of everything */
/* top: 54px; /* Stay at the top */
/* background-color: #e6e6e6; /* Axis grey */
/* overflow-x: hidden; /* Disable horizontal scroll */
/* padding-top: 10px;
/* padding-left: 10px; */
.menu {
position: fixed;
top: 50px;
height: 100%;
background-color: #e6e6e6;
border: 0px;
}
`;
class SidebarPage extends React.Component {
constructor(props) {
super(props);
this.state = {
activeItem: 'About',
}
}
// ** EDIT ** itens lists
render() {
const { activeItem } = this.state
return(
<StyledSideNav>
<Menu vertical>
<Menu.Item
name='home'
onClick={this.handleItemClick}
as={Link}
to="/"
/>
<Menu.Item
name='Hardware'
onClick={this.handleItemClick}
as={Link}
to="/About"
/>
<Menu.Item
name='Status'
onClick={this.handleItemClick}
as={Link}
to="/NoMatch"
/>
</Menu>
</StyledSideNav>
);
}
}
export default SidebarPage;
-587
View File
@@ -1,587 +0,0 @@
/*!
* Bootstrap v3.3.7 (http://getbootstrap.com)
* Copyright 2011-2016 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
.btn-default,
.btn-primary,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger {
text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
}
.btn-default:active,
.btn-primary:active,
.btn-success:active,
.btn-info:active,
.btn-warning:active,
.btn-danger:active,
.btn-default.active,
.btn-primary.active,
.btn-success.active,
.btn-info.active,
.btn-warning.active,
.btn-danger.active {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
}
.btn-default.disabled,
.btn-primary.disabled,
.btn-success.disabled,
.btn-info.disabled,
.btn-warning.disabled,
.btn-danger.disabled,
.btn-default[disabled],
.btn-primary[disabled],
.btn-success[disabled],
.btn-info[disabled],
.btn-warning[disabled],
.btn-danger[disabled],
fieldset[disabled] .btn-default,
fieldset[disabled] .btn-primary,
fieldset[disabled] .btn-success,
fieldset[disabled] .btn-info,
fieldset[disabled] .btn-warning,
fieldset[disabled] .btn-danger {
-webkit-box-shadow: none;
box-shadow: none;
}
.btn-default .badge,
.btn-primary .badge,
.btn-success .badge,
.btn-info .badge,
.btn-warning .badge,
.btn-danger .badge {
text-shadow: none;
}
.btn:active,
.btn.active {
background-image: none;
}
.btn-default {
text-shadow: 0 1px 0 #fff;
background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #dbdbdb;
border-color: #ccc;
}
.btn-default:hover,
.btn-default:focus {
background-color: #e0e0e0;
background-position: 0 -15px;
}
.btn-default:active,
.btn-default.active {
background-color: #e0e0e0;
border-color: #dbdbdb;
}
.btn-default.disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
background-color: #e0e0e0;
background-image: none;
}
.btn-primary {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #245580;
}
.btn-primary:hover,
.btn-primary:focus {
background-color: #265a88;
background-position: 0 -15px;
}
.btn-primary:active,
.btn-primary.active {
background-color: #265a88;
border-color: #245580;
}
.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
background-color: #265a88;
background-image: none;
}
.btn-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #3e8f3e;
}
.btn-success:hover,
.btn-success:focus {
background-color: #419641;
background-position: 0 -15px;
}
.btn-success:active,
.btn-success.active {
background-color: #419641;
border-color: #3e8f3e;
}
.btn-success.disabled,
.btn-success[disabled],
fieldset[disabled] .btn-success,
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus,
.btn-success.disabled:active,
.btn-success[disabled]:active,
fieldset[disabled] .btn-success:active,
.btn-success.disabled.active,
.btn-success[disabled].active,
fieldset[disabled] .btn-success.active {
background-color: #419641;
background-image: none;
}
.btn-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #28a4c9;
}
.btn-info:hover,
.btn-info:focus {
background-color: #2aabd2;
background-position: 0 -15px;
}
.btn-info:active,
.btn-info.active {
background-color: #2aabd2;
border-color: #28a4c9;
}
.btn-info.disabled,
.btn-info[disabled],
fieldset[disabled] .btn-info,
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
.btn-info.disabled.active,
.btn-info[disabled].active,
fieldset[disabled] .btn-info.active {
background-color: #2aabd2;
background-image: none;
}
.btn-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #e38d13;
}
.btn-warning:hover,
.btn-warning:focus {
background-color: #eb9316;
background-position: 0 -15px;
}
.btn-warning:active,
.btn-warning.active {
background-color: #eb9316;
border-color: #e38d13;
}
.btn-warning.disabled,
.btn-warning[disabled],
fieldset[disabled] .btn-warning,
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus,
.btn-warning.disabled:active,
.btn-warning[disabled]:active,
fieldset[disabled] .btn-warning:active,
.btn-warning.disabled.active,
.btn-warning[disabled].active,
fieldset[disabled] .btn-warning.active {
background-color: #eb9316;
background-image: none;
}
.btn-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #b92c28;
}
.btn-danger:hover,
.btn-danger:focus {
background-color: #c12e2a;
background-position: 0 -15px;
}
.btn-danger:active,
.btn-danger.active {
background-color: #c12e2a;
border-color: #b92c28;
}
.btn-danger.disabled,
.btn-danger[disabled],
fieldset[disabled] .btn-danger,
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus,
.btn-danger.disabled:active,
.btn-danger[disabled]:active,
fieldset[disabled] .btn-danger:active,
.btn-danger.disabled.active,
.btn-danger[disabled].active,
fieldset[disabled] .btn-danger.active {
background-color: #c12e2a;
background-image: none;
}
.thumbnail,
.img-thumbnail {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
background-color: #e8e8e8;
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
background-color: #2e6da4;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
.navbar-default {
background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
}
.navbar-brand,
.navbar-nav > li > a {
text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
}
.navbar-inverse {
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-radius: 4px;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
}
.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-nav > li > a {
text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
}
.navbar-static-top,
.navbar-fixed-top,
.navbar-fixed-bottom {
border-radius: 0;
}
@media (max-width: 767px) {
.navbar .navbar-nav .open .dropdown-menu > .active > a,
.navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
color: #fff;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
}
.alert {
text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
}
.alert-success {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
background-repeat: repeat-x;
border-color: #b2dba1;
}
.alert-info {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
background-repeat: repeat-x;
border-color: #9acfea;
}
.alert-warning {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
background-repeat: repeat-x;
border-color: #f5e79e;
}
.alert-danger {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
background-repeat: repeat-x;
border-color: #dca7a7;
}
.progress {
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-striped {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
}
.list-group {
border-radius: 4px;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
text-shadow: 0 -1px 0 #286090;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
background-repeat: repeat-x;
border-color: #2b669a;
}
.list-group-item.active .badge,
.list-group-item.active:hover .badge,
.list-group-item.active:focus .badge {
text-shadow: none;
}
.panel {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}
.panel-default > .panel-heading {
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.panel-primary > .panel-heading {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
.panel-success > .panel-heading {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
background-repeat: repeat-x;
}
.panel-info > .panel-heading {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
background-repeat: repeat-x;
}
.panel-warning > .panel-heading {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
background-repeat: repeat-x;
}
.panel-danger > .panel-heading {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
background-repeat: repeat-x;
}
.well {
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
border-color: #dcdcdc;
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
}
/*# sourceMappingURL=bootstrap-theme.css.map */
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-218
View File
@@ -1,218 +0,0 @@
body {
font-family: Helvetica, Arial, Verdanda, Tahoma, Geneva, sans-serif;
font-size: 12px;
}
/*h1 {
font-family: Helvetica, Arial, Verdanda, Tahoma, Geneva, sans-serif;
color: #484848;
font-size: 18px;
font-weight: bold;
}*/
button {
font-family: Helvetica, Arial, Verdanda, Tahoma, Geneva, sans-serif;
color: #ffffff;
font-size: 12px;
background: grey;
padding: 5px 15px 5px 15px;
text-decoration: none;
text-shadow: none;
border: none;
cursor: pointer;
border-radius: 25px;
}
#tables{
display: flex;
padding-left: 0px;
}
.SLInput {
font-size: 12px;
font-family: sans-serif;
border: 1px solid grey;
padding: 4px;
margin: 2px;
width: 250px;
float:initial;
}
.SLInput_res {
font-size: 12px;
font-family: sans-serif;
border: 1px solid grey;
padding: 4px;
margin: 2px;
width: 72px;
float:initial;
}
.SLInput_dropres {
font-size: 12px;
font-family: sans-serif;
border: 1px solid grey;
padding: 4px;
margin: 2px;
width: 100px;
float:initial;
}
.header {
height: 40px;
width: auto;
background-color: rgb(216,207,198);
margin: 0px;
border-bottom: 3px solid #ffcb31;
position: absolute;
left: 0px;
right: 0px;
top: 0px;
text-align: center;
padding: 0px;
margin: 0px;
}
.header .logo {
background-repeat: no-repeat;
width: 83px;
height: 30px;
left: 20px;
top: 5px;
position: absolute;
}
.header h1 {
position: absolute;
top: 10px;
}
.saving h1 {
color: grey;
font-size: 15px;
margin-top: 5px;
}
.settings-menu {
width: 100%;
background-color: #ffffff;
margin: 0px;
border-bottom: 3px solid rgb(0,157,220);
position: absolute;
left: 0px;
right: 0px;
top: 43px;
text-align: left;
padding: 0px;
margin: 0px;
z-index: 10;
}
.settings-menu {
overflow: visible;
}
.settings-item {
position: relative;
top: 0;
bottom: 0;
padding: 10px 40px 10px 10px;
margin: 10px;
#border-right: 1px solid rgb(0,157,220);
display: inline-block;
float: left;
overflow: visible;
max-width: 400px;
}
.settings-item h1 {
color: rgb(0,157,220);
font-size: 15px;
margin-top: 5px;
}
.settings-item span {
width: 100px;
display: inline-block;
}
#logo {
font-size:50px;
color:black;
top: 50px;
}
#ruleSpinner {
padding-top: 20px;
position: absolute;
left: 0px;
}
#main {
top: 50px;
position: relative;
color: grey;
font-size: 15px;
font-weight: bold;
}
#configpage{
top: 100px;
left:250px;
position: absolute;
color: grey;
font-size: 15px;
}
#homepage{
top: 100px;
left:250px;
position: absolute;
color: grey;
font-size: 15px;
}
#savebutton {
left:50px;
padding-top:20px;
}
li:hover{
background-color:#FFC106;
}
#licensepage {
padding-left:50px;
}
#licenseCode {
width:250px;
}
#savelayoutdiv {
position: absolute;
padding-left: 20px;
padding-right: 20px;
top: 60px;
left: 690px;
#background-color:grey;
#width:100px;
#border-radius:25px;
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

-27
View File
@@ -1,27 +0,0 @@
<svg focusable="false" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 238 90" xml:space="preserve">
<g>
<path d="m98.87496 15.58887 11.51463 0 .13725.13751 0 50.03436-.13725.13713-11.51463 0c-.13713 0-.13713-.13713-.13713-.13713l0-50.03436c0 0 0-.13751.13713-.13751"/>
<path d="m95.03658 15.58887c0 0 .13725.13751 0 .27376l-15.21574 24.67537c-.13725.13675-.13725.41113 0 .68513l15.353 24.40038c.13675.13724 0 .27437 0 .27437l-14.25637 0c-.13713 0-.27438-.13713-.41113-.13713l-9.1845-15.07912c-.13725-.13725-.13725-.13725-.2745 0l-8.63576 14.94188c-.13662.13724-.27387.27437-.41112.27437l-13.29638 0c-.27438 0-.27438-.13713-.13725-.13713l15.627-25.90875c.27438-.27312.27438-.54811 0-.82187l-13.708-23.1675c-.13725-.13625 0-.27376 0-.27376l13.84525 0c.13713 0 .27388.13751.27388.27376l8.36187 13.9825c.13712.1375.13712.1375.27388 0l8.63625-13.9825c0-.13625.13725-.27376.27438-.27376l12.88525 0"/>
<path d="m193.45934 1.33263 41.39876 64.56525-35.91498 0-13.57002-21.11024-1.64502 0-.95998-1.50838-16.175 0 26.86624-41.94663" fill="#f7e109"/>
<path d="m190.85559 41.22313 15.90125 24.67474-50.58249 0 15.90126-24.67474 18.78 0" fill="#231f20"/>
<path d="m186.74309 41.22313 15.90126 24.67474-50.5825 0 15.90123-24.67474 18.78001 0" fill="#c93437"/>
<path d="m44.1802 15.5889-10.6924 0c-.1372 0-.2745.1375-.2745.2737l-32.2133 49.8981c0 0 0 .13721.13721.13721l13.02249 0c.1366 0 .2739 0 .2739-.13721l4.3867-6.8544c.1372 0 .1372-.1368.2744-.1368l13.708 0c.1367 0 .1367.1368.1367.1368l0 6.7172c0 .1372 0 .27441.1373.27441l11.2406 0 .1373-.13721 0-49.8981c0-.1362-.1373-.2737-.2744-.2737l0 0zm-11.2407 33.311c0 .1372 0 .1372 0 .1372l-8.4985 0c-.1373 0-.1373 0-.1373-.1372l9.0469-14.3935 0 0-.4111 14.3935"/>
<path d="m117.24371 65.89787 15.21562 0c1.91875-.13713 3.83875-.41162 5.62126-.95987 6.98999-2.19289 10.69124-9.18464 10.69124-15.07863 0-9.4585-7.40251-12.748-16.175-16.44925-1.50874-.68625-3.42751-1.645-3.42751-3.70125 0-2.05626 2.05626-3.15375 4.25002-3.15375l11.92624 0c.13626 0 .13626 0 .13626-.13626l0-10.83c0-.13625 0-.13625-.13626-.13625l-12.47499 0c-10.41749 0-16.58638 6.16876-16.58638 14.80376 0 7.53999 4.79788 11.24112 11.78889 14.11963 4.935 1.91887 8.08748 2.74161 8.08748 6.71724 0 2.05612-1.23375 4.11224-3.83876 4.11224 0 0-14.94099 0-15.07813 0l0 0c0 0 0 10.41801 0 10.55525 0 .13713.13712.13713 0 .13713"/>
<path d="m155.21434 15.31512c-2.33 0-4.1125 1.91875-4.1125 4.25 0 2.19374 1.7825 4.1125 4.1125 4.1125 2.33 0 4.25-1.91876 4.25-4.1125 0-2.33125-1.92-4.25-4.25-4.25zm0 7.95c-2.05626 0-3.70126-1.64374-3.70126-3.7 0-2.19376 1.645-3.83875 3.70126-3.83875 2.19374 0 3.83875 1.64499 3.83875 3.83875 0 2.05626-1.64499 3.7-3.83875 3.7"/>
<path d="m157.27058 21.89513-.95877-2.19376c.54752-.13625.82251-.685.82251-1.23375 0-.41125-.1375-.82249-.54875-1.09625-.27373-.27374-.68498-.27374-1.09624-.27374l-1.7825 0 0 4.7975.54875 0 0-2.05626 1.37 0 .96001 2.05626.685 0zm-3.01501-2.60501 0-1.78123 1.23375 0c.27376 0 .54875 0 .68501.27374.27374.13625.41124.27374.41124.685 0 .13751-.1375.41125-.27376.54875-.27374.27374-.54874.27374-.82249.27374l-1.23375 0"/>
<path d="m11.14359 84.5405c-1.37063.68501-2.46683.9595-3.97513.9595-3.9751 0-5.89405-2.46774-5.89405-4.93463 0-2.605 2.19336-5.07225 6.03125-5.07225 1.50781 0 2.74117.27388 3.70118.82275l0 2.19337c-1.09663-.54887-2.19336-.9595-3.42676-.9595-2.19335 0-3.70165 1.23337-3.70165 3.01563 0 1.6445 1.5083 2.87851 3.56445 2.87851 1.3706 0 2.19334-.27451 3.70071-.9595l0 2.05611"/>
<path d="m25.53759 85.5c-3.70162 0-5.75775-2.46774-5.75775-4.93463 0-2.46774 2.05612-5.07225 5.75775-5.07225 3.83788 0 5.75688 2.74174 5.75688 5.07225 0 2.46689-2.05613 4.93463-5.75688 4.93463zm0-7.95026c-1.91937 0-3.15325 1.23337-3.15325 3.01563 0 1.78175 1.23388 2.87851 3.15325 2.87851 1.919 0 3.15288-1.09676 3.15288-2.87851 0-1.78226-1.23388-3.01563-3.15288-3.01563"/>
<path d="m48.70409 75.63037 2.05612 0 0 9.73238-2.46775 0 0-6.03125-2.74163 3.01563-.274 0-2.74162-3.01563 0 6.03125-2.46738 0 0-9.73238 2.05625 0 3.29 3.70113 3.29-3.70113"/>
<path d="m69.26559 75.63037 2.19337 0 0 9.73238-2.46775 0 0-6.03125-2.74125 3.01563-.41163 0-2.74112-3.01563 0 6.03125-2.46788 0 0-9.73238 2.19337 0 3.29013 3.70113 3.15275-3.70113"/>
<path d="m90.65033 75.63037 0 5.62012c0 3.15276-2.33049 4.24951-5.07224 4.24951-2.87888 0-4.93501-1.23387-4.93501-4.24951l0-5.62012 2.46776 0 0 5.62012c0 1.371 1.09662 2.19339 2.46725 2.19339 1.37062 0 2.60449-.54839 2.60449-2.33063l0-5.48288 2.46774 0"/>
<path d="m109.97846 85.36275-2.05663 0-5.61964-6.1685 0 6.1685-2.46774 0 0-9.73238 2.33064 0 5.34612 6.03175 0-6.03175 2.46725 0 0 9.73238"/>
<path d="m119.57371 85.36275 2.46778 0 0-9.73241-2.46778 0 0 9.73241z"/>
<path d="m140.13684 84.5405c-1.37126.68501-2.46875.9595-3.97626.9595-3.83876 0-5.89499-2.46774-5.89499-4.93463 0-2.605 2.19374-5.07225 6.03249-5.07225 1.50751 0 2.74126.27388 3.70125.82275l0 2.19337c-1.09749-.54887-2.19374-.9595-3.42749-.9595-2.19376 0-3.70125 1.23337-3.70125 3.01563 0 1.6445 1.50749 2.87851 3.56375 2.87851 1.37125 0 2.19374-.27451 3.7025-.9595l0 2.05611"/>
<path d="m158.09435 85.36275-2.60501 0-.82248-1.91887-4.52376 0-.82248 1.91887-2.60501 0 3.97623-9.73238 3.015 0 4.38751 9.73238zm-5.89499-7.40237-1.37126 3.83838 3.01625 0-1.64499-3.83838"/>
<path d="m172.76184 77.41263-3.56502 0 0 7.95012-2.60373 0 0-7.95012-3.56502 0 0-1.78226 9.73375 0 0 1.78226"/>
<path d="m180.4381 85.36275 2.4673 0 0-9.73241-2.4673 0 0 9.73241z"/>
<path d="m196.33934 85.5c-3.70125 0-5.75751-2.46774-5.75751-4.93463 0-2.46774 1.91875-5.07225 5.75751-5.07225 3.70125 0 5.75624 2.74174 5.75624 5.07225 0 2.46689-2.1925 4.93463-5.75624 4.93463zm0-7.95026c-1.92 0-3.15375 1.23337-3.15375 3.01563 0 1.78175 1.23375 2.87851 3.15375 2.87851 1.91875 0 3.1525-1.09676 3.1525-2.87851 0-1.78226-1.23375-3.01563-3.1525-3.01563"/>
<path d="m219.64183 85.36275-2.05623 0-5.62001-6.1685 0 6.1685-2.4675 0 0-9.73238 2.33 0 5.34624 6.03175 0-6.03175 2.4675 0 0 9.73238"/>
<path d="m234.30934 78.23486c-1.50751-.68512-2.33-.9595-3.28876-.9595-.82376 0-1.37123.41113-1.37123.82225 0 1.50824 5.07123 1.09662 5.07123 4.52386 0 1.78175-1.64499 2.87851-3.83748 2.87851-1.78252 0-2.60501-.41113-3.70128-.9595l0-2.05612c1.50752.9595 2.33002 1.23387 3.42751 1.23387.95876 0 1.50752-.27437 1.50752-.82275 0-1.645-5.07253-1.09674-5.07253-4.52351 0-1.78212 1.50876-2.87888 3.83878-2.87888 1.09624 0 2.05623.27388 3.42624.82275l0 1.91899"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.4 KiB

@@ -1,40 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- BUG: Firefox will not animate SVG embedded as background images. [https://bugzilla.mozilla.org/show_bug.cgi?id=908634] -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 234.7 235.6" enable-background="new 0 0 234.7 235.6" xml:space="preserve">
<style>
/* <![CDATA[ */
@-webkit-keyframes spinner-fade {0% {opacity: 1 } 80% {opacity: 0 } 100% {opacity: 0 } }
@keyframes spinner-fade {0% {opacity: 1 } 80% {opacity: 0 } 100% {opacity: 0 } }
g.spinner path {opacity: 0; -webkit-animation: spinner-fade 0.75s linear infinite; animation: spinner-fade 0.75s linear infinite;}
g.spinner path:nth-of-type(1) {-webkit-animation-delay: -0.25s; animation-delay: -0.25s; }
g.spinner path:nth-of-type(2) {-webkit-animation-delay: -0.1875s; animation-delay: -0.1875s; }
g.spinner path:nth-of-type(3) {-webkit-animation-delay: -0.125s; animation-delay: -0.125s; }
g.spinner path:nth-of-type(4) {-webkit-animation-delay: -0.0625s; animation-delay: -0.0625s; }
g.spinner path:nth-of-type(5) {-webkit-animation-delay: 0s; animation-delay: 0s; }
g.spinner path:nth-of-type(6) {-webkit-animation-delay: 0.0625s; animation-delay: 0.0625s; }
g.spinner path:nth-of-type(7) {-webkit-animation-delay: 0.125s; animation-delay: 0.125s; }
g.spinner path:nth-of-type(8) {-webkit-animation-delay: 0.1875s; animation-delay: 0.1875s; }
g.spinner path:nth-of-type(9) {-webkit-animation-delay: 0.25s; animation-delay: 0.25s; }
g.spinner path:nth-of-type(10) {-webkit-animation-delay: 0.3125s; animation-delay: 0.3125s; }
g.spinner path:nth-of-type(11) {-webkit-animation-delay: -0.375s; animation-delay: -0.375s; }
g.spinner path:nth-of-type(12) {-webkit-animation-delay: -0.3125s; animation-delay: -0.3125s; }
/* ]]> */
</style>
<g class="spinner">
<path d="M128.3,10.7c0,0-0.3-10.7-11-10.7s-11,10.7-11,10.7l0,0v0v42.7v0l0,0c0,0,0.3,10.7,11,10.7s11-10.7,11-10.7 l0,0v0V10.7L128.3,10.7L128.3,10.7z" />
<path d="M140.3,56.5c0,0-5.6,9.2,3.7,14.6c9.2,5.3,14.3-3.9,14.3-3.9l0,0v0l21.4-37l0,0l0,0c0,0,5.3-9.2-3.9-14.6 s-14.5,3.9-14.6,3.9l0,0l0.2,0L140.3,56.5L140.3,56.5L140.3,56.5z" />
<path d="M167.4,76.3c0,0-9.2,5.1-3.9,14.3c5.3,9.2,14.6,3.7,14.6,3.7l0,0h0L215,73.1l0,0.1l0,0c0,0,9.2-5.3,3.9-14.5 s-14.6-3.9-14.6-3.9l0,0l0,0.1L167.4,76.3L167.4,76.3L167.4,76.3z" />
<path d="M224,128.3c0,0,10.7-0.3,10.7-11s-10.7-11-10.7-11l0,0h0h-42.7h0l0,0c0,0-10.7,0.3-10.7,11s10.7,11,10.7,11 l0,0h0H224L224,128.3L224,128.3z" />
<path d="M203.8,180.3c0,0,9.2,5.6,14.6-3.6c5.4-9.2-3.8-14.4-3.8-14.4l0,0h0l-36.8-21.7l0,0l0,0 c0,0-9.2-5.4-14.6,3.8c-5.4,9.2,3.8,14.6,3.8,14.6l0,0l0-0.2L203.8,180.3L203.8,180.3L203.8,180.3z" />
<path d="M160.3,215.5c0,0,5.4,9.3,14.7,4.1c9.3-5.2,4.3-14.5,4.3-14.5l0,0v0l-21.1-37.2l-0.1,0l0,0 c0,0-5.3-9.3-14.6-4.1c-9.3,5.2-4.1,14.5-4.1,14.5l0,0l0,0L160.3,215.5L160.3,215.5L160.3,215.5z"/>
<path d="M128.3,181.3c0,0-0.3-10.7-11-10.7s-11,10.7-11,10.7l0,0v0V224v0l0,0c0,0,0.3,10.7,11,10.7s11-10.7,11-10.7 l0,0v0V181.3L128.3,181.3L128.3,181.3z"/>
<path d="M55.3,204.5c0,0-5.6,9.2,3.7,14.6c9.2,5.3,14.3-3.9,14.3-3.9l0,0v0l21.3-37l0,0l0,0c0,0,5.3-9.2-3.9-14.6 s-14.6,3.9-14.6,3.9l0,0l0.2,0L55.3,204.5L55.3,204.5L55.3,204.5z"/>
<path d="M19.6,161.3c0,0-9.2,5.6-3.9,14.8s14.6,4.2,14.6,4.2l0,0h0l36.9-21.5l0-0.1l0,0c0,0,9.2-5.4,3.9-14.6 c-5.3-9.2-14.6-3.9-14.6-3.9l0,0l0-0.1L19.6,161.3L19.6,161.3L19.6,161.3z"/>
<path d="M53.3,128.3c0,0,10.7-0.3,10.7-11s-10.7-11-10.7-11l0,0h0H10.7h0l0,0c0,0-10.7,0.3-10.7,11s10.7,11,10.7,11 l0,0h0H53.3L53.3,128.3L53.3,128.3z"/>
<path d="M56.8,94.3c0,0,9.2,5.1,14.6-4.1c5.4-9.2-3.8-14.9-3.8-14.9l0,0h0L30.8,53.8l0,0.1l0,0c0,0-9.2-5.4-14.6,3.8 S20,72.4,20,72.4l0,0l0,0.2L56.8,94.3L56.8,94.3L56.8,94.3z"/>
<path d="M76.3,66.8c0,0,5.4,9.3,14.7,4.1s4.3-14.5,4.3-14.5l0,0v0l-21-37.2l0,0l0,0c0,0-5.3-9.3-14.5-4.1 s-4.1,14.5-4.1,14.5l0,0l-0.2,0L76.3,66.8L76.3,66.8L76.3,66.8z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.0 KiB

-91
View File
@@ -1,91 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.2" width="20.64mm" height="9mm" viewBox="0 0 2064 900" preserveAspectRatio="xMidYMid" fill-rule="evenodd" stroke-width="28.222" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" xmlns:ooo="http://xml.openoffice.org/svg/export" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:presentation="http://sun.com/xmlns/staroffice/presentation" xmlns:smil="http://www.w3.org/2001/SMIL20/" xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" xml:space="preserve">
<defs class="ClipPathGroup">
<clipPath id="presentation_clip_path" clipPathUnits="userSpaceOnUse">
<rect x="0" y="0" width="2064" height="900"/>
</clipPath>
<clipPath id="presentation_clip_path_shrink" clipPathUnits="userSpaceOnUse">
<rect x="2" y="0" width="2060" height="899"/>
</clipPath>
</defs>
<defs class="TextShapeIndex">
<g ooo:slide="id1" ooo:id-list="id3"/>
</defs>
<defs class="EmbeddedBulletChars">
<g id="bullet-char-template-57356" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 580,1141 L 1163,571 580,0 -4,571 580,1141 Z"/>
</g>
<g id="bullet-char-template-57354" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 8,1128 L 1137,1128 1137,0 8,0 8,1128 Z"/>
</g>
<g id="bullet-char-template-10146" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 174,0 L 602,739 174,1481 1456,739 174,0 Z M 1358,739 L 309,1346 659,739 1358,739 Z"/>
</g>
<g id="bullet-char-template-10132" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 2015,739 L 1276,0 717,0 1260,543 174,543 174,936 1260,936 717,1481 1274,1481 2015,739 Z"/>
</g>
<g id="bullet-char-template-10007" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 0,-2 C -7,14 -16,27 -25,37 L 356,567 C 262,823 215,952 215,954 215,979 228,992 255,992 264,992 276,990 289,987 310,991 331,999 354,1012 L 381,999 492,748 772,1049 836,1024 860,1049 C 881,1039 901,1025 922,1006 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 C 774,196 753,168 711,139 L 727,119 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 C 142,-110 111,-127 72,-127 30,-127 9,-110 8,-76 1,-67 -2,-52 -2,-32 -2,-23 -1,-13 0,-2 Z"/>
</g>
<g id="bullet-char-template-10004" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 41,549 55,616 82,672 116,743 169,778 240,778 293,778 328,747 346,684 L 369,508 C 377,444 397,411 428,410 L 1163,1116 C 1174,1127 1196,1133 1229,1133 1271,1133 1292,1118 1292,1087 L 1292,965 C 1292,929 1282,901 1262,881 L 442,47 C 390,-6 338,-33 285,-33 Z"/>
</g>
<g id="bullet-char-template-9679" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 223,773 276,916 383,1023 489,1130 632,1184 813,1184 992,1184 1136,1130 1245,1023 1353,916 1407,772 1407,592 1407,412 1353,268 1245,161 1136,54 992,0 813,0 Z"/>
</g>
<g id="bullet-char-template-8226" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 346,457 C 273,457 209,483 155,535 101,586 74,649 74,723 74,796 101,859 155,911 209,963 273,989 346,989 419,989 480,963 531,910 582,859 608,796 608,723 608,648 583,586 532,535 482,483 420,457 346,457 Z"/>
</g>
<g id="bullet-char-template-8211" transform="scale(0.00048828125,-0.00048828125)">
<path d="M -4,459 L 1135,459 1135,606 -4,606 -4,459 Z"/>
</g>
<g id="bullet-char-template-61548" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 173,740 C 173,903 231,1043 346,1159 462,1274 601,1332 765,1332 928,1332 1067,1274 1183,1159 1299,1043 1357,903 1357,740 1357,577 1299,437 1183,322 1067,206 928,148 765,148 601,148 462,206 346,322 231,437 173,577 173,740 Z"/>
</g>
</defs>
<g>
<g id="id2" class="Master_Slide">
<g id="bg-id2" class="Background"/>
<g id="bo-id2" class="BackgroundObjects"/>
</g>
</g>
<g class="SlideGroup">
<g>
<g id="container-id1">
<g id="id1" class="Slide" clip-path="url(#presentation_clip_path)">
<g class="Page">
<g class="Graphic">
<g id="id3">
<rect class="BoundingBox" stroke="none" fill="none" x="0" y="0" width="2064" height="900"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 958,198 L 959,199 959,627 958,628 859,628 C 858,628 858,627 858,627 L 858,199 C 858,199 858,198 859,198 L 958,198 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 826,200 L 696,411 C 695,412 695,415 696,417 L 828,626 C 829,627 828,628 828,628 L 706,628 C 704,628 703,627 702,627 L 624,498 C 622,497 622,497 621,498 L 547,626 C 546,627 545,628 544,628 L 430,628 C 428,628 428,627 429,627 L 563,405 C 565,403 565,401 563,398 L 445,200 C 444,199 445,198 445,198 L 564,198 C 565,198 566,199 566,200 L 638,320 C 639,321 639,321 640,320 L 714,200 C 714,199 715,198 716,198 L 826,198 C 826,198 828,199 826,200 Z"/>
<path fill="rgb(247,225,9)" stroke="none" d="M 2023,628 L 1716,628 1599,448 1585,448 1577,435 1439,435 1669,76 2023,628 Z"/>
<path fill="rgb(35,31,32)" stroke="none" d="M 1782,628 L 1350,628 1486,417 1646,417 1782,628 Z"/>
<path fill="rgb(201,52,55)" stroke="none" d="M 1747,628 L 1314,628 1450,417 1611,417 1747,628 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 300,198 C 299,198 297,199 297,200 L 22,627 C 22,627 22,628 23,628 L 134,628 C 136,628 137,628 137,627 L 174,568 C 175,568 175,567 177,567 L 294,567 C 295,567 295,568 295,568 L 295,626 C 295,627 295,628 296,628 L 392,628 394,627 394,200 C 394,199 392,198 391,198 L 300,198 Z M 295,484 L 222,484 C 221,484 221,484 221,483 L 299,360 295,483 295,484 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1016,628 L 1147,628 C 1163,627 1180,625 1195,620 1255,601 1286,541 1286,491 1286,410 1223,382 1148,350 1135,344 1119,336 1119,319 1119,301 1136,292 1155,292 L 1257,292 C 1258,292 1258,292 1258,291 L 1258,198 C 1258,197 1258,197 1257,197 L 1150,197 C 1061,197 1008,250 1008,323 1008,388 1049,420 1109,444 1151,461 1178,468 1178,502 1178,519 1168,537 1145,537 1145,537 1018,537 1016,537 L 1016,537 C 1016,537 1016,626 1016,627 1016,628 1018,628 1016,628 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1341,196 C 1321,196 1306,212 1306,232 1306,251 1321,267 1341,267 1361,267 1378,251 1378,232 1378,212 1361,196 1341,196 Z M 1310,232 C 1310,213 1324,199 1341,199 1360,199 1374,213 1374,232 1374,250 1360,264 1341,264 1324,264 1310,250 1310,232 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1351,233 C 1355,232 1358,227 1358,223 1358,219 1357,215 1353,213 1351,211 1347,211 1344,211 L 1328,211 1328,252 1333,252 1333,234 1345,234 1353,252 1359,252 1351,233 Z M 1333,214 L 1344,214 C 1346,214 1348,214 1350,217 1352,218 1353,219 1353,223 1353,224 1352,226 1351,227 1348,230 1346,230 1344,230 L 1333,230 1333,214 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 109,788 C 97,794 87,796 75,796 41,796 24,775 24,754 24,731 43,710 76,710 89,710 99,713 107,717 L 107,736 C 98,731 89,728 78,728 59,728 46,738 46,754 46,768 59,778 77,778 89,778 96,776 109,770 L 109,788 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 232,796 C 200,796 182,775 182,754 182,733 200,710 232,710 265,710 281,734 281,754 281,775 263,796 232,796 Z M 205,754 C 205,769 215,778 232,778 248,778 259,769 259,754 259,738 248,728 232,728 215,728 205,738 205,754 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 430,712 L 448,712 448,795 426,795 426,743 403,769 401,769 377,743 377,795 356,795 356,712 374,712 402,743 430,712 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 606,712 L 625,712 625,795 604,795 604,743 580,769 577,769 553,743 553,795 532,795 532,712 551,712 579,743 606,712 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 789,712 L 789,760 C 789,787 769,796 746,796 721,796 703,785 703,760 L 703,712 724,712 724,760 C 724,771 734,778 746,778 757,778 768,774 768,758 L 768,712 789,712 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 937,795 L 889,742 889,795 868,795 868,712 887,712 933,763 933,712 954,712 954,795 937,795 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1036,795 L 1058,795 1058,712 1036,712 1036,795 1036,795 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1212,788 C 1201,794 1191,796 1178,796 1145,796 1128,775 1128,754 1128,731 1147,710 1180,710 1192,710 1203,713 1211,717 L 1211,736 C 1202,731 1192,728 1182,728 1163,728 1150,738 1150,754 1150,768 1163,778 1181,778 1192,778 1199,776 1212,770 L 1212,788 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1344,795 L 1337,778 1298,778 1291,795 1269,795 1303,712 1328,712 1366,795 1344,795 Z M 1304,764 L 1330,764 1316,731 1304,764 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1461,727 L 1461,795 1439,795 1439,727 1408,727 1408,712 1492,712 1492,727 1461,727 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1557,795 L 1578,795 1578,712 1557,712 1557,795 1557,795 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1693,796 C 1662,796 1644,775 1644,754 1644,733 1660,710 1693,710 1725,710 1743,734 1743,754 1743,775 1724,796 1693,796 Z M 1666,754 C 1666,769 1677,778 1693,778 1710,778 1720,769 1720,754 1720,738 1710,728 1693,728 1677,728 1666,738 1666,754 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1875,795 L 1827,742 1827,795 1806,795 1806,712 1826,712 1872,763 1872,712 1893,712 1893,795 1875,795 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 2018,734 C 2005,728 1998,726 1990,726 1983,726 1978,729 1978,733 1978,746 2022,742 2022,771 2022,787 2008,796 1989,796 1974,796 1967,792 1957,788 L 1957,770 C 1970,778 1977,781 1987,781 1995,781 1999,778 1999,774 1999,760 1956,764 1956,735 1956,720 1969,710 1989,710 1998,710 2006,713 2018,717 L 2018,734 Z"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 422 B

-43
View File
@@ -1,43 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<!--<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />-->
<!--
manifest.json provides metadata used when your web app is installed on a
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
-->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<!--
Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build.
Only files inside the `public` folder can be referenced from the HTML.
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
<title>Tailscale VPN</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<!--
This HTML file is a template.
If you open it directly in the browser, you will see an empty page.
You can add webfonts, meta tags, or analytics to this file.
The build step will place the bundled scripts into the <body> tag.
To begin the development, run `npm start` or `yarn start`.
To create a production bundle, use `npm run build` or `yarn build`.
-->
</body>
</html>
-25
View File
@@ -1,25 +0,0 @@
{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
},
{
"src": "logo192.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "logo512.png",
"type": "image/png",
"sizes": "512x512"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}
-3
View File
@@ -1,3 +0,0 @@
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow:
-74
View File
@@ -1,74 +0,0 @@
.App {
text-align: center;
}
.App-logo {
height: 40vmin;
pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
.App-logo {
animation: App-logo-spin infinite 20s linear;
}
}
.App-header {
background-color: rgb(255, 255, 255);
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: calc(5px + 2vmin);
color: rgb(119, 117, 117);
}
.App-link {
color: #61dafb;
}
@keyframes App-logo-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.videoArea {
display: flex;
align-items: center;
flex-direction: column;
position: relative;
}
.videoArea.full-size {
/* This is basically the videoArea size WITHOUT the profile-panel-height subtracted. In full
screen mode the profile-pane-height won't be showing. */
height: calc(
100% - 2.5rem - 2.188rem - 1rem);
}
.videoArea #visual-confirmation {
height: 100%;
position: absolute;
width: 100%;
}
.videoArea .test-settings-highlight {
animation-duration: 0.5s;
animation-name: opacity;
}
.view {
height: 100%;
}
.center {
margin: 0;
position: absolute;
top: 50%;
left: 50%;
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
-82
View File
@@ -1,82 +0,0 @@
import React, { useCallback } from 'react';
import './App.css';
//Bootstrap
import './css/bootstrap.min.css'
import './css/style.css'
import axios from 'axios'
/*********************************************/
//LICENSE
import {ValidateLicense} from './license';
export var did = "free";
export var appName = "tailscale_vpn";
export var appId = "414812";
/*********************************************/
//Template
export var acapName = "Tailscale VPN";
const styleLink = document.createElement("link");
styleLink.rel = "stylesheet";
styleLink.href = "./css/semantic.min.css";
document.head.appendChild(styleLink);
/*********************************************/
function App() {
//check license
ValidateLicense();
return (
<div>
</div>
);
}
export async function startACAP(){
console.log("In startACAP");
var httpRequest = {
method: "GET",
url: "/axis-cgi/applications/list.cgi"
}
var httpGet = await axios(httpRequest);
//console.log(httpGet.status);
console.log(httpGet.data);
var XMLParser = require('react-xml-parser');
var xmlDoc = new XMLParser().parseFromString(httpGet.data);
console.log(xmlDoc);
var installedApps = xmlDoc.getElementsByTagName("application").length;
console.log("Installed Apps: " + installedApps);
var i =0;
for (i = 0; i < installedApps; i++){
var appstatus = xmlDoc.getElementsByTagName("application")[i].attributes.Status;
//console.log("app number "+i+"Status "+appstatus);
/* look for tailscale_vpn app */
if ((xmlDoc.getElementsByTagName("application")[i].attributes.Name) === appName){
/* check if tailscale_vpn is running */
if (appstatus === 'Running'){
console.log(acapName + " is running");
//load logs.html page
window.location="/local/tailscale_vpn/logs.html";
}else{
console.log(acapName + " is NOT running");
console.log(acapName + " is Starting");
var startACAPRequest = {
method: "GET",
url: "/axis-cgi/applications/control.cgi?action=start&package=" + appName
}
var startACAP = await axios(startACAPRequest)
.then((response) => {
console.log(response);
console.log("Response from tailscale_vpn acap: " + response.data);
//load logs.html page
window.location="/local/tailscale_vpn/logs.html";
})
}
}
}
}
export default App;
-9
View File
@@ -1,9 +0,0 @@
import React from 'react';
import { render } from '@testing-library/react';
import App from './App';
test('renders learn react link', () => {
const { getByText } = render(<App />);
const linkElement = getByText(/learn react/i);
expect(linkElement).toBeInTheDocument();
});
@@ -1,93 +0,0 @@
import React from 'react';
import { Nav, Navbar, Form, FormControl } from 'react-bootstrap';
import styled from 'styled-components';
import {acapName} from '../App';
const Styles = styled.div`
.navbar {
background-color: white;
min-width:100px
}
a, .navbar-light {
height: 34px;
width: 100%;
color: black;
&:hover { color: white; }
}
.nav-link {
color: black;
&:hover { color: black; }
}
.navbar-brand {
padding-top: 1rem;
font-size: 1.4em;
color: black;
margin-left: 100px;
&:hover { color: black; }
}
.navbar-collapse {
position: fixed; /* Fixed Sidebar (stay in place on scroll and position relative to viewport) */
top:0px;
left: 85%
width:100%;
height:47px;
background-color: #FFCC33; /* Axis yeallow */
font-size: 1.4em;
color: black;
&:hover { color: white; }
}
.form-center {
position: absolute !important;
left: 25%;
right: 25%;
}
#conertext {
padding: 25px;
color:grey;
padding-top: 27px;
font-size: 10px;
}
#line {
top:0px;
height: 6px;
background-color: #e6e6e6;
}
#cornerimage {
top: 0px;
height: 62px;
}
#cornerinfo{
position: fixed;
height:62px;
width:100%;
background-color: #FFCC33; /* Axis yeallow */
left: 85%;
font-size: 1.4em;
}
#logoimage{
position: fixed;
top:5px;
font-size: 1.4em;
}
`;
export const NavigationBar = () => (
<Styles>
<Navbar >
<img id="logoimage" src="./img/logo.svg" ></img>
<Navbar.Brand>{acapName}</Navbar.Brand>
<div id="cornerinfo">
<img id="cornerimage" src="./img/topcorner62.png" alt="Axis" ></img>
{/*<span id="conertext">Professional Services US</span>*/}
</div>
</Navbar>
<hr id="line"></hr>
</Styles>
)
/*
<Form className="form-center">
<FormControl type="text" placeholder="Search" className="" />
</Form>
*/
@@ -1,77 +0,0 @@
import React from 'react';
import styled from 'styled-components';
import { Menu } from 'semantic-ui-react';
import {Home} from '../App';
import {Config} from '../App';
import {HomeIcon, ConfigurationIcon} from 'practical-react-components-icons'
import {PracticalProvider} from 'practical-react-components-core'
import { Text } from 'react-native'
const StyledSideNav = styled.div`
.menu {
position: fixed;
top: 50px;
height: 100%;
background-color: #e6e6e6;
border: 0px;
}
`;
class SidebarPage extends React.Component {
constructor(props) {
super(props);
this.state = {
activeItem: 'Home',
}
}
// ** EDIT ** itens lists
render() {
const { activeItem } = this.state
return(
<PracticalProvider>
<StyledSideNav>
<Menu vertical>
<Menu.Item
name='Home'
onClick={Home}
//as={Link}
//to="/"
>
<HomeIcon> </HomeIcon>
<Text>Home</Text>
</Menu.Item>
<Menu.Item
name='Configuration'
onClick={Config}
//as={Link}
//to="/Config"
>
<ConfigurationIcon></ConfigurationIcon>
<Text>Configuration</Text>
</Menu.Item>
{/*<Menu.Item
name='Status'
onClick={this.handleItemClick}
as={Link}
to="/NoMatch"
/>*/}
</Menu>
</StyledSideNav>
</PracticalProvider>
);
}
}
export default SidebarPage;
-587
View File
@@ -1,587 +0,0 @@
/*!
* Bootstrap v3.3.7 (http://getbootstrap.com)
* Copyright 2011-2016 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
.btn-default,
.btn-primary,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger {
text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
}
.btn-default:active,
.btn-primary:active,
.btn-success:active,
.btn-info:active,
.btn-warning:active,
.btn-danger:active,
.btn-default.active,
.btn-primary.active,
.btn-success.active,
.btn-info.active,
.btn-warning.active,
.btn-danger.active {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
}
.btn-default.disabled,
.btn-primary.disabled,
.btn-success.disabled,
.btn-info.disabled,
.btn-warning.disabled,
.btn-danger.disabled,
.btn-default[disabled],
.btn-primary[disabled],
.btn-success[disabled],
.btn-info[disabled],
.btn-warning[disabled],
.btn-danger[disabled],
fieldset[disabled] .btn-default,
fieldset[disabled] .btn-primary,
fieldset[disabled] .btn-success,
fieldset[disabled] .btn-info,
fieldset[disabled] .btn-warning,
fieldset[disabled] .btn-danger {
-webkit-box-shadow: none;
box-shadow: none;
}
.btn-default .badge,
.btn-primary .badge,
.btn-success .badge,
.btn-info .badge,
.btn-warning .badge,
.btn-danger .badge {
text-shadow: none;
}
.btn:active,
.btn.active {
background-image: none;
}
.btn-default {
text-shadow: 0 1px 0 #fff;
background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #dbdbdb;
border-color: #ccc;
}
.btn-default:hover,
.btn-default:focus {
background-color: #e0e0e0;
background-position: 0 -15px;
}
.btn-default:active,
.btn-default.active {
background-color: #e0e0e0;
border-color: #dbdbdb;
}
.btn-default.disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
background-color: #e0e0e0;
background-image: none;
}
.btn-primary {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #245580;
}
.btn-primary:hover,
.btn-primary:focus {
background-color: #265a88;
background-position: 0 -15px;
}
.btn-primary:active,
.btn-primary.active {
background-color: #265a88;
border-color: #245580;
}
.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
background-color: #265a88;
background-image: none;
}
.btn-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #3e8f3e;
}
.btn-success:hover,
.btn-success:focus {
background-color: #419641;
background-position: 0 -15px;
}
.btn-success:active,
.btn-success.active {
background-color: #419641;
border-color: #3e8f3e;
}
.btn-success.disabled,
.btn-success[disabled],
fieldset[disabled] .btn-success,
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus,
.btn-success.disabled:active,
.btn-success[disabled]:active,
fieldset[disabled] .btn-success:active,
.btn-success.disabled.active,
.btn-success[disabled].active,
fieldset[disabled] .btn-success.active {
background-color: #419641;
background-image: none;
}
.btn-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #28a4c9;
}
.btn-info:hover,
.btn-info:focus {
background-color: #2aabd2;
background-position: 0 -15px;
}
.btn-info:active,
.btn-info.active {
background-color: #2aabd2;
border-color: #28a4c9;
}
.btn-info.disabled,
.btn-info[disabled],
fieldset[disabled] .btn-info,
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
.btn-info.disabled.active,
.btn-info[disabled].active,
fieldset[disabled] .btn-info.active {
background-color: #2aabd2;
background-image: none;
}
.btn-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #e38d13;
}
.btn-warning:hover,
.btn-warning:focus {
background-color: #eb9316;
background-position: 0 -15px;
}
.btn-warning:active,
.btn-warning.active {
background-color: #eb9316;
border-color: #e38d13;
}
.btn-warning.disabled,
.btn-warning[disabled],
fieldset[disabled] .btn-warning,
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus,
.btn-warning.disabled:active,
.btn-warning[disabled]:active,
fieldset[disabled] .btn-warning:active,
.btn-warning.disabled.active,
.btn-warning[disabled].active,
fieldset[disabled] .btn-warning.active {
background-color: #eb9316;
background-image: none;
}
.btn-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #b92c28;
}
.btn-danger:hover,
.btn-danger:focus {
background-color: #c12e2a;
background-position: 0 -15px;
}
.btn-danger:active,
.btn-danger.active {
background-color: #c12e2a;
border-color: #b92c28;
}
.btn-danger.disabled,
.btn-danger[disabled],
fieldset[disabled] .btn-danger,
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus,
.btn-danger.disabled:active,
.btn-danger[disabled]:active,
fieldset[disabled] .btn-danger:active,
.btn-danger.disabled.active,
.btn-danger[disabled].active,
fieldset[disabled] .btn-danger.active {
background-color: #c12e2a;
background-image: none;
}
.thumbnail,
.img-thumbnail {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
background-color: #e8e8e8;
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
background-color: #2e6da4;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
.navbar-default {
background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
}
.navbar-brand,
.navbar-nav > li > a {
text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
}
.navbar-inverse {
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-radius: 4px;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
}
.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-nav > li > a {
text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
}
.navbar-static-top,
.navbar-fixed-top,
.navbar-fixed-bottom {
border-radius: 0;
}
@media (max-width: 767px) {
.navbar .navbar-nav .open .dropdown-menu > .active > a,
.navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
color: #fff;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
}
.alert {
text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
}
.alert-success {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
background-repeat: repeat-x;
border-color: #b2dba1;
}
.alert-info {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
background-repeat: repeat-x;
border-color: #9acfea;
}
.alert-warning {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
background-repeat: repeat-x;
border-color: #f5e79e;
}
.alert-danger {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
background-repeat: repeat-x;
border-color: #dca7a7;
}
.progress {
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-striped {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
}
.list-group {
border-radius: 4px;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
text-shadow: 0 -1px 0 #286090;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
background-repeat: repeat-x;
border-color: #2b669a;
}
.list-group-item.active .badge,
.list-group-item.active:hover .badge,
.list-group-item.active:focus .badge {
text-shadow: none;
}
.panel {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}
.panel-default > .panel-heading {
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.panel-primary > .panel-heading {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
.panel-success > .panel-heading {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
background-repeat: repeat-x;
}
.panel-info > .panel-heading {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
background-repeat: repeat-x;
}
.panel-warning > .panel-heading {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
background-repeat: repeat-x;
}
.panel-danger > .panel-heading {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
background-repeat: repeat-x;
}
.well {
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
border-color: #dcdcdc;
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
}
/*# sourceMappingURL=bootstrap-theme.css.map */
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-218
View File
@@ -1,218 +0,0 @@
body {
font-family: sans-serif,Helvetica, Arial, Verdanda, Tahoma, Geneva;
font-size: 12px;
}
/*h1 {
font-family: Helvetica, Arial, Verdanda, Tahoma, Geneva, sans-serif;
color: #484848;
font-size: 18px;
font-weight: bold;
}*/
button {
font-family: Helvetica, Arial, Verdanda, Tahoma, Geneva, sans-serif;
color: #ffffff;
font-size: 12px;
background: grey;
padding: 5px 15px 5px 15px;
text-decoration: none;
text-shadow: none;
border: none;
cursor: pointer;
border-radius: 25px;
}
#tables{
display: flex;
padding-left: 0px;
}
.SLInput {
font-size: 12px;
font-family: sans-serif;
border: 1px solid grey;
padding: 4px;
margin: 2px;
width: 250px;
float:initial;
}
.SLInput_res {
font-size: 12px;
font-family: sans-serif;
border: 1px solid grey;
padding: 4px;
margin: 2px;
width: 72px;
float:initial;
}
.SLInput_dropres {
font-size: 12px;
font-family: sans-serif;
border: 1px solid grey;
padding: 4px;
margin: 2px;
width: 100px;
float:initial;
}
.header {
height: 40px;
width: auto;
background-color: rgb(216,207,198);
margin: 0px;
border-bottom: 3px solid #ffcb31;
position: absolute;
left: 0px;
right: 0px;
top: 0px;
text-align: center;
padding: 0px;
margin: 0px;
}
.header .logo {
background-repeat: no-repeat;
width: 83px;
height: 30px;
left: 20px;
top: 5px;
position: absolute;
}
.header h1 {
position: absolute;
top: 10px;
}
.saving h1 {
color: grey;
font-size: 15px;
margin-top: 5px;
}
.settings-menu {
width: 100%;
background-color: #ffffff;
margin: 0px;
border-bottom: 3px solid rgb(0,157,220);
position: absolute;
left: 0px;
right: 0px;
top: 43px;
text-align: left;
padding: 0px;
margin: 0px;
z-index: 10;
}
.settings-menu {
overflow: visible;
}
.settings-item {
position: relative;
top: 0;
bottom: 0;
padding: 10px 40px 10px 10px;
margin: 10px;
display: inline-block;
float: left;
overflow: visible;
max-width: 400px;
}
.settings-item h1 {
color: rgb(0,157,220);
font-size: 15px;
margin-top: 5px;
}
.settings-item span {
width: 100px;
display: inline-block;
}
#logo {
font-size:50px;
color:black;
top: 50px;
}
#ruleSpinner {
padding-top: 20px;
position: absolute;
left: 0px;
}
#main {
top: 50px;
position: relative;
color: grey;
font-size: 15px;
font-weight: bold;
}
#configpage{
top: 70px;
left:250px;
position: absolute;
color: grey;
font-size: 15px;
}
#homepage{
width: 800px;
top: 70px;
left:250px;
position: absolute;
color: grey;
font-size: 15px;
}
#savebutton {
left:50px;
padding-top:20px;
}
li:hover{
background-color:#FFC106;
}
#licensepage {
padding-left:50px;
}
#licenseCode {
width:250px;
}
#savelayoutdiv {
position: absolute;
padding-left: 20px;
padding-right: 20px;
top: 60px;
left: 690px;
#background-color:grey;
#width:100px;
#border-radius:25px;
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

-27
View File
@@ -1,27 +0,0 @@
<svg focusable="false" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 238 90" xml:space="preserve">
<g>
<path d="m98.87496 15.58887 11.51463 0 .13725.13751 0 50.03436-.13725.13713-11.51463 0c-.13713 0-.13713-.13713-.13713-.13713l0-50.03436c0 0 0-.13751.13713-.13751"/>
<path d="m95.03658 15.58887c0 0 .13725.13751 0 .27376l-15.21574 24.67537c-.13725.13675-.13725.41113 0 .68513l15.353 24.40038c.13675.13724 0 .27437 0 .27437l-14.25637 0c-.13713 0-.27438-.13713-.41113-.13713l-9.1845-15.07912c-.13725-.13725-.13725-.13725-.2745 0l-8.63576 14.94188c-.13662.13724-.27387.27437-.41112.27437l-13.29638 0c-.27438 0-.27438-.13713-.13725-.13713l15.627-25.90875c.27438-.27312.27438-.54811 0-.82187l-13.708-23.1675c-.13725-.13625 0-.27376 0-.27376l13.84525 0c.13713 0 .27388.13751.27388.27376l8.36187 13.9825c.13712.1375.13712.1375.27388 0l8.63625-13.9825c0-.13625.13725-.27376.27438-.27376l12.88525 0"/>
<path d="m193.45934 1.33263 41.39876 64.56525-35.91498 0-13.57002-21.11024-1.64502 0-.95998-1.50838-16.175 0 26.86624-41.94663" fill="#f7e109"/>
<path d="m190.85559 41.22313 15.90125 24.67474-50.58249 0 15.90126-24.67474 18.78 0" fill="#231f20"/>
<path d="m186.74309 41.22313 15.90126 24.67474-50.5825 0 15.90123-24.67474 18.78001 0" fill="#c93437"/>
<path d="m44.1802 15.5889-10.6924 0c-.1372 0-.2745.1375-.2745.2737l-32.2133 49.8981c0 0 0 .13721.13721.13721l13.02249 0c.1366 0 .2739 0 .2739-.13721l4.3867-6.8544c.1372 0 .1372-.1368.2744-.1368l13.708 0c.1367 0 .1367.1368.1367.1368l0 6.7172c0 .1372 0 .27441.1373.27441l11.2406 0 .1373-.13721 0-49.8981c0-.1362-.1373-.2737-.2744-.2737l0 0zm-11.2407 33.311c0 .1372 0 .1372 0 .1372l-8.4985 0c-.1373 0-.1373 0-.1373-.1372l9.0469-14.3935 0 0-.4111 14.3935"/>
<path d="m117.24371 65.89787 15.21562 0c1.91875-.13713 3.83875-.41162 5.62126-.95987 6.98999-2.19289 10.69124-9.18464 10.69124-15.07863 0-9.4585-7.40251-12.748-16.175-16.44925-1.50874-.68625-3.42751-1.645-3.42751-3.70125 0-2.05626 2.05626-3.15375 4.25002-3.15375l11.92624 0c.13626 0 .13626 0 .13626-.13626l0-10.83c0-.13625 0-.13625-.13626-.13625l-12.47499 0c-10.41749 0-16.58638 6.16876-16.58638 14.80376 0 7.53999 4.79788 11.24112 11.78889 14.11963 4.935 1.91887 8.08748 2.74161 8.08748 6.71724 0 2.05612-1.23375 4.11224-3.83876 4.11224 0 0-14.94099 0-15.07813 0l0 0c0 0 0 10.41801 0 10.55525 0 .13713.13712.13713 0 .13713"/>
<path d="m155.21434 15.31512c-2.33 0-4.1125 1.91875-4.1125 4.25 0 2.19374 1.7825 4.1125 4.1125 4.1125 2.33 0 4.25-1.91876 4.25-4.1125 0-2.33125-1.92-4.25-4.25-4.25zm0 7.95c-2.05626 0-3.70126-1.64374-3.70126-3.7 0-2.19376 1.645-3.83875 3.70126-3.83875 2.19374 0 3.83875 1.64499 3.83875 3.83875 0 2.05626-1.64499 3.7-3.83875 3.7"/>
<path d="m157.27058 21.89513-.95877-2.19376c.54752-.13625.82251-.685.82251-1.23375 0-.41125-.1375-.82249-.54875-1.09625-.27373-.27374-.68498-.27374-1.09624-.27374l-1.7825 0 0 4.7975.54875 0 0-2.05626 1.37 0 .96001 2.05626.685 0zm-3.01501-2.60501 0-1.78123 1.23375 0c.27376 0 .54875 0 .68501.27374.27374.13625.41124.27374.41124.685 0 .13751-.1375.41125-.27376.54875-.27374.27374-.54874.27374-.82249.27374l-1.23375 0"/>
<path d="m11.14359 84.5405c-1.37063.68501-2.46683.9595-3.97513.9595-3.9751 0-5.89405-2.46774-5.89405-4.93463 0-2.605 2.19336-5.07225 6.03125-5.07225 1.50781 0 2.74117.27388 3.70118.82275l0 2.19337c-1.09663-.54887-2.19336-.9595-3.42676-.9595-2.19335 0-3.70165 1.23337-3.70165 3.01563 0 1.6445 1.5083 2.87851 3.56445 2.87851 1.3706 0 2.19334-.27451 3.70071-.9595l0 2.05611"/>
<path d="m25.53759 85.5c-3.70162 0-5.75775-2.46774-5.75775-4.93463 0-2.46774 2.05612-5.07225 5.75775-5.07225 3.83788 0 5.75688 2.74174 5.75688 5.07225 0 2.46689-2.05613 4.93463-5.75688 4.93463zm0-7.95026c-1.91937 0-3.15325 1.23337-3.15325 3.01563 0 1.78175 1.23388 2.87851 3.15325 2.87851 1.919 0 3.15288-1.09676 3.15288-2.87851 0-1.78226-1.23388-3.01563-3.15288-3.01563"/>
<path d="m48.70409 75.63037 2.05612 0 0 9.73238-2.46775 0 0-6.03125-2.74163 3.01563-.274 0-2.74162-3.01563 0 6.03125-2.46738 0 0-9.73238 2.05625 0 3.29 3.70113 3.29-3.70113"/>
<path d="m69.26559 75.63037 2.19337 0 0 9.73238-2.46775 0 0-6.03125-2.74125 3.01563-.41163 0-2.74112-3.01563 0 6.03125-2.46788 0 0-9.73238 2.19337 0 3.29013 3.70113 3.15275-3.70113"/>
<path d="m90.65033 75.63037 0 5.62012c0 3.15276-2.33049 4.24951-5.07224 4.24951-2.87888 0-4.93501-1.23387-4.93501-4.24951l0-5.62012 2.46776 0 0 5.62012c0 1.371 1.09662 2.19339 2.46725 2.19339 1.37062 0 2.60449-.54839 2.60449-2.33063l0-5.48288 2.46774 0"/>
<path d="m109.97846 85.36275-2.05663 0-5.61964-6.1685 0 6.1685-2.46774 0 0-9.73238 2.33064 0 5.34612 6.03175 0-6.03175 2.46725 0 0 9.73238"/>
<path d="m119.57371 85.36275 2.46778 0 0-9.73241-2.46778 0 0 9.73241z"/>
<path d="m140.13684 84.5405c-1.37126.68501-2.46875.9595-3.97626.9595-3.83876 0-5.89499-2.46774-5.89499-4.93463 0-2.605 2.19374-5.07225 6.03249-5.07225 1.50751 0 2.74126.27388 3.70125.82275l0 2.19337c-1.09749-.54887-2.19374-.9595-3.42749-.9595-2.19376 0-3.70125 1.23337-3.70125 3.01563 0 1.6445 1.50749 2.87851 3.56375 2.87851 1.37125 0 2.19374-.27451 3.7025-.9595l0 2.05611"/>
<path d="m158.09435 85.36275-2.60501 0-.82248-1.91887-4.52376 0-.82248 1.91887-2.60501 0 3.97623-9.73238 3.015 0 4.38751 9.73238zm-5.89499-7.40237-1.37126 3.83838 3.01625 0-1.64499-3.83838"/>
<path d="m172.76184 77.41263-3.56502 0 0 7.95012-2.60373 0 0-7.95012-3.56502 0 0-1.78226 9.73375 0 0 1.78226"/>
<path d="m180.4381 85.36275 2.4673 0 0-9.73241-2.4673 0 0 9.73241z"/>
<path d="m196.33934 85.5c-3.70125 0-5.75751-2.46774-5.75751-4.93463 0-2.46774 1.91875-5.07225 5.75751-5.07225 3.70125 0 5.75624 2.74174 5.75624 5.07225 0 2.46689-2.1925 4.93463-5.75624 4.93463zm0-7.95026c-1.92 0-3.15375 1.23337-3.15375 3.01563 0 1.78175 1.23375 2.87851 3.15375 2.87851 1.91875 0 3.1525-1.09676 3.1525-2.87851 0-1.78226-1.23375-3.01563-3.1525-3.01563"/>
<path d="m219.64183 85.36275-2.05623 0-5.62001-6.1685 0 6.1685-2.4675 0 0-9.73238 2.33 0 5.34624 6.03175 0-6.03175 2.4675 0 0 9.73238"/>
<path d="m234.30934 78.23486c-1.50751-.68512-2.33-.9595-3.28876-.9595-.82376 0-1.37123.41113-1.37123.82225 0 1.50824 5.07123 1.09662 5.07123 4.52386 0 1.78175-1.64499 2.87851-3.83748 2.87851-1.78252 0-2.60501-.41113-3.70128-.9595l0-2.05612c1.50752.9595 2.33002 1.23387 3.42751 1.23387.95876 0 1.50752-.27437 1.50752-.82275 0-1.645-5.07253-1.09674-5.07253-4.52351 0-1.78212 1.50876-2.87888 3.83878-2.87888 1.09624 0 2.05623.27388 3.42624.82275l0 1.91899"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.4 KiB

@@ -1,40 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- BUG: Firefox will not animate SVG embedded as background images. [https://bugzilla.mozilla.org/show_bug.cgi?id=908634] -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 234.7 235.6" enable-background="new 0 0 234.7 235.6" xml:space="preserve">
<style>
/* <![CDATA[ */
@-webkit-keyframes spinner-fade {0% {opacity: 1 } 80% {opacity: 0 } 100% {opacity: 0 } }
@keyframes spinner-fade {0% {opacity: 1 } 80% {opacity: 0 } 100% {opacity: 0 } }
g.spinner path {opacity: 0; -webkit-animation: spinner-fade 0.75s linear infinite; animation: spinner-fade 0.75s linear infinite;}
g.spinner path:nth-of-type(1) {-webkit-animation-delay: -0.25s; animation-delay: -0.25s; }
g.spinner path:nth-of-type(2) {-webkit-animation-delay: -0.1875s; animation-delay: -0.1875s; }
g.spinner path:nth-of-type(3) {-webkit-animation-delay: -0.125s; animation-delay: -0.125s; }
g.spinner path:nth-of-type(4) {-webkit-animation-delay: -0.0625s; animation-delay: -0.0625s; }
g.spinner path:nth-of-type(5) {-webkit-animation-delay: 0s; animation-delay: 0s; }
g.spinner path:nth-of-type(6) {-webkit-animation-delay: 0.0625s; animation-delay: 0.0625s; }
g.spinner path:nth-of-type(7) {-webkit-animation-delay: 0.125s; animation-delay: 0.125s; }
g.spinner path:nth-of-type(8) {-webkit-animation-delay: 0.1875s; animation-delay: 0.1875s; }
g.spinner path:nth-of-type(9) {-webkit-animation-delay: 0.25s; animation-delay: 0.25s; }
g.spinner path:nth-of-type(10) {-webkit-animation-delay: 0.3125s; animation-delay: 0.3125s; }
g.spinner path:nth-of-type(11) {-webkit-animation-delay: -0.375s; animation-delay: -0.375s; }
g.spinner path:nth-of-type(12) {-webkit-animation-delay: -0.3125s; animation-delay: -0.3125s; }
/* ]]> */
</style>
<g class="spinner">
<path d="M128.3,10.7c0,0-0.3-10.7-11-10.7s-11,10.7-11,10.7l0,0v0v42.7v0l0,0c0,0,0.3,10.7,11,10.7s11-10.7,11-10.7 l0,0v0V10.7L128.3,10.7L128.3,10.7z" />
<path d="M140.3,56.5c0,0-5.6,9.2,3.7,14.6c9.2,5.3,14.3-3.9,14.3-3.9l0,0v0l21.4-37l0,0l0,0c0,0,5.3-9.2-3.9-14.6 s-14.5,3.9-14.6,3.9l0,0l0.2,0L140.3,56.5L140.3,56.5L140.3,56.5z" />
<path d="M167.4,76.3c0,0-9.2,5.1-3.9,14.3c5.3,9.2,14.6,3.7,14.6,3.7l0,0h0L215,73.1l0,0.1l0,0c0,0,9.2-5.3,3.9-14.5 s-14.6-3.9-14.6-3.9l0,0l0,0.1L167.4,76.3L167.4,76.3L167.4,76.3z" />
<path d="M224,128.3c0,0,10.7-0.3,10.7-11s-10.7-11-10.7-11l0,0h0h-42.7h0l0,0c0,0-10.7,0.3-10.7,11s10.7,11,10.7,11 l0,0h0H224L224,128.3L224,128.3z" />
<path d="M203.8,180.3c0,0,9.2,5.6,14.6-3.6c5.4-9.2-3.8-14.4-3.8-14.4l0,0h0l-36.8-21.7l0,0l0,0 c0,0-9.2-5.4-14.6,3.8c-5.4,9.2,3.8,14.6,3.8,14.6l0,0l0-0.2L203.8,180.3L203.8,180.3L203.8,180.3z" />
<path d="M160.3,215.5c0,0,5.4,9.3,14.7,4.1c9.3-5.2,4.3-14.5,4.3-14.5l0,0v0l-21.1-37.2l-0.1,0l0,0 c0,0-5.3-9.3-14.6-4.1c-9.3,5.2-4.1,14.5-4.1,14.5l0,0l0,0L160.3,215.5L160.3,215.5L160.3,215.5z"/>
<path d="M128.3,181.3c0,0-0.3-10.7-11-10.7s-11,10.7-11,10.7l0,0v0V224v0l0,0c0,0,0.3,10.7,11,10.7s11-10.7,11-10.7 l0,0v0V181.3L128.3,181.3L128.3,181.3z"/>
<path d="M55.3,204.5c0,0-5.6,9.2,3.7,14.6c9.2,5.3,14.3-3.9,14.3-3.9l0,0v0l21.3-37l0,0l0,0c0,0,5.3-9.2-3.9-14.6 s-14.6,3.9-14.6,3.9l0,0l0.2,0L55.3,204.5L55.3,204.5L55.3,204.5z"/>
<path d="M19.6,161.3c0,0-9.2,5.6-3.9,14.8s14.6,4.2,14.6,4.2l0,0h0l36.9-21.5l0-0.1l0,0c0,0,9.2-5.4,3.9-14.6 c-5.3-9.2-14.6-3.9-14.6-3.9l0,0l0-0.1L19.6,161.3L19.6,161.3L19.6,161.3z"/>
<path d="M53.3,128.3c0,0,10.7-0.3,10.7-11s-10.7-11-10.7-11l0,0h0H10.7h0l0,0c0,0-10.7,0.3-10.7,11s10.7,11,10.7,11 l0,0h0H53.3L53.3,128.3L53.3,128.3z"/>
<path d="M56.8,94.3c0,0,9.2,5.1,14.6-4.1c5.4-9.2-3.8-14.9-3.8-14.9l0,0h0L30.8,53.8l0,0.1l0,0c0,0-9.2-5.4-14.6,3.8 S20,72.4,20,72.4l0,0l0,0.2L56.8,94.3L56.8,94.3L56.8,94.3z"/>
<path d="M76.3,66.8c0,0,5.4,9.3,14.7,4.1s4.3-14.5,4.3-14.5l0,0v0l-21-37.2l0,0l0,0c0,0-5.3-9.3-14.5-4.1 s-4.1,14.5-4.1,14.5l0,0l-0.2,0L76.3,66.8L76.3,66.8L76.3,66.8z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.0 KiB

-91
View File
@@ -1,91 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.2" width="20.64mm" height="9mm" viewBox="0 0 2064 900" preserveAspectRatio="xMidYMid" fill-rule="evenodd" stroke-width="28.222" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" xmlns:ooo="http://xml.openoffice.org/svg/export" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:presentation="http://sun.com/xmlns/staroffice/presentation" xmlns:smil="http://www.w3.org/2001/SMIL20/" xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" xml:space="preserve">
<defs class="ClipPathGroup">
<clipPath id="presentation_clip_path" clipPathUnits="userSpaceOnUse">
<rect x="0" y="0" width="2064" height="900"/>
</clipPath>
<clipPath id="presentation_clip_path_shrink" clipPathUnits="userSpaceOnUse">
<rect x="2" y="0" width="2060" height="899"/>
</clipPath>
</defs>
<defs class="TextShapeIndex">
<g ooo:slide="id1" ooo:id-list="id3"/>
</defs>
<defs class="EmbeddedBulletChars">
<g id="bullet-char-template-57356" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 580,1141 L 1163,571 580,0 -4,571 580,1141 Z"/>
</g>
<g id="bullet-char-template-57354" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 8,1128 L 1137,1128 1137,0 8,0 8,1128 Z"/>
</g>
<g id="bullet-char-template-10146" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 174,0 L 602,739 174,1481 1456,739 174,0 Z M 1358,739 L 309,1346 659,739 1358,739 Z"/>
</g>
<g id="bullet-char-template-10132" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 2015,739 L 1276,0 717,0 1260,543 174,543 174,936 1260,936 717,1481 1274,1481 2015,739 Z"/>
</g>
<g id="bullet-char-template-10007" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 0,-2 C -7,14 -16,27 -25,37 L 356,567 C 262,823 215,952 215,954 215,979 228,992 255,992 264,992 276,990 289,987 310,991 331,999 354,1012 L 381,999 492,748 772,1049 836,1024 860,1049 C 881,1039 901,1025 922,1006 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 C 774,196 753,168 711,139 L 727,119 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 C 142,-110 111,-127 72,-127 30,-127 9,-110 8,-76 1,-67 -2,-52 -2,-32 -2,-23 -1,-13 0,-2 Z"/>
</g>
<g id="bullet-char-template-10004" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 41,549 55,616 82,672 116,743 169,778 240,778 293,778 328,747 346,684 L 369,508 C 377,444 397,411 428,410 L 1163,1116 C 1174,1127 1196,1133 1229,1133 1271,1133 1292,1118 1292,1087 L 1292,965 C 1292,929 1282,901 1262,881 L 442,47 C 390,-6 338,-33 285,-33 Z"/>
</g>
<g id="bullet-char-template-9679" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 223,773 276,916 383,1023 489,1130 632,1184 813,1184 992,1184 1136,1130 1245,1023 1353,916 1407,772 1407,592 1407,412 1353,268 1245,161 1136,54 992,0 813,0 Z"/>
</g>
<g id="bullet-char-template-8226" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 346,457 C 273,457 209,483 155,535 101,586 74,649 74,723 74,796 101,859 155,911 209,963 273,989 346,989 419,989 480,963 531,910 582,859 608,796 608,723 608,648 583,586 532,535 482,483 420,457 346,457 Z"/>
</g>
<g id="bullet-char-template-8211" transform="scale(0.00048828125,-0.00048828125)">
<path d="M -4,459 L 1135,459 1135,606 -4,606 -4,459 Z"/>
</g>
<g id="bullet-char-template-61548" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 173,740 C 173,903 231,1043 346,1159 462,1274 601,1332 765,1332 928,1332 1067,1274 1183,1159 1299,1043 1357,903 1357,740 1357,577 1299,437 1183,322 1067,206 928,148 765,148 601,148 462,206 346,322 231,437 173,577 173,740 Z"/>
</g>
</defs>
<g>
<g id="id2" class="Master_Slide">
<g id="bg-id2" class="Background"/>
<g id="bo-id2" class="BackgroundObjects"/>
</g>
</g>
<g class="SlideGroup">
<g>
<g id="container-id1">
<g id="id1" class="Slide" clip-path="url(#presentation_clip_path)">
<g class="Page">
<g class="Graphic">
<g id="id3">
<rect class="BoundingBox" stroke="none" fill="none" x="0" y="0" width="2064" height="900"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 958,198 L 959,199 959,627 958,628 859,628 C 858,628 858,627 858,627 L 858,199 C 858,199 858,198 859,198 L 958,198 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 826,200 L 696,411 C 695,412 695,415 696,417 L 828,626 C 829,627 828,628 828,628 L 706,628 C 704,628 703,627 702,627 L 624,498 C 622,497 622,497 621,498 L 547,626 C 546,627 545,628 544,628 L 430,628 C 428,628 428,627 429,627 L 563,405 C 565,403 565,401 563,398 L 445,200 C 444,199 445,198 445,198 L 564,198 C 565,198 566,199 566,200 L 638,320 C 639,321 639,321 640,320 L 714,200 C 714,199 715,198 716,198 L 826,198 C 826,198 828,199 826,200 Z"/>
<path fill="rgb(247,225,9)" stroke="none" d="M 2023,628 L 1716,628 1599,448 1585,448 1577,435 1439,435 1669,76 2023,628 Z"/>
<path fill="rgb(35,31,32)" stroke="none" d="M 1782,628 L 1350,628 1486,417 1646,417 1782,628 Z"/>
<path fill="rgb(201,52,55)" stroke="none" d="M 1747,628 L 1314,628 1450,417 1611,417 1747,628 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 300,198 C 299,198 297,199 297,200 L 22,627 C 22,627 22,628 23,628 L 134,628 C 136,628 137,628 137,627 L 174,568 C 175,568 175,567 177,567 L 294,567 C 295,567 295,568 295,568 L 295,626 C 295,627 295,628 296,628 L 392,628 394,627 394,200 C 394,199 392,198 391,198 L 300,198 Z M 295,484 L 222,484 C 221,484 221,484 221,483 L 299,360 295,483 295,484 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1016,628 L 1147,628 C 1163,627 1180,625 1195,620 1255,601 1286,541 1286,491 1286,410 1223,382 1148,350 1135,344 1119,336 1119,319 1119,301 1136,292 1155,292 L 1257,292 C 1258,292 1258,292 1258,291 L 1258,198 C 1258,197 1258,197 1257,197 L 1150,197 C 1061,197 1008,250 1008,323 1008,388 1049,420 1109,444 1151,461 1178,468 1178,502 1178,519 1168,537 1145,537 1145,537 1018,537 1016,537 L 1016,537 C 1016,537 1016,626 1016,627 1016,628 1018,628 1016,628 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1341,196 C 1321,196 1306,212 1306,232 1306,251 1321,267 1341,267 1361,267 1378,251 1378,232 1378,212 1361,196 1341,196 Z M 1310,232 C 1310,213 1324,199 1341,199 1360,199 1374,213 1374,232 1374,250 1360,264 1341,264 1324,264 1310,250 1310,232 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1351,233 C 1355,232 1358,227 1358,223 1358,219 1357,215 1353,213 1351,211 1347,211 1344,211 L 1328,211 1328,252 1333,252 1333,234 1345,234 1353,252 1359,252 1351,233 Z M 1333,214 L 1344,214 C 1346,214 1348,214 1350,217 1352,218 1353,219 1353,223 1353,224 1352,226 1351,227 1348,230 1346,230 1344,230 L 1333,230 1333,214 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 109,788 C 97,794 87,796 75,796 41,796 24,775 24,754 24,731 43,710 76,710 89,710 99,713 107,717 L 107,736 C 98,731 89,728 78,728 59,728 46,738 46,754 46,768 59,778 77,778 89,778 96,776 109,770 L 109,788 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 232,796 C 200,796 182,775 182,754 182,733 200,710 232,710 265,710 281,734 281,754 281,775 263,796 232,796 Z M 205,754 C 205,769 215,778 232,778 248,778 259,769 259,754 259,738 248,728 232,728 215,728 205,738 205,754 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 430,712 L 448,712 448,795 426,795 426,743 403,769 401,769 377,743 377,795 356,795 356,712 374,712 402,743 430,712 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 606,712 L 625,712 625,795 604,795 604,743 580,769 577,769 553,743 553,795 532,795 532,712 551,712 579,743 606,712 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 789,712 L 789,760 C 789,787 769,796 746,796 721,796 703,785 703,760 L 703,712 724,712 724,760 C 724,771 734,778 746,778 757,778 768,774 768,758 L 768,712 789,712 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 937,795 L 889,742 889,795 868,795 868,712 887,712 933,763 933,712 954,712 954,795 937,795 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1036,795 L 1058,795 1058,712 1036,712 1036,795 1036,795 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1212,788 C 1201,794 1191,796 1178,796 1145,796 1128,775 1128,754 1128,731 1147,710 1180,710 1192,710 1203,713 1211,717 L 1211,736 C 1202,731 1192,728 1182,728 1163,728 1150,738 1150,754 1150,768 1163,778 1181,778 1192,778 1199,776 1212,770 L 1212,788 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1344,795 L 1337,778 1298,778 1291,795 1269,795 1303,712 1328,712 1366,795 1344,795 Z M 1304,764 L 1330,764 1316,731 1304,764 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1461,727 L 1461,795 1439,795 1439,727 1408,727 1408,712 1492,712 1492,727 1461,727 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1557,795 L 1578,795 1578,712 1557,712 1557,795 1557,795 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1693,796 C 1662,796 1644,775 1644,754 1644,733 1660,710 1693,710 1725,710 1743,734 1743,754 1743,775 1724,796 1693,796 Z M 1666,754 C 1666,769 1677,778 1693,778 1710,778 1720,769 1720,754 1720,738 1710,728 1693,728 1677,728 1666,738 1666,754 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1875,795 L 1827,742 1827,795 1806,795 1806,712 1826,712 1872,763 1872,712 1893,712 1893,795 1875,795 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 2018,734 C 2005,728 1998,726 1990,726 1983,726 1978,729 1978,733 1978,746 2022,742 2022,771 2022,787 2008,796 1989,796 1974,796 1967,792 1957,788 L 1957,770 C 1970,778 1977,781 1987,781 1995,781 1999,778 1999,774 1999,760 1956,764 1956,735 1956,720 1969,710 1989,710 1998,710 2006,713 2018,717 L 2018,734 Z"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 422 B

-13
View File
@@ -1,13 +0,0 @@
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
code {
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
monospace;
}
-17
View File
@@ -1,17 +0,0 @@
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
// If you want your app to work offline and load faster, you can change
// unregister() to register() below. Note this comes with some pitfalls.
// Learn more about service workers: https://bit.ly/CRA-PWA
serviceWorker.unregister();
-247
View File
@@ -1,247 +0,0 @@
import React from 'react';
import ReactDOM from 'react-dom';
import axios from 'axios'
import {did,appName,appId,startACAP} from './App'
var serialNbr = "";
var enterLicenseCode = (
<div>
<div className='input-group mb-3' id="licenseCodeRef">
<div className='input-group-prepend'><br/>
<span className='input-group-text' id=''>License Code</span><br/>
</div>
<input type="text" placeholder="Enter License Code" className="form-control" id="licenseCode" />
</div>
<br/>
<button type="button" id="getLicenseButton" className="btn btn-primary" onClick={glk}>
Get License
</button>
</div>
);
var freeLicenseCode = (
<div></div>
);
class LicensePage extends React.Component{
render(){
return(
<div className="App">
<header className="App-header">
<div className="lic">
<div className="licArea">
<div style={{width:"100vh",height:"100vh",borderWidth:"0px"}}>
<div className="center">
<img src="./img/axis.svg" height="100" alt=""/><br/>
<div id="license">
<br/>
<p>{this.props.message}</p>
{/*{this.props.licStatus}*/}
</div>
</div>
</div>
</div>
</div>
</header>
</div>
)
}
}
//request license to axis site
async function glk(){
//licStatus = "Retrieving license key. Please wait ...";
//render License Page
ReactDOM.render(<LicensePage message="Retrieving license key. Please wait ..." />,document.getElementById('root'));
//var lcode = document.getElementById("licenseCode").value;
//console.log("license code : " + lcode);
//payload
//var d = "{\"licenseCode\":\""+lcode+"\",\"deviceId\":\""+serialNbr+"\"}";
if(did==="free"){
var d = "{\"applicationId\":\""+appId+"\",\"deviceId\":\""+serialNbr+"\",\"licenseType\":1}"
}
//build http get request
var getLicenseRequest = {
method: "POST",
crossDomain: true,
url: "https://gateway.api.axis.com/info-ext/acap/aca/v2/licensekey",
data: d,
dataType: "json",
headers: {
Authorization: "Bearer 2f742d39-1251-30bc-ba38-bc460e820596",
'Content-Type': 'application/json'
},
}
//send request
var getLicense = await axios(getLicenseRequest)
//error handling
.catch(err => {
//console.log(err.response);
var errorMessage = "Error! Code: " + err.response.status + " Message: " + err.response.data.originalTrace;
console.log(errorMessage);
ReactDOM.render(<LicensePage message={errorMessage} licStatus={enterLicenseCode}/>,document.getElementById('root'));
})
//debug
console.log(getLicense.status);
console.log(getLicense.data);
if (getLicense.status===200){
//console.log("200OK!");
ilk(getLicense.data);
}else{
alert("Error receiving license key, install through Axis Device Management or the ACAP List page");
}
}
//upload license into camera
async function ilk(lr){
//render License Page
ReactDOM.render(<LicensePage message="Installing license key. Please wait ..." licStatus={enterLicenseCode}/>,document.getElementById('root'));
console.log("LR = "+lr.xml);
if(lr.xml !== undefined){
var formData = new FormData();
var blob = new Blob([lr.xml], {type: "application/octet-stream"});
formData.append("lic_data",blob,"key.lic");
var uploadKeyRequest = {
method: "POST",
url: "/axis-cgi/applications/license.cgi?action=uploadlicensekey&package=" + appName,
data: formData
};
var uploadKey = await axios(uploadKeyRequest);
console.log("Response: " + uploadKey.status);
if (uploadKey.data.includes("OK")){
console.log("License key installed");
//start acap
restartAcap();
//check license again and redirect if Valid
ValidateLicense();
}else{
if (uploadKey.data.includes("21")){
console.log("Error: Invalid license key file.");
alert("Error: Invalid license key file.");
}
if (uploadKey.data.includes("22")){
console.log("Error: File upload failed.");
alert("Error: File upload failed.");
}
if (uploadKey.data.includes("23")){
console.log("Error: Failed to remove the license key file.");
alert("Error: Failed to remove the license key file.");
}
if (uploadKey.data.includes("24")){
console.log("Error: The application is not correctly installed");
alert("Error: The application is not correctly installed");
}
if (uploadKey.data.includes("25")){
console.log("Error: The key’s application ID does not match the installed application.");
alert("Error: The key’s application ID does not match the installed application.");
}
if (uploadKey.data.includes("26")){
console.log("Error: The license key cannot be used with this version of the application.");
alert("Error: The license key cannot be used with this version of the application.");
}
if (uploadKey.data.includes("27")){
console.log("Error: Failed to connect to Axis online service.");
alert("Error: Failed to connect to Axis online service.");
}
if (uploadKey.data.includes("28")){
console.log("Error: Failed to receive license from Axis online service.");
alert("Error: Failed to receive license from Axis online service.");
}
if (uploadKey.data.includes("29")){
console.log("Error: Bad configuration file for the application.");
alert("Error: Bad configuration file for the application.");
}
if (uploadKey.data.includes("30")){
console.log("Error: Wrong serial number.");
alert("Error: Wrong serial number.");
}
if (uploadKey.data.includes("31")){
console.log("Error: The license key has expired.");
alert("Error: The license key has expired.");
}
}
}else {
//All kinds of errors.
console.log("Error receiving license key, install through Axis Device Management or the ACAP List page");
alert("Error receiving license key, install through Axis Device Management or the ACAP List page");
}
}
//Validate license key (this is done first at startup)
export async function ValidateLicense(){
//get serial number
getSerialNbr();
var listRequest = {
method: "GET",
url: "/axis-cgi/applications/list.cgi"
}
var list = await axios(listRequest);
//debug
console.log(list.data);
var XMLParser = require('react-xml-parser');
var xmlDoc = new XMLParser().parseFromString(list.data);
//debug
console.log(xmlDoc);
//find number of installed apps
var installedApps = xmlDoc.getElementsByTagName("application").length;
//debug
console.log("Installed Apps: " + installedApps);
//scan through them and look for our app
var i =0;
for (i = 0; i < installedApps; i++){
var licenseStatus = xmlDoc.getElementsByTagName("application")[i].attributes.License;
if ((xmlDoc.getElementsByTagName("application")[i].attributes.Name) === appName){
if (licenseStatus === 'Missing'){
console.log("Missing license.");
if (did === 'free'){
//install the license
glk();
}
//render License Page
ReactDOM.render(<LicensePage message="A license key needs to be installed." licStatus={enterLicenseCode}/>,document.getElementById('root'));
}
if (licenseStatus === 'Valid'){
console.log("Valid license.");
//This is the function to call if the license is Valid. This resides in the app.js file
startACAP();
//render License Page
ReactDOM.render(<LicensePage message="Loading ..."/>,document.getElementById('root'));
}
if (licenseStatus === 'Invalid'){
console.log("Invalid license.");
//render License Page
ReactDOM.render(<LicensePage message="Invalid license." licStatus={enterLicenseCode}/>,document.getElementById('root'));
}
}
}
}
async function getSerialNbr(){
var serialNumberRequest = {
method: "GET",
url: "/axis-cgi/param.cgi?action=list&group=Properties.System.SerialNumber"
}
var response = await axios(serialNumberRequest);
serialNbr = response.data.split("=")[1].replace("\n","").trim();
console.log("serial number: " + serialNbr);
}
async function restartAcap() {
var restartRequest = {
method: "GET",
url: "/axis-cgi/applications/control.cgi?action=restart&package=" + appName.toLowerCase()
}
var restart = await axios(restartRequest);
}
//export default glk;
-7
View File
@@ -1,7 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 841.9 595.3">
<g fill="#61DAFB">
<path d="M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11-2.3-10-4-19.7-5.2-29-4.7-38.2 1.1-67.9 14.6-75.8 3-1.8 6.9-2.6 11.5-2.6V78.5c-8.4 0-16 1.8-22.6 5.6-28.1 16.2-34.4 66.7-19.9 130.1-62.2 19.2-102.7 49.9-102.7 82.3 0 32.5 40.7 63.3 103.1 82.4-14.4 63.6-8 114.2 20.2 130.4 6.5 3.8 14.1 5.6 22.5 5.6 27.5 0 63.5-19.6 99.9-53.6 36.4 33.8 72.4 53.2 99.9 53.2 8.4 0 16-1.8 22.6-5.6 28.1-16.2 34.4-66.7 19.9-130.1 62-19.1 102.5-49.9 102.5-82.3zm-130.2-66.7c-3.7 12.9-8.3 26.2-13.5 39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4 14.2 2.1 27.9 4.7 41 7.9zm-45.8 106.5c-7.8 13.5-15.8 26.3-24.1 38.2-14.9 1.3-30 2-45.2 2-15.1 0-30.2-.7-45-1.9-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8 6.2-13.4 13.2-26.8 20.7-39.9 7.8-13.5 15.8-26.3 24.1-38.2 14.9-1.3 30-2 45.2-2 15.1 0 30.2.7 45 1.9 8.3 11.9 16.4 24.6 24.2 38 7.6 13.1 14.5 26.4 20.8 39.8-6.3 13.4-13.2 26.8-20.7 39.9zm32.3-13c5.4 13.4 10 26.8 13.8 39.8-13.1 3.2-26.9 5.9-41.2 8 4.9-7.7 9.8-15.6 14.4-23.7 4.6-8 8.9-16.1 13-24.1zM421.2 430c-9.3-9.6-18.6-20.3-27.8-32 9 .4 18.2.7 27.5.7 9.4 0 18.7-.2 27.8-.7-9 11.7-18.3 22.4-27.5 32zm-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9 3.7-12.9 8.3-26.2 13.5-39.5 4.1 8 8.4 16 13.1 24 4.7 8 9.5 15.8 14.4 23.4zM420.7 163c9.3 9.6 18.6 20.3 27.8 32-9-.4-18.2-.7-27.5-.7-9.4 0-18.7.2-27.8.7 9-11.7 18.3-22.4 27.5-32zm-74 58.9c-4.9 7.7-9.8 15.6-14.4 23.7-4.6 8-8.9 16-13 24-5.4-13.4-10-26.8-13.8-39.8 13.1-3.1 26.9-5.8 41.2-7.9zm-90.5 125.2c-35.4-15.1-58.3-34.9-58.3-50.6 0-15.7 22.9-35.6 58.3-50.6 8.6-3.7 18-7 27.7-10.1 5.7 19.6 13.2 40 22.5 60.9-9.2 20.8-16.6 41.1-22.2 60.6-9.9-3.1-19.3-6.5-28-10.2zM310 490c-13.6-7.8-19.5-37.5-14.9-75.7 1.1-9.4 2.9-19.3 5.1-29.4 19.6 4.8 41 8.5 63.5 10.9 13.5 18.5 27.5 35.3 41.6 50-32.6 30.3-63.2 46.9-84 46.9-4.5-.1-8.3-1-11.3-2.7zm237.2-76.2c4.7 38.2-1.1 67.9-14.6 75.8-3 1.8-6.9 2.6-11.5 2.6-20.7 0-51.4-16.5-84-46.6 14-14.7 28-31.4 41.3-49.9 22.6-2.4 44-6.1 63.6-11 2.3 10.1 4.1 19.8 5.2 29.1zm38.5-66.7c-8.6 3.7-18 7-27.7 10.1-5.7-19.6-13.2-40-22.5-60.9 9.2-20.8 16.6-41.1 22.2-60.6 9.9 3.1 19.3 6.5 28.1 10.2 35.4 15.1 58.3 34.9 58.3 50.6-.1 15.7-23 35.6-58.4 50.6zM320.8 78.4z"/>
<circle cx="420.9" cy="296.5" r="45.7"/>
<path d="M520.5 78.1z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

-141
View File
@@ -1,141 +0,0 @@
// This optional code is used to register a service worker.
// register() is not called by default.
// This lets the app load faster on subsequent visits in production, and gives
// it offline capabilities. However, it also means that developers (and users)
// will only see deployed updates on subsequent visits to a page, after all the
// existing tabs open on the page have been closed, since previously cached
// resources are updated in the background.
// To learn more about the benefits of this model and instructions on how to
// opt-in, read https://bit.ly/CRA-PWA
const isLocalhost = Boolean(
window.location.hostname === 'localhost' ||
// [::1] is the IPv6 localhost address.
window.location.hostname === '[::1]' ||
// 127.0.0.0/8 are considered localhost for IPv4.
window.location.hostname.match(
/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
)
);
export function register(config) {
if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
// The URL constructor is available in all browsers that support SW.
const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);
if (publicUrl.origin !== window.location.origin) {
// Our service worker won't work if PUBLIC_URL is on a different origin
// from what our page is served on. This might happen if a CDN is used to
// serve assets; see https://github.com/facebook/create-react-app/issues/2374
return;
}
window.addEventListener('load', () => {
const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;
if (isLocalhost) {
// This is running on localhost. Let's check if a service worker still exists or not.
checkValidServiceWorker(swUrl, config);
// Add some additional logging to localhost, pointing developers to the
// service worker/PWA documentation.
navigator.serviceWorker.ready.then(() => {
console.log(
'This web app is being served cache-first by a service ' +
'worker. To learn more, visit https://bit.ly/CRA-PWA'
);
});
} else {
// Is not localhost. Just register service worker
registerValidSW(swUrl, config);
}
});
}
}
function registerValidSW(swUrl, config) {
navigator.serviceWorker
.register(swUrl)
.then(registration => {
registration.onupdatefound = () => {
const installingWorker = registration.installing;
if (installingWorker == null) {
return;
}
installingWorker.onstatechange = () => {
if (installingWorker.state === 'installed') {
if (navigator.serviceWorker.controller) {
// At this point, the updated precached content has been fetched,
// but the previous service worker will still serve the older
// content until all client tabs are closed.
console.log(
'New content is available and will be used when all ' +
'tabs for this page are closed. See https://bit.ly/CRA-PWA.'
);
// Execute callback
if (config && config.onUpdate) {
config.onUpdate(registration);
}
} else {
// At this point, everything has been precached.
// It's the perfect time to display a
// "Content is cached for offline use." message.
console.log('Content is cached for offline use.');
// Execute callback
if (config && config.onSuccess) {
config.onSuccess(registration);
}
}
}
};
};
})
.catch(error => {
console.error('Error during service worker registration:', error);
});
}
function checkValidServiceWorker(swUrl, config) {
// Check if the service worker can be found. If it can't reload the page.
fetch(swUrl, {
headers: { 'Service-Worker': 'script' },
})
.then(response => {
// Ensure service worker exists, and that we really are getting a JS file.
const contentType = response.headers.get('content-type');
if (
response.status === 404 ||
(contentType != null && contentType.indexOf('javascript') === -1)
) {
// No service worker found. Probably a different app. Reload the page.
navigator.serviceWorker.ready.then(registration => {
registration.unregister().then(() => {
window.location.reload();
});
});
} else {
// Service worker found. Proceed as normal.
registerValidSW(swUrl, config);
}
})
.catch(() => {
console.log(
'No internet connection found. App is running in offline mode.'
);
});
}
export function unregister() {
if ('serviceWorker' in navigator) {
navigator.serviceWorker.ready
.then(registration => {
registration.unregister();
})
.catch(error => {
console.error(error.message);
});
}
}
-5
View File
@@ -1,5 +0,0 @@
// jest-dom adds custom jest matchers for asserting on DOM nodes.
// allows you to do things like:
// expect(element).toHaveTextContent(/react/i)
// learn more: https://github.com/testing-library/jest-dom
import '@testing-library/jest-dom/extend-expect';
@@ -1,42 +0,0 @@
import { defaultTheme, palette } from 'practical-react-components-core'
export const myCustomTheme = {
...defaultTheme,
name: 'customTheme',
color: {
text00:palette.white,
text01:palette.grey16,
text02:palette.grey24,
text03:palette.grey32,
text04:palette.grey40,
text05:palette.grey48,
text06:palette.grey16,
textLink:palette.lightBlue700,
textLinkHover:palette.lightBlue700,
textPrimary:palette.lightBlue700,
textError:palette.red700,
background:palette.white,
background00:palette.white,
background01:palette.grey94,
background02:palette.grey96,
background03:palette.grey98,
background04:palette.grey98,
background05:palette.white,
backgroundPrimary:palette.grey96,
backgroundError:palette.red50,
element01:palette.grey40,
element10:palette.grey98,
element11:palette.grey80,
element12:palette.grey90,
element13:palette.grey72,
element14:palette.grey64,
element15:palette.grey98,
element16:palette.grey98,
elementPrimary:palette.lightBlueA700,
elementHalfPrimary:palette.lightBlueA700,
elementError:palette.red700,
elementSuccess:palette.green700,
elementWarning:palette.amber500,
elementAccent:palette.deepPurple500,
elementBorder:palette.transparent,
}
}
Binary file not shown.
-2
View File
@@ -1,2 +0,0 @@
#define APP_NAME "tailscale_vpn"
#define APP_ID 414812
-22
View File
@@ -1,22 +0,0 @@
{
"files": {
"main.css": "./static/css/main.944c9394.chunk.css",
"main.js": "./static/js/main.b598e911.chunk.js",
"main.js.map": "./static/js/main.b598e911.chunk.js.map",
"runtime-main.js": "./static/js/runtime-main.d0b686be.js",
"runtime-main.js.map": "./static/js/runtime-main.d0b686be.js.map",
"static/js/2.86909d39.chunk.js": "./static/js/2.86909d39.chunk.js",
"static/js/2.86909d39.chunk.js.map": "./static/js/2.86909d39.chunk.js.map",
"index.html": "./index.html",
"precache-manifest.ace2b614d412e58a983d7f27b21db37e.js": "./precache-manifest.ace2b614d412e58a983d7f27b21db37e.js",
"service-worker.js": "./service-worker.js",
"static/css/main.944c9394.chunk.css.map": "./static/css/main.944c9394.chunk.css.map",
"static/js/2.86909d39.chunk.js.LICENSE.txt": "./static/js/2.86909d39.chunk.js.LICENSE.txt"
},
"entrypoints": [
"static/js/runtime-main.d0b686be.js",
"static/js/2.86909d39.chunk.js",
"static/css/main.944c9394.chunk.css",
"static/js/main.b598e911.chunk.js"
]
}
@@ -1,91 +0,0 @@
import React from 'react';
import { Nav, Navbar, Form, FormControl } from 'react-bootstrap';
import styled from 'styled-components';
const Styles = styled.div`
.navbar {
background-color: white;
min-width:100px
}
a, .navbar-light {
height: 34px;
width: 100%;
color: black;
&:hover { color: white; }
}
.nav-link {
color: black;
&:hover { color: black; }
}
.navbar-brand {
padding-top: 12px
font-size: 1.4em;
color: black;
margin-left: 100px;
&:hover { color: black; }
}
.navbar-collapse {
position: fixed; /* Fixed Sidebar (stay in place on scroll and position relative to viewport) */
top:0px;
left: 85%
width:100%;
height:47px;
background-color: #FFCC33; /* Axis yeallow */
font-size: 1.4em;
color: black;
&:hover { color: white; }
}
.form-center {
position: absolute !important;
left: 25%;
right: 25%;
}
#conertext {
padding: 20px;
color:grey;
padding-top: 27px;
}
#line {
top:0px;
height: 6px;
background-color: #e6e6e6;
}
#conerimage {
top: 0px;
height: 62px;
}
#conerinfo{
position: fixed;
height:62px;
width:100%;
background-color: #FFCC33; /* Axis yeallow */
left: 85%;
font-size: 1.4em;
}
#logomage{
position: fixed;
top:5px;
font-size: 1.4em;
}
`;
export const NavigationBar = () => (
<Styles>
<Navbar >
<img id="logomage" src="./img/logo.svg" ></img>
<Navbar.Brand href="/">{window.acapName}</Navbar.Brand>
<Nav className="ml-auto" id="conerinfo">
<img id="conerimage" src="./img/topcorner62.png" alt="Axis" ></img>
<span id="conertext">{window.cornertext}{window.ver}</span>
</Nav>
</Navbar>
<hr id="line"></hr>
</Styles>
)
/*
<Form className="form-center">
<FormControl type="text" placeholder="Search" className="" />
</Form>
*/
-74
View File
@@ -1,74 +0,0 @@
import React from 'react';
import styled from 'styled-components';
import { Menu } from 'semantic-ui-react';
import { Link } from 'react-router-dom'
const StyledSideNav = styled.div`
/* position: fixed; /* Fixed Sidebar (stay in place on scroll and position relative to viewport) */
/* height: 100%;
/* width: 250px; /* Set the width of the sidebar */
/* z-index: 1; /* Stay on top of everything */
/* top: 54px; /* Stay at the top */
/* background-color: #e6e6e6; /* Axis grey */
/* overflow-x: hidden; /* Disable horizontal scroll */
/* padding-top: 10px;
/* padding-left: 10px; */
.menu {
position: fixed;
top: 50px;
height: 100%;
background-color: #e6e6e6;
border: 0px;
}
`;
class SidebarPage extends React.Component {
constructor(props) {
super(props);
this.state = {
activeItem: 'About',
}
}
// ** EDIT ** itens lists
render() {
const { activeItem } = this.state
return(
<StyledSideNav>
<Menu vertical>
<Menu.Item
name='home'
onClick={this.handleItemClick}
as={Link}
to="/"
/>
<Menu.Item
name='Hardware'
onClick={this.handleItemClick}
as={Link}
to="/About"
/>
<Menu.Item
name='Status'
onClick={this.handleItemClick}
as={Link}
to="/NoMatch"
/>
</Menu>
</StyledSideNav>
);
}
}
export default SidebarPage;
-587
View File
@@ -1,587 +0,0 @@
/*!
* Bootstrap v3.3.7 (http://getbootstrap.com)
* Copyright 2011-2016 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
.btn-default,
.btn-primary,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger {
text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
}
.btn-default:active,
.btn-primary:active,
.btn-success:active,
.btn-info:active,
.btn-warning:active,
.btn-danger:active,
.btn-default.active,
.btn-primary.active,
.btn-success.active,
.btn-info.active,
.btn-warning.active,
.btn-danger.active {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
}
.btn-default.disabled,
.btn-primary.disabled,
.btn-success.disabled,
.btn-info.disabled,
.btn-warning.disabled,
.btn-danger.disabled,
.btn-default[disabled],
.btn-primary[disabled],
.btn-success[disabled],
.btn-info[disabled],
.btn-warning[disabled],
.btn-danger[disabled],
fieldset[disabled] .btn-default,
fieldset[disabled] .btn-primary,
fieldset[disabled] .btn-success,
fieldset[disabled] .btn-info,
fieldset[disabled] .btn-warning,
fieldset[disabled] .btn-danger {
-webkit-box-shadow: none;
box-shadow: none;
}
.btn-default .badge,
.btn-primary .badge,
.btn-success .badge,
.btn-info .badge,
.btn-warning .badge,
.btn-danger .badge {
text-shadow: none;
}
.btn:active,
.btn.active {
background-image: none;
}
.btn-default {
text-shadow: 0 1px 0 #fff;
background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #dbdbdb;
border-color: #ccc;
}
.btn-default:hover,
.btn-default:focus {
background-color: #e0e0e0;
background-position: 0 -15px;
}
.btn-default:active,
.btn-default.active {
background-color: #e0e0e0;
border-color: #dbdbdb;
}
.btn-default.disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
background-color: #e0e0e0;
background-image: none;
}
.btn-primary {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #245580;
}
.btn-primary:hover,
.btn-primary:focus {
background-color: #265a88;
background-position: 0 -15px;
}
.btn-primary:active,
.btn-primary.active {
background-color: #265a88;
border-color: #245580;
}
.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
background-color: #265a88;
background-image: none;
}
.btn-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #3e8f3e;
}
.btn-success:hover,
.btn-success:focus {
background-color: #419641;
background-position: 0 -15px;
}
.btn-success:active,
.btn-success.active {
background-color: #419641;
border-color: #3e8f3e;
}
.btn-success.disabled,
.btn-success[disabled],
fieldset[disabled] .btn-success,
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus,
.btn-success.disabled:active,
.btn-success[disabled]:active,
fieldset[disabled] .btn-success:active,
.btn-success.disabled.active,
.btn-success[disabled].active,
fieldset[disabled] .btn-success.active {
background-color: #419641;
background-image: none;
}
.btn-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #28a4c9;
}
.btn-info:hover,
.btn-info:focus {
background-color: #2aabd2;
background-position: 0 -15px;
}
.btn-info:active,
.btn-info.active {
background-color: #2aabd2;
border-color: #28a4c9;
}
.btn-info.disabled,
.btn-info[disabled],
fieldset[disabled] .btn-info,
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
.btn-info.disabled.active,
.btn-info[disabled].active,
fieldset[disabled] .btn-info.active {
background-color: #2aabd2;
background-image: none;
}
.btn-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #e38d13;
}
.btn-warning:hover,
.btn-warning:focus {
background-color: #eb9316;
background-position: 0 -15px;
}
.btn-warning:active,
.btn-warning.active {
background-color: #eb9316;
border-color: #e38d13;
}
.btn-warning.disabled,
.btn-warning[disabled],
fieldset[disabled] .btn-warning,
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus,
.btn-warning.disabled:active,
.btn-warning[disabled]:active,
fieldset[disabled] .btn-warning:active,
.btn-warning.disabled.active,
.btn-warning[disabled].active,
fieldset[disabled] .btn-warning.active {
background-color: #eb9316;
background-image: none;
}
.btn-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #b92c28;
}
.btn-danger:hover,
.btn-danger:focus {
background-color: #c12e2a;
background-position: 0 -15px;
}
.btn-danger:active,
.btn-danger.active {
background-color: #c12e2a;
border-color: #b92c28;
}
.btn-danger.disabled,
.btn-danger[disabled],
fieldset[disabled] .btn-danger,
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus,
.btn-danger.disabled:active,
.btn-danger[disabled]:active,
fieldset[disabled] .btn-danger:active,
.btn-danger.disabled.active,
.btn-danger[disabled].active,
fieldset[disabled] .btn-danger.active {
background-color: #c12e2a;
background-image: none;
}
.thumbnail,
.img-thumbnail {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
background-color: #e8e8e8;
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
background-color: #2e6da4;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
.navbar-default {
background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
}
.navbar-brand,
.navbar-nav > li > a {
text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
}
.navbar-inverse {
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-radius: 4px;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
}
.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-nav > li > a {
text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
}
.navbar-static-top,
.navbar-fixed-top,
.navbar-fixed-bottom {
border-radius: 0;
}
@media (max-width: 767px) {
.navbar .navbar-nav .open .dropdown-menu > .active > a,
.navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
color: #fff;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
}
.alert {
text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
}
.alert-success {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
background-repeat: repeat-x;
border-color: #b2dba1;
}
.alert-info {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
background-repeat: repeat-x;
border-color: #9acfea;
}
.alert-warning {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
background-repeat: repeat-x;
border-color: #f5e79e;
}
.alert-danger {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
background-repeat: repeat-x;
border-color: #dca7a7;
}
.progress {
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-striped {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
}
.list-group {
border-radius: 4px;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
text-shadow: 0 -1px 0 #286090;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
background-repeat: repeat-x;
border-color: #2b669a;
}
.list-group-item.active .badge,
.list-group-item.active:hover .badge,
.list-group-item.active:focus .badge {
text-shadow: none;
}
.panel {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}
.panel-default > .panel-heading {
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.panel-primary > .panel-heading {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
.panel-success > .panel-heading {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
background-repeat: repeat-x;
}
.panel-info > .panel-heading {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
background-repeat: repeat-x;
}
.panel-warning > .panel-heading {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
background-repeat: repeat-x;
}
.panel-danger > .panel-heading {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
background-repeat: repeat-x;
}
.well {
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
border-color: #dcdcdc;
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
}
/*# sourceMappingURL=bootstrap-theme.css.map */
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-6757
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-218
View File
@@ -1,218 +0,0 @@
body {
font-family: Helvetica, Arial, Verdanda, Tahoma, Geneva, sans-serif;
font-size: 12px;
}
/*h1 {
font-family: Helvetica, Arial, Verdanda, Tahoma, Geneva, sans-serif;
color: #484848;
font-size: 18px;
font-weight: bold;
}*/
button {
font-family: Helvetica, Arial, Verdanda, Tahoma, Geneva, sans-serif;
color: #ffffff;
font-size: 12px;
background: grey;
padding: 5px 15px 5px 15px;
text-decoration: none;
text-shadow: none;
border: none;
cursor: pointer;
border-radius: 25px;
}
#tables{
display: flex;
padding-left: 0px;
}
.SLInput {
font-size: 12px;
font-family: sans-serif;
border: 1px solid grey;
padding: 4px;
margin: 2px;
width: 250px;
float:initial;
}
.SLInput_res {
font-size: 12px;
font-family: sans-serif;
border: 1px solid grey;
padding: 4px;
margin: 2px;
width: 72px;
float:initial;
}
.SLInput_dropres {
font-size: 12px;
font-family: sans-serif;
border: 1px solid grey;
padding: 4px;
margin: 2px;
width: 100px;
float:initial;
}
.header {
height: 40px;
width: auto;
background-color: rgb(216,207,198);
margin: 0px;
border-bottom: 3px solid #ffcb31;
position: absolute;
left: 0px;
right: 0px;
top: 0px;
text-align: center;
padding: 0px;
margin: 0px;
}
.header .logo {
background-repeat: no-repeat;
width: 83px;
height: 30px;
left: 20px;
top: 5px;
position: absolute;
}
.header h1 {
position: absolute;
top: 10px;
}
.saving h1 {
color: grey;
font-size: 15px;
margin-top: 5px;
}
.settings-menu {
width: 100%;
background-color: #ffffff;
margin: 0px;
border-bottom: 3px solid rgb(0,157,220);
position: absolute;
left: 0px;
right: 0px;
top: 43px;
text-align: left;
padding: 0px;
margin: 0px;
z-index: 10;
}
.settings-menu {
overflow: visible;
}
.settings-item {
position: relative;
top: 0;
bottom: 0;
padding: 10px 40px 10px 10px;
margin: 10px;
#border-right: 1px solid rgb(0,157,220);
display: inline-block;
float: left;
overflow: visible;
max-width: 400px;
}
.settings-item h1 {
color: rgb(0,157,220);
font-size: 15px;
margin-top: 5px;
}
.settings-item span {
width: 100px;
display: inline-block;
}
#logo {
font-size:50px;
color:black;
top: 50px;
}
#ruleSpinner {
padding-top: 20px;
position: absolute;
left: 0px;
}
#main {
top: 50px;
position: relative;
color: grey;
font-size: 15px;
font-weight: bold;
}
#configpage{
top: 100px;
left:250px;
position: absolute;
color: grey;
font-size: 15px;
}
#homepage{
top: 100px;
left:250px;
position: absolute;
color: grey;
font-size: 15px;
}
#savebutton {
left:50px;
padding-top:20px;
}
li:hover{
background-color:#FFC106;
}
#licensepage {
padding-left:50px;
}
#licenseCode {
width:250px;
}
#savelayoutdiv {
position: absolute;
padding-left: 20px;
padding-right: 20px;
top: 60px;
left: 690px;
#background-color:grey;
#width:100px;
#border-radius:25px;
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

-27
View File
@@ -1,27 +0,0 @@
<svg focusable="false" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 238 90" xml:space="preserve">
<g>
<path d="m98.87496 15.58887 11.51463 0 .13725.13751 0 50.03436-.13725.13713-11.51463 0c-.13713 0-.13713-.13713-.13713-.13713l0-50.03436c0 0 0-.13751.13713-.13751"/>
<path d="m95.03658 15.58887c0 0 .13725.13751 0 .27376l-15.21574 24.67537c-.13725.13675-.13725.41113 0 .68513l15.353 24.40038c.13675.13724 0 .27437 0 .27437l-14.25637 0c-.13713 0-.27438-.13713-.41113-.13713l-9.1845-15.07912c-.13725-.13725-.13725-.13725-.2745 0l-8.63576 14.94188c-.13662.13724-.27387.27437-.41112.27437l-13.29638 0c-.27438 0-.27438-.13713-.13725-.13713l15.627-25.90875c.27438-.27312.27438-.54811 0-.82187l-13.708-23.1675c-.13725-.13625 0-.27376 0-.27376l13.84525 0c.13713 0 .27388.13751.27388.27376l8.36187 13.9825c.13712.1375.13712.1375.27388 0l8.63625-13.9825c0-.13625.13725-.27376.27438-.27376l12.88525 0"/>
<path d="m193.45934 1.33263 41.39876 64.56525-35.91498 0-13.57002-21.11024-1.64502 0-.95998-1.50838-16.175 0 26.86624-41.94663" fill="#f7e109"/>
<path d="m190.85559 41.22313 15.90125 24.67474-50.58249 0 15.90126-24.67474 18.78 0" fill="#231f20"/>
<path d="m186.74309 41.22313 15.90126 24.67474-50.5825 0 15.90123-24.67474 18.78001 0" fill="#c93437"/>
<path d="m44.1802 15.5889-10.6924 0c-.1372 0-.2745.1375-.2745.2737l-32.2133 49.8981c0 0 0 .13721.13721.13721l13.02249 0c.1366 0 .2739 0 .2739-.13721l4.3867-6.8544c.1372 0 .1372-.1368.2744-.1368l13.708 0c.1367 0 .1367.1368.1367.1368l0 6.7172c0 .1372 0 .27441.1373.27441l11.2406 0 .1373-.13721 0-49.8981c0-.1362-.1373-.2737-.2744-.2737l0 0zm-11.2407 33.311c0 .1372 0 .1372 0 .1372l-8.4985 0c-.1373 0-.1373 0-.1373-.1372l9.0469-14.3935 0 0-.4111 14.3935"/>
<path d="m117.24371 65.89787 15.21562 0c1.91875-.13713 3.83875-.41162 5.62126-.95987 6.98999-2.19289 10.69124-9.18464 10.69124-15.07863 0-9.4585-7.40251-12.748-16.175-16.44925-1.50874-.68625-3.42751-1.645-3.42751-3.70125 0-2.05626 2.05626-3.15375 4.25002-3.15375l11.92624 0c.13626 0 .13626 0 .13626-.13626l0-10.83c0-.13625 0-.13625-.13626-.13625l-12.47499 0c-10.41749 0-16.58638 6.16876-16.58638 14.80376 0 7.53999 4.79788 11.24112 11.78889 14.11963 4.935 1.91887 8.08748 2.74161 8.08748 6.71724 0 2.05612-1.23375 4.11224-3.83876 4.11224 0 0-14.94099 0-15.07813 0l0 0c0 0 0 10.41801 0 10.55525 0 .13713.13712.13713 0 .13713"/>
<path d="m155.21434 15.31512c-2.33 0-4.1125 1.91875-4.1125 4.25 0 2.19374 1.7825 4.1125 4.1125 4.1125 2.33 0 4.25-1.91876 4.25-4.1125 0-2.33125-1.92-4.25-4.25-4.25zm0 7.95c-2.05626 0-3.70126-1.64374-3.70126-3.7 0-2.19376 1.645-3.83875 3.70126-3.83875 2.19374 0 3.83875 1.64499 3.83875 3.83875 0 2.05626-1.64499 3.7-3.83875 3.7"/>
<path d="m157.27058 21.89513-.95877-2.19376c.54752-.13625.82251-.685.82251-1.23375 0-.41125-.1375-.82249-.54875-1.09625-.27373-.27374-.68498-.27374-1.09624-.27374l-1.7825 0 0 4.7975.54875 0 0-2.05626 1.37 0 .96001 2.05626.685 0zm-3.01501-2.60501 0-1.78123 1.23375 0c.27376 0 .54875 0 .68501.27374.27374.13625.41124.27374.41124.685 0 .13751-.1375.41125-.27376.54875-.27374.27374-.54874.27374-.82249.27374l-1.23375 0"/>
<path d="m11.14359 84.5405c-1.37063.68501-2.46683.9595-3.97513.9595-3.9751 0-5.89405-2.46774-5.89405-4.93463 0-2.605 2.19336-5.07225 6.03125-5.07225 1.50781 0 2.74117.27388 3.70118.82275l0 2.19337c-1.09663-.54887-2.19336-.9595-3.42676-.9595-2.19335 0-3.70165 1.23337-3.70165 3.01563 0 1.6445 1.5083 2.87851 3.56445 2.87851 1.3706 0 2.19334-.27451 3.70071-.9595l0 2.05611"/>
<path d="m25.53759 85.5c-3.70162 0-5.75775-2.46774-5.75775-4.93463 0-2.46774 2.05612-5.07225 5.75775-5.07225 3.83788 0 5.75688 2.74174 5.75688 5.07225 0 2.46689-2.05613 4.93463-5.75688 4.93463zm0-7.95026c-1.91937 0-3.15325 1.23337-3.15325 3.01563 0 1.78175 1.23388 2.87851 3.15325 2.87851 1.919 0 3.15288-1.09676 3.15288-2.87851 0-1.78226-1.23388-3.01563-3.15288-3.01563"/>
<path d="m48.70409 75.63037 2.05612 0 0 9.73238-2.46775 0 0-6.03125-2.74163 3.01563-.274 0-2.74162-3.01563 0 6.03125-2.46738 0 0-9.73238 2.05625 0 3.29 3.70113 3.29-3.70113"/>
<path d="m69.26559 75.63037 2.19337 0 0 9.73238-2.46775 0 0-6.03125-2.74125 3.01563-.41163 0-2.74112-3.01563 0 6.03125-2.46788 0 0-9.73238 2.19337 0 3.29013 3.70113 3.15275-3.70113"/>
<path d="m90.65033 75.63037 0 5.62012c0 3.15276-2.33049 4.24951-5.07224 4.24951-2.87888 0-4.93501-1.23387-4.93501-4.24951l0-5.62012 2.46776 0 0 5.62012c0 1.371 1.09662 2.19339 2.46725 2.19339 1.37062 0 2.60449-.54839 2.60449-2.33063l0-5.48288 2.46774 0"/>
<path d="m109.97846 85.36275-2.05663 0-5.61964-6.1685 0 6.1685-2.46774 0 0-9.73238 2.33064 0 5.34612 6.03175 0-6.03175 2.46725 0 0 9.73238"/>
<path d="m119.57371 85.36275 2.46778 0 0-9.73241-2.46778 0 0 9.73241z"/>
<path d="m140.13684 84.5405c-1.37126.68501-2.46875.9595-3.97626.9595-3.83876 0-5.89499-2.46774-5.89499-4.93463 0-2.605 2.19374-5.07225 6.03249-5.07225 1.50751 0 2.74126.27388 3.70125.82275l0 2.19337c-1.09749-.54887-2.19374-.9595-3.42749-.9595-2.19376 0-3.70125 1.23337-3.70125 3.01563 0 1.6445 1.50749 2.87851 3.56375 2.87851 1.37125 0 2.19374-.27451 3.7025-.9595l0 2.05611"/>
<path d="m158.09435 85.36275-2.60501 0-.82248-1.91887-4.52376 0-.82248 1.91887-2.60501 0 3.97623-9.73238 3.015 0 4.38751 9.73238zm-5.89499-7.40237-1.37126 3.83838 3.01625 0-1.64499-3.83838"/>
<path d="m172.76184 77.41263-3.56502 0 0 7.95012-2.60373 0 0-7.95012-3.56502 0 0-1.78226 9.73375 0 0 1.78226"/>
<path d="m180.4381 85.36275 2.4673 0 0-9.73241-2.4673 0 0 9.73241z"/>
<path d="m196.33934 85.5c-3.70125 0-5.75751-2.46774-5.75751-4.93463 0-2.46774 1.91875-5.07225 5.75751-5.07225 3.70125 0 5.75624 2.74174 5.75624 5.07225 0 2.46689-2.1925 4.93463-5.75624 4.93463zm0-7.95026c-1.92 0-3.15375 1.23337-3.15375 3.01563 0 1.78175 1.23375 2.87851 3.15375 2.87851 1.91875 0 3.1525-1.09676 3.1525-2.87851 0-1.78226-1.23375-3.01563-3.1525-3.01563"/>
<path d="m219.64183 85.36275-2.05623 0-5.62001-6.1685 0 6.1685-2.4675 0 0-9.73238 2.33 0 5.34624 6.03175 0-6.03175 2.4675 0 0 9.73238"/>
<path d="m234.30934 78.23486c-1.50751-.68512-2.33-.9595-3.28876-.9595-.82376 0-1.37123.41113-1.37123.82225 0 1.50824 5.07123 1.09662 5.07123 4.52386 0 1.78175-1.64499 2.87851-3.83748 2.87851-1.78252 0-2.60501-.41113-3.70128-.9595l0-2.05612c1.50752.9595 2.33002 1.23387 3.42751 1.23387.95876 0 1.50752-.27437 1.50752-.82275 0-1.645-5.07253-1.09674-5.07253-4.52351 0-1.78212 1.50876-2.87888 3.83878-2.87888 1.09624 0 2.05623.27388 3.42624.82275l0 1.91899"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.4 KiB

-40
View File
@@ -1,40 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- BUG: Firefox will not animate SVG embedded as background images. [https://bugzilla.mozilla.org/show_bug.cgi?id=908634] -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 234.7 235.6" enable-background="new 0 0 234.7 235.6" xml:space="preserve">
<style>
/* <![CDATA[ */
@-webkit-keyframes spinner-fade {0% {opacity: 1 } 80% {opacity: 0 } 100% {opacity: 0 } }
@keyframes spinner-fade {0% {opacity: 1 } 80% {opacity: 0 } 100% {opacity: 0 } }
g.spinner path {opacity: 0; -webkit-animation: spinner-fade 0.75s linear infinite; animation: spinner-fade 0.75s linear infinite;}
g.spinner path:nth-of-type(1) {-webkit-animation-delay: -0.25s; animation-delay: -0.25s; }
g.spinner path:nth-of-type(2) {-webkit-animation-delay: -0.1875s; animation-delay: -0.1875s; }
g.spinner path:nth-of-type(3) {-webkit-animation-delay: -0.125s; animation-delay: -0.125s; }
g.spinner path:nth-of-type(4) {-webkit-animation-delay: -0.0625s; animation-delay: -0.0625s; }
g.spinner path:nth-of-type(5) {-webkit-animation-delay: 0s; animation-delay: 0s; }
g.spinner path:nth-of-type(6) {-webkit-animation-delay: 0.0625s; animation-delay: 0.0625s; }
g.spinner path:nth-of-type(7) {-webkit-animation-delay: 0.125s; animation-delay: 0.125s; }
g.spinner path:nth-of-type(8) {-webkit-animation-delay: 0.1875s; animation-delay: 0.1875s; }
g.spinner path:nth-of-type(9) {-webkit-animation-delay: 0.25s; animation-delay: 0.25s; }
g.spinner path:nth-of-type(10) {-webkit-animation-delay: 0.3125s; animation-delay: 0.3125s; }
g.spinner path:nth-of-type(11) {-webkit-animation-delay: -0.375s; animation-delay: -0.375s; }
g.spinner path:nth-of-type(12) {-webkit-animation-delay: -0.3125s; animation-delay: -0.3125s; }
/* ]]> */
</style>
<g class="spinner">
<path d="M128.3,10.7c0,0-0.3-10.7-11-10.7s-11,10.7-11,10.7l0,0v0v42.7v0l0,0c0,0,0.3,10.7,11,10.7s11-10.7,11-10.7 l0,0v0V10.7L128.3,10.7L128.3,10.7z" />
<path d="M140.3,56.5c0,0-5.6,9.2,3.7,14.6c9.2,5.3,14.3-3.9,14.3-3.9l0,0v0l21.4-37l0,0l0,0c0,0,5.3-9.2-3.9-14.6 s-14.5,3.9-14.6,3.9l0,0l0.2,0L140.3,56.5L140.3,56.5L140.3,56.5z" />
<path d="M167.4,76.3c0,0-9.2,5.1-3.9,14.3c5.3,9.2,14.6,3.7,14.6,3.7l0,0h0L215,73.1l0,0.1l0,0c0,0,9.2-5.3,3.9-14.5 s-14.6-3.9-14.6-3.9l0,0l0,0.1L167.4,76.3L167.4,76.3L167.4,76.3z" />
<path d="M224,128.3c0,0,10.7-0.3,10.7-11s-10.7-11-10.7-11l0,0h0h-42.7h0l0,0c0,0-10.7,0.3-10.7,11s10.7,11,10.7,11 l0,0h0H224L224,128.3L224,128.3z" />
<path d="M203.8,180.3c0,0,9.2,5.6,14.6-3.6c5.4-9.2-3.8-14.4-3.8-14.4l0,0h0l-36.8-21.7l0,0l0,0 c0,0-9.2-5.4-14.6,3.8c-5.4,9.2,3.8,14.6,3.8,14.6l0,0l0-0.2L203.8,180.3L203.8,180.3L203.8,180.3z" />
<path d="M160.3,215.5c0,0,5.4,9.3,14.7,4.1c9.3-5.2,4.3-14.5,4.3-14.5l0,0v0l-21.1-37.2l-0.1,0l0,0 c0,0-5.3-9.3-14.6-4.1c-9.3,5.2-4.1,14.5-4.1,14.5l0,0l0,0L160.3,215.5L160.3,215.5L160.3,215.5z"/>
<path d="M128.3,181.3c0,0-0.3-10.7-11-10.7s-11,10.7-11,10.7l0,0v0V224v0l0,0c0,0,0.3,10.7,11,10.7s11-10.7,11-10.7 l0,0v0V181.3L128.3,181.3L128.3,181.3z"/>
<path d="M55.3,204.5c0,0-5.6,9.2,3.7,14.6c9.2,5.3,14.3-3.9,14.3-3.9l0,0v0l21.3-37l0,0l0,0c0,0,5.3-9.2-3.9-14.6 s-14.6,3.9-14.6,3.9l0,0l0.2,0L55.3,204.5L55.3,204.5L55.3,204.5z"/>
<path d="M19.6,161.3c0,0-9.2,5.6-3.9,14.8s14.6,4.2,14.6,4.2l0,0h0l36.9-21.5l0-0.1l0,0c0,0,9.2-5.4,3.9-14.6 c-5.3-9.2-14.6-3.9-14.6-3.9l0,0l0-0.1L19.6,161.3L19.6,161.3L19.6,161.3z"/>
<path d="M53.3,128.3c0,0,10.7-0.3,10.7-11s-10.7-11-10.7-11l0,0h0H10.7h0l0,0c0,0-10.7,0.3-10.7,11s10.7,11,10.7,11 l0,0h0H53.3L53.3,128.3L53.3,128.3z"/>
<path d="M56.8,94.3c0,0,9.2,5.1,14.6-4.1c5.4-9.2-3.8-14.9-3.8-14.9l0,0h0L30.8,53.8l0,0.1l0,0c0,0-9.2-5.4-14.6,3.8 S20,72.4,20,72.4l0,0l0,0.2L56.8,94.3L56.8,94.3L56.8,94.3z"/>
<path d="M76.3,66.8c0,0,5.4,9.3,14.7,4.1s4.3-14.5,4.3-14.5l0,0v0l-21-37.2l0,0l0,0c0,0-5.3-9.3-14.5-4.1 s-4.1,14.5-4.1,14.5l0,0l-0.2,0L76.3,66.8L76.3,66.8L76.3,66.8z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.0 KiB

-91
View File
@@ -1,91 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.2" width="20.64mm" height="9mm" viewBox="0 0 2064 900" preserveAspectRatio="xMidYMid" fill-rule="evenodd" stroke-width="28.222" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" xmlns:ooo="http://xml.openoffice.org/svg/export" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:presentation="http://sun.com/xmlns/staroffice/presentation" xmlns:smil="http://www.w3.org/2001/SMIL20/" xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" xml:space="preserve">
<defs class="ClipPathGroup">
<clipPath id="presentation_clip_path" clipPathUnits="userSpaceOnUse">
<rect x="0" y="0" width="2064" height="900"/>
</clipPath>
<clipPath id="presentation_clip_path_shrink" clipPathUnits="userSpaceOnUse">
<rect x="2" y="0" width="2060" height="899"/>
</clipPath>
</defs>
<defs class="TextShapeIndex">
<g ooo:slide="id1" ooo:id-list="id3"/>
</defs>
<defs class="EmbeddedBulletChars">
<g id="bullet-char-template-57356" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 580,1141 L 1163,571 580,0 -4,571 580,1141 Z"/>
</g>
<g id="bullet-char-template-57354" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 8,1128 L 1137,1128 1137,0 8,0 8,1128 Z"/>
</g>
<g id="bullet-char-template-10146" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 174,0 L 602,739 174,1481 1456,739 174,0 Z M 1358,739 L 309,1346 659,739 1358,739 Z"/>
</g>
<g id="bullet-char-template-10132" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 2015,739 L 1276,0 717,0 1260,543 174,543 174,936 1260,936 717,1481 1274,1481 2015,739 Z"/>
</g>
<g id="bullet-char-template-10007" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 0,-2 C -7,14 -16,27 -25,37 L 356,567 C 262,823 215,952 215,954 215,979 228,992 255,992 264,992 276,990 289,987 310,991 331,999 354,1012 L 381,999 492,748 772,1049 836,1024 860,1049 C 881,1039 901,1025 922,1006 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 C 774,196 753,168 711,139 L 727,119 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 C 142,-110 111,-127 72,-127 30,-127 9,-110 8,-76 1,-67 -2,-52 -2,-32 -2,-23 -1,-13 0,-2 Z"/>
</g>
<g id="bullet-char-template-10004" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 41,549 55,616 82,672 116,743 169,778 240,778 293,778 328,747 346,684 L 369,508 C 377,444 397,411 428,410 L 1163,1116 C 1174,1127 1196,1133 1229,1133 1271,1133 1292,1118 1292,1087 L 1292,965 C 1292,929 1282,901 1262,881 L 442,47 C 390,-6 338,-33 285,-33 Z"/>
</g>
<g id="bullet-char-template-9679" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 223,773 276,916 383,1023 489,1130 632,1184 813,1184 992,1184 1136,1130 1245,1023 1353,916 1407,772 1407,592 1407,412 1353,268 1245,161 1136,54 992,0 813,0 Z"/>
</g>
<g id="bullet-char-template-8226" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 346,457 C 273,457 209,483 155,535 101,586 74,649 74,723 74,796 101,859 155,911 209,963 273,989 346,989 419,989 480,963 531,910 582,859 608,796 608,723 608,648 583,586 532,535 482,483 420,457 346,457 Z"/>
</g>
<g id="bullet-char-template-8211" transform="scale(0.00048828125,-0.00048828125)">
<path d="M -4,459 L 1135,459 1135,606 -4,606 -4,459 Z"/>
</g>
<g id="bullet-char-template-61548" transform="scale(0.00048828125,-0.00048828125)">
<path d="M 173,740 C 173,903 231,1043 346,1159 462,1274 601,1332 765,1332 928,1332 1067,1274 1183,1159 1299,1043 1357,903 1357,740 1357,577 1299,437 1183,322 1067,206 928,148 765,148 601,148 462,206 346,322 231,437 173,577 173,740 Z"/>
</g>
</defs>
<g>
<g id="id2" class="Master_Slide">
<g id="bg-id2" class="Background"/>
<g id="bo-id2" class="BackgroundObjects"/>
</g>
</g>
<g class="SlideGroup">
<g>
<g id="container-id1">
<g id="id1" class="Slide" clip-path="url(#presentation_clip_path)">
<g class="Page">
<g class="Graphic">
<g id="id3">
<rect class="BoundingBox" stroke="none" fill="none" x="0" y="0" width="2064" height="900"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 958,198 L 959,199 959,627 958,628 859,628 C 858,628 858,627 858,627 L 858,199 C 858,199 858,198 859,198 L 958,198 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 826,200 L 696,411 C 695,412 695,415 696,417 L 828,626 C 829,627 828,628 828,628 L 706,628 C 704,628 703,627 702,627 L 624,498 C 622,497 622,497 621,498 L 547,626 C 546,627 545,628 544,628 L 430,628 C 428,628 428,627 429,627 L 563,405 C 565,403 565,401 563,398 L 445,200 C 444,199 445,198 445,198 L 564,198 C 565,198 566,199 566,200 L 638,320 C 639,321 639,321 640,320 L 714,200 C 714,199 715,198 716,198 L 826,198 C 826,198 828,199 826,200 Z"/>
<path fill="rgb(247,225,9)" stroke="none" d="M 2023,628 L 1716,628 1599,448 1585,448 1577,435 1439,435 1669,76 2023,628 Z"/>
<path fill="rgb(35,31,32)" stroke="none" d="M 1782,628 L 1350,628 1486,417 1646,417 1782,628 Z"/>
<path fill="rgb(201,52,55)" stroke="none" d="M 1747,628 L 1314,628 1450,417 1611,417 1747,628 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 300,198 C 299,198 297,199 297,200 L 22,627 C 22,627 22,628 23,628 L 134,628 C 136,628 137,628 137,627 L 174,568 C 175,568 175,567 177,567 L 294,567 C 295,567 295,568 295,568 L 295,626 C 295,627 295,628 296,628 L 392,628 394,627 394,200 C 394,199 392,198 391,198 L 300,198 Z M 295,484 L 222,484 C 221,484 221,484 221,483 L 299,360 295,483 295,484 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1016,628 L 1147,628 C 1163,627 1180,625 1195,620 1255,601 1286,541 1286,491 1286,410 1223,382 1148,350 1135,344 1119,336 1119,319 1119,301 1136,292 1155,292 L 1257,292 C 1258,292 1258,292 1258,291 L 1258,198 C 1258,197 1258,197 1257,197 L 1150,197 C 1061,197 1008,250 1008,323 1008,388 1049,420 1109,444 1151,461 1178,468 1178,502 1178,519 1168,537 1145,537 1145,537 1018,537 1016,537 L 1016,537 C 1016,537 1016,626 1016,627 1016,628 1018,628 1016,628 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1341,196 C 1321,196 1306,212 1306,232 1306,251 1321,267 1341,267 1361,267 1378,251 1378,232 1378,212 1361,196 1341,196 Z M 1310,232 C 1310,213 1324,199 1341,199 1360,199 1374,213 1374,232 1374,250 1360,264 1341,264 1324,264 1310,250 1310,232 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1351,233 C 1355,232 1358,227 1358,223 1358,219 1357,215 1353,213 1351,211 1347,211 1344,211 L 1328,211 1328,252 1333,252 1333,234 1345,234 1353,252 1359,252 1351,233 Z M 1333,214 L 1344,214 C 1346,214 1348,214 1350,217 1352,218 1353,219 1353,223 1353,224 1352,226 1351,227 1348,230 1346,230 1344,230 L 1333,230 1333,214 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 109,788 C 97,794 87,796 75,796 41,796 24,775 24,754 24,731 43,710 76,710 89,710 99,713 107,717 L 107,736 C 98,731 89,728 78,728 59,728 46,738 46,754 46,768 59,778 77,778 89,778 96,776 109,770 L 109,788 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 232,796 C 200,796 182,775 182,754 182,733 200,710 232,710 265,710 281,734 281,754 281,775 263,796 232,796 Z M 205,754 C 205,769 215,778 232,778 248,778 259,769 259,754 259,738 248,728 232,728 215,728 205,738 205,754 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 430,712 L 448,712 448,795 426,795 426,743 403,769 401,769 377,743 377,795 356,795 356,712 374,712 402,743 430,712 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 606,712 L 625,712 625,795 604,795 604,743 580,769 577,769 553,743 553,795 532,795 532,712 551,712 579,743 606,712 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 789,712 L 789,760 C 789,787 769,796 746,796 721,796 703,785 703,760 L 703,712 724,712 724,760 C 724,771 734,778 746,778 757,778 768,774 768,758 L 768,712 789,712 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 937,795 L 889,742 889,795 868,795 868,712 887,712 933,763 933,712 954,712 954,795 937,795 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1036,795 L 1058,795 1058,712 1036,712 1036,795 1036,795 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1212,788 C 1201,794 1191,796 1178,796 1145,796 1128,775 1128,754 1128,731 1147,710 1180,710 1192,710 1203,713 1211,717 L 1211,736 C 1202,731 1192,728 1182,728 1163,728 1150,738 1150,754 1150,768 1163,778 1181,778 1192,778 1199,776 1212,770 L 1212,788 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1344,795 L 1337,778 1298,778 1291,795 1269,795 1303,712 1328,712 1366,795 1344,795 Z M 1304,764 L 1330,764 1316,731 1304,764 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1461,727 L 1461,795 1439,795 1439,727 1408,727 1408,712 1492,712 1492,727 1461,727 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1557,795 L 1578,795 1578,712 1557,712 1557,795 1557,795 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1693,796 C 1662,796 1644,775 1644,754 1644,733 1660,710 1693,710 1725,710 1743,734 1743,754 1743,775 1724,796 1693,796 Z M 1666,754 C 1666,769 1677,778 1693,778 1710,778 1720,769 1720,754 1720,738 1710,728 1693,728 1677,728 1666,738 1666,754 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 1875,795 L 1827,742 1827,795 1806,795 1806,712 1826,712 1872,763 1872,712 1893,712 1893,795 1875,795 Z"/>
<path fill="rgb(0,0,0)" stroke="none" d="M 2018,734 C 2005,728 1998,726 1990,726 1983,726 1978,729 1978,733 1978,746 2022,742 2022,771 2022,787 2008,796 1989,796 1974,796 1967,792 1957,788 L 1957,770 C 1970,778 1977,781 1987,781 1995,781 1999,778 1999,774 1999,760 1956,764 1956,735 1956,720 1969,710 1989,710 1998,710 2006,713 2018,717 L 2018,734 Z"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 422 B

+19 -1
View File
@@ -1 +1,19 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="./favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="manifest" href="./manifest.json"/><title>Tailscale VPN</title><link href="./static/css/main.944c9394.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function r(r){for(var n,l,i=r[0],f=r[1],a=r[2],p=0,s=[];p<i.length;p++)l=i[p],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in f)Object.prototype.hasOwnProperty.call(f,n)&&(e[n]=f[n]);for(c&&c(r);s.length;)s.shift()();return u.push.apply(u,a||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){var f=t[i];0!==o[f]&&(n=!1)}n&&(u.splice(r--,1),e=l(l.s=t[0]))}return e}var n={},o={1:0},u=[];function l(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.m=e,l.c=n,l.d=function(e,r,t){l.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,r){if(1&r&&(e=l(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(l.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)l.d(t,n,function(r){return e[r]}.bind(null,n));return t},l.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(r,"a",r),r},l.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},l.p="./";var i=this.webpackJsonplicense=this.webpackJsonplicense||[],f=i.push.bind(i);i.push=r,i=i.slice();for(var a=0;a<i.length;a++)r(i[a]);var c=f;t()}([])</script><script src="./static/js/2.86909d39.chunk.js"></script><script src="./static/js/main.b598e911.chunk.js"></script></body></html>
<!DOCTYPE html>
<html>
<body>
<head>
<h1 style="color:red;">Scroll to the bottom to find authentication URL</h1>
<script>
function refreshIFrame() {
var x = document.getElementById("*Your_iframe_id*");
x.contentWindow.location.reload();
var t = setTimeout(refreshIFrame, 5000);
}
</script>
</head>
<body onload="refreshIFrame()">
<iframe id="*Your_iframe_id*" src= "/axis-cgi/admin/systemlog.cgi?appname=Tailscale_VPN" style="height:600px;width:100%;border: none;" ></iframe>
</body>
</body>
</html>
-25
View File
@@ -1,25 +0,0 @@
{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
},
{
"src": "logo192.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "logo512.png",
"type": "image/png",
"sizes": "512x512"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}
@@ -1,26 +0,0 @@
self.__precacheManifest = (self.__precacheManifest || []).concat([
{
"revision": "af595f4d032e1ec4fdca38aa7b1c3fb1",
"url": "./index.html"
},
{
"revision": "7632d2c4eb6e7a0086de",
"url": "./static/css/main.944c9394.chunk.css"
},
{
"revision": "5c8268746528091e3ae3",
"url": "./static/js/2.86909d39.chunk.js"
},
{
"revision": "60f6bf9e100e456690e9ab6c9a37bfc2",
"url": "./static/js/2.86909d39.chunk.js.LICENSE.txt"
},
{
"revision": "7632d2c4eb6e7a0086de",
"url": "./static/js/main.b598e911.chunk.js"
},
{
"revision": "fe08778d3137238796b4",
"url": "./static/js/runtime-main.d0b686be.js"
}
]);
-3
View File
@@ -1,3 +0,0 @@
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow:
-39
View File
@@ -1,39 +0,0 @@
/**
* Welcome to your Workbox-powered service worker!
*
* You'll need to register this file in your web app and you should
* disable HTTP caching for this file too.
* See https://goo.gl/nhQhGp
*
* The rest of the code is auto-generated. Please don't update this file
* directly; instead, make changes to your Workbox build configuration
* and re-run your build process.
* See https://goo.gl/2aRDsh
*/
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
importScripts(
"./precache-manifest.ace2b614d412e58a983d7f27b21db37e.js"
);
self.addEventListener('message', (event) => {
if (event.data && event.data.type === 'SKIP_WAITING') {
self.skipWaiting();
}
});
workbox.core.clientsClaim();
/**
* The workboxSW.precacheAndRoute() method efficiently caches and responds to
* requests for URLs in the manifest.
* See https://goo.gl/S9QRab
*/
self.__precacheManifest = [].concat(self.__precacheManifest || []);
workbox.precaching.precacheAndRoute(self.__precacheManifest, {});
workbox.routing.registerNavigationRoute(workbox.precaching.getCacheKeyForURL("./index.html"), {
blacklist: [/^\/_/,/\/[^/?]+\.[^/]+$/],
});
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,29 +0,0 @@
/**
* @license React
* react-dom.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/**
* @license React
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/**
* @license React
* scheduler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,2 +0,0 @@
!function(e){function r(r){for(var n,l,i=r[0],f=r[1],a=r[2],p=0,s=[];p<i.length;p++)l=i[p],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in f)Object.prototype.hasOwnProperty.call(f,n)&&(e[n]=f[n]);for(c&&c(r);s.length;)s.shift()();return u.push.apply(u,a||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){var f=t[i];0!==o[f]&&(n=!1)}n&&(u.splice(r--,1),e=l(l.s=t[0]))}return e}var n={},o={1:0},u=[];function l(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.m=e,l.c=n,l.d=function(e,r,t){l.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},l.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,r){if(1&r&&(e=l(e)),8&r)return e;if(4&r&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(l.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)l.d(t,n,function(r){return e[r]}.bind(null,n));return t},l.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(r,"a",r),r},l.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},l.p="./";var i=this.webpackJsonplicense=this.webpackJsonplicense||[],f=i.push.bind(i);i.push=r,i=i.slice();for(var a=0;a<i.length;a++)r(i[a]);var c=f;t()}([]);
//# sourceMappingURL=runtime-main.d0b686be.js.map
File diff suppressed because one or more lines are too long
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
-31
View File
@@ -1,31 +0,0 @@
#include <glib.h>
#include <licensekey.h>
#include <stdlib.h>
#include "../../app.h"
gboolean axLicense_checkLicense1()
{
//Verify license
const gchar* vmajor = NULL;
const gchar* vminor = NULL;
int version[2];
gboolean license_ok = FALSE;
int license = 0;
/* util-function for getting package.conf variables */
//ax_package_get("APPID", &appid);
//ax_package_get("APPNAME", &appname);
ax_package_get("APPMAJORVERSION", &vmajor);
ax_package_get("APPMINORVERSION", &vminor);
version[0] = atoi(vmajor);
version[1] = atoi(vminor);
/* licensekey_verify: Return 1 on success, 0 on failure. */
license = licensekey_verify(APP_NAME, APP_ID, version[0], version[1]);
license_ok = (license) ? TRUE : FALSE;
return license_ok;
}
-4
View File
@@ -1,4 +0,0 @@
//Version=1.0
/*{"Name":"License Key Installed?","Show":true, "Description":"Checks if a license key has been installed and validated"}*/
gboolean axLicense_checkLicense1();
File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More