Early working version
47
README.md
@ -1,16 +1,57 @@
|
|||||||
# Nerves
|
# Nerves
|
||||||
|
|
||||||
A termeal version with led strip on raspberry pi
|
A termeal version with neopixel led strip on raspberry pi (Raspberry Pi 1 is fine).
|
||||||
|
|
||||||
|
Termeal : color depends on port number of sniffed packet.
|
||||||
|
|
||||||
|
A change mode function is included but only scapy mode work yet.
|
||||||
|
|
||||||
|
Neopixel strip (3 wires : 5V,GND,IN) :
|
||||||
|
|
||||||
|
* Neopixel GPIO D18 #(-> pin 12)
|
||||||
|
* GND pin 9
|
||||||
|
* 5 V pin 4
|
||||||
|
|
||||||
|
Physical buttons :
|
||||||
|
|
||||||
|
* Func button : GPIO 23 (->pin 16) / GND pin 14
|
||||||
|
* Down button : GPIO 24 (->pin 18) / GND pin 20
|
||||||
|
|
||||||
|
|
||||||
|
# Control
|
||||||
|
|
||||||
|
2 physical buttons and Webpage (browse to pi address)
|
||||||
|
|
||||||
|
|
||||||
# Install
|
# Install
|
||||||
|
|
||||||
sudo apt install python3-pip
|
sudo apt install python3-pip
|
||||||
|
|
||||||
sudo pip3 install rpi_ws281x adafruit-circuitpython-neopixel
|
sudo pip3 install rpi_ws281x adafruit-circuitpython-neopixel
|
||||||
|
|
||||||
sudo python3 -m pip install --force-reinstall adafruit-blinka
|
sudo python3 -m pip install --force-reinstall adafruit-blinka
|
||||||
|
|
||||||
sudo pip3 install scapy
|
sudo pip3 install scapy
|
||||||
|
|
||||||
|
For automatic shutdown :
|
||||||
|
|
||||||
|
sudo nano /etc/sudoers
|
||||||
|
|
||||||
|
add :
|
||||||
|
|
||||||
|
pi raspberrypi =NOPASSWD: /usr/bin/systemctl poweroff
|
||||||
|
|
||||||
|
|
||||||
|
# Autorun
|
||||||
|
|
||||||
|
To autorun nerves at boot time :
|
||||||
|
|
||||||
|
cd nerves
|
||||||
|
|
||||||
|
sudo cp /home/pi/nerves/autorun.conf /etc/supervisor/conf.d/
|
||||||
|
sudo supervisorctl reload
|
||||||
|
|
||||||
# Based on previous work :
|
# Based on previous work :
|
||||||
|
|
||||||
https://github.com/loloster/termeal
|
* https://github.com/loloster/termeal
|
||||||
https://github.com/s0r00t/sniffeal
|
* https://github.com/s0r00t/sniffeal
|
6
autorun.conf
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
[program:nerves]
|
||||||
|
autorestart = True
|
||||||
|
directory = /home/pi/nerves
|
||||||
|
user = pi
|
||||||
|
command = sh /home/pi/nerves/autorun.sh
|
||||||
|
environment = STNORESTART="1", HOME="/home/pi/nerves/"
|
4
autorun.sh
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#sudo python3 /home/pi/nerves/ws.py &
|
||||||
|
#sudo python3 /home/pi/nerves/buttons.py &
|
||||||
|
sudo python3 /home/pi/nerves/nerves.py
|
85
buttons.py
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# -*- mode: Python -*-
|
||||||
|
|
||||||
|
'''
|
||||||
|
|
||||||
|
Physical buttons handler for Nerves v0.1b
|
||||||
|
|
||||||
|
Func button : GPIO 23 (->pin 16) / ground pin 14
|
||||||
|
Down button : GPIO 24 (->pin 18) / ground 20
|
||||||
|
|
||||||
|
When button is pressed : button.value -> False
|
||||||
|
|
||||||
|
|
||||||
|
'''
|
||||||
|
|
||||||
|
from time import sleep
|
||||||
|
import board
|
||||||
|
import digitalio
|
||||||
|
import leds
|
||||||
|
|
||||||
|
crtfunc = 0
|
||||||
|
funcs = [0,1,2]
|
||||||
|
|
||||||
|
debug = 0
|
||||||
|
|
||||||
|
print("Loading Nerves buttons handler v0.1b")
|
||||||
|
|
||||||
|
funcbutton = digitalio.DigitalInOut(board.D23)
|
||||||
|
funcbutton.direction = digitalio.Direction.INPUT
|
||||||
|
funcbutton.pull = digitalio.Pull.UP
|
||||||
|
|
||||||
|
funcstate = True
|
||||||
|
|
||||||
|
downbutton = digitalio.DigitalInOut(board.D24)
|
||||||
|
downbutton.direction = digitalio.Direction.INPUT
|
||||||
|
downbutton.pull = digitalio.Pull.UP
|
||||||
|
|
||||||
|
def runforever():
|
||||||
|
global crtfunc, funcstate
|
||||||
|
|
||||||
|
while True:
|
||||||
|
|
||||||
|
#print(funcbutton.value, funcstate, crtfunc, downbutton.value)
|
||||||
|
#print(funcbutton.value, funcstate)
|
||||||
|
|
||||||
|
if not funcbutton.value:
|
||||||
|
|
||||||
|
if debug > 0:
|
||||||
|
print("func button pressed : ", funcbutton.value, funcstate )
|
||||||
|
|
||||||
|
sleep(0.2)
|
||||||
|
|
||||||
|
# Launch on button release
|
||||||
|
if funcbutton.value and funcstate == False :
|
||||||
|
|
||||||
|
crtfunc +=1
|
||||||
|
if crtfunc == len(funcs):
|
||||||
|
crtfunc = 0
|
||||||
|
print('Launch func', crtfunc)
|
||||||
|
if crtfunc == 0:
|
||||||
|
leds.mode = 0
|
||||||
|
if crtfunc == 1:
|
||||||
|
leds.mode = 1
|
||||||
|
|
||||||
|
sleep(0.2)
|
||||||
|
|
||||||
|
funcstate = funcbutton.value
|
||||||
|
|
||||||
|
if not downbutton.value:
|
||||||
|
if debug > 0:
|
||||||
|
print("down button pressed")
|
||||||
|
|
||||||
|
import os
|
||||||
|
print('will shutdown...')
|
||||||
|
leds.mode = -1
|
||||||
|
leds.cls()
|
||||||
|
os.system("systemctl poweroff")
|
||||||
|
|
||||||
|
sleep(0.005)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
|
||||||
|
runforever()
|
42
cls.py
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
'''
|
||||||
|
|
||||||
|
|
||||||
|
SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
|
||||||
|
SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
'''
|
||||||
|
|
||||||
|
# Simple test for NeoPixels on Raspberry Pi
|
||||||
|
import time
|
||||||
|
import board
|
||||||
|
import neopixel
|
||||||
|
|
||||||
|
|
||||||
|
# Choose an open pin connected to the Data In of the NeoPixel strip, i.e. board.D18
|
||||||
|
# NeoPixels must be connected to D10, D12, D18 or D21 to work.
|
||||||
|
pixel_pin = board.D18
|
||||||
|
|
||||||
|
# The number of NeoPixels
|
||||||
|
num_pixels = 14
|
||||||
|
|
||||||
|
# The order of the pixel colors - RGB or GRB. Some NeoPixels have red and green reversed!
|
||||||
|
# For RGBW NeoPixels, simply change the ORDER to RGBW or GRBW.
|
||||||
|
ORDER = neopixel.GRB
|
||||||
|
|
||||||
|
pixels = neopixel.NeoPixel(
|
||||||
|
pixel_pin, num_pixels, brightness=0.2, auto_write=False, pixel_order=ORDER
|
||||||
|
)
|
||||||
|
|
||||||
|
def cls():
|
||||||
|
|
||||||
|
print('Cls')
|
||||||
|
pixels.fill((0, 0, 0))
|
||||||
|
pixels.show()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
|
||||||
|
cls()
|
104
leds.py
@ -1,16 +1,18 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
'''
|
'''
|
||||||
|
|
||||||
sudo aot install python3-pip
|
Neopixel GPIO D18 #(-> pin 12)
|
||||||
sudo pip3 install rpi_ws281x adafruit-circuitpython-neopixel
|
Ground pin 9
|
||||||
sudo python3 -m pip install --force-reinstall adafruit-blinka
|
5 V pin 4
|
||||||
|
|
||||||
|
Modes :
|
||||||
|
|
||||||
|
-1 cls
|
||||||
|
0 Scappy
|
||||||
|
1 Rainbow
|
||||||
|
|
||||||
SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
|
|
||||||
SPDX-License-Identifier: MIT
|
|
||||||
|
|
||||||
'''
|
'''
|
||||||
|
|
||||||
@ -22,11 +24,31 @@ import neopixel
|
|||||||
|
|
||||||
# Choose an open pin connected to the Data In of the NeoPixel strip, i.e. board.D18
|
# Choose an open pin connected to the Data In of the NeoPixel strip, i.e. board.D18
|
||||||
# NeoPixels must be connected to D10, D12, D18 or D21 to work.
|
# NeoPixels must be connected to D10, D12, D18 or D21 to work.
|
||||||
pixel_pin = board.D18
|
pixel_pin = board.D18 #(-> pin 12)
|
||||||
|
|
||||||
# The number of NeoPixels
|
# The number of NeoPixels
|
||||||
num_pixels = 6
|
num_pixels = 14
|
||||||
|
|
||||||
|
palette = [(0,0,0),
|
||||||
|
(255,0,0),
|
||||||
|
(0,255,0),
|
||||||
|
(0,0,255),
|
||||||
|
(255,255,0),
|
||||||
|
(0,255,255),
|
||||||
|
(255,0,255),
|
||||||
|
(192,192,192),
|
||||||
|
(128,128,128),
|
||||||
|
(128,0,0),
|
||||||
|
(128,128,0),
|
||||||
|
(0,128,0),
|
||||||
|
(128,0,128),
|
||||||
|
(0,128,128),
|
||||||
|
(0,0,128)
|
||||||
|
]
|
||||||
|
|
||||||
|
nbcolor = len(palette)
|
||||||
|
#print(nbcolor, "colors")
|
||||||
|
#print(palette)
|
||||||
# The order of the pixel colors - RGB or GRB. Some NeoPixels have red and green reversed!
|
# The order of the pixel colors - RGB or GRB. Some NeoPixels have red and green reversed!
|
||||||
# For RGBW NeoPixels, simply change the ORDER to RGBW or GRBW.
|
# For RGBW NeoPixels, simply change the ORDER to RGBW or GRBW.
|
||||||
ORDER = neopixel.GRB
|
ORDER = neopixel.GRB
|
||||||
@ -35,6 +57,8 @@ pixels = neopixel.NeoPixel(
|
|||||||
pixel_pin, num_pixels, brightness=0.2, auto_write=False, pixel_order=ORDER
|
pixel_pin, num_pixels, brightness=0.2, auto_write=False, pixel_order=ORDER
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# mode 0 : scapy
|
||||||
|
mode = 0
|
||||||
|
|
||||||
def wheel(pos):
|
def wheel(pos):
|
||||||
# Input a value 0 to 255 to get a color value.
|
# Input a value 0 to 255 to get a color value.
|
||||||
@ -57,18 +81,57 @@ def wheel(pos):
|
|||||||
b = int(255 - pos * 3)
|
b = int(255 - pos * 3)
|
||||||
return (r, g, b) if ORDER in (neopixel.RGB, neopixel.GRB) else (r, g, b, 0)
|
return (r, g, b) if ORDER in (neopixel.RGB, neopixel.GRB) else (r, g, b, 0)
|
||||||
|
|
||||||
|
# rainbow demo
|
||||||
def rainbow_cycle(wait):
|
def rainbow_cycle(wait):
|
||||||
for j in range(255):
|
|
||||||
for i in range(num_pixels):
|
if mode == 1:
|
||||||
pixel_index = (i * 256 // num_pixels) + j
|
for j in range(255):
|
||||||
pixels[i] = wheel(pixel_index & 255)
|
for i in range(num_pixels):
|
||||||
pixels.show()
|
pixel_index = (i * 256 // num_pixels) + j
|
||||||
time.sleep(wait)
|
pixels[i] = wheel(pixel_index & 255)
|
||||||
|
pixels.show()
|
||||||
|
time.sleep(wait)
|
||||||
|
|
||||||
|
# rainbow mode
|
||||||
|
def rainbow_mode(wait = 0.001):
|
||||||
|
|
||||||
|
if mode == 1:
|
||||||
|
for j in range(255):
|
||||||
|
for i in range(num_pixels):
|
||||||
|
pixel_index = (i * 256 // num_pixels) + j
|
||||||
|
pixels[i] = wheel(pixel_index & 255)
|
||||||
|
pixels.show()
|
||||||
|
time.sleep(wait)
|
||||||
|
|
||||||
|
def cls():
|
||||||
|
|
||||||
|
print('Cls')
|
||||||
|
mode = -1
|
||||||
|
pixels.fill((0, 0, 0))
|
||||||
|
pixels.show()
|
||||||
|
|
||||||
|
def ledscls():
|
||||||
|
|
||||||
|
print('Cls')
|
||||||
|
pixels.fill((0, 0, 0))
|
||||||
|
pixels.show()
|
||||||
|
|
||||||
|
def display(colors):
|
||||||
|
|
||||||
|
print("Incoming generated colors :",colors)
|
||||||
|
for pixel in range(num_pixels):
|
||||||
|
#print(pixel, colors[pixel], palette[colors[pixel]] )
|
||||||
|
pixels[pixel] = palette[colors[pixel]]
|
||||||
|
#print("pixels array :",pixels)
|
||||||
|
pixels.show()
|
||||||
|
|
||||||
|
|
||||||
while True:
|
def demo():
|
||||||
|
global mode
|
||||||
|
|
||||||
|
ledscls()
|
||||||
# Comment this line out if you have RGBW/GRBW NeoPixels
|
# Comment this line out if you have RGBW/GRBW NeoPixels
|
||||||
|
print("Demo.")
|
||||||
pixels.fill((255, 0, 0))
|
pixels.fill((255, 0, 0))
|
||||||
# Uncomment this line if you have RGBW/GRBW NeoPixels
|
# Uncomment this line if you have RGBW/GRBW NeoPixels
|
||||||
# pixels.fill((255, 0, 0, 0))
|
# pixels.fill((255, 0, 0, 0))
|
||||||
@ -89,4 +152,11 @@ while True:
|
|||||||
pixels.show()
|
pixels.show()
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
|
|
||||||
|
mode = 1
|
||||||
rainbow_cycle(0.001) # rainbow cycle with 1ms delay per step
|
rainbow_cycle(0.001) # rainbow cycle with 1ms delay per step
|
||||||
|
|
||||||
|
ledscls()
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
|
||||||
|
demo()
|
||||||
|
225
nerves.py
@ -5,8 +5,9 @@
|
|||||||
Nerves
|
Nerves
|
||||||
v 0.1
|
v 0.1
|
||||||
|
|
||||||
A termeal version with led strip on raspberry pi
|
A termeal version with fiber optics on raspberry pi
|
||||||
|
|
||||||
|
goes with leds mode 0
|
||||||
|
|
||||||
sniff packets from interface en0 using python module scapy (2.3.1)
|
sniff packets from interface en0 using python module scapy (2.3.1)
|
||||||
generate led color for bhoreal in usb midi mode depending on packet port number
|
generate led color for bhoreal in usb midi mode depending on packet port number
|
||||||
@ -26,91 +27,205 @@ log.infog("Nerves")
|
|||||||
log.infog("v0.1b")
|
log.infog("v0.1b")
|
||||||
print("Loading...")
|
print("Loading...")
|
||||||
|
|
||||||
from OSC3 import OSCClient, OSCMessage
|
import adafruit_blinka.agnostic as agnostic
|
||||||
|
import board
|
||||||
|
import sys
|
||||||
|
|
||||||
|
print(
|
||||||
|
"Found system type: %s (sys.platform %s implementation %s) "
|
||||||
|
% (agnostic.board_id, sys.platform, sys.implementation.name)
|
||||||
|
)
|
||||||
|
|
||||||
from sys import platform
|
from sys import platform
|
||||||
from time import sleep
|
from time import sleep
|
||||||
import types
|
import types
|
||||||
import random
|
import random
|
||||||
from scapy.all import *
|
from scapy.all import *
|
||||||
|
from threading import Thread
|
||||||
|
import traceback
|
||||||
|
|
||||||
import argparse
|
import leds
|
||||||
|
import buttons
|
||||||
argsparser = argparse.ArgumentParser(description="Nerves v0.1")
|
import ws
|
||||||
argsparser.add_argument("-v","--verbose",action="store_true",help="Verbose output")
|
|
||||||
args = argsparser.parse_args()
|
|
||||||
|
|
||||||
verbose=args.verbose
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
client = OSCClient()
|
# from Adafruit_GPIO import Platform
|
||||||
msg = OSCMessage()
|
# print("Platform = ", Platform.platform_detect(), Platform.pi_version())
|
||||||
|
|
||||||
|
#print("board contents: ", dir(board))
|
||||||
|
|
||||||
|
|
||||||
|
nerves = [[0,7],[1,3],[2,9],[4,13],[5,11],[6,12],[8,10]]
|
||||||
|
influx = [0]*(len(nerves)*2)
|
||||||
|
print(influx)
|
||||||
|
|
||||||
counter = 0
|
counter = 0
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
parser = argparse.ArgumentParser(description="A Scanner Interface Darkly")
|
||||||
|
parser.add_argument("-i","--interface", help="interface to scan")
|
||||||
|
parser.add_argument("-x","--xcol",help="number of columns (8 by default)",type=int)
|
||||||
|
parser.add_argument("-y","--ycol",help="number of rows (8 by default)",type=int)
|
||||||
|
parser.add_argument("-f","--filter",help="tcpdump filter")
|
||||||
|
parser.add_argument("-c","--color",help="number of color",type=int)
|
||||||
|
parser.add_argument("-d","--display",help="type of side display",choices=["colors", "ports"])
|
||||||
|
parser.add_argument("-epi","--ephemeralportmin",help="ephemeral port min to exclude (32768 by default), set to 65536 to include all ports",type=int)
|
||||||
|
parser.add_argument("-epa","--ephemeralportmax",help="ephemeral port max to exclude (61000 by default)",type=int)
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
if args.xcol:
|
||||||
|
xmax=args.xcol
|
||||||
|
else:
|
||||||
|
xmax=8
|
||||||
|
|
||||||
|
if args.ycol:
|
||||||
|
ymax=args.ycol
|
||||||
|
else:
|
||||||
|
ymax=8
|
||||||
|
|
||||||
|
if args.color:
|
||||||
|
nbcolor=args.color
|
||||||
|
else:
|
||||||
|
nbcolor=15
|
||||||
|
|
||||||
|
if args.display:
|
||||||
|
sidedisplay=args.display
|
||||||
|
else:
|
||||||
|
sidedisplay="ports"
|
||||||
|
|
||||||
|
if args.ephemeralportmin:
|
||||||
|
ephemeralportmin = args.ephemeralportmin
|
||||||
|
else:
|
||||||
|
ephemeralportmin = 32768
|
||||||
|
|
||||||
|
if args.ephemeralportmax:
|
||||||
|
ephemeralportmax = args.ephemeralportmax
|
||||||
|
else:
|
||||||
|
ephemeralportmax = 61000
|
||||||
|
|
||||||
|
|
||||||
def sendled(zzzport):
|
def sendled(zzzport):
|
||||||
global counter
|
global counter
|
||||||
|
|
||||||
zzz = zzzport % 127
|
#print("nerve",counter)
|
||||||
# zzz = led color
|
zzz = zzzport % leds.nbcolor # zzz = led color
|
||||||
msg = OSCMessage()
|
|
||||||
msg.setAddress("/bhoreal/in")
|
influx[nerves[counter][0]] = zzz
|
||||||
msg.append(counter)
|
influx[nerves[counter][1]] = zzz
|
||||||
msg.append(zzz)
|
#print("nerve",counter,"influx", influx)
|
||||||
try:
|
|
||||||
client.sendto(msg, ('127.0.0.1', 9002))
|
leds.display(influx)
|
||||||
msg.clearData()
|
|
||||||
except:
|
#print(len(nerves), "nerves")
|
||||||
print('Connection refused')
|
if counter +1 == len(nerves):
|
||||||
pass
|
|
||||||
sleep(0.001)
|
|
||||||
counter += 1
|
|
||||||
if counter > 63:
|
|
||||||
counter = 0
|
counter = 0
|
||||||
|
else:
|
||||||
|
counter += 1
|
||||||
|
#print("next nerve", counter)
|
||||||
|
|
||||||
def print_summary(pkt):
|
def print_summary(pkt):
|
||||||
if IP in pkt:
|
|
||||||
ip_src=pkt[IP].src
|
|
||||||
ip_dst=pkt[IP].dst
|
|
||||||
|
|
||||||
|
|
||||||
if TCP in pkt:
|
|
||||||
tcp_sport=pkt[TCP].sport
|
|
||||||
tcp_dport=pkt[TCP].dport
|
|
||||||
|
|
||||||
if tcp_sport < 50000:
|
if leds.mode == 0:
|
||||||
print (" IP src " + str(ip_src) + " TCP sport " + str(tcp_sport) )
|
|
||||||
sendled(tcp_sport)
|
|
||||||
if tcp_dport < 50000:
|
|
||||||
print (" IP dst " + str(ip_dst) + " TCP dport " + str(tcp_dport))
|
|
||||||
sendled(tcp_dport)
|
|
||||||
if UDP in pkt:
|
|
||||||
udp_sport=pkt[UDP].sport
|
|
||||||
udp_dport=pkt[UDP].dport
|
|
||||||
|
|
||||||
if udp_sport < 50000:
|
if IP in pkt:
|
||||||
print (" IP src " + str(ip_src) + " UDP sport " + str(udp_sport) )
|
ip_src=pkt[IP].src
|
||||||
sendled(udp_sport)
|
ip_dst=pkt[IP].dst
|
||||||
|
|
||||||
if udp_dport < 50000:
|
|
||||||
print (" IP dst " + str(ip_dst) + " UDP dport " + str(udp_dport))
|
if TCP in pkt:
|
||||||
sendled(udp_dport)
|
tcp_sport=pkt[TCP].sport
|
||||||
|
tcp_dport=pkt[TCP].dport
|
||||||
|
|
||||||
|
if tcp_sport < 50000:
|
||||||
|
print (" IP src " + str(ip_src) + " TCP sport " + str(tcp_sport) )
|
||||||
|
sendled(tcp_sport)
|
||||||
|
if tcp_dport < 50000:
|
||||||
|
print (" IP dst " + str(ip_dst) + " TCP dport " + str(tcp_dport))
|
||||||
|
sendled(tcp_dport)
|
||||||
|
|
||||||
|
if UDP in pkt:
|
||||||
|
udp_sport=pkt[UDP].sport
|
||||||
|
udp_dport=pkt[UDP].dport
|
||||||
|
|
||||||
|
if udp_sport < 50000:
|
||||||
|
print (" IP src " + str(ip_src) + " UDP sport " + str(udp_sport) )
|
||||||
|
sendled(udp_sport)
|
||||||
|
|
||||||
|
if udp_dport < 50000:
|
||||||
|
print (" IP dst " + str(ip_dst) + " UDP dport " + str(udp_dport))
|
||||||
|
sendled(udp_dport)
|
||||||
|
|
||||||
|
|
||||||
if ARP in pkt and pkt[ARP].op in (1,2):
|
if ARP in pkt and pkt[ARP].op in (1,2):
|
||||||
print (" ARP")
|
print (" ARP")
|
||||||
sendled(67)
|
sendled(67)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def handle_error(self,request,client_address): # All callbacks
|
def handle_error(self,request,client_address): # All callbacks
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
'''
|
||||||
|
def main():
|
||||||
|
|
||||||
|
print("Testing leds...")
|
||||||
|
leds.cls()
|
||||||
|
leds.demo()
|
||||||
|
leds.cls()
|
||||||
|
|
||||||
if platform == 'darwin':
|
if platform == 'darwin':
|
||||||
sniff(iface='en0', prn=print_summary, store=0)
|
print("Running on", platform, "-> en0")
|
||||||
|
#sniff(iface='en0', prn=print_summary, store=0)
|
||||||
|
sniff(iface='en0', prn=print_summary, store=0,filter=args.filter)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
print("Running on", platform, "-> eth0")
|
||||||
sniff(iface='eth0', prn=print_summary, store=0)
|
sniff(iface='eth0', prn=print_summary, store=0)
|
||||||
|
'''
|
||||||
|
|
||||||
|
def main():
|
||||||
|
|
||||||
|
ws.Start(ws.serverIP, ws.wsPORT)
|
||||||
|
|
||||||
|
try:
|
||||||
|
|
||||||
|
ws_thread = Thread(target=ws.runforever, args=())
|
||||||
|
ws_thread.setDaemon(True)
|
||||||
|
ws_thread.start()
|
||||||
|
|
||||||
|
print("Launching buttons thread...")
|
||||||
|
buttons_thread = Thread(target=buttons.runforever, args=())
|
||||||
|
buttons_thread.setDaemon(True)
|
||||||
|
buttons_thread.start()
|
||||||
|
|
||||||
|
ws.sendWSall("/players Demo")
|
||||||
|
print("Testing leds...")
|
||||||
|
leds.cls()
|
||||||
|
leds.demo()
|
||||||
|
leds.cls()
|
||||||
|
|
||||||
|
# Start sniffing
|
||||||
|
leds.mode = 0
|
||||||
|
ws.sendWSall("/players Sniffing")
|
||||||
|
if platform == 'darwin':
|
||||||
|
print("Running on", platform, "-> en0")
|
||||||
|
#sniff(iface='en0', prn=print_summary, store=0)
|
||||||
|
sniff(iface='en0', prn=print_summary, store=0,filter=args.filter)
|
||||||
|
|
||||||
|
else:
|
||||||
|
print("Running on", platform, "-> eth0")
|
||||||
|
sniff(iface='eth0', prn=print_summary, store=0)
|
||||||
|
|
||||||
|
|
||||||
|
except Exception:
|
||||||
|
traceback.print_exc()
|
||||||
|
|
||||||
|
finally:
|
||||||
|
|
||||||
|
ws_thread.join()
|
||||||
|
buttons_thread.join()
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
|
||||||
|
main()
|
||||||
|
371
websocket_server.py
Executable file
@ -0,0 +1,371 @@
|
|||||||
|
# Author: Johan Hanssen Seferidis
|
||||||
|
# License: MIT
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import struct
|
||||||
|
from base64 import b64encode
|
||||||
|
from hashlib import sha1
|
||||||
|
import logging
|
||||||
|
from socket import error as SocketError
|
||||||
|
import errno
|
||||||
|
|
||||||
|
if sys.version_info[0] < 3:
|
||||||
|
from SocketServer import ThreadingMixIn, TCPServer, StreamRequestHandler
|
||||||
|
else:
|
||||||
|
from socketserver import ThreadingMixIn, TCPServer, StreamRequestHandler
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
logging.basicConfig()
|
||||||
|
|
||||||
|
'''
|
||||||
|
+-+-+-+-+-------+-+-------------+-------------------------------+
|
||||||
|
0 1 2 3
|
||||||
|
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
|
||||||
|
+-+-+-+-+-------+-+-------------+-------------------------------+
|
||||||
|
|F|R|R|R| opcode|M| Payload len | Extended payload length |
|
||||||
|
|I|S|S|S| (4) |A| (7) | (16/64) |
|
||||||
|
|N|V|V|V| |S| | (if payload len==126/127) |
|
||||||
|
| |1|2|3| |K| | |
|
||||||
|
+-+-+-+-+-------+-+-------------+ - - - - - - - - - - - - - - - +
|
||||||
|
| Extended payload length continued, if payload len == 127 |
|
||||||
|
+ - - - - - - - - - - - - - - - +-------------------------------+
|
||||||
|
| Payload Data continued ... |
|
||||||
|
+---------------------------------------------------------------+
|
||||||
|
'''
|
||||||
|
|
||||||
|
FIN = 0x80
|
||||||
|
OPCODE = 0x0f
|
||||||
|
MASKED = 0x80
|
||||||
|
PAYLOAD_LEN = 0x7f
|
||||||
|
PAYLOAD_LEN_EXT16 = 0x7e
|
||||||
|
PAYLOAD_LEN_EXT64 = 0x7f
|
||||||
|
|
||||||
|
OPCODE_CONTINUATION = 0x0
|
||||||
|
OPCODE_TEXT = 0x1
|
||||||
|
OPCODE_BINARY = 0x2
|
||||||
|
OPCODE_CLOSE_CONN = 0x8
|
||||||
|
OPCODE_PING = 0x9
|
||||||
|
OPCODE_PONG = 0xA
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------- API ---------------------------------
|
||||||
|
|
||||||
|
class API():
|
||||||
|
|
||||||
|
def run_forever(self):
|
||||||
|
try:
|
||||||
|
logger.info("Listening on port %d for clients.." % self.port)
|
||||||
|
self.serve_forever()
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
self.server_close()
|
||||||
|
logger.info("Server terminated.")
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(str(e), exc_info=True)
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
def new_client(self, client, server):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def client_left(self, client, server):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def message_received(self, client, server, message):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def set_fn_new_client(self, fn):
|
||||||
|
self.new_client = fn
|
||||||
|
|
||||||
|
def set_fn_client_left(self, fn):
|
||||||
|
self.client_left = fn
|
||||||
|
|
||||||
|
def set_fn_message_received(self, fn):
|
||||||
|
self.message_received = fn
|
||||||
|
|
||||||
|
def send_message(self, client, msg):
|
||||||
|
self._unicast_(client, msg)
|
||||||
|
|
||||||
|
def send_message_to_all(self, msg):
|
||||||
|
self._multicast_(msg)
|
||||||
|
|
||||||
|
|
||||||
|
# ------------------------- Implementation -----------------------------
|
||||||
|
|
||||||
|
class WebsocketServer(ThreadingMixIn, TCPServer, API):
|
||||||
|
"""
|
||||||
|
A websocket server waiting for clients to connect.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
port(int): Port to bind to
|
||||||
|
host(str): Hostname or IP to listen for connections. By default 127.0.0.1
|
||||||
|
is being used. To accept connections from any client, you should use
|
||||||
|
0.0.0.0.
|
||||||
|
loglevel: Logging level from logging module to use for logging. By default
|
||||||
|
warnings and errors are being logged.
|
||||||
|
|
||||||
|
Properties:
|
||||||
|
clients(list): A list of connected clients. A client is a dictionary
|
||||||
|
like below.
|
||||||
|
{
|
||||||
|
'id' : id,
|
||||||
|
'handler' : handler,
|
||||||
|
'address' : (addr, port)
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
|
allow_reuse_address = True
|
||||||
|
daemon_threads = True # comment to keep threads alive until finished
|
||||||
|
|
||||||
|
clients = []
|
||||||
|
id_counter = 0
|
||||||
|
|
||||||
|
def __init__(self, port, host='127.0.0.1', loglevel=logging.WARNING):
|
||||||
|
logger.setLevel(loglevel)
|
||||||
|
TCPServer.__init__(self, (host, port), WebSocketHandler)
|
||||||
|
self.port = self.socket.getsockname()[1]
|
||||||
|
|
||||||
|
def _message_received_(self, handler, msg):
|
||||||
|
self.message_received(self.handler_to_client(handler), self, msg)
|
||||||
|
|
||||||
|
def _ping_received_(self, handler, msg):
|
||||||
|
handler.send_pong(msg)
|
||||||
|
|
||||||
|
def _pong_received_(self, handler, msg):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def _new_client_(self, handler):
|
||||||
|
self.id_counter += 1
|
||||||
|
client = {
|
||||||
|
'id': self.id_counter,
|
||||||
|
'handler': handler,
|
||||||
|
'address': handler.client_address
|
||||||
|
}
|
||||||
|
self.clients.append(client)
|
||||||
|
self.new_client(client, self)
|
||||||
|
|
||||||
|
def _client_left_(self, handler):
|
||||||
|
client = self.handler_to_client(handler)
|
||||||
|
self.client_left(client, self)
|
||||||
|
if client in self.clients:
|
||||||
|
self.clients.remove(client)
|
||||||
|
|
||||||
|
def _unicast_(self, to_client, msg):
|
||||||
|
to_client['handler'].send_message(msg)
|
||||||
|
|
||||||
|
def _multicast_(self, msg):
|
||||||
|
for client in self.clients:
|
||||||
|
self._unicast_(client, msg)
|
||||||
|
|
||||||
|
def handler_to_client(self, handler):
|
||||||
|
for client in self.clients:
|
||||||
|
if client['handler'] == handler:
|
||||||
|
return client
|
||||||
|
|
||||||
|
|
||||||
|
class WebSocketHandler(StreamRequestHandler):
|
||||||
|
|
||||||
|
def __init__(self, socket, addr, server):
|
||||||
|
self.server = server
|
||||||
|
StreamRequestHandler.__init__(self, socket, addr, server)
|
||||||
|
|
||||||
|
def setup(self):
|
||||||
|
StreamRequestHandler.setup(self)
|
||||||
|
self.keep_alive = True
|
||||||
|
self.handshake_done = False
|
||||||
|
self.valid_client = False
|
||||||
|
|
||||||
|
def handle(self):
|
||||||
|
while self.keep_alive:
|
||||||
|
if not self.handshake_done:
|
||||||
|
self.handshake()
|
||||||
|
elif self.valid_client:
|
||||||
|
self.read_next_message()
|
||||||
|
|
||||||
|
def read_bytes(self, num):
|
||||||
|
# python3 gives ordinal of byte directly
|
||||||
|
bytes = self.rfile.read(num)
|
||||||
|
if sys.version_info[0] < 3:
|
||||||
|
return map(ord, bytes)
|
||||||
|
else:
|
||||||
|
return bytes
|
||||||
|
|
||||||
|
def read_next_message(self):
|
||||||
|
try:
|
||||||
|
b1, b2 = self.read_bytes(2)
|
||||||
|
except SocketError as e: # to be replaced with ConnectionResetError for py3
|
||||||
|
if e.errno == errno.ECONNRESET:
|
||||||
|
logger.info("Client closed connection.")
|
||||||
|
print("Error: {}".format(e))
|
||||||
|
self.keep_alive = 0
|
||||||
|
return
|
||||||
|
b1, b2 = 0, 0
|
||||||
|
except ValueError as e:
|
||||||
|
b1, b2 = 0, 0
|
||||||
|
|
||||||
|
fin = b1 & FIN
|
||||||
|
opcode = b1 & OPCODE
|
||||||
|
masked = b2 & MASKED
|
||||||
|
payload_length = b2 & PAYLOAD_LEN
|
||||||
|
|
||||||
|
if opcode == OPCODE_CLOSE_CONN:
|
||||||
|
logger.info("Client asked to close connection.")
|
||||||
|
self.keep_alive = 0
|
||||||
|
return
|
||||||
|
if not masked:
|
||||||
|
logger.warn("Client must always be masked.")
|
||||||
|
self.keep_alive = 0
|
||||||
|
return
|
||||||
|
if opcode == OPCODE_CONTINUATION:
|
||||||
|
logger.warn("Continuation frames are not supported.")
|
||||||
|
return
|
||||||
|
elif opcode == OPCODE_BINARY:
|
||||||
|
logger.warn("Binary frames are not supported.")
|
||||||
|
return
|
||||||
|
elif opcode == OPCODE_TEXT:
|
||||||
|
opcode_handler = self.server._message_received_
|
||||||
|
elif opcode == OPCODE_PING:
|
||||||
|
opcode_handler = self.server._ping_received_
|
||||||
|
elif opcode == OPCODE_PONG:
|
||||||
|
opcode_handler = self.server._pong_received_
|
||||||
|
else:
|
||||||
|
logger.warn("Unknown opcode %#x." % opcode)
|
||||||
|
self.keep_alive = 0
|
||||||
|
return
|
||||||
|
|
||||||
|
if payload_length == 126:
|
||||||
|
payload_length = struct.unpack(">H", self.rfile.read(2))[0]
|
||||||
|
elif payload_length == 127:
|
||||||
|
payload_length = struct.unpack(">Q", self.rfile.read(8))[0]
|
||||||
|
|
||||||
|
masks = self.read_bytes(4)
|
||||||
|
message_bytes = bytearray()
|
||||||
|
for message_byte in self.read_bytes(payload_length):
|
||||||
|
message_byte ^= masks[len(message_bytes) % 4]
|
||||||
|
message_bytes.append(message_byte)
|
||||||
|
opcode_handler(self, message_bytes.decode('utf8'))
|
||||||
|
|
||||||
|
def send_message(self, message):
|
||||||
|
self.send_text(message)
|
||||||
|
|
||||||
|
def send_pong(self, message):
|
||||||
|
self.send_text(message, OPCODE_PONG)
|
||||||
|
|
||||||
|
def send_text(self, message, opcode=OPCODE_TEXT):
|
||||||
|
"""
|
||||||
|
Important: Fragmented(=continuation) messages are not supported since
|
||||||
|
their usage cases are limited - when we don't know the payload length.
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Validate message
|
||||||
|
if isinstance(message, bytes):
|
||||||
|
message = try_decode_UTF8(message) # this is slower but ensures we have UTF-8
|
||||||
|
if not message:
|
||||||
|
logger.warning("Can\'t send message, message is not valid UTF-8")
|
||||||
|
return False
|
||||||
|
elif sys.version_info < (3,0) and (isinstance(message, str) or isinstance(message, unicode)):
|
||||||
|
pass
|
||||||
|
elif isinstance(message, str):
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
logger.warning('Can\'t send message, message has to be a string or bytes. Given type is %s' % type(message))
|
||||||
|
return False
|
||||||
|
|
||||||
|
header = bytearray()
|
||||||
|
payload = encode_to_UTF8(message)
|
||||||
|
payload_length = len(payload)
|
||||||
|
|
||||||
|
# Normal payload
|
||||||
|
if payload_length <= 125:
|
||||||
|
header.append(FIN | opcode)
|
||||||
|
header.append(payload_length)
|
||||||
|
|
||||||
|
# Extended payload
|
||||||
|
elif payload_length >= 126 and payload_length <= 65535:
|
||||||
|
header.append(FIN | opcode)
|
||||||
|
header.append(PAYLOAD_LEN_EXT16)
|
||||||
|
header.extend(struct.pack(">H", payload_length))
|
||||||
|
|
||||||
|
# Huge extended payload
|
||||||
|
elif payload_length < 18446744073709551616:
|
||||||
|
header.append(FIN | opcode)
|
||||||
|
header.append(PAYLOAD_LEN_EXT64)
|
||||||
|
header.extend(struct.pack(">Q", payload_length))
|
||||||
|
|
||||||
|
else:
|
||||||
|
raise Exception("Message is too big. Consider breaking it into chunks.")
|
||||||
|
return
|
||||||
|
|
||||||
|
self.request.send(header + payload)
|
||||||
|
|
||||||
|
def read_http_headers(self):
|
||||||
|
headers = {}
|
||||||
|
# first line should be HTTP GET
|
||||||
|
http_get = self.rfile.readline().decode().strip()
|
||||||
|
assert http_get.upper().startswith('GET')
|
||||||
|
# remaining should be headers
|
||||||
|
while True:
|
||||||
|
header = self.rfile.readline().decode().strip()
|
||||||
|
if not header:
|
||||||
|
break
|
||||||
|
head, value = header.split(':', 1)
|
||||||
|
headers[head.lower().strip()] = value.strip()
|
||||||
|
return headers
|
||||||
|
|
||||||
|
def handshake(self):
|
||||||
|
headers = self.read_http_headers()
|
||||||
|
|
||||||
|
try:
|
||||||
|
assert headers['upgrade'].lower() == 'websocket'
|
||||||
|
except AssertionError:
|
||||||
|
self.keep_alive = False
|
||||||
|
return
|
||||||
|
|
||||||
|
try:
|
||||||
|
key = headers['sec-websocket-key']
|
||||||
|
except KeyError:
|
||||||
|
logger.warning("Client tried to connect but was missing a key")
|
||||||
|
self.keep_alive = False
|
||||||
|
return
|
||||||
|
|
||||||
|
response = self.make_handshake_response(key)
|
||||||
|
self.handshake_done = self.request.send(response.encode())
|
||||||
|
self.valid_client = True
|
||||||
|
self.server._new_client_(self)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def make_handshake_response(cls, key):
|
||||||
|
return \
|
||||||
|
'HTTP/1.1 101 Switching Protocols\r\n'\
|
||||||
|
'Upgrade: websocket\r\n' \
|
||||||
|
'Connection: Upgrade\r\n' \
|
||||||
|
'Sec-WebSocket-Accept: %s\r\n' \
|
||||||
|
'\r\n' % cls.calculate_response_key(key)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def calculate_response_key(cls, key):
|
||||||
|
GUID = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11'
|
||||||
|
hash = sha1(key.encode() + GUID.encode())
|
||||||
|
response_key = b64encode(hash.digest()).strip()
|
||||||
|
return response_key.decode('ASCII')
|
||||||
|
|
||||||
|
def finish(self):
|
||||||
|
self.server._client_left_(self)
|
||||||
|
|
||||||
|
|
||||||
|
def encode_to_UTF8(data):
|
||||||
|
try:
|
||||||
|
return data.encode('UTF-8')
|
||||||
|
except UnicodeEncodeError as e:
|
||||||
|
logger.error("Could not encode data to UTF-8 -- %s" % e)
|
||||||
|
return False
|
||||||
|
except Exception as e:
|
||||||
|
raise(e)
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def try_decode_UTF8(data):
|
||||||
|
try:
|
||||||
|
return data.decode('utf-8')
|
||||||
|
except UnicodeDecodeError:
|
||||||
|
return False
|
||||||
|
except Exception as e:
|
||||||
|
raise(e)
|
216
ws.py
Normal file
@ -0,0 +1,216 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# -*- mode: Python -*-
|
||||||
|
|
||||||
|
'''
|
||||||
|
|
||||||
|
Nerves WS server v0.1b
|
||||||
|
|
||||||
|
http page index.html get Server IP, Port from config.js
|
||||||
|
|
||||||
|
'''
|
||||||
|
|
||||||
|
#import socket
|
||||||
|
import types, json
|
||||||
|
import _thread, time
|
||||||
|
|
||||||
|
from websocket_server import WebsocketServer
|
||||||
|
import argparse
|
||||||
|
import leds
|
||||||
|
import traceback
|
||||||
|
|
||||||
|
debug = 1
|
||||||
|
Players=0
|
||||||
|
clientmode = False
|
||||||
|
broadcast = True
|
||||||
|
|
||||||
|
# record current values
|
||||||
|
crtvalueMMO3 = [0] * 32
|
||||||
|
crtfunc = 0
|
||||||
|
funcs = [0,1,2]
|
||||||
|
|
||||||
|
|
||||||
|
print("")
|
||||||
|
print("Loading Nerves WS server v0.1b")
|
||||||
|
print ("Arguments parsing if needed...")
|
||||||
|
argsparser = argparse.ArgumentParser(description="Nerves experimental v0.1b help mode")
|
||||||
|
argsparser.add_argument("-i","--IP",help="IP to bind to (0.0.0.0 by default)", type=str)
|
||||||
|
argsparser.add_argument("-p","--port",help="Websocket port to bind to (8081 by default)", type=str)
|
||||||
|
args = argsparser.parse_args()
|
||||||
|
# Server name
|
||||||
|
if args.IP:
|
||||||
|
serverIP = args.IP
|
||||||
|
else:
|
||||||
|
serverIP = "0.0.0.0"
|
||||||
|
|
||||||
|
# ORCA destination device
|
||||||
|
if args.port:
|
||||||
|
wsPORT = int(args.port)
|
||||||
|
else:
|
||||||
|
wsPORT = 8081
|
||||||
|
|
||||||
|
|
||||||
|
def Start(serverIP, wsPORT):
|
||||||
|
global wserver
|
||||||
|
|
||||||
|
print("Starting WS server ", serverIP, ":", wsPORT)
|
||||||
|
wserver = WebsocketServer(wsPORT,host=serverIP)
|
||||||
|
wserver.set_fn_new_client(new_client)
|
||||||
|
wserver.set_fn_client_left(client_left)
|
||||||
|
wserver.set_fn_message_received(message_received)
|
||||||
|
|
||||||
|
|
||||||
|
def runforever():
|
||||||
|
|
||||||
|
print("Running WS server...")
|
||||||
|
leds.mode = 0
|
||||||
|
wserver.run_forever()
|
||||||
|
|
||||||
|
|
||||||
|
# Called for every WS client connecting (after handshake)
|
||||||
|
def new_client(client, wserver):
|
||||||
|
global Players
|
||||||
|
|
||||||
|
|
||||||
|
print("New WS client connected and was given id %d" % client['id'])
|
||||||
|
#sendWSall("/status Hello %d" % client['id'])
|
||||||
|
#if current == True:
|
||||||
|
# sendallcurrentccvalues("mmo3")
|
||||||
|
# sendallcurrentccvalues("ocs2")
|
||||||
|
|
||||||
|
Players+=1
|
||||||
|
sendWSall("/status Hello %d" %(client['id']))
|
||||||
|
if Players > 1:
|
||||||
|
#sendWSall("/Players %d" %(Players))
|
||||||
|
sendWSall("/players connected:%d" %(Players))
|
||||||
|
else:
|
||||||
|
sendWSall("/players connected:%d" %(Players))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Called for every WS client disconnecting
|
||||||
|
def client_left(client, wserver):
|
||||||
|
|
||||||
|
|
||||||
|
try:
|
||||||
|
print("WS Client(%d) disconnected" % client['id'])
|
||||||
|
Players-=1
|
||||||
|
sendWSall("/players %d" %(Players))
|
||||||
|
except:
|
||||||
|
print("Something weird if coming from",client,"on the wire...")
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
# Called for each WS received message.
|
||||||
|
def message_received(client, wserver, message):
|
||||||
|
global crtfunc
|
||||||
|
|
||||||
|
print("")
|
||||||
|
if len(message) > 200:
|
||||||
|
message = message[:200]+'..'
|
||||||
|
|
||||||
|
wspath = message.split(" ")
|
||||||
|
if debug > 0:
|
||||||
|
print("Main got from WS", client['id'], "said :", message, "splitted in an wspath :", wspath)
|
||||||
|
else:
|
||||||
|
print("Main got WS Client", client['id'], "said :", message)
|
||||||
|
|
||||||
|
wscommand = wspath[0].split("/")
|
||||||
|
|
||||||
|
# debug
|
||||||
|
if debug > 0:
|
||||||
|
print("wscommand :",wscommand)
|
||||||
|
|
||||||
|
# noarg
|
||||||
|
if len(wspath) == 1:
|
||||||
|
args[0] = "noargs"
|
||||||
|
#print "noargs command"
|
||||||
|
|
||||||
|
# functions : /func 1
|
||||||
|
elif wscommand[1] == "func":
|
||||||
|
if debug > 0:
|
||||||
|
print("func function with ", wspath[1])
|
||||||
|
crtfunc +=1
|
||||||
|
if crtfunc == len(funcs):
|
||||||
|
crtfunc = 0
|
||||||
|
print('Launch func', crtfunc)
|
||||||
|
|
||||||
|
sendWSall("/players Function:"+str(crtfunc))
|
||||||
|
|
||||||
|
# shutdown : /down 1
|
||||||
|
elif wscommand[1] == "down":
|
||||||
|
|
||||||
|
if wspath[1] == '1':
|
||||||
|
import os
|
||||||
|
print('will shutdown...')
|
||||||
|
leds.mode = -1
|
||||||
|
leds.cls()
|
||||||
|
sendWSall("/players Stopping...")
|
||||||
|
os.system("systemctl poweroff")
|
||||||
|
|
||||||
|
|
||||||
|
# CC : /device/cc/2 127
|
||||||
|
elif wscommand[2] == "cc":
|
||||||
|
ccvr=int(wscommand[3]) #cc variable
|
||||||
|
ccvl=int(wspath[1]) #cc value
|
||||||
|
if debug > 0:
|
||||||
|
print("ccvr=%d/ccvl=%d"%(ccvr,ccvl))
|
||||||
|
if wscommand[1] == "ocs2":
|
||||||
|
crtvalueOCS2[ccvr]=ccvl
|
||||||
|
else:
|
||||||
|
crtvalueMMO3[ccvr]=ccvl
|
||||||
|
|
||||||
|
# Loop back : WS Client -> server -> WS Client
|
||||||
|
#sendWSall(message)
|
||||||
|
|
||||||
|
# Send through websocket.
|
||||||
|
# Different websocket library for client (websocket) or server (websocket_server.
|
||||||
|
# ws object is added here by main.py or client.py startup : midi3.ws =
|
||||||
|
def send(message):
|
||||||
|
|
||||||
|
if clientmode == True:
|
||||||
|
send(message)
|
||||||
|
else:
|
||||||
|
wserver.send_message_to_all(msg = message)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def sendWSall(message):
|
||||||
|
|
||||||
|
if broadcast == True:
|
||||||
|
if debug >0:
|
||||||
|
print("WS sending to all %s" % (message))
|
||||||
|
|
||||||
|
wserver.send_message_to_all(message)
|
||||||
|
|
||||||
|
# /send all current cc values
|
||||||
|
def sendallcurrentccvalues(nozoid):
|
||||||
|
|
||||||
|
if broadcast == True:
|
||||||
|
#print ""
|
||||||
|
print("sending all current cc values of", nozoid)
|
||||||
|
|
||||||
|
if nozoid == "mmo3":
|
||||||
|
for ccnumber in range(0,32):
|
||||||
|
sendWSall("/mmo3/cc/"+str(ccnumber)+" "+str(crtvalueMMO3[ccnumber]))
|
||||||
|
else:
|
||||||
|
for ccnumber in range(0,32):
|
||||||
|
sendWSall("/ocs2/cc/"+str(ccnumber)+" "+str(crtvalueOCS2[ccnumber]))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
|
||||||
|
Start(serverIP, wsPORT)
|
||||||
|
|
||||||
|
try:
|
||||||
|
|
||||||
|
runforever()
|
||||||
|
|
||||||
|
except Exception:
|
||||||
|
traceback.print_exc()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
1
www/config.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
websocket_uri = "ws://192.168.2.189:8081/"
|
BIN
www/css/7f37946c45abf5482c243bf326f82628.eot
Executable file
828
www/css/7f37946c45abf5482c243bf326f82628.svg
Executable file
@ -0,0 +1,828 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||||
|
<svg>
|
||||||
|
<metadata>
|
||||||
|
Created by FontForge 20120731 at Sat Jun 6 06:35:01 2020
|
||||||
|
By www
|
||||||
|
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License (click below for details).
|
||||||
|
The font was created by Michal Sulik using Fony, bdfresize, potrace, autotrace and Fontforge.
|
||||||
|
If you use this font in any public work, please be so nice and leave a link in comments on http://msulik.deviantart.com/.
|
||||||
|
</metadata>
|
||||||
|
<defs>
|
||||||
|
<font id="BusLedDisplaySmall" horiz-adv-x="458" >
|
||||||
|
<font-face
|
||||||
|
font-family="Bus Led Display Small"
|
||||||
|
font-weight="500"
|
||||||
|
font-variant="small-caps"
|
||||||
|
font-stretch="normal"
|
||||||
|
units-per-em="1024"
|
||||||
|
panose-1="2 0 6 3 0 0 0 0 0 0"
|
||||||
|
ascent="819"
|
||||||
|
descent="-205"
|
||||||
|
x-height="461"
|
||||||
|
cap-height="461"
|
||||||
|
bbox="34 -154 716 682"
|
||||||
|
underline-thickness="50"
|
||||||
|
underline-position="-101"
|
||||||
|
unicode-range="U+0001-02DD"
|
||||||
|
/>
|
||||||
|
<missing-glyph horiz-adv-x="374"
|
||||||
|
d="M34 0v682h272v-682h-272zM68 34h204v614h-204v-614z" />
|
||||||
|
<glyph glyph-name=".notdef" horiz-adv-x="374"
|
||||||
|
d="M34 0v682h272v-682h-272zM68 34h204v614h-204v-614z" />
|
||||||
|
<glyph glyph-name=".null" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="nonmarkingreturn" horiz-adv-x="341"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$000" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$000" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$001" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$002" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$003" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$004" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$005" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$006" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$007" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$008" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$009" unicode="	" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$010" unicode="
" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$011" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$012" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$013" unicode="
" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$014" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$015" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$016" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$017" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$018" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$019" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$020" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$021" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$022" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$023" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$024" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$025" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$026" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$027" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$028" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$029" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$030" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$031" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$032" unicode=" " horiz-adv-x="199"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="$033" unicode="!" horiz-adv-x="150"
|
||||||
|
d="M50 0v51h51v-51h-51zM50 205v51h51v-51h-51zM50 307v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$034" unicode=""" horiz-adv-x="355"
|
||||||
|
d="M204 307v51h51v-51h-51zM50 307v51h51v-51h-51zM255 410v51h51v-51h-51zM101 410v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="$035" unicode="#" horiz-adv-x="662"
|
||||||
|
d="M357 0v51h52v-51h-52zM153 0v51h51v-51h-51zM460 102v52h51v-52h-51zM357 102v52h52v-52h-52zM255 102v52h51v-52h-51zM153 102v52h51v-52h-51zM50 102v52h51v-52h-51zM409 205v51h51v-51h-51zM204 205v51h51v-51h-51zM562 307v51h51v-51h-51zM460 307v51h51v-51h-51z
|
||||||
|
M357 307v51h52v-51h-52zM255 307v51h51v-51h-51zM153 307v51h51v-51h-51zM460 410v51h51v-51h-51zM255 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$036" unicode="$"
|
||||||
|
d="M204 -102v51h51v-51h-51zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM357 51v51h52v-51h-52zM50 51v51h51v-51h-51zM204 102v52h51v-52h-51zM357 154v51h52v-51h-52zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 256v51h51v-51h-51zM204 307v51h51v-51h-51z
|
||||||
|
M357 358v52h52v-52h-52zM50 358v52h51v-52h-51zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM204 512v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$037" unicode="%" horiz-adv-x="560"
|
||||||
|
d="M409 0v51h51v-51h-51zM153 0v51h51v-51h-51zM306 51v51h51v-51h-51zM460 102v52h51v-52h-51zM204 102v52h51v-52h-51zM357 154v51h52v-51h-52zM255 205v51h51v-51h-51zM153 256v51h51v-51h-51zM306 307v51h51v-51h-51zM50 307v51h51v-51h-51zM204 358v52h51v-52h-51z
|
||||||
|
M357 410v51h52v-51h-52zM101 410v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="$038" unicode="&" horiz-adv-x="611"
|
||||||
|
d="M255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM460 51v51h51v-51h-51zM357 51v51h52v-51h-52zM50 51v51h51v-51h-51zM409 154v51h51v-51h-51zM50 154v51h51v-51h-51zM153 205v51h51v-51h-51zM511 256v51h51v-51h-51zM409 256v51h51v-51h-51zM306 256v51h51v-51h-51zM50 256
|
||||||
|
v51h51v-51h-51zM409 358v52h51v-52h-51zM50 358v52h51v-52h-51zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$039" unicode="'" horiz-adv-x="150"
|
||||||
|
d="M50 358v52h51v-52h-51zM50 461v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$040" unicode="(" horiz-adv-x="202"
|
||||||
|
d="M101 0v51h52v-51h-52zM50 102v52h51v-52h-51zM50 205v51h51v-51h-51zM50 307v51h51v-51h-51zM101 410v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="$041" unicode=")" horiz-adv-x="202"
|
||||||
|
d="M50 0v51h51v-51h-51zM101 102v52h52v-52h-52zM101 205v51h52v-51h-52zM101 307v51h52v-51h-52zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$042" unicode="*" horiz-adv-x="560"
|
||||||
|
d="M255 51v51h51v-51h-51zM460 154v51h51v-51h-51zM255 154v51h51v-51h-51zM50 154v51h51v-51h-51zM357 205v51h52v-51h-52zM153 205v51h51v-51h-51zM255 256v51h51v-51h-51zM357 307v51h52v-51h-52zM153 307v51h51v-51h-51zM460 358v52h51v-52h-51zM255 358v52h51v-52h-51z
|
||||||
|
M50 358v52h51v-52h-51zM255 461v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$043" unicode="+" horiz-adv-x="355"
|
||||||
|
d="M153 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM153 307v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$044" unicode="," horiz-adv-x="202"
|
||||||
|
d="M50 -51v51h51v-51h-51zM101 51v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="$045" unicode="-" horiz-adv-x="355"
|
||||||
|
d="M255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$046" unicode="." horiz-adv-x="150"
|
||||||
|
d="M50 0v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$047" unicode="/" horiz-adv-x="406"
|
||||||
|
d="M50 -51v51h51v-51h-51zM101 51v51h52v-51h-52zM153 154v51h51v-51h-51zM204 256v51h51v-51h-51zM255 358v52h51v-52h-51zM306 461v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$048" unicode="0"
|
||||||
|
d="M255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM357 51v51h52v-51h-52zM50 51v51h51v-51h-51zM357 154v51h52v-51h-52zM153 154v51h51v-51h-51zM50 154v51h51v-51h-51zM357 256v51h52v-51h-52zM255 256v51h51v-51h-51zM50 256v51h51v-51h-51zM357 358v52h52v-52h-52zM50 358
|
||||||
|
v52h51v-52h-51zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$049" unicode="1" horiz-adv-x="304"
|
||||||
|
d="M204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM153 102v52h51v-52h-51zM153 205v51h51v-51h-51zM153 307v51h51v-51h-51zM50 358v52h51v-52h-51zM153 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$050" unicode="2"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM101 102v52h52v-52h-52zM306 154v51h51v-51h-51zM204 154v51h51v-51h-51zM357 256v51h52v-51h-52zM357 358v52h52v-52h-52zM50 358v52h51v-52h-51zM255 410v51h51v-51h-51zM153 410
|
||||||
|
v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$051" unicode="3" horiz-adv-x="406"
|
||||||
|
d="M255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM306 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM306 307v51h51v-51h-51zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$052" unicode="4"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM255 102v52h51v-52h-51zM357 154v51h52v-51h-52zM153 154v51h51v-51h-51zM50 154v51h51v-51h-51zM255 205v51h51v-51h-51zM101 256v51h52v-51h-52zM255 307v51h51v-51h-51zM101 358v52h52v-52h-52zM255 410v51h51v-51h-51z
|
||||||
|
" />
|
||||||
|
<glyph glyph-name="$053" unicode="5"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM255 256v51h51v-51h-51zM153 256v51h51v-51h-51zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$054" unicode="6"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM255 256v51h51v-51h-51zM153 256v51h51v-51h-51zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51z
|
||||||
|
M204 410v51h51v-51h-51zM101 410v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="$055" unicode="7"
|
||||||
|
d="M153 0v51h51v-51h-51zM204 102v52h51v-52h-51zM255 205v51h51v-51h-51zM306 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$056" unicode="8"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM306 205v51h51v-51h-51zM204 205v51h51v-51h-51zM101 205v51h52v-51h-52zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51z
|
||||||
|
M204 410v51h51v-51h-51zM101 410v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="$057" unicode="9"
|
||||||
|
d="M255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM357 51v51h52v-51h-52zM50 51v51h51v-51h-51zM357 154v51h52v-51h-52zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM357 256v51h52v-51h-52zM50 256v51h51v-51h-51zM357 358v52h52v-52h-52zM50 358v52h51v-52h-51z
|
||||||
|
M255 410v51h51v-51h-51zM153 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$058" unicode=":" horiz-adv-x="150"
|
||||||
|
d="M50 102v52h51v-52h-51zM50 307v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$059" unicode=";" horiz-adv-x="202"
|
||||||
|
d="M50 -51v51h51v-51h-51zM101 51v51h52v-51h-52zM101 256v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="$060" unicode="<" horiz-adv-x="304"
|
||||||
|
d="M204 -102v51h51v-51h-51zM153 0v51h51v-51h-51zM101 102v52h52v-52h-52zM50 205v51h51v-51h-51zM101 307v51h52v-51h-52zM153 410v51h51v-51h-51zM204 512v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$061" unicode="=" horiz-adv-x="355"
|
||||||
|
d="M255 102v52h51v-52h-51zM153 102v52h51v-52h-51zM50 102v52h51v-52h-51zM255 256v51h51v-51h-51zM153 256v51h51v-51h-51zM50 256v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$062" unicode=">" horiz-adv-x="304"
|
||||||
|
d="M50 -102v51h51v-51h-51zM101 0v51h52v-51h-52zM153 102v52h51v-52h-51zM204 205v51h51v-51h-51zM153 307v51h51v-51h-51zM101 410v51h52v-51h-52zM50 512v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$063" unicode="?" horiz-adv-x="406"
|
||||||
|
d="M153 -51v51h51v-51h-51zM153 102v52h51v-52h-51zM255 205v51h51v-51h-51zM306 307v51h51v-51h-51zM50 358v52h51v-52h-51zM306 410v51h51v-51h-51zM204 461v51h51v-51h-51zM101 461v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="$064" unicode="@" horiz-adv-x="560"
|
||||||
|
d="M409 0v51h51v-51h-51zM306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM409 102v52h51v-52h-51zM306 102v52h51v-52h-51zM204 102v52h51v-52h-51zM50 102v52h51v-52h-51zM460 205v51h51v-51h-51zM357 205v51h52v-51h-52zM153 205v51h51v-51h-51zM50 205
|
||||||
|
v51h51v-51h-51zM460 307v51h51v-51h-51zM357 307v51h52v-51h-52zM255 307v51h51v-51h-51zM153 307v51h51v-51h-51zM50 307v51h51v-51h-51zM409 410v51h51v-51h-51zM306 410v51h51v-51h-51zM204 410v51h51v-51h-51zM101 410v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="$065" unicode="A"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM255 154v51h51v-51h-51zM153 154v51h51v-51h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM306 307v51h51v-51h-51zM101 307v51h52v-51h-52zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$066" unicode="B"
|
||||||
|
d="M255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM357 51v51h52v-51h-52zM50 102v52h51v-52h-51zM357 154v51h52v-51h-52zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 256v51h52v-51h-52zM50 307v51h51v-51h-51zM357 358
|
||||||
|
v52h52v-52h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$067" unicode="C"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51zM204 410v51h51v-51h-51zM101 410v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="$068" unicode="D"
|
||||||
|
d="M255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410
|
||||||
|
v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$069" unicode="E"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM50 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410
|
||||||
|
v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$070" unicode="F"
|
||||||
|
d="M50 0v51h51v-51h-51zM50 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$071" unicode="G"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM255 205v51h51v-51h-51zM50 205v51h51v-51h-51zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51zM204 410v51h51v-51h-51z
|
||||||
|
M101 410v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="$072" unicode="H"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52z
|
||||||
|
M50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$073" unicode="I" horiz-adv-x="253"
|
||||||
|
d="M153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM101 102v52h52v-52h-52zM101 205v51h52v-51h-52zM101 307v51h52v-51h-52zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$074" unicode="J"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM357 307v51h52v-51h-52zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$075" unicode="K"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM255 102v52h51v-52h-51zM50 102v52h51v-52h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM255 307v51h51v-51h-51zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$076" unicode="L"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM50 102v52h51v-52h-51zM50 205v51h51v-51h-51zM50 307v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$077" unicode="M"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM204 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM255 307v51h51v-51h-51zM153 307v51h51v-51h-51zM50 307v51h51v-51h-51z
|
||||||
|
M357 410v51h52v-51h-52zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$078" unicode="N"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM255 102v52h51v-52h-51zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM204 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM153 307v51h51v-51h-51zM50 307v51h51v-51h-51z
|
||||||
|
M357 410v51h52v-51h-52zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$079" unicode="O"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51zM204 410v51h51v-51h-51z
|
||||||
|
M101 410v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="$080" unicode="P"
|
||||||
|
d="M50 0v51h51v-51h-51zM50 102v52h51v-52h-51zM255 154v51h51v-51h-51zM153 154v51h51v-51h-51zM50 205v51h51v-51h-51zM357 256v51h52v-51h-52zM50 307v51h51v-51h-51zM357 358v52h52v-52h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$081" unicode="Q" horiz-adv-x="509"
|
||||||
|
d="M409 0v51h51v-51h-51zM306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM255 102v52h51v-52h-51zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410
|
||||||
|
v51h51v-51h-51zM204 410v51h51v-51h-51zM101 410v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="$082" unicode="R"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM306 102v52h51v-52h-51zM50 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 256v51h52v-51h-52zM50 307v51h51v-51h-51zM357 358v52h52v-52h-52zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$083" unicode="S"
|
||||||
|
d="M255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM357 51v51h52v-51h-52zM50 51v51h51v-51h-51zM357 154v51h52v-51h-52zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 256v51h51v-51h-51zM357 358v52h52v-52h-52zM50 358v52h51v-52h-51zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$084" unicode="T"
|
||||||
|
d="M204 0v51h51v-51h-51zM204 102v52h51v-52h-51zM204 205v51h51v-51h-51zM204 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$085" unicode="U"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$086" unicode="V"
|
||||||
|
d="M204 0v51h51v-51h-51zM255 102v52h51v-52h-51zM153 102v52h51v-52h-51zM306 205v51h51v-51h-51zM101 205v51h52v-51h-52zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$087" unicode="W" horiz-adv-x="662"
|
||||||
|
d="M409 0v51h51v-51h-51zM204 0v51h51v-51h-51zM460 102v52h51v-52h-51zM357 102v52h52v-52h-52zM255 102v52h51v-52h-51zM153 102v52h51v-52h-51zM511 205v51h51v-51h-51zM306 205v51h51v-51h-51zM101 205v51h52v-51h-52zM562 307v51h51v-51h-51zM50 307v51h51v-51h-51z
|
||||||
|
M562 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$088" unicode="X"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM306 102v52h51v-52h-51zM101 102v52h52v-52h-52zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM306 307v51h51v-51h-51zM101 307v51h52v-51h-52zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$089" unicode="Y"
|
||||||
|
d="M204 0v51h51v-51h-51zM204 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM306 307v51h51v-51h-51zM101 307v51h52v-51h-52zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$090" unicode="Z"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM101 102v52h52v-52h-52zM204 205v51h51v-51h-51zM306 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$091" unicode="[" horiz-adv-x="253"
|
||||||
|
d="M153 -51v51h51v-51h-51zM50 -51v51h51v-51h-51zM50 51v51h51v-51h-51zM50 154v51h51v-51h-51zM50 256v51h51v-51h-51zM50 358v52h51v-52h-51zM153 461v51h51v-51h-51zM50 461v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$092" unicode="\" horiz-adv-x="406"
|
||||||
|
d="M306 -51v51h51v-51h-51zM255 51v51h51v-51h-51zM204 154v51h51v-51h-51zM153 256v51h51v-51h-51zM101 358v52h52v-52h-52zM50 461v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$093" unicode="]" horiz-adv-x="253"
|
||||||
|
d="M153 -51v51h51v-51h-51zM50 -51v51h51v-51h-51zM153 51v51h51v-51h-51zM153 154v51h51v-51h-51zM153 256v51h51v-51h-51zM153 358v52h51v-52h-51zM153 461v51h51v-51h-51zM50 461v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$094" unicode="^" horiz-adv-x="355"
|
||||||
|
d="M255 358v52h51v-52h-51zM50 358v52h51v-52h-51zM153 461v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$095" unicode="_"
|
||||||
|
d="M357 -51v51h52v-51h-52zM255 -51v51h51v-51h-51zM153 -51v51h51v-51h-51zM50 -51v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$096" unicode="`" horiz-adv-x="253"
|
||||||
|
d="M153 358v52h51v-52h-51zM50 461v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$097" unicode="a"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM255 154v51h51v-51h-51zM153 154v51h51v-51h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM306 307v51h51v-51h-51zM101 307v51h52v-51h-52zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$098" unicode="b"
|
||||||
|
d="M255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM357 51v51h52v-51h-52zM50 102v52h51v-52h-51zM357 154v51h52v-51h-52zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 256v51h52v-51h-52zM50 307v51h51v-51h-51zM357 358
|
||||||
|
v52h52v-52h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$099" unicode="c"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51zM204 410v51h51v-51h-51zM101 410v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="$100" unicode="d"
|
||||||
|
d="M255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410
|
||||||
|
v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$101" unicode="e"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM50 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410
|
||||||
|
v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$102" unicode="f"
|
||||||
|
d="M50 0v51h51v-51h-51zM50 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$103" unicode="g"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM255 205v51h51v-51h-51zM50 205v51h51v-51h-51zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51zM204 410v51h51v-51h-51z
|
||||||
|
M101 410v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="$104" unicode="h"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52z
|
||||||
|
M50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$105" unicode="i" horiz-adv-x="253"
|
||||||
|
d="M153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM101 102v52h52v-52h-52zM101 205v51h52v-51h-52zM101 307v51h52v-51h-52zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$106" unicode="j"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM357 307v51h52v-51h-52zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$107" unicode="k"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM255 102v52h51v-52h-51zM50 102v52h51v-52h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM255 307v51h51v-51h-51zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$108" unicode="l"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM50 102v52h51v-52h-51zM50 205v51h51v-51h-51zM50 307v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$109" unicode="m"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM204 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM255 307v51h51v-51h-51zM153 307v51h51v-51h-51zM50 307v51h51v-51h-51z
|
||||||
|
M357 410v51h52v-51h-52zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$110" unicode="n"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM255 102v52h51v-52h-51zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM204 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM153 307v51h51v-51h-51zM50 307v51h51v-51h-51z
|
||||||
|
M357 410v51h52v-51h-52zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$111" unicode="o"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51zM204 410v51h51v-51h-51z
|
||||||
|
M101 410v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="$112" unicode="p"
|
||||||
|
d="M50 0v51h51v-51h-51zM50 102v52h51v-52h-51zM255 154v51h51v-51h-51zM153 154v51h51v-51h-51zM50 205v51h51v-51h-51zM357 256v51h52v-51h-52zM50 307v51h51v-51h-51zM357 358v52h52v-52h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$113" unicode="q" horiz-adv-x="509"
|
||||||
|
d="M409 0v51h51v-51h-51zM306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM255 102v52h51v-52h-51zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410
|
||||||
|
v51h51v-51h-51zM204 410v51h51v-51h-51zM101 410v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="$114" unicode="r"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM306 102v52h51v-52h-51zM50 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 256v51h52v-51h-52zM50 307v51h51v-51h-51zM357 358v52h52v-52h-52zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$115" unicode="s"
|
||||||
|
d="M255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM357 51v51h52v-51h-52zM50 51v51h51v-51h-51zM357 154v51h52v-51h-52zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 256v51h51v-51h-51zM357 358v52h52v-52h-52zM50 358v52h51v-52h-51zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$116" unicode="t"
|
||||||
|
d="M204 0v51h51v-51h-51zM204 102v52h51v-52h-51zM204 205v51h51v-51h-51zM204 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$117" unicode="u"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$118" unicode="v"
|
||||||
|
d="M204 0v51h51v-51h-51zM255 102v52h51v-52h-51zM153 102v52h51v-52h-51zM306 205v51h51v-51h-51zM101 205v51h52v-51h-52zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$119" unicode="w" horiz-adv-x="662"
|
||||||
|
d="M409 0v51h51v-51h-51zM204 0v51h51v-51h-51zM460 102v52h51v-52h-51zM357 102v52h52v-52h-52zM255 102v52h51v-52h-51zM153 102v52h51v-52h-51zM511 205v51h51v-51h-51zM306 205v51h51v-51h-51zM101 205v51h52v-51h-52zM562 307v51h51v-51h-51zM50 307v51h51v-51h-51z
|
||||||
|
M562 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$120" unicode="x"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM306 102v52h51v-52h-51zM101 102v52h52v-52h-52zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM306 307v51h51v-51h-51zM101 307v51h52v-51h-52zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$121" unicode="y"
|
||||||
|
d="M204 0v51h51v-51h-51zM204 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM306 307v51h51v-51h-51zM101 307v51h52v-51h-52zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$122" unicode="z"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM101 102v52h52v-52h-52zM204 205v51h51v-51h-51zM306 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$123" unicode="{" horiz-adv-x="304"
|
||||||
|
d="M204 -51v51h51v-51h-51zM153 51v51h51v-51h-51zM153 154v51h51v-51h-51zM50 205v51h51v-51h-51zM153 256v51h51v-51h-51zM153 358v52h51v-52h-51zM204 461v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$124" unicode="|" horiz-adv-x="150"
|
||||||
|
d="M50 -51v51h51v-51h-51zM50 51v51h51v-51h-51zM50 154v51h51v-51h-51zM50 256v51h51v-51h-51zM50 358v52h51v-52h-51zM50 461v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$125" unicode="}" horiz-adv-x="304"
|
||||||
|
d="M50 -51v51h51v-51h-51zM101 51v51h52v-51h-52zM101 154v51h52v-51h-52zM204 205v51h51v-51h-51zM101 256v51h52v-51h-52zM101 358v52h52v-52h-52zM50 461v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="$126" unicode="~"
|
||||||
|
d="M306 154v51h51v-51h-51zM50 154v51h51v-51h-51zM204 205v51h51v-51h-51zM357 256v51h52v-51h-52zM101 256v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="$127" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni0080" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni0081" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni0082" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni0083" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni0084" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni0085" unicode="…" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni0086" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni0087" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni0088" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni0089" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni008A" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni008B" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni008C" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni008D" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni008E" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni008F" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni0090" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni0091" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni0092" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni0093" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni0094" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni0095" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni0096" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni0097" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni0098" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni0099" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni009A" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni009B" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni009C" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni009D" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni009E" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni009F" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="uni00A0" unicode=" " horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="currency" unicode="¤" horiz-adv-x="560"
|
||||||
|
d="M460 0v51h51v-51h-51zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM255 102v52h51v-52h-51zM153 102v52h51v-52h-51zM357 205v51h52v-51h-52zM153 205v51h51v-51h-51zM357 307v51h52v-51h-52zM255 307v51h51v-51h-51zM153 307v51h51v-51h-51zM460 410v51h51v-51h-51z
|
||||||
|
M50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="section" unicode="§"
|
||||||
|
d="M255 -102v51h51v-51h-51zM153 -102v51h51v-51h-51zM357 -51v51h52v-51h-52zM50 -51v51h51v-51h-51zM306 51v51h51v-51h-51zM204 102v52h51v-52h-51zM306 154v51h51v-51h-51zM101 154v51h52v-51h-52zM306 256v51h51v-51h-51zM101 256v51h52v-51h-52zM204 307v51h51v-51
|
||||||
|
h-51zM101 358v52h52v-52h-52zM357 461v51h52v-51h-52zM50 461v51h51v-51h-51zM255 512v51h51v-51h-51zM153 512v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="dieresis" unicode="¨" horiz-adv-x="304"
|
||||||
|
d="M204 461v51h51v-51h-51zM50 461v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="copyright" unicode="©" horiz-adv-x="662"
|
||||||
|
d="M460 -51v51h51v-51h-51zM357 -51v51h52v-51h-52zM255 -51v51h51v-51h-51zM153 -51v51h51v-51h-51zM562 51v51h51v-51h-51zM306 51v51h51v-51h-51zM204 51v51h51v-51h-51zM50 51v51h51v-51h-51zM409 102v52h51v-52h-51zM562 154v51h51v-51h-51zM153 154v51h51v-51h-51z
|
||||||
|
M50 154v51h51v-51h-51zM562 256v51h51v-51h-51zM153 256v51h51v-51h-51zM50 256v51h51v-51h-51zM409 307v51h51v-51h-51zM562 358v52h51v-52h-51zM306 358v52h51v-52h-51zM204 358v52h51v-52h-51zM50 358v52h51v-52h-51zM460 461v51h51v-51h-51zM357 461v51h52v-51h-52z
|
||||||
|
M255 461v51h51v-51h-51zM153 461v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="guillemotleft" unicode="«" horiz-adv-x="355"
|
||||||
|
d="M255 154v51h51v-51h-51zM101 154v51h52v-51h-52zM204 256v51h51v-51h-51zM50 256v51h51v-51h-51zM255 358v52h51v-52h-51zM101 358v52h52v-52h-52zM255 154v51h51v-51h-51zM101 154v51h52v-51h-52zM204 256v51h51v-51h-51zM50 256v51h51v-51h-51zM255 358v52h51v-52h-51z
|
||||||
|
M101 358v52h52v-52h-52z" />
|
||||||
|
<glyph glyph-name="logicalnot" unicode="¬"
|
||||||
|
d="M357 51v51h52v-51h-52zM357 154v51h52v-51h-52zM357 256v51h52v-51h-52zM255 256v51h51v-51h-51zM153 256v51h51v-51h-51zM50 256v51h51v-51h-51zM357 51v51h52v-51h-52zM357 154v51h52v-51h-52zM357 256v51h52v-51h-52zM255 256v51h51v-51h-51zM153 256v51h51v-51h-51z
|
||||||
|
M50 256v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="uni00AD" unicode="­" horiz-adv-x="253"
|
||||||
|
d="M153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="registered" unicode="®" horiz-adv-x="765"
|
||||||
|
d="M562 -102v51h51v-51h-51zM460 -102v51h51v-51h-51zM357 -102v51h52v-51h-52zM255 -102v51h51v-51h-51zM153 -102v51h51v-51h-51zM613 0v51h52v-51h-52zM101 0v51h52v-51h-52zM460 51v51h51v-51h-51zM255 51v51h51v-51h-51zM665 102v52h51v-52h-51zM50 102v52h51v-52h-51z
|
||||||
|
M357 154v51h52v-51h-52zM255 154v51h51v-51h-51zM665 205v51h51v-51h-51zM460 205v51h51v-51h-51zM50 205v51h51v-51h-51zM255 256v51h51v-51h-51zM665 307v51h51v-51h-51zM460 307v51h51v-51h-51zM50 307v51h51v-51h-51zM357 358v52h52v-52h-52zM255 358v52h51v-52h-51z
|
||||||
|
M613 410v51h52v-51h-52zM101 410v51h52v-51h-52zM562 512v51h51v-51h-51zM460 512v51h51v-51h-51zM357 512v51h52v-51h-52zM255 512v51h51v-51h-51zM153 512v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="degree" unicode="°" horiz-adv-x="304"
|
||||||
|
d="M101 154v51h52v-51h-52zM204 205v51h51v-51h-51zM50 256v51h51v-51h-51zM153 307v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="plusminus" unicode="±" horiz-adv-x="355"
|
||||||
|
d="M255 102v52h51v-52h-51zM153 102v52h51v-52h-51zM50 102v52h51v-52h-51zM153 205v51h51v-51h-51zM255 307v51h51v-51h-51zM153 307v51h51v-51h-51zM50 307v51h51v-51h-51zM153 410v51h51v-51h-51zM255 102v52h51v-52h-51zM153 102v52h51v-52h-51zM50 102v52h51v-52h-51z
|
||||||
|
M153 205v51h51v-51h-51zM255 307v51h51v-51h-51zM153 307v51h51v-51h-51zM50 307v51h51v-51h-51zM153 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="uni00B2" unicode="²" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="acute" unicode="´" horiz-adv-x="202"
|
||||||
|
d="M50 358v52h51v-52h-51zM101 461v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="uni00B5" unicode="µ"
|
||||||
|
d="M50 -102v51h51v-51h-51zM357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM306 102v52h51v-52h-51zM50 102v52h51v-52h-51zM306 205v51h51v-51h-51zM50 205v51h51v-51h-51zM50 -102v51h51v-51h-51zM357 0v51h52v-51h-52zM255 0v51
|
||||||
|
h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM306 102v52h51v-52h-51zM50 102v52h51v-52h-51zM306 205v51h51v-51h-51zM50 205v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="paragraph" unicode="¶" horiz-adv-x="560"
|
||||||
|
d="M460 -102v51h51v-51h-51zM255 -102v51h51v-51h-51zM460 0v51h51v-51h-51zM255 0v51h51v-51h-51zM460 102v52h51v-52h-51zM255 102v52h51v-52h-51zM460 205v51h51v-51h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 256v51h51v-51h-51zM460 307v51h51v-51h-51z
|
||||||
|
M255 307v51h51v-51h-51zM153 307v51h51v-51h-51zM50 358v52h51v-52h-51zM460 410v51h51v-51h-51zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 461v51h51v-51h-51zM460 512v51h51v-51h-51zM357 512v51h52v-51h-52zM255 512v51h51v-51h-51zM153 512v51h51v-51h-51z
|
||||||
|
M460 -102v51h51v-51h-51zM255 -102v51h51v-51h-51zM460 0v51h51v-51h-51zM255 0v51h51v-51h-51zM460 102v52h51v-52h-51zM255 102v52h51v-52h-51zM460 205v51h51v-51h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 256v51h51v-51h-51zM460 307v51h51v-51h-51z
|
||||||
|
M255 307v51h51v-51h-51zM153 307v51h51v-51h-51zM50 358v52h51v-52h-51zM460 410v51h51v-51h-51zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 461v51h51v-51h-51zM460 512v51h51v-51h-51zM357 512v51h52v-51h-52zM255 512v51h51v-51h-51zM153 512v51h51v-51h-51z
|
||||||
|
" />
|
||||||
|
<glyph glyph-name="periodcentered" unicode="·" horiz-adv-x="150"
|
||||||
|
d="M50 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="cedilla" unicode="¸" horiz-adv-x="355"
|
||||||
|
d="M153 -154v52h51v-52h-51zM50 -154v52h51v-52h-51zM255 -102v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="guillemotright" unicode="»" horiz-adv-x="355"
|
||||||
|
d="M204 154v51h51v-51h-51zM50 154v51h51v-51h-51zM255 256v51h51v-51h-51zM101 256v51h52v-51h-52zM204 358v52h51v-52h-51zM50 358v52h51v-52h-51zM204 154v51h51v-51h-51zM50 154v51h51v-51h-51zM255 256v51h51v-51h-51zM101 256v51h52v-51h-52zM204 358v52h51v-52h-51z
|
||||||
|
M50 358v52h51v-52h-51z" />
|
||||||
|
<glyph glyph-name="Agrave" unicode="À" horiz-adv-x="449"
|
||||||
|
d="M350 0v50h50v-50h-50zM50 0v50h50v-50h-50zM350 100v50h50v-50h-50zM50 100v50h50v-50h-50zM250 150v50h50v-50h-50zM150 150v50h50v-50h-50zM350 200v50h50v-50h-50zM50 200v50h50v-50h-50zM300 300v50h50v-50h-50zM100 300v50h50v-50h-50zM250 400v50h50v-50h-50z
|
||||||
|
M150 400v50h50v-50h-50zM250 500v50h50v-50h-50zM150 550v50h50v-50h-50z" />
|
||||||
|
<glyph glyph-name="Aacute" unicode="Á"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM255 154v51h51v-51h-51zM153 154v51h51v-51h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM306 307v51h51v-51h-51zM101 307v51h52v-51h-52zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51zM153 512v51h51v-51h-51zM255 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Acircumflex" unicode="Â"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM255 154v51h51v-51h-51zM153 154v51h51v-51h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM306 307v51h51v-51h-51zM101 307v51h52v-51h-52zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51zM306 512v51h51v-51h-51zM101 512v51h52v-51h-52zM204 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Adieresis" unicode="Ä"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM255 154v51h51v-51h-51zM153 154v51h51v-51h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM306 307v51h51v-51h-51zM101 307v51h52v-51h-52zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51zM306 563v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="AE" unicode="Æ" horiz-adv-x="765"
|
||||||
|
d="M665 0v51h51v-51h-51zM562 0v51h51v-51h-51zM460 0v51h51v-51h-51zM357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM255 154v51h51v-51h-51zM153 154v51h51v-51h-51zM562 205v51h51v-51h-51zM460 205v51h51v-51h-51zM357 205
|
||||||
|
v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM101 307v51h52v-51h-52zM665 410v51h51v-51h-51zM562 410v51h51v-51h-51zM460 410v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM665 0v51h51v-51h-51zM562 0v51h51
|
||||||
|
v-51h-51zM460 0v51h51v-51h-51zM357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM255 154v51h51v-51h-51zM153 154v51h51v-51h-51zM562 205v51h51v-51h-51zM460 205v51h51v-51h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51z
|
||||||
|
M357 307v51h52v-51h-52zM101 307v51h52v-51h-52zM665 410v51h51v-51h-51zM562 410v51h51v-51h-51zM460 410v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Ccedilla" unicode="Ç"
|
||||||
|
d="M255 -154v52h51v-52h-51zM357 -102v51h52v-51h-52zM306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51z
|
||||||
|
M204 410v51h51v-51h-51zM101 410v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="Egrave" unicode="È" horiz-adv-x="449"
|
||||||
|
d="M350 0v50h50v-50h-50zM250 0v50h50v-50h-50zM150 0v50h50v-50h-50zM50 0v50h50v-50h-50zM50 100v50h50v-50h-50zM250 200v50h50v-50h-50zM150 200v50h50v-50h-50zM50 200v50h50v-50h-50zM50 300v50h50v-50h-50zM350 400v50h50v-50h-50zM250 400v50h50v-50h-50zM150 400
|
||||||
|
v50h50v-50h-50zM50 400v50h50v-50h-50zM250 500v50h50v-50h-50zM150 550v50h50v-50h-50zM350 0h50v50h-50v-50zM250 0h50v50h-50v-50zM150 0h50v50h-50v-50zM50 0v50h50v-50h-50zM50 100v50h50v-50h-50zM250 200h50v50h-50v-50zM150 200h50v50h-50v-50zM50 200v50h50v-50
|
||||||
|
h-50zM50 300v50h50v-50h-50zM350 400h50v50h-50v-50zM250 400h50v50h-50v-50zM150 400h50v50h-50v-50zM50 400v50h50v-50h-50zM250 500v50h50v-50h-50zM150 550v50h50v-50h-50zM350 0v50h50v-50h-50zM250 0v50h50v-50h-50zM150 0v50h50v-50h-50zM50 0h50v50h-50v-50zM50 100
|
||||||
|
h50v50h-50v-50zM250 200v50h50v-50h-50zM150 200v50h50v-50h-50zM50 200h50v50h-50v-50zM50 300h50v50h-50v-50zM350 400v50h50v-50h-50zM250 400v50h50v-50h-50zM150 400v50h50v-50h-50zM50 400h50v50h-50v-50zM250 500h50v50h-50v-50zM150 550h50v50h-50v-50zM350 0h50v50
|
||||||
|
h-50v-50zM250 0h50v50h-50v-50zM150 0h50v50h-50v-50zM50 0v50h50v-50h-50zM50 100v50h50v-50h-50zM250 200h50v50h-50v-50zM150 200h50v50h-50v-50zM50 200v50h50v-50h-50zM50 300v50h50v-50h-50zM350 400h50v50h-50v-50zM250 400h50v50h-50v-50zM150 400h50v50h-50v-50z
|
||||||
|
M50 400v50h50v-50h-50zM250 500v50h50v-50h-50zM150 550v50h50v-50h-50zM350 0v50h50v-50h-50zM250 0v50h50v-50h-50zM150 0v50h50v-50h-50zM50 0h50v50h-50v-50zM50 100h50v50h-50v-50zM250 200v50h50v-50h-50zM150 200v50h50v-50h-50zM50 200h50v50h-50v-50zM50 300h50v50
|
||||||
|
h-50v-50zM350 400v50h50v-50h-50zM250 400v50h50v-50h-50zM150 400v50h50v-50h-50zM50 400h50v50h-50v-50zM250 500h50v50h-50v-50zM150 550h50v50h-50v-50zM350 0h50v50h-50v-50zM250 0h50v50h-50v-50zM150 0h50v50h-50v-50zM50 0v50h50v-50h-50zM50 100v50h50v-50h-50z
|
||||||
|
M250 200h50v50h-50v-50zM150 200h50v50h-50v-50zM50 200v50h50v-50h-50zM50 300v50h50v-50h-50zM350 400h50v50h-50v-50zM250 400h50v50h-50v-50zM150 400h50v50h-50v-50zM50 400v50h50v-50h-50zM250 500v50h50v-50h-50zM150 550v50h50v-50h-50zM350 0v50h50v-50h-50zM250 0
|
||||||
|
v50h50v-50h-50zM150 0v50h50v-50h-50zM50 0h50v50h-50v-50zM50 100h50v50h-50v-50zM250 200v50h50v-50h-50zM150 200v50h50v-50h-50zM50 200h50v50h-50v-50zM50 300h50v50h-50v-50zM350 400v50h50v-50h-50zM250 400v50h50v-50h-50zM150 400v50h50v-50h-50zM50 400h50v50h-50
|
||||||
|
v-50zM250 500h50v50h-50v-50zM150 550h50v50h-50v-50z" />
|
||||||
|
<glyph glyph-name="Eacute" unicode="É"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM50 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410
|
||||||
|
v51h51v-51h-51zM50 410v51h51v-51h-51zM153 512v51h51v-51h-51zM255 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Ecircumflex" unicode="Ê" horiz-adv-x="449"
|
||||||
|
d="M350 0v50h50v-50h-50zM250 0v50h50v-50h-50zM150 0v50h50v-50h-50zM50 0v50h50v-50h-50zM50 100v50h50v-50h-50zM250 200v50h50v-50h-50zM150 200v50h50v-50h-50zM50 200v50h50v-50h-50zM50 300v50h50v-50h-50zM350 400v50h50v-50h-50zM250 400v50h50v-50h-50zM150 400
|
||||||
|
v50h50v-50h-50zM50 400v50h50v-50h-50zM300 500v50h50v-50h-50zM100 500v50h50v-50h-50zM200 550v50h50v-50h-50zM350 0h50v50h-50v-50zM250 0h50v50h-50v-50zM150 0h50v50h-50v-50zM50 0v50h50v-50h-50zM50 100v50h50v-50h-50zM250 200h50v50h-50v-50zM150 200h50v50h-50
|
||||||
|
v-50zM50 200v50h50v-50h-50zM50 300v50h50v-50h-50zM350 400h50v50h-50v-50zM250 400h50v50h-50v-50zM150 400h50v50h-50v-50zM50 400v50h50v-50h-50zM300 500h50v50h-50v-50zM100 500v50h50v-50h-50zM200 550v50h50v-50h-50zM350 0v50h50v-50h-50zM250 0v50h50v-50h-50z
|
||||||
|
M150 0v50h50v-50h-50zM50 0h50v50h-50v-50zM50 100h50v50h-50v-50zM250 200v50h50v-50h-50zM150 200v50h50v-50h-50zM50 200h50v50h-50v-50zM50 300h50v50h-50v-50zM350 400v50h50v-50h-50zM250 400v50h50v-50h-50zM150 400v50h50v-50h-50zM50 400h50v50h-50v-50zM300 500
|
||||||
|
v50h50v-50h-50zM100 500h50v50h-50v-50zM200 550h50v50h-50v-50zM350 0h50v50h-50v-50zM250 0h50v50h-50v-50zM150 0h50v50h-50v-50zM50 0v50h50v-50h-50zM50 100v50h50v-50h-50zM250 200h50v50h-50v-50zM150 200h50v50h-50v-50zM50 200v50h50v-50h-50zM50 300v50h50v-50
|
||||||
|
h-50zM350 400h50v50h-50v-50zM250 400h50v50h-50v-50zM150 400h50v50h-50v-50zM50 400v50h50v-50h-50zM300 500h50v50h-50v-50zM100 500v50h50v-50h-50zM200 550v50h50v-50h-50zM350 0v50h50v-50h-50zM250 0v50h50v-50h-50zM150 0v50h50v-50h-50zM50 0h50v50h-50v-50z
|
||||||
|
M50 100h50v50h-50v-50zM250 200v50h50v-50h-50zM150 200v50h50v-50h-50zM50 200h50v50h-50v-50zM50 300h50v50h-50v-50zM350 400v50h50v-50h-50zM250 400v50h50v-50h-50zM150 400v50h50v-50h-50zM50 400h50v50h-50v-50zM300 500v50h50v-50h-50zM100 500h50v50h-50v-50z
|
||||||
|
M200 550h50v50h-50v-50zM350 0h50v50h-50v-50zM250 0h50v50h-50v-50zM150 0h50v50h-50v-50zM50 0v50h50v-50h-50zM50 100v50h50v-50h-50zM250 200h50v50h-50v-50zM150 200h50v50h-50v-50zM50 200v50h50v-50h-50zM50 300v50h50v-50h-50zM350 400h50v50h-50v-50zM250 400h50
|
||||||
|
v50h-50v-50zM150 400h50v50h-50v-50zM50 400v50h50v-50h-50zM300 500h50v50h-50v-50zM100 500v50h50v-50h-50zM200 550v50h50v-50h-50zM350 0v50h50v-50h-50zM250 0v50h50v-50h-50zM150 0v50h50v-50h-50zM50 0h50v50h-50v-50zM50 100h50v50h-50v-50zM250 200v50h50v-50h-50z
|
||||||
|
M150 200v50h50v-50h-50zM50 200h50v50h-50v-50zM50 300h50v50h-50v-50zM350 400v50h50v-50h-50zM250 400v50h50v-50h-50zM150 400v50h50v-50h-50zM50 400h50v50h-50v-50zM300 500v50h50v-50h-50zM100 500h50v50h-50v-50zM200 550h50v50h-50v-50z" />
|
||||||
|
<glyph glyph-name="Edieresis" unicode="Ë"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM50 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410
|
||||||
|
v51h51v-51h-51zM50 410v51h51v-51h-51zM306 563v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="Iacute" unicode="Í" horiz-adv-x="253"
|
||||||
|
d="M153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM101 102v52h52v-52h-52zM101 205v51h52v-51h-52zM101 307v51h52v-51h-52zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51zM50 512v51h51v-51h-51zM153 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Icircumflex" unicode="Î" horiz-adv-x="355"
|
||||||
|
d="M204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM153 102v52h51v-52h-51zM153 205v51h51v-51h-51zM153 307v51h51v-51h-51zM204 410v51h51v-51h-51zM101 410v51h52v-51h-52zM255 512v51h51v-51h-51zM50 512v51h51v-51h-51zM153 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Idieresis" unicode="Ï" horiz-adv-x="253"
|
||||||
|
d="M153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM101 102v52h52v-52h-52zM101 205v51h52v-51h-52zM101 307v51h52v-51h-52zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51zM153 563v51h51v-51h-51zM50 563v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM101 102
|
||||||
|
v52h52v-52h-52zM101 205v51h52v-51h-52zM101 307v51h52v-51h-52zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51zM153 563v51h51v-51h-51zM50 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Eth" unicode="Ð" horiz-adv-x="560"
|
||||||
|
d="M357 0v51h51v-51h-51zM255 0v51h51v-51h-51zM152 0v51h52v-51h-52zM460 102v52h51v-52h-51zM152 102v52h52v-52h-52zM460 205v51h51v-51h-51zM152 205v51h52v-51h-52zM460 307v51h51v-51h-51zM255 307v51h51v-51h-51zM152 307v51h52v-51h-52zM50 307v51h51v-51h-51z
|
||||||
|
M357 410v51h51v-51h-51zM255 410v51h51v-51h-51zM152 410v51h52v-51h-52zM357 0v51h51v-51h-51zM255 0v51h51v-51h-51zM152 0v51h52v-51h-52zM460 102v52h51v-52h-51zM152 102v52h52v-52h-52zM460 205v51h51v-51h-51zM152 205v51h52v-51h-52zM460 307v51h51v-51h-51z
|
||||||
|
M255 307v51h51v-51h-51zM152 307v51h52v-51h-52zM50 307v51h51v-51h-51zM357 410v51h51v-51h-51zM255 410v51h51v-51h-51zM152 410v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="Ntilde" unicode="Ñ"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM255 102v52h51v-52h-51zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM204 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM153 307v51h51v-51h-51zM50 307v51h51v-51h-51z
|
||||||
|
M357 410v51h52v-51h-52zM50 410v51h51v-51h-51zM255 512v51h51v-51h-51zM50 512v51h51v-51h-51zM357 563v51h52v-51h-52zM153 563v51h51v-51h-51zM357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM255 102v52h51v-52h-51zM50 102v52h51v-52h-51zM357 205
|
||||||
|
v51h52v-51h-52zM204 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM153 307v51h51v-51h-51zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51zM255 512v51h51v-51h-51zM50 512v51h51v-51h-51zM357 563v51h52v-51h-52zM153 563v51
|
||||||
|
h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Ograve" unicode="Ò"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51zM204 410v51h51v-51h-51z
|
||||||
|
M101 410v51h52v-51h-52zM204 512v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="Oacute" unicode="Ó"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51zM204 410v51h51v-51h-51z
|
||||||
|
M101 410v51h52v-51h-52zM204 512v51h51v-51h-51zM306 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Ocircumflex" unicode="Ô"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51zM204 410v51h51v-51h-51z
|
||||||
|
M101 410v51h52v-51h-52zM306 512v51h51v-51h-51zM101 512v51h52v-51h-52zM204 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Odieresis" unicode="Ö"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51zM204 410v51h51v-51h-51z
|
||||||
|
M101 410v51h52v-51h-52zM306 563v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="multiply" unicode="×" horiz-adv-x="355"
|
||||||
|
d="M255 51v51h51v-51h-51zM50 51v51h51v-51h-51zM153 154v51h51v-51h-51zM255 256v51h51v-51h-51zM50 256v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Oslash" unicode="Ø"
|
||||||
|
d="M50 -102v51h52v-51h-52zM306 0v51h52v-51h-52zM204 0v51h51v-51h-51zM102 0v51h51v-51h-51zM358 102v52h51v-52h-51zM153 102v52h51v-52h-51zM50 102v52h52v-52h-52zM358 205v51h51v-51h-51zM204 205v51h51v-51h-51zM50 205v51h52v-51h-52zM358 307v51h51v-51h-51z
|
||||||
|
M255 307v51h51v-51h-51zM50 307v51h52v-51h-52zM306 410v51h52v-51h-52zM204 410v51h51v-51h-51zM102 410v51h51v-51h-51zM358 512v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Ugrave" unicode="Ù"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51zM204 461
|
||||||
|
v51h51v-51h-51zM153 563v51h51v-51h-51zM306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM357 410v51h52v-51
|
||||||
|
h-52zM50 410v51h51v-51h-51zM204 461v51h51v-51h-51zM153 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Uacute" unicode="Ú"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51zM204 461
|
||||||
|
v51h51v-51h-51zM255 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Ucircumflex" unicode="Û"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 512v51h51v-51h-51zM101 512v51h52v-51h-52z
|
||||||
|
M204 563v51h51v-51h-51zM306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 512v51h51v-51h-51zM101 512
|
||||||
|
v51h52v-51h-52zM204 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Udieresis" unicode="Ü"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51zM306 563
|
||||||
|
v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="Yacute" unicode="Ý"
|
||||||
|
d="M204 0v51h51v-51h-51zM204 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM306 307v51h51v-51h-51zM101 307v51h52v-51h-52zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51zM204 461v51h51v-51h-51zM255 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="germandbls" unicode="ß"
|
||||||
|
d="M50 -51v51h51v-51h-51zM50 51v51h51v-51h-51zM255 102v52h51v-52h-51zM153 102v52h51v-52h-51zM357 154v51h52v-51h-52zM50 154v51h51v-51h-51zM357 256v51h52v-51h-52zM50 256v51h51v-51h-51zM255 307v51h51v-51h-51zM153 307v51h51v-51h-51zM357 358v52h52v-52h-52z
|
||||||
|
M50 358v52h51v-52h-51zM357 461v51h52v-51h-52zM50 461v51h51v-51h-51zM255 512v51h51v-51h-51zM153 512v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="agrave" unicode="à" horiz-adv-x="449"
|
||||||
|
d="M350 0v50h50v-50h-50zM50 0v50h50v-50h-50zM350 100v50h50v-50h-50zM50 100v50h50v-50h-50zM250 150v50h50v-50h-50zM150 150v50h50v-50h-50zM350 200v50h50v-50h-50zM50 200v50h50v-50h-50zM300 300v50h50v-50h-50zM100 300v50h50v-50h-50zM250 400v50h50v-50h-50z
|
||||||
|
M150 400v50h50v-50h-50zM250 500v50h50v-50h-50zM150 550v50h50v-50h-50z" />
|
||||||
|
<glyph glyph-name="aacute" unicode="á"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM255 154v51h51v-51h-51zM153 154v51h51v-51h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM306 307v51h51v-51h-51zM101 307v51h52v-51h-52zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51zM153 512v51h51v-51h-51zM255 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="acircumflex" unicode="â"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM255 154v51h51v-51h-51zM153 154v51h51v-51h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM306 307v51h51v-51h-51zM101 307v51h52v-51h-52zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51zM306 512v51h51v-51h-51zM101 512v51h52v-51h-52zM204 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="adieresis" unicode="ä"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM255 154v51h51v-51h-51zM153 154v51h51v-51h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM306 307v51h51v-51h-51zM101 307v51h52v-51h-52zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51zM306 563v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="ae" unicode="æ" horiz-adv-x="765"
|
||||||
|
d="M665 0v51h51v-51h-51zM562 0v51h51v-51h-51zM460 0v51h51v-51h-51zM357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM255 154v51h51v-51h-51zM153 154v51h51v-51h-51zM562 205v51h51v-51h-51zM460 205v51h51v-51h-51zM357 205
|
||||||
|
v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM101 307v51h52v-51h-52zM665 410v51h51v-51h-51zM562 410v51h51v-51h-51zM460 410v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM665 0v51h51v-51h-51zM562 0v51h51
|
||||||
|
v-51h-51zM460 0v51h51v-51h-51zM357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM255 154v51h51v-51h-51zM153 154v51h51v-51h-51zM562 205v51h51v-51h-51zM460 205v51h51v-51h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51z
|
||||||
|
M357 307v51h52v-51h-52zM101 307v51h52v-51h-52zM665 410v51h51v-51h-51zM562 410v51h51v-51h-51zM460 410v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="ccedilla" unicode="ç"
|
||||||
|
d="M255 -154v52h51v-52h-51zM357 -102v51h52v-51h-52zM306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51z
|
||||||
|
M204 410v51h51v-51h-51zM101 410v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="egrave" unicode="è" horiz-adv-x="449"
|
||||||
|
d="M350 0v50h50v-50h-50zM250 0v50h50v-50h-50zM150 0v50h50v-50h-50zM50 0v50h50v-50h-50zM50 100v50h50v-50h-50zM250 200v50h50v-50h-50zM150 200v50h50v-50h-50zM50 200v50h50v-50h-50zM50 300v50h50v-50h-50zM350 400v50h50v-50h-50zM250 400v50h50v-50h-50zM150 400
|
||||||
|
v50h50v-50h-50zM50 400v50h50v-50h-50zM250 500v50h50v-50h-50zM150 550v50h50v-50h-50zM350 0h50v50h-50v-50zM250 0h50v50h-50v-50zM150 0h50v50h-50v-50zM50 0v50h50v-50h-50zM50 100v50h50v-50h-50zM250 200h50v50h-50v-50zM150 200h50v50h-50v-50zM50 200v50h50v-50
|
||||||
|
h-50zM50 300v50h50v-50h-50zM350 400h50v50h-50v-50zM250 400h50v50h-50v-50zM150 400h50v50h-50v-50zM50 400v50h50v-50h-50zM250 500v50h50v-50h-50zM150 550v50h50v-50h-50zM350 0v50h50v-50h-50zM250 0v50h50v-50h-50zM150 0v50h50v-50h-50zM50 0h50v50h-50v-50zM50 100
|
||||||
|
h50v50h-50v-50zM250 200v50h50v-50h-50zM150 200v50h50v-50h-50zM50 200h50v50h-50v-50zM50 300h50v50h-50v-50zM350 400v50h50v-50h-50zM250 400v50h50v-50h-50zM150 400v50h50v-50h-50zM50 400h50v50h-50v-50zM250 500h50v50h-50v-50zM150 550h50v50h-50v-50zM350 0h50v50
|
||||||
|
h-50v-50zM250 0h50v50h-50v-50zM150 0h50v50h-50v-50zM50 0v50h50v-50h-50zM50 100v50h50v-50h-50zM250 200h50v50h-50v-50zM150 200h50v50h-50v-50zM50 200v50h50v-50h-50zM50 300v50h50v-50h-50zM350 400h50v50h-50v-50zM250 400h50v50h-50v-50zM150 400h50v50h-50v-50z
|
||||||
|
M50 400v50h50v-50h-50zM250 500v50h50v-50h-50zM150 550v50h50v-50h-50zM350 0v50h50v-50h-50zM250 0v50h50v-50h-50zM150 0v50h50v-50h-50zM50 0h50v50h-50v-50zM50 100h50v50h-50v-50zM250 200v50h50v-50h-50zM150 200v50h50v-50h-50zM50 200h50v50h-50v-50zM50 300h50v50
|
||||||
|
h-50v-50zM350 400v50h50v-50h-50zM250 400v50h50v-50h-50zM150 400v50h50v-50h-50zM50 400h50v50h-50v-50zM250 500h50v50h-50v-50zM150 550h50v50h-50v-50zM350 0h50v50h-50v-50zM250 0h50v50h-50v-50zM150 0h50v50h-50v-50zM50 0v50h50v-50h-50zM50 100v50h50v-50h-50z
|
||||||
|
M250 200h50v50h-50v-50zM150 200h50v50h-50v-50zM50 200v50h50v-50h-50zM50 300v50h50v-50h-50zM350 400h50v50h-50v-50zM250 400h50v50h-50v-50zM150 400h50v50h-50v-50zM50 400v50h50v-50h-50zM250 500v50h50v-50h-50zM150 550v50h50v-50h-50zM350 0v50h50v-50h-50zM250 0
|
||||||
|
v50h50v-50h-50zM150 0v50h50v-50h-50zM50 0h50v50h-50v-50zM50 100h50v50h-50v-50zM250 200v50h50v-50h-50zM150 200v50h50v-50h-50zM50 200h50v50h-50v-50zM50 300h50v50h-50v-50zM350 400v50h50v-50h-50zM250 400v50h50v-50h-50zM150 400v50h50v-50h-50zM50 400h50v50h-50
|
||||||
|
v-50zM250 500h50v50h-50v-50zM150 550h50v50h-50v-50z" />
|
||||||
|
<glyph glyph-name="eacute" unicode="é"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM50 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410
|
||||||
|
v51h51v-51h-51zM50 410v51h51v-51h-51zM153 512v51h51v-51h-51zM255 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="ecircumflex" unicode="ê" horiz-adv-x="449"
|
||||||
|
d="M350 0v50h50v-50h-50zM250 0v50h50v-50h-50zM150 0v50h50v-50h-50zM50 0v50h50v-50h-50zM50 100v50h50v-50h-50zM250 200v50h50v-50h-50zM150 200v50h50v-50h-50zM50 200v50h50v-50h-50zM50 300v50h50v-50h-50zM350 400v50h50v-50h-50zM250 400v50h50v-50h-50zM150 400
|
||||||
|
v50h50v-50h-50zM50 400v50h50v-50h-50zM300 500v50h50v-50h-50zM100 500v50h50v-50h-50zM200 550v50h50v-50h-50zM350 0h50v50h-50v-50zM250 0h50v50h-50v-50zM150 0h50v50h-50v-50zM50 0v50h50v-50h-50zM50 100v50h50v-50h-50zM250 200h50v50h-50v-50zM150 200h50v50h-50
|
||||||
|
v-50zM50 200v50h50v-50h-50zM50 300v50h50v-50h-50zM350 400h50v50h-50v-50zM250 400h50v50h-50v-50zM150 400h50v50h-50v-50zM50 400v50h50v-50h-50zM300 500h50v50h-50v-50zM100 500v50h50v-50h-50zM200 550v50h50v-50h-50zM350 0v50h50v-50h-50zM250 0v50h50v-50h-50z
|
||||||
|
M150 0v50h50v-50h-50zM50 0h50v50h-50v-50zM50 100h50v50h-50v-50zM250 200v50h50v-50h-50zM150 200v50h50v-50h-50zM50 200h50v50h-50v-50zM50 300h50v50h-50v-50zM350 400v50h50v-50h-50zM250 400v50h50v-50h-50zM150 400v50h50v-50h-50zM50 400h50v50h-50v-50zM300 500
|
||||||
|
v50h50v-50h-50zM100 500h50v50h-50v-50zM200 550h50v50h-50v-50zM350 0h50v50h-50v-50zM250 0h50v50h-50v-50zM150 0h50v50h-50v-50zM50 0v50h50v-50h-50zM50 100v50h50v-50h-50zM250 200h50v50h-50v-50zM150 200h50v50h-50v-50zM50 200v50h50v-50h-50zM50 300v50h50v-50
|
||||||
|
h-50zM350 400h50v50h-50v-50zM250 400h50v50h-50v-50zM150 400h50v50h-50v-50zM50 400v50h50v-50h-50zM300 500h50v50h-50v-50zM100 500v50h50v-50h-50zM200 550v50h50v-50h-50zM350 0v50h50v-50h-50zM250 0v50h50v-50h-50zM150 0v50h50v-50h-50zM50 0h50v50h-50v-50z
|
||||||
|
M50 100h50v50h-50v-50zM250 200v50h50v-50h-50zM150 200v50h50v-50h-50zM50 200h50v50h-50v-50zM50 300h50v50h-50v-50zM350 400v50h50v-50h-50zM250 400v50h50v-50h-50zM150 400v50h50v-50h-50zM50 400h50v50h-50v-50zM300 500v50h50v-50h-50zM100 500h50v50h-50v-50z
|
||||||
|
M200 550h50v50h-50v-50zM350 0h50v50h-50v-50zM250 0h50v50h-50v-50zM150 0h50v50h-50v-50zM50 0v50h50v-50h-50zM50 100v50h50v-50h-50zM250 200h50v50h-50v-50zM150 200h50v50h-50v-50zM50 200v50h50v-50h-50zM50 300v50h50v-50h-50zM350 400h50v50h-50v-50zM250 400h50
|
||||||
|
v50h-50v-50zM150 400h50v50h-50v-50zM50 400v50h50v-50h-50zM300 500h50v50h-50v-50zM100 500v50h50v-50h-50zM200 550v50h50v-50h-50zM350 0v50h50v-50h-50zM250 0v50h50v-50h-50zM150 0v50h50v-50h-50zM50 0h50v50h-50v-50zM50 100h50v50h-50v-50zM250 200v50h50v-50h-50z
|
||||||
|
M150 200v50h50v-50h-50zM50 200h50v50h-50v-50zM50 300h50v50h-50v-50zM350 400v50h50v-50h-50zM250 400v50h50v-50h-50zM150 400v50h50v-50h-50zM50 400h50v50h-50v-50zM300 500v50h50v-50h-50zM100 500h50v50h-50v-50zM200 550h50v50h-50v-50z" />
|
||||||
|
<glyph glyph-name="edieresis" unicode="ë"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM50 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410
|
||||||
|
v51h51v-51h-51zM50 410v51h51v-51h-51zM306 563v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="iacute" unicode="í" horiz-adv-x="253"
|
||||||
|
d="M153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM101 102v52h52v-52h-52zM101 205v51h52v-51h-52zM101 307v51h52v-51h-52zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51zM50 512v51h51v-51h-51zM153 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="icircumflex" unicode="î" horiz-adv-x="355"
|
||||||
|
d="M204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM153 102v52h51v-52h-51zM153 205v51h51v-51h-51zM153 307v51h51v-51h-51zM204 410v51h51v-51h-51zM101 410v51h52v-51h-52zM255 512v51h51v-51h-51zM50 512v51h51v-51h-51zM153 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="idieresis" unicode="ï" horiz-adv-x="253"
|
||||||
|
d="M153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM101 102v52h52v-52h-52zM101 205v51h52v-51h-52zM101 307v51h52v-51h-52zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51zM153 563v51h51v-51h-51zM50 563v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM101 102
|
||||||
|
v52h52v-52h-52zM101 205v51h52v-51h-52zM101 307v51h52v-51h-52zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51zM153 563v51h51v-51h-51zM50 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="eth" unicode="ð" horiz-adv-x="560"
|
||||||
|
d="M357 0v51h51v-51h-51zM255 0v51h51v-51h-51zM152 0v51h52v-51h-52zM460 102v52h51v-52h-51zM152 102v52h52v-52h-52zM460 205v51h51v-51h-51zM152 205v51h52v-51h-52zM460 307v51h51v-51h-51zM255 307v51h51v-51h-51zM152 307v51h52v-51h-52zM50 307v51h51v-51h-51z
|
||||||
|
M357 410v51h51v-51h-51zM255 410v51h51v-51h-51zM152 410v51h52v-51h-52zM357 0v51h51v-51h-51zM255 0v51h51v-51h-51zM152 0v51h52v-51h-52zM460 102v52h51v-52h-51zM152 102v52h52v-52h-52zM460 205v51h51v-51h-51zM152 205v51h52v-51h-52zM460 307v51h51v-51h-51z
|
||||||
|
M255 307v51h51v-51h-51zM152 307v51h52v-51h-52zM50 307v51h51v-51h-51zM357 410v51h51v-51h-51zM255 410v51h51v-51h-51zM152 410v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="ntilde" unicode="ñ"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM255 102v52h51v-52h-51zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM204 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM153 307v51h51v-51h-51zM50 307v51h51v-51h-51z
|
||||||
|
M357 410v51h52v-51h-52zM50 410v51h51v-51h-51zM255 512v51h51v-51h-51zM50 512v51h51v-51h-51zM357 563v51h52v-51h-52zM153 563v51h51v-51h-51zM357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM255 102v52h51v-52h-51zM50 102v52h51v-52h-51zM357 205
|
||||||
|
v51h52v-51h-52zM204 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM153 307v51h51v-51h-51zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51zM255 512v51h51v-51h-51zM50 512v51h51v-51h-51zM357 563v51h52v-51h-52zM153 563v51
|
||||||
|
h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="ograve" unicode="ò"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51zM204 410v51h51v-51h-51z
|
||||||
|
M101 410v51h52v-51h-52zM204 512v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="oacute" unicode="ó"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51zM204 410v51h51v-51h-51z
|
||||||
|
M101 410v51h52v-51h-52zM204 512v51h51v-51h-51zM306 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="ocircumflex" unicode="ô"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51zM204 410v51h51v-51h-51z
|
||||||
|
M101 410v51h52v-51h-52zM306 512v51h51v-51h-51zM101 512v51h52v-51h-52zM204 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="odieresis" unicode="ö"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51zM204 410v51h51v-51h-51z
|
||||||
|
M101 410v51h52v-51h-52zM306 563v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="divide" unicode="÷"
|
||||||
|
d="M204 0v51h51v-51h-51zM357 154v51h52v-51h-52zM255 154v51h51v-51h-51zM153 154v51h51v-51h-51zM50 154v51h51v-51h-51zM204 307v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="oslash" unicode="ø"
|
||||||
|
d="M50 -102v51h52v-51h-52zM306 0v51h52v-51h-52zM204 0v51h51v-51h-51zM102 0v51h51v-51h-51zM358 102v52h51v-52h-51zM153 102v52h51v-52h-51zM50 102v52h52v-52h-52zM358 205v51h51v-51h-51zM204 205v51h51v-51h-51zM50 205v51h52v-51h-52zM358 307v51h51v-51h-51z
|
||||||
|
M255 307v51h51v-51h-51zM50 307v51h52v-51h-52zM306 410v51h52v-51h-52zM204 410v51h51v-51h-51zM102 410v51h51v-51h-51zM358 512v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="ugrave" unicode="ù"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51zM204 461
|
||||||
|
v51h51v-51h-51zM153 563v51h51v-51h-51zM306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM357 410v51h52v-51
|
||||||
|
h-52zM50 410v51h51v-51h-51zM204 461v51h51v-51h-51zM153 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="uacute" unicode="ú"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51zM204 461
|
||||||
|
v51h51v-51h-51zM255 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="ucircumflex" unicode="û"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 512v51h51v-51h-51zM101 512v51h52v-51h-52z
|
||||||
|
M204 563v51h51v-51h-51zM306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 512v51h51v-51h-51zM101 512
|
||||||
|
v51h52v-51h-52zM204 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="udieresis" unicode="ü"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51zM306 563
|
||||||
|
v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="yacute" unicode="ý"
|
||||||
|
d="M204 0v51h51v-51h-51zM204 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM306 307v51h51v-51h-51zM101 307v51h52v-51h-52zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51zM204 461v51h51v-51h-51zM255 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="ydieresis" unicode="ÿ" horiz-adv-x="449"
|
||||||
|
d="M200 0v50h50v-50h-50zM200 100v50h50v-50h-50zM250 200v50h50v-50h-50zM150 200v50h50v-50h-50zM300 300v50h50v-50h-50zM100 300v50h50v-50h-50zM350 400v50h50v-50h-50zM50 400v50h50v-50h-50zM300 550v50h50v-50h-50zM100 550v50h50v-50h-50zM200 0v50h50v-50h-50z
|
||||||
|
M200 100v50h50v-50h-50zM250 200h50v50h-50v-50zM150 200v50h50v-50h-50zM300 300h50v50h-50v-50zM100 300v50h50v-50h-50zM350 400h50v50h-50v-50zM50 400v50h50v-50h-50zM300 550h50v50h-50v-50zM100 550v50h50v-50h-50zM200 0h50v50h-50v-50zM200 100h50v50h-50v-50z
|
||||||
|
M250 200v50h50v-50h-50zM150 200h50v50h-50v-50zM300 300v50h50v-50h-50zM100 300h50v50h-50v-50zM350 400v50h50v-50h-50zM50 400h50v50h-50v-50zM300 550v50h50v-50h-50zM100 550h50v50h-50v-50zM200 0v50h50v-50h-50zM200 100v50h50v-50h-50zM250 200h50v50h-50v-50z
|
||||||
|
M150 200v50h50v-50h-50zM300 300h50v50h-50v-50zM100 300v50h50v-50h-50zM350 400h50v50h-50v-50zM50 400v50h50v-50h-50zM300 550h50v50h-50v-50zM100 550v50h50v-50h-50zM200 0h50v50h-50v-50zM200 100h50v50h-50v-50zM250 200v50h50v-50h-50zM150 200h50v50h-50v-50z
|
||||||
|
M300 300v50h50v-50h-50zM100 300h50v50h-50v-50zM350 400v50h50v-50h-50zM50 400h50v50h-50v-50zM300 550v50h50v-50h-50zM100 550h50v50h-50v-50zM200 0v50h50v-50h-50zM200 100v50h50v-50h-50zM250 200h50v50h-50v-50zM150 200v50h50v-50h-50zM300 300h50v50h-50v-50z
|
||||||
|
M100 300v50h50v-50h-50zM350 400h50v50h-50v-50zM50 400v50h50v-50h-50zM300 550h50v50h-50v-50zM100 550v50h50v-50h-50zM200 0h50v50h-50v-50zM200 100h50v50h-50v-50zM250 200v50h50v-50h-50zM150 200h50v50h-50v-50zM300 300v50h50v-50h-50zM100 300h50v50h-50v-50z
|
||||||
|
M350 400v50h50v-50h-50zM50 400h50v50h-50v-50zM300 550v50h50v-50h-50zM100 550h50v50h-50v-50z" />
|
||||||
|
<glyph glyph-name="Abreve" unicode="Ă"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM255 154v51h51v-51h-51zM153 154v51h51v-51h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM306 307v51h51v-51h-51zM101 307v51h52v-51h-52zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51zM255 512v51h51v-51h-51zM153 512v51h51v-51h-51zM357 563v51h52v-51h-52zM50 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="abreve" unicode="ă"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM255 154v51h51v-51h-51zM153 154v51h51v-51h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM306 307v51h51v-51h-51zM101 307v51h52v-51h-52zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51zM255 512v51h51v-51h-51zM153 512v51h51v-51h-51zM357 563v51h52v-51h-52zM50 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Aogonek" unicode="Ą"
|
||||||
|
d="M306 -102v51h51v-51h-51zM357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM255 154v51h51v-51h-51zM153 154v51h51v-51h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM306 307v51h51v-51h-51zM101 307v51h52v-51h-52z
|
||||||
|
M255 410v51h51v-51h-51zM153 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="aogonek" unicode="ą"
|
||||||
|
d="M306 -102v51h51v-51h-51zM357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM255 154v51h51v-51h-51zM153 154v51h51v-51h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM306 307v51h51v-51h-51zM101 307v51h52v-51h-52z
|
||||||
|
M255 410v51h51v-51h-51zM153 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Cacute" unicode="Ć"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51zM204 410v51h51v-51h-51zM101 410v51h52v-51h-52z
|
||||||
|
M204 512v51h51v-51h-51zM306 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="cacute" unicode="ć"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51zM204 410v51h51v-51h-51zM101 410v51h52v-51h-52z
|
||||||
|
M204 512v51h51v-51h-51zM306 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Ccaron" unicode="Č"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51zM204 410v51h51v-51h-51zM101 410v51h52v-51h-52z
|
||||||
|
M204 512v51h51v-51h-51zM306 563v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="ccaron" unicode="č"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51zM204 410v51h51v-51h-51zM101 410v51h52v-51h-52z
|
||||||
|
M204 512v51h51v-51h-51zM306 563v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="Dcaron" unicode="Ď"
|
||||||
|
d="M255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410
|
||||||
|
v51h51v-51h-51zM153 512v51h51v-51h-51zM255 563v51h51v-51h-51zM50 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="dcaron" unicode="ď"
|
||||||
|
d="M255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410
|
||||||
|
v51h51v-51h-51zM153 512v51h51v-51h-51zM255 563v51h51v-51h-51zM50 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Dcroat" unicode="Đ" horiz-adv-x="560"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM460 102v52h51v-52h-51zM153 102v52h51v-52h-51zM460 205v51h51v-51h-51zM153 205v51h51v-51h-51zM460 307v51h51v-51h-51zM255 307v51h51v-51h-51zM153 307v51h51v-51h-51zM50 307v51h51v-51h-51z
|
||||||
|
M357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="dcroat" unicode="đ" horiz-adv-x="560"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM460 102v52h51v-52h-51zM153 102v52h51v-52h-51zM460 205v51h51v-51h-51zM153 205v51h51v-51h-51zM460 307v51h51v-51h-51zM255 307v51h51v-51h-51zM153 307v51h51v-51h-51zM50 307v51h51v-51h-51z
|
||||||
|
M357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Eogonek" unicode="Ę"
|
||||||
|
d="M153 410v51h51v-51h-51zM306 -102v51h51v-51h-51zM357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM50 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM50 307v51h51v-51h-51zM357 410
|
||||||
|
v51h52v-51h-52zM255 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="eogonek" unicode="ę"
|
||||||
|
d="M153 410v51h51v-51h-51zM306 -102v51h51v-51h-51zM357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM50 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM50 307v51h51v-51h-51zM357 410
|
||||||
|
v51h52v-51h-52zM255 410v51h51v-51h-51zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Ecaron" unicode="Ě"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM50 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410
|
||||||
|
v51h51v-51h-51zM50 410v51h51v-51h-51zM204 512v51h51v-51h-51zM306 563v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="ecaron" unicode="ě"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM50 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410
|
||||||
|
v51h51v-51h-51zM50 410v51h51v-51h-51zM204 512v51h51v-51h-51zM306 563v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="Lacute" unicode="Ĺ" horiz-adv-x="509"
|
||||||
|
d="M409 0v51h51v-51h-51zM306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM101 102v52h52v-52h-52zM101 205v51h52v-51h-52zM101 307v51h52v-51h-52zM101 410v51h52v-51h-52zM50 512v51h51v-51h-51zM153 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="lacute" unicode="ĺ" horiz-adv-x="509"
|
||||||
|
d="M409 0v51h51v-51h-51zM306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM101 102v52h52v-52h-52zM101 205v51h52v-51h-52zM101 307v51h52v-51h-52zM101 410v51h52v-51h-52zM50 512v51h51v-51h-51zM153 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Lcaron" unicode="Ľ"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM50 102v52h51v-52h-51zM50 205v51h51v-51h-51zM50 307v51h51v-51h-51zM153 358v52h51v-52h-51zM50 410v51h51v-51h-51zM204 461v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="lcaron" unicode="ľ"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM50 102v52h51v-52h-51zM50 205v51h51v-51h-51zM50 307v51h51v-51h-51zM50 410v51h51v-51h-51zM204 512v51h51v-51h-51zM306 563v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="Lslash" unicode="Ł" horiz-adv-x="560"
|
||||||
|
d="M460 0v51h51v-51h-51zM357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM153 102v52h51v-52h-51zM50 154v51h51v-51h-51zM153 205v51h51v-51h-51zM255 256v51h51v-51h-51zM153 307v51h51v-51h-51zM153 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="lslash" unicode="ł" horiz-adv-x="560"
|
||||||
|
d="M460 0v51h51v-51h-51zM357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM153 102v52h51v-52h-51zM50 154v51h51v-51h-51zM153 205v51h51v-51h-51zM255 256v51h51v-51h-51zM153 307v51h51v-51h-51zM153 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Nacute" unicode="Ń"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM255 102v52h51v-52h-51zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM204 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM153 307v51h51v-51h-51zM50 307v51h51v-51h-51z
|
||||||
|
M357 410v51h52v-51h-52zM50 410v51h51v-51h-51zM204 461v51h51v-51h-51zM255 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="nacute" unicode="ń"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM255 102v52h51v-52h-51zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM204 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM153 307v51h51v-51h-51zM50 307v51h51v-51h-51z
|
||||||
|
M357 410v51h52v-51h-52zM50 410v51h51v-51h-51zM204 461v51h51v-51h-51zM255 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Ncaron" unicode="Ň"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM255 102v52h51v-52h-51zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM204 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM153 307v51h51v-51h-51zM50 307v51h51v-51h-51z
|
||||||
|
M357 410v51h52v-51h-52zM50 410v51h51v-51h-51zM204 512v51h51v-51h-51zM306 563v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="ncaron" unicode="ň"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM357 102v52h52v-52h-52zM255 102v52h51v-52h-51zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM204 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM153 307v51h51v-51h-51zM50 307v51h51v-51h-51z
|
||||||
|
M357 410v51h52v-51h-52zM50 410v51h51v-51h-51zM204 512v51h51v-51h-51zM306 563v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="Ohungarumlaut" unicode="Ő" horiz-adv-x="509"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51zM204 410v51h51v-51h-51z
|
||||||
|
M101 410v51h52v-51h-52zM306 512v51h51v-51h-51zM50 512v51h51v-51h-51zM409 563v51h51v-51h-51zM153 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="ohungarumlaut" unicode="ő" horiz-adv-x="509"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM306 410v51h51v-51h-51zM204 410v51h51v-51h-51z
|
||||||
|
M101 410v51h52v-51h-52zM306 512v51h51v-51h-51zM50 512v51h51v-51h-51zM409 563v51h51v-51h-51zM153 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="OE" unicode="Œ" horiz-adv-x="699"
|
||||||
|
d="M600 0v50h50v-50h-50zM500 0v50h50v-50h-50zM400 0v50h50v-50h-50zM300 0v50h50v-50h-50zM200 0v50h50v-50h-50zM100 0v50h50v-50h-50zM350 100v50h50v-50h-50zM50 100v50h50v-50h-50zM550 200v50h50v-50h-50zM450 200v50h50v-50h-50zM350 200v50h50v-50h-50zM50 200v50
|
||||||
|
h50v-50h-50zM350 300v50h50v-50h-50zM50 300v50h50v-50h-50zM600 400v50h50v-50h-50zM500 400v50h50v-50h-50zM400 400v50h50v-50h-50zM300 400v50h50v-50h-50zM200 400v50h50v-50h-50zM100 400v50h50v-50h-50z" />
|
||||||
|
<glyph glyph-name="oe" unicode="œ" horiz-adv-x="699"
|
||||||
|
d="M600 0v50h50v-50h-50zM500 0v50h50v-50h-50zM400 0v50h50v-50h-50zM300 0v50h50v-50h-50zM200 0v50h50v-50h-50zM100 0v50h50v-50h-50zM350 100v50h50v-50h-50zM50 100v50h50v-50h-50zM550 200v50h50v-50h-50zM450 200v50h50v-50h-50zM350 200v50h50v-50h-50zM50 200v50
|
||||||
|
h50v-50h-50zM350 300v50h50v-50h-50zM50 300v50h50v-50h-50zM600 400v50h50v-50h-50zM500 400v50h50v-50h-50zM400 400v50h50v-50h-50zM300 400v50h50v-50h-50zM200 400v50h50v-50h-50zM100 400v50h50v-50h-50z" />
|
||||||
|
<glyph glyph-name="Racute" unicode="Ŕ"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM306 102v52h51v-52h-51zM50 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 256v51h52v-51h-52zM50 307v51h51v-51h-51zM357 358v52h52v-52h-52zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51zM50 410v51h51v-51h-51zM153 512v51h51v-51h-51zM255 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="racute" unicode="ŕ"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM306 102v52h51v-52h-51zM50 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 256v51h52v-51h-52zM50 307v51h51v-51h-51zM357 358v52h52v-52h-52zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51zM50 410v51h51v-51h-51zM153 512v51h51v-51h-51zM255 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Rcaron" unicode="Ř"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM306 102v52h51v-52h-51zM50 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 256v51h52v-51h-52zM50 307v51h51v-51h-51zM357 358v52h52v-52h-52zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51zM50 410v51h51v-51h-51zM204 512v51h51v-51h-51zM306 563v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="rcaron" unicode="ř"
|
||||||
|
d="M357 0v51h52v-51h-52zM50 0v51h51v-51h-51zM306 102v52h51v-52h-51zM50 102v52h51v-52h-51zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 205v51h51v-51h-51zM357 256v51h52v-51h-52zM50 307v51h51v-51h-51zM357 358v52h52v-52h-52zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51zM50 410v51h51v-51h-51zM204 512v51h51v-51h-51zM306 563v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="Sacute" unicode="Ś"
|
||||||
|
d="M255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM357 51v51h52v-51h-52zM50 51v51h51v-51h-51zM357 154v51h52v-51h-52zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 256v51h51v-51h-51zM357 358v52h52v-52h-52zM50 358v52h51v-52h-51zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51zM153 512v51h51v-51h-51zM255 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="sacute" unicode="ś"
|
||||||
|
d="M255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM357 51v51h52v-51h-52zM50 51v51h51v-51h-51zM357 154v51h52v-51h-52zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 256v51h51v-51h-51zM357 358v52h52v-52h-52zM50 358v52h51v-52h-51zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51zM153 512v51h51v-51h-51zM255 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Scedilla" unicode="Ş"
|
||||||
|
d="M204 -154v52h51v-52h-51zM101 -154v52h52v-52h-52zM306 -102v51h51v-51h-51zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM357 51v51h52v-51h-52zM50 51v51h51v-51h-51zM357 154v51h52v-51h-52zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 256v51h51v-51h-51z
|
||||||
|
M357 358v52h52v-52h-52zM50 358v52h51v-52h-51zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="scedilla" unicode="ş"
|
||||||
|
d="M204 -154v52h51v-52h-51zM101 -154v52h52v-52h-52zM306 -102v51h51v-51h-51zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM357 51v51h52v-51h-52zM50 51v51h51v-51h-51zM357 154v51h52v-51h-52zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 256v51h51v-51h-51z
|
||||||
|
M357 358v52h52v-52h-52zM50 358v52h51v-52h-51zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Scaron" unicode="Š"
|
||||||
|
d="M255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM357 51v51h52v-51h-52zM50 51v51h51v-51h-51zM357 154v51h52v-51h-52zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 256v51h51v-51h-51zM357 358v52h52v-52h-52zM50 358v52h51v-52h-51zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51zM204 512v51h51v-51h-51zM306 563v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="scaron" unicode="š"
|
||||||
|
d="M255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM357 51v51h52v-51h-52zM50 51v51h51v-51h-51zM357 154v51h52v-51h-52zM255 205v51h51v-51h-51zM153 205v51h51v-51h-51zM50 256v51h51v-51h-51zM357 358v52h52v-52h-52zM50 358v52h51v-52h-51zM255 410v51h51v-51h-51z
|
||||||
|
M153 410v51h51v-51h-51zM204 512v51h51v-51h-51zM306 563v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="Tcommaaccent" unicode="Ţ"
|
||||||
|
d="M255 -154v52h51v-52h-51zM153 -154v52h51v-52h-51zM306 -51v51h51v-51h-51zM204 0v51h51v-51h-51zM204 102v52h51v-52h-51zM204 205v51h51v-51h-51zM204 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51
|
||||||
|
z" />
|
||||||
|
<glyph glyph-name="tcommaaccent" unicode="ţ"
|
||||||
|
d="M255 -154v52h51v-52h-51zM153 -154v52h51v-52h-51zM306 -51v51h51v-51h-51zM204 0v51h51v-51h-51zM204 102v52h51v-52h-51zM204 205v51h51v-51h-51zM204 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51
|
||||||
|
z" />
|
||||||
|
<glyph glyph-name="Tcaron" unicode="Ť"
|
||||||
|
d="M204 512v51h51v-51h-51zM306 563v51h51v-51h-51zM101 563v51h52v-51h-52zM204 0v51h51v-51h-51zM204 102v52h51v-52h-51zM204 205v51h51v-51h-51zM204 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51z
|
||||||
|
" />
|
||||||
|
<glyph glyph-name="tcaron" unicode="ť" horiz-adv-x="611"
|
||||||
|
d="M204 0v51h51v-51h-51zM204 102v52h51v-52h-51zM204 205v51h51v-51h-51zM204 307v51h51v-51h-51zM460 358v52h51v-52h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51zM511 461v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Uring" unicode="Ů"
|
||||||
|
d="M255 459v53h51v-53h-51zM153 510v51h51v-51h-51zM306 561v51h51v-51h-51zM204 612v52h51v-52h-51zM306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51z
|
||||||
|
M357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="uring" unicode="ů"
|
||||||
|
d="M255 459v53h51v-53h-51zM153 510v51h51v-51h-51zM306 561v51h51v-51h-51zM204 612v52h51v-52h-51zM306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51z
|
||||||
|
M357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Uhungarumlaut" unicode="Ű"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51zM255 461
|
||||||
|
v51h51v-51h-51zM153 461v51h51v-51h-51zM306 563v51h51v-51h-51zM204 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="uhungarumlaut" unicode="ű"
|
||||||
|
d="M306 0v51h51v-51h-51zM204 0v51h51v-51h-51zM101 0v51h52v-51h-52zM357 102v52h52v-52h-52zM50 102v52h51v-52h-51zM357 205v51h52v-51h-52zM50 205v51h51v-51h-51zM357 307v51h52v-51h-52zM50 307v51h51v-51h-51zM357 410v51h52v-51h-52zM50 410v51h51v-51h-51zM255 461
|
||||||
|
v51h51v-51h-51zM153 461v51h51v-51h-51zM306 563v51h51v-51h-51zM204 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Ydieresis" unicode="Ÿ" horiz-adv-x="449"
|
||||||
|
d="M200 0v50h50v-50h-50zM200 100v50h50v-50h-50zM250 200v50h50v-50h-50zM150 200v50h50v-50h-50zM300 300v50h50v-50h-50zM100 300v50h50v-50h-50zM350 400v50h50v-50h-50zM50 400v50h50v-50h-50zM300 550v50h50v-50h-50zM100 550v50h50v-50h-50zM200 0v50h50v-50h-50z
|
||||||
|
M200 100v50h50v-50h-50zM250 200h50v50h-50v-50zM150 200v50h50v-50h-50zM300 300h50v50h-50v-50zM100 300v50h50v-50h-50zM350 400h50v50h-50v-50zM50 400v50h50v-50h-50zM300 550h50v50h-50v-50zM100 550v50h50v-50h-50zM200 0h50v50h-50v-50zM200 100h50v50h-50v-50z
|
||||||
|
M250 200v50h50v-50h-50zM150 200h50v50h-50v-50zM300 300v50h50v-50h-50zM100 300h50v50h-50v-50zM350 400v50h50v-50h-50zM50 400h50v50h-50v-50zM300 550v50h50v-50h-50zM100 550h50v50h-50v-50zM200 0v50h50v-50h-50zM200 100v50h50v-50h-50zM250 200h50v50h-50v-50z
|
||||||
|
M150 200v50h50v-50h-50zM300 300h50v50h-50v-50zM100 300v50h50v-50h-50zM350 400h50v50h-50v-50zM50 400v50h50v-50h-50zM300 550h50v50h-50v-50zM100 550v50h50v-50h-50zM200 0h50v50h-50v-50zM200 100h50v50h-50v-50zM250 200v50h50v-50h-50zM150 200h50v50h-50v-50z
|
||||||
|
M300 300v50h50v-50h-50zM100 300h50v50h-50v-50zM350 400v50h50v-50h-50zM50 400h50v50h-50v-50zM300 550v50h50v-50h-50zM100 550h50v50h-50v-50zM200 0v50h50v-50h-50zM200 100v50h50v-50h-50zM250 200h50v50h-50v-50zM150 200v50h50v-50h-50zM300 300h50v50h-50v-50z
|
||||||
|
M100 300v50h50v-50h-50zM350 400h50v50h-50v-50zM50 400v50h50v-50h-50zM300 550h50v50h-50v-50zM100 550v50h50v-50h-50zM200 0h50v50h-50v-50zM200 100h50v50h-50v-50zM250 200v50h50v-50h-50zM150 200h50v50h-50v-50zM300 300v50h50v-50h-50zM100 300h50v50h-50v-50z
|
||||||
|
M350 400v50h50v-50h-50zM50 400h50v50h-50v-50zM300 550v50h50v-50h-50zM100 550h50v50h-50v-50z" />
|
||||||
|
<glyph glyph-name="Zacute" unicode="Ź"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM101 102v52h52v-52h-52zM204 205v51h51v-51h-51zM306 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51zM153 512
|
||||||
|
v51h51v-51h-51zM255 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="zacute" unicode="ź"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM101 102v52h52v-52h-52zM204 205v51h51v-51h-51zM306 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51zM153 512
|
||||||
|
v51h51v-51h-51zM255 563v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Zdotaccent" unicode="Ż"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM101 102v52h52v-52h-52zM204 205v51h51v-51h-51zM306 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51zM204 563
|
||||||
|
v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="zdotaccent" unicode="ż"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM101 102v52h52v-52h-52zM204 205v51h51v-51h-51zM306 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51zM204 563
|
||||||
|
v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="Zcaron" unicode="Ž"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM101 102v52h52v-52h-52zM204 205v51h51v-51h-51zM306 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51zM204 512
|
||||||
|
v51h51v-51h-51zM306 563v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="zcaron" unicode="ž"
|
||||||
|
d="M357 0v51h52v-51h-52zM255 0v51h51v-51h-51zM153 0v51h51v-51h-51zM50 0v51h51v-51h-51zM101 102v52h52v-52h-52zM204 205v51h51v-51h-51zM306 307v51h51v-51h-51zM357 410v51h52v-51h-52zM255 410v51h51v-51h-51zM153 410v51h51v-51h-51zM50 410v51h51v-51h-51zM204 512
|
||||||
|
v51h51v-51h-51zM306 563v51h51v-51h-51zM101 563v51h52v-51h-52z" />
|
||||||
|
<glyph glyph-name="caron" unicode="ˇ" horiz-adv-x="355"
|
||||||
|
d="M153 358v52h51v-52h-51zM255 461v51h51v-51h-51zM50 461v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="breve" unicode="˘" horiz-adv-x="355"
|
||||||
|
d="M204 358v52h51v-52h-51zM101 358v52h52v-52h-52zM255 461v51h51v-51h-51zM50 461v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="dotaccent" unicode="˙" horiz-adv-x="49"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="ogonek" unicode="˛" horiz-adv-x="304"
|
||||||
|
d="M204 -102v51h51v-51h-51zM101 -102v51h52v-51h-52zM50 0v51h51v-51h-51z" />
|
||||||
|
<glyph glyph-name="hungarumlaut" unicode="˝" horiz-adv-x="355"
|
||||||
|
d="M204 358v52h51v-52h-51zM50 358v52h51v-52h-51zM255 461v51h51v-51h-51zM101 461v51h52v-51h-52z" />
|
||||||
|
</font>
|
||||||
|
</defs></svg>
|
After Width: | Height: | Size: 91 KiB |
BIN
www/css/7f37946c45abf5482c243bf326f82628.ttf
Executable file
BIN
www/css/7f37946c45abf5482c243bf326f82628.woff
Executable file
BIN
www/css/7f37946c45abf5482c243bf326f82628.woff2
Executable file
BIN
www/css/LED.eot
Normal file
519
www/css/LED.svg
Normal file
@ -0,0 +1,519 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||||
|
<svg>
|
||||||
|
<metadata>
|
||||||
|
Created by FontForge 20110222 at Mon Mar 7 11:46:57 2011
|
||||||
|
By www-data
|
||||||
|
</metadata>
|
||||||
|
<defs>
|
||||||
|
<font id="LED" horiz-adv-x="463" >
|
||||||
|
<font-face
|
||||||
|
font-family="LED"
|
||||||
|
font-weight="500"
|
||||||
|
font-stretch="normal"
|
||||||
|
units-per-em="1000"
|
||||||
|
panose-1="0 0 0 0 0 0 0 0 0 0"
|
||||||
|
ascent="800"
|
||||||
|
descent="-200"
|
||||||
|
x-height="700"
|
||||||
|
cap-height="700"
|
||||||
|
bbox="-91 -200 898 863"
|
||||||
|
underline-thickness="20"
|
||||||
|
underline-position="-190"
|
||||||
|
unicode-range="U+0020-2122"
|
||||||
|
/>
|
||||||
|
<missing-glyph />
|
||||||
|
<glyph glyph-name="space" unicode=" " horiz-adv-x="282"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="exclam" unicode="!" horiz-adv-x="168"
|
||||||
|
d="M140 217l-112 70v301l112 112v-483zM140 0h-112v175h112v-175z" />
|
||||||
|
<glyph glyph-name="quotedbl" unicode=""" horiz-adv-x="325"
|
||||||
|
d="M303 413h-111v287h111v-287zM133 413h-112v287h112v-287z" />
|
||||||
|
<glyph glyph-name="numbersign" unicode="#" horiz-adv-x="569"
|
||||||
|
d="M523 482l-10 -48h-111l-36 -168h111l-9 -48h-112l-44 -204h-48l43 204h-101l-44 -204h-47l42 204h-111l10 48h112l35 168h-112l10 48h113l43 204h48l-43 -204h102l42 204h48l-43 -204h112zM353 434h-101l-36 -168h102z" />
|
||||||
|
<glyph glyph-name="dollar" unicode="$" horiz-adv-x="462"
|
||||||
|
d="M289 732l-56 -62l-58 59v54l59 58l55 -56v-53zM434 700l-124 -112h-156l-63 63l51 49h32l59 -55l55 55h146zM142 428l-113 -70v229l49 53l64 -65v-147zM405 350l-98 -49h-155l-96 50l97 62h155zM434 114l-48 -53l-63 65v163l111 54v-229zM371 48l-48 -48h-39l-52 52
|
||||||
|
l-60 -52h-144l126 112h156zM285 -89l-55 -54l-60 63v47l60 57l55 -60v-53z" />
|
||||||
|
<glyph glyph-name="percent" unicode="%" horiz-adv-x="810"
|
||||||
|
d="M286 649l-63 -61h-81l-62 61l48 51h111zM350 474l-52 -48l-61 61v86l61 64l52 -50v-113zM128 488l-64 -63l-50 48v114l52 50l62 -64v-85zM685 700l-225 -367l-61 112l154 255h132zM285 410l-48 -46h-111l-48 46l64 63h81zM732 288l-62 -61h-81l-63 61l49 50h110zM796 113
|
||||||
|
l-51 -49l-61 62v86l62 63l50 -49v-113zM576 126l-66 -63l-49 49v114l51 49l64 -64v-85zM448 313l-187 -313h-131l190 313h128zM731 49l-47 -49h-110l-49 49l64 63h81z" />
|
||||||
|
<glyph glyph-name="ampersand" unicode="&" horiz-adv-x="561"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM140 427l-112 -70v231l49 49l63 -63v-147zM433 430l-56 -61l-55 62v73l63 64l48 -64v-74zM575 351l-92 -50h-36l-55 56l55 56h37zM363 357l-54 -56h-86l-98 51l99 61h85zM432 113l-47 -48l-63 61v162l55 55l55 -56v-174zM140 126
|
||||||
|
l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153z" />
|
||||||
|
<glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="155"
|
||||||
|
d="M133 413h-112v287h112v-287z" />
|
||||||
|
<glyph glyph-name="parenleft" unicode="(" horiz-adv-x="280"
|
||||||
|
d="M266 700l-70 -112h-41l-64 63l49 49h126zM140 427l-112 -70v231l49 49l63 -63v-147zM140 126l-63 -63l-49 49v231l112 -56v-161zM266 0h-126l-49 49l64 63h41z" />
|
||||||
|
<glyph glyph-name="parenright" unicode=")" horiz-adv-x="280"
|
||||||
|
d="M189 651l-64 -63h-41l-70 112h126zM252 357l-112 56v161l62 63l50 -49v-231zM252 112l-50 -49l-62 63v147l112 70v-231zM189 49l-49 -49h-126l70 112h41z" />
|
||||||
|
<glyph glyph-name="asterisk" unicode="*" horiz-adv-x="425"
|
||||||
|
d="M268 576l-58 -40l-55 43v135l57 40l56 -43v-135zM198 456l-119 -73l-65 28l6 69l129 75l49 -35v-64zM411 416l-54 -35l-135 74v67l50 31l130 -70z" />
|
||||||
|
<glyph glyph-name="plus" unicode="+" horiz-adv-x="465"
|
||||||
|
d="M286 422l-54 -58l-59 59v95l113 50v-146zM451 406l-47 -112h-104l-50 56l57 56h144zM217 351l-58 -57h-145l48 112h99zM286 182l-111 -49v147l57 56l54 -56v-98z" />
|
||||||
|
<glyph glyph-name="comma" unicode="," horiz-adv-x="155"
|
||||||
|
d="M133 -112h-112v287h112v-287z" />
|
||||||
|
<glyph glyph-name="hyphen" unicode="-" horiz-adv-x="335"
|
||||||
|
d="M322 408l-85 -110h-223l83 110h225z" />
|
||||||
|
<glyph glyph-name="period" unicode="." horiz-adv-x="200"
|
||||||
|
d="M163 0h-112v175h112v-175z" />
|
||||||
|
<glyph glyph-name="slash" unicode="/" horiz-adv-x="583"
|
||||||
|
d="M570 700l-226 -367l-62 112l155 255h133zM332 313l-187 -313h-131l189 313h129z" />
|
||||||
|
<glyph glyph-name="zero" unicode="0"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153z" />
|
||||||
|
<glyph glyph-name="one" unicode="1" horiz-adv-x="461"
|
||||||
|
d="M336 357l-111 70v147l111 112v-329zM336 14l-111 112v161l111 56v-329z" />
|
||||||
|
<glyph glyph-name="two" unicode="2"
|
||||||
|
d="M371 651l-63 -63h-273l105 112h182zM435 357l-113 70v147l63 63l50 -49v-231zM406 350l-98 -49h-153l-99 49l99 63h153zM140 126l-63 -63l-49 49v231l112 -56v-161zM435 0h-295l-49 49l64 63h153z" />
|
||||||
|
<glyph glyph-name="three" unicode="3" horiz-adv-x="462"
|
||||||
|
d="M357 651l-63 -63h-154l-126 112h293zM420 357l-113 70v147l63 63l50 -49v-231zM392 350l-98 -49h-154l-98 49l98 63h154zM420 112l-50 -49l-63 63v161l113 56v-231zM357 49l-50 -49h-293l126 112h154z" />
|
||||||
|
<glyph glyph-name="four" unicode="4"
|
||||||
|
d="M435 357l-113 70v161l113 112v-343zM140 427l-112 -70v343l112 -112v-161zM406 350l-98 -49h-153l-99 49l99 63h153zM435 0l-113 112v175l113 56v-343z" />
|
||||||
|
<glyph glyph-name="five" unicode="5" horiz-adv-x="470"
|
||||||
|
d="M441 700l-126 -112h-154l-63 63l49 49h294zM147 427l-112 -70v231l50 49l62 -63v-147zM413 350l-98 -49h-154l-98 49l98 63h154zM441 112l-49 -49l-62 63v161l111 56v-231zM378 49l-48 -49h-302l133 112h154z" />
|
||||||
|
<glyph glyph-name="six" unicode="6"
|
||||||
|
d="M435 700l-127 -112h-153l-64 63l49 49h295zM140 427l-112 -70v231l49 49l63 -63v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153z" />
|
||||||
|
<glyph glyph-name="seven" unicode="7" horiz-adv-x="462"
|
||||||
|
d="M378 700l-112 -112h-154l-112 112h378zM392 357l-112 70v147l112 112v-329zM392 0l-112 112v175l112 56v-343z" />
|
||||||
|
<glyph glyph-name="eight" unicode="8"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49
|
||||||
|
l-49 -49h-182l-49 49l64 63h153z" />
|
||||||
|
<glyph glyph-name="nine" unicode="9"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 56v161l63 63l50 -49v-231zM140 413l-112 -56v231l49 49l63 -63v-161zM406 350l-98 -63h-153l-99 63l99 49h153zM435 112l-50 -49l-63 63v147l113 70v-231zM371 49l-49 -49h-294l127 112h153z" />
|
||||||
|
<glyph glyph-name="colon" unicode=":" horiz-adv-x="168"
|
||||||
|
d="M140 315h-112v175h112v-175zM140 0h-112v175h112v-175z" />
|
||||||
|
<glyph glyph-name="semicolon" unicode=";" horiz-adv-x="168"
|
||||||
|
d="M140 315h-112v175h112v-175zM140 -112h-112v287h112v-287z" />
|
||||||
|
<glyph glyph-name="less" unicode="<" horiz-adv-x="307"
|
||||||
|
d="M283 583l-132 -222h-127l196 339h63v-117zM283 0h-68l-194 339h130l132 -229v-110z" />
|
||||||
|
<glyph glyph-name="equal" unicode="="
|
||||||
|
d="M406 425l-98 -49h-153l-99 49l99 63h153zM406 260l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="greater" unicode=">" horiz-adv-x="316"
|
||||||
|
d="M286 361h-127l-132 222v117h63zM289 339l-194 -339h-68v110l132 229h130z" />
|
||||||
|
<glyph glyph-name="question" unicode="?" horiz-adv-x="406"
|
||||||
|
d="M315 651l-63 -63h-154l-98 112h266zM378 357l-112 70v147l63 63l49 -49v-231zM350 350l-98 -49h-154v112h154zM210 0h-112v175h112v-175z" />
|
||||||
|
<glyph glyph-name="at" unicode="@" horiz-adv-x="756"
|
||||||
|
d="M700 351q-15 -90 -62 -148q-43 -53 -97 -61q-6 -1 -17 -1q-38 0 -60.5 23.5t-22.5 59.5q-6 -20 -19 -35q-35 -41 -80 -41q-22 0 -47 11q-75 34 -75 173l4 35q13 91 63 149t107 58t84 -52l5 -10l9 56l48 -1l-37 -209l-14 -85q-1 -8 -1.5 -17t-0.5 -13q0 -19 4 -31.5
|
||||||
|
t14 -20.5t25 -8q7 0 18 4t22.5 12.5t29.5 30.5t31.5 54.5t18.5 67t5 63.5q0 111 -68.5 181.5t-175.5 70.5q-22 0 -46 -3q-107 -15 -179 -104t-72 -211v-23q2 -11 2 -15l9 -54q27 -105 102 -166t172 -61q84 0 160 47q24 14 48 35q31 26 52 55l20 -35l-25 -28
|
||||||
|
q-112 -118 -258 -118q-150 0 -245 110t-95 278q0 52 20 105q17 47 49 91q46 61 107.5 98t132.5 45q11 2 23 2h19q130 0 214.5 -84.5t84.5 -215.5q0 -31 -6 -64zM462 471q-4 27 -22.5 43t-42.5 16q-15 0 -25 -5q-26 -11 -42 -33q-19 -26 -35 -75l-13 -48q-4 -24 -5 -44
|
||||||
|
t-1 -42q0 -18 3.5 -33t9.5 -27q16 -36 56 -36q25 0 44 19q14 14 23.5 31t22.5 53l17 73l2 9l7 41q1 10 1.5 20.5t0.5 15.5q0 15 -1 22z" />
|
||||||
|
<glyph glyph-name="A" unicode="A"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM435 357l-113 70v147l113 112v-329zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM435 0l-113 112v175l113 56v-343zM140 112l-112 -112v343l112 -56v-175z" />
|
||||||
|
<glyph glyph-name="B" unicode="B"
|
||||||
|
d="M371 651l-63 -63h-153l-113 112h280zM140 427l-112 -70v329l112 -112v-147zM435 357l-113 70v147l63 63l50 -49v-231zM406 350l-98 -49h-153l-99 49l99 63h153zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-112 -112v329l112 -56v-161zM371 49l-49 -49h-280
|
||||||
|
l113 112h153z" />
|
||||||
|
<glyph glyph-name="C" unicode="C" horiz-adv-x="420"
|
||||||
|
d="M420 700l-112 -112h-153l-64 63l49 49h280zM140 413l-112 -56v231l49 49l63 -63v-161zM140 126l-63 -63l-49 49v231l112 -70v-147zM420 0h-280l-49 49l64 63h153z" />
|
||||||
|
<glyph glyph-name="D" unicode="D"
|
||||||
|
d="M371 651l-63 -63h-153l-113 112h280zM140 427l-112 -70v329l112 -112v-147zM435 357l-113 70v147l63 63l50 -49v-231zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-112 -112v329l112 -56v-161zM371 49l-49 -49h-280l113 112h153z" />
|
||||||
|
<glyph glyph-name="E" unicode="E" horiz-adv-x="420"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM140 126l-112 -112v329l112 -56v-161zM420 0h-378l113 112h153z" />
|
||||||
|
<glyph glyph-name="F" unicode="F" horiz-adv-x="413"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM140 112l-112 -112v343l112 -56v-175z" />
|
||||||
|
<glyph glyph-name="G" unicode="G"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM140 427l-112 -70v231l49 49l63 -63v-147zM406 350l-98 -49h-70l-98 49l98 63h70zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153z" />
|
||||||
|
<glyph glyph-name="H" unicode="H"
|
||||||
|
d="M435 357l-113 70v161l113 112v-343zM140 427l-112 -70v343l112 -112v-161zM406 350l-98 -49h-153l-99 49l99 63h153zM435 0l-113 112v175l113 56v-343zM140 112l-112 -112v343l112 -56v-175z" />
|
||||||
|
<glyph glyph-name="I" unicode="I" horiz-adv-x="168"
|
||||||
|
d="M140 357l-112 70v161l112 112v-343zM140 0l-112 112v175l112 56v-343z" />
|
||||||
|
<glyph glyph-name="J" unicode="J"
|
||||||
|
d="M435 357l-113 70v161l113 112v-343zM435 14l-113 112v161l113 56v-329zM140 126l-112 -112v329l112 -56v-161zM420 0h-378l113 112h153z" />
|
||||||
|
<glyph glyph-name="K" unicode="K"
|
||||||
|
d="M435 624l-114 -189l-129 -1l162 266h81v-76zM140 427l-112 -70v343l112 -112v-161zM406 350l-98 -49h-153l-99 49l99 63h153zM435 0l-113 112v175l113 56v-343zM140 112l-112 -112v343l112 -56v-175z" />
|
||||||
|
<glyph glyph-name="L" unicode="L"
|
||||||
|
d="M140 427l-112 -70v343l112 -112v-161zM435 14l-113 112v161l113 56v-329zM140 126l-112 -112v329l112 -56v-161zM420 0h-378l113 112h153z" />
|
||||||
|
<glyph glyph-name="M" unicode="M" horiz-adv-x="756"
|
||||||
|
d="M715 700l-113 -112h-156l-68 70l-69 -70h-156l-111 112h673zM140 427l-112 -70v329l112 -112v-147zM728 357l-112 70v147l112 111v-328zM434 399l-56 -42l-56 42v175l55 57l57 -57v-175zM728 0l-112 112v175l112 56v-343zM435 112l-57 -112l-56 112v175l56 56l57 -56
|
||||||
|
v-175zM140 112l-112 -112v343l112 -56v-175z" />
|
||||||
|
<glyph glyph-name="N" unicode="N"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM435 0l-113 126v161l113 56v-343zM140 98l-112 -98v343l112 -56v-189z" />
|
||||||
|
<glyph glyph-name="O" unicode="O"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153z" />
|
||||||
|
<glyph glyph-name="P" unicode="P"
|
||||||
|
d="M371 651l-63 -63h-153l-113 112h280zM140 427l-112 -70v329l112 -112v-147zM435 357l-113 70v147l63 63l50 -49v-231zM406 350l-98 -49h-153l-99 49l99 63h153zM140 112l-112 -112v343l112 -56v-175z" />
|
||||||
|
<glyph glyph-name="Q" unicode="Q" horiz-adv-x="464"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM435 144l-50 -50l-63 63v130l113 56v-199zM140 123l-63 -60l-49 49v231l112 -56v-164zM265 0h-125l-51 51l67 60zM436 -143l-255 255h159
|
||||||
|
l96 -95v-160z" />
|
||||||
|
<glyph glyph-name="R" unicode="R"
|
||||||
|
d="M371 651l-63 -63h-153l-113 112h280zM140 427l-112 -70v329l112 -112v-147zM435 357l-113 70v147l63 63l50 -49v-231zM406 350l-98 -49h-153l-99 49l99 63h153zM140 112l-112 -112v343l112 -56v-175zM491 0l-164 111l-72 170h57l49 23z" />
|
||||||
|
<glyph glyph-name="S" unicode="S"
|
||||||
|
d="M435 700l-127 -112h-153l-64 63l49 49h295zM140 427l-112 -70v231l49 49l63 -63v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM435 112l-50 -49l-63 63v161l113 56v-231zM371 49l-49 -49h-294l127 112h153z" />
|
||||||
|
<glyph glyph-name="T" unicode="T" horiz-adv-x="379"
|
||||||
|
d="M393 700l-78 -112h-55l-68 70l-72 -70h-57l-77 112h407zM246 419l-55 -62l-59 62v152l59 64l55 -63v-153zM246 62l-56 -62l-60 62v219l60 63l56 -63v-219z" />
|
||||||
|
<glyph glyph-name="U" unicode="U"
|
||||||
|
d="M435 357l-113 70v161l113 112v-343zM140 427l-112 -70v343l112 -112v-161zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153z" />
|
||||||
|
<glyph glyph-name="V" unicode="V"
|
||||||
|
d="M435 357l-113 70v189l113 84v-343zM140 427l-112 -70v343l112 -84v-189zM435 344l-127 -344l-67 137l56 157zM227 135l-70 -135l-129 344l140 -51zM286 0h-110l57 111z" />
|
||||||
|
<glyph glyph-name="W" unicode="W" horiz-adv-x="757"
|
||||||
|
d="M728 357l-112 56v175l112 112v-343zM435 413l-57 -56l-56 56v175l56 112l57 -112v-175zM140 413l-112 -56v343l112 -112v-175zM435 126l-56 -57l-56 57v175l55 42l57 -42v-175zM729 113l-50 -48l-65 64v145l115 70v-231zM140 128l-64 -63l-48 48v232l112 -72v-145z
|
||||||
|
M666 52l-51 -52h-477l-49 51l63 61h158l68 -68l68 68h156z" />
|
||||||
|
<glyph glyph-name="X" unicode="X" horiz-adv-x="437"
|
||||||
|
d="M424 583l-132 -222h-63v111l132 228h63v-117zM209 361h-62l-133 228v111h68l127 -228v-111zM424 0h-68l-128 224v115h64l132 -229v-110zM209 224l-130 -224h-65v115l130 224h65v-115z" />
|
||||||
|
<glyph glyph-name="Y" unicode="Y"
|
||||||
|
d="M435 357l-113 70v161l113 112v-343zM140 427l-112 -70v343l112 -112v-161zM406 350l-98 -49h-153l-99 49l99 63h153zM289 63l-58 -63l-57 63v217h115v-217z" />
|
||||||
|
<glyph glyph-name="Z" unicode="Z" horiz-adv-x="436"
|
||||||
|
d="M337 700l-66 -112h-145l-111 112h322zM422 585l-150 -256l-70 105l158 266h62v-115zM265 313l-162 -313h-89v106l126 216zM421 0h-299l59 112h127z" />
|
||||||
|
<glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="287"
|
||||||
|
d="M280 700l-112 -112h-13l-113 112h238zM140 427l-112 -70v329l112 -112v-147zM140 126l-112 -112v329l112 -56v-161zM280 0h-238l113 112h13z" />
|
||||||
|
<glyph glyph-name="backslash" unicode="\" horiz-adv-x="583"
|
||||||
|
d="M298 445l-62 -112l-226 367h133zM566 0h-131l-187 313h129z" />
|
||||||
|
<glyph glyph-name="bracketright" unicode="]" horiz-adv-x="287"
|
||||||
|
d="M245 700l-112 -112h-14l-112 112h238zM259 357l-112 56v161l112 112v-329zM259 14l-112 112v147l112 70v-329zM245 0h-238l112 112h14z" />
|
||||||
|
<glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="464"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147z" />
|
||||||
|
<glyph glyph-name="underscore" unicode="_" horiz-adv-x="354"
|
||||||
|
d="M354 -200h-354l-2 41h355z" />
|
||||||
|
<glyph glyph-name="grave" unicode="`"
|
||||||
|
d="M406 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="a" unicode="a"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM435 357l-113 70v147l113 112v-329zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM435 0l-113 112v175l113 56v-343zM140 112l-112 -112v343l112 -56v-175z" />
|
||||||
|
<glyph glyph-name="b" unicode="b"
|
||||||
|
d="M371 651l-63 -63h-153l-113 112h280zM140 427l-112 -70v329l112 -112v-147zM435 357l-113 70v147l63 63l50 -49v-231zM406 350l-98 -49h-153l-99 49l99 63h153zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-112 -112v329l112 -56v-161zM371 49l-49 -49h-280
|
||||||
|
l113 112h153z" />
|
||||||
|
<glyph glyph-name="c" unicode="c" horiz-adv-x="420"
|
||||||
|
d="M420 700l-112 -112h-153l-64 63l49 49h280zM140 413l-112 -56v231l49 49l63 -63v-161zM140 126l-63 -63l-49 49v231l112 -70v-147zM420 0h-280l-49 49l64 63h153z" />
|
||||||
|
<glyph glyph-name="d" unicode="d"
|
||||||
|
d="M371 651l-63 -63h-153l-113 112h280zM140 427l-112 -70v329l112 -112v-147zM435 357l-113 70v147l63 63l50 -49v-231zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-112 -112v329l112 -56v-161zM371 49l-49 -49h-280l113 112h153z" />
|
||||||
|
<glyph glyph-name="e" unicode="e" horiz-adv-x="420"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM140 126l-112 -112v329l112 -56v-161zM420 0h-378l113 112h153z" />
|
||||||
|
<glyph glyph-name="f" unicode="f" horiz-adv-x="413"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM140 112l-112 -112v343l112 -56v-175z" />
|
||||||
|
<glyph glyph-name="g" unicode="g"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM140 427l-112 -70v231l49 49l63 -63v-147zM406 350l-98 -49h-70l-98 49l98 63h70zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153z" />
|
||||||
|
<glyph glyph-name="h" unicode="h"
|
||||||
|
d="M435 357l-113 70v161l113 112v-343zM140 427l-112 -70v343l112 -112v-161zM406 350l-98 -49h-153l-99 49l99 63h153zM435 0l-113 112v175l113 56v-343zM140 112l-112 -112v343l112 -56v-175z" />
|
||||||
|
<glyph glyph-name="i" unicode="i" horiz-adv-x="168"
|
||||||
|
d="M140 357l-112 70v161l112 112v-343zM140 0l-112 112v175l112 56v-343z" />
|
||||||
|
<glyph glyph-name="j" unicode="j"
|
||||||
|
d="M435 357l-113 70v161l113 112v-343zM435 14l-113 112v161l113 56v-329zM140 126l-112 -112v329l112 -56v-161zM420 0h-378l113 112h153z" />
|
||||||
|
<glyph glyph-name="k" unicode="k"
|
||||||
|
d="M435 624l-114 -189l-129 -1l162 266h81v-76zM140 427l-112 -70v343l112 -112v-161zM406 350l-98 -49h-153l-99 49l99 63h153zM435 0l-113 112v175l113 56v-343zM140 112l-112 -112v343l112 -56v-175z" />
|
||||||
|
<glyph glyph-name="l" unicode="l"
|
||||||
|
d="M140 427l-112 -70v343l112 -112v-161zM435 14l-113 112v161l113 56v-329zM140 126l-112 -112v329l112 -56v-161zM420 0h-378l113 112h153z" />
|
||||||
|
<glyph glyph-name="m" unicode="m" horiz-adv-x="756"
|
||||||
|
d="M715 700l-113 -112h-156l-68 70l-69 -70h-156l-111 112h673zM140 427l-112 -70v329l112 -112v-147zM728 357l-112 70v147l112 111v-328zM434 399l-56 -42l-56 42v175l55 57l57 -57v-175zM728 0l-112 112v175l112 56v-343zM435 112l-57 -112l-56 112v175l56 56l57 -56
|
||||||
|
v-175zM140 112l-112 -112v343l112 -56v-175z" />
|
||||||
|
<glyph glyph-name="n" unicode="n"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM435 0l-113 126v161l113 56v-343zM140 98l-112 -98v343l112 -56v-189z" />
|
||||||
|
<glyph glyph-name="o" unicode="o"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153z" />
|
||||||
|
<glyph glyph-name="p" unicode="p"
|
||||||
|
d="M371 651l-63 -63h-153l-113 112h280zM140 427l-112 -70v329l112 -112v-147zM435 357l-113 70v147l63 63l50 -49v-231zM406 350l-98 -49h-153l-99 49l99 63h153zM140 112l-112 -112v343l112 -56v-175z" />
|
||||||
|
<glyph glyph-name="q" unicode="q" horiz-adv-x="464"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM435 144l-50 -50l-63 63v130l113 56v-199zM140 123l-63 -60l-49 49v231l112 -56v-164zM265 0h-125l-51 51l67 60zM436 -143l-255 255h159
|
||||||
|
l96 -95v-160z" />
|
||||||
|
<glyph glyph-name="r" unicode="r"
|
||||||
|
d="M371 651l-63 -63h-153l-113 112h280zM140 427l-112 -70v329l112 -112v-147zM435 357l-113 70v147l63 63l50 -49v-231zM406 350l-98 -49h-153l-99 49l99 63h153zM140 112l-112 -112v343l112 -56v-175zM491 0l-164 111l-72 170h57l49 23z" />
|
||||||
|
<glyph glyph-name="s" unicode="s"
|
||||||
|
d="M435 700l-127 -112h-153l-64 63l49 49h295zM140 427l-112 -70v231l49 49l63 -63v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM435 112l-50 -49l-63 63v161l113 56v-231zM371 49l-49 -49h-294l127 112h153z" />
|
||||||
|
<glyph glyph-name="t" unicode="t" horiz-adv-x="379"
|
||||||
|
d="M393 700l-78 -112h-55l-68 70l-72 -70h-57l-77 112h407zM246 419l-55 -62l-59 62v152l59 64l55 -63v-153zM246 62l-56 -62l-60 62v219l60 63l56 -63v-219z" />
|
||||||
|
<glyph glyph-name="u" unicode="u"
|
||||||
|
d="M435 357l-113 70v161l113 112v-343zM140 427l-112 -70v343l112 -112v-161zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153z" />
|
||||||
|
<glyph glyph-name="v" unicode="v"
|
||||||
|
d="M435 357l-113 70v189l113 84v-343zM140 427l-112 -70v343l112 -84v-189zM435 344l-127 -344l-67 137l56 157zM227 135l-70 -135l-129 344l140 -51zM286 0h-110l57 111z" />
|
||||||
|
<glyph glyph-name="w" unicode="w" horiz-adv-x="757"
|
||||||
|
d="M728 357l-112 56v175l112 112v-343zM435 413l-57 -56l-56 56v175l56 112l57 -112v-175zM140 413l-112 -56v343l112 -112v-175zM435 126l-56 -57l-56 57v175l55 42l57 -42v-175zM729 113l-50 -48l-65 64v145l115 70v-231zM140 128l-64 -63l-48 48v232l112 -72v-145z
|
||||||
|
M666 52l-51 -52h-477l-49 51l63 61h158l68 -68l68 68h156z" />
|
||||||
|
<glyph glyph-name="x" unicode="x" horiz-adv-x="437"
|
||||||
|
d="M424 583l-132 -222h-63v111l132 228h63v-117zM209 361h-62l-133 228v111h68l127 -228v-111zM424 0h-68l-128 224v115h64l132 -229v-110zM209 224l-130 -224h-65v115l130 224h65v-115z" />
|
||||||
|
<glyph glyph-name="y" unicode="y"
|
||||||
|
d="M435 357l-113 70v161l113 112v-343zM140 427l-112 -70v343l112 -112v-161zM406 350l-98 -49h-153l-99 49l99 63h153zM289 63l-58 -63l-57 63v217h115v-217z" />
|
||||||
|
<glyph glyph-name="z" unicode="z" horiz-adv-x="436"
|
||||||
|
d="M337 700l-66 -112h-145l-111 112h322zM422 585l-150 -256l-70 105l158 266h62v-115zM265 313l-162 -313h-89v106l126 216zM421 0h-299l59 112h127z" />
|
||||||
|
<glyph glyph-name="braceleft" unicode="{" horiz-adv-x="280"
|
||||||
|
d="M266 700l-70 -112h-41l-64 63l49 49h126zM140 427l-112 -70v231l49 49l63 -63v-147zM140 126l-63 -63l-49 49v231l112 -56v-161zM266 0h-126l-49 49l64 63h41z" />
|
||||||
|
<glyph glyph-name="bar" unicode="|" horiz-adv-x="168"
|
||||||
|
d="M140 427l-112 -70v343l112 -112v-161zM140 112l-112 -112v343l112 -56v-175z" />
|
||||||
|
<glyph glyph-name="braceright" unicode="}" horiz-adv-x="280"
|
||||||
|
d="M189 651l-64 -63h-41l-70 112h126zM252 357l-112 56v161l62 63l50 -49v-231zM252 112l-50 -49l-62 63v147l112 70v-231zM189 49l-49 -49h-126l70 112h41z" />
|
||||||
|
<glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="578"
|
||||||
|
d="M555 470h-288l113 112h63zM300 580l-112 -112h-58l-113 112h283z" />
|
||||||
|
<glyph glyph-name="Adieresis" unicode="Ä"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM435 357l-113 70v147l113 112v-329zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM435 0l-113 112v175l113 56v-343zM140 112l-112 -112v343l112 -56v-175zM401 800l-82 -49l-77 49l77 63z
|
||||||
|
M215 800l-82 -49l-77 49l77 63z" />
|
||||||
|
<glyph glyph-name="Aring" unicode="Å"
|
||||||
|
d="M352 800l-98 -49h-70l-98 49l98 63h70zM420 700l-112 -112h-153l-113 112h378zM435 357l-113 70v147l113 112v-329zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM435 0l-113 112v175l113 56v-343zM140 112l-112 -112v343l112 -56v-175z
|
||||||
|
" />
|
||||||
|
<glyph glyph-name="Ccedilla" unicode="Ç" horiz-adv-x="420"
|
||||||
|
d="M287 -145l-70 67l70 69v-136zM420 700l-112 -112h-153l-64 63l49 49h280zM140 413l-112 -56v231l49 49l63 -63v-161zM140 126l-63 -63l-49 49v231l112 -70v-147zM420 0h-280l-49 49l64 63h153z" />
|
||||||
|
<glyph glyph-name="Eacute" unicode="É" horiz-adv-x="420"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM140 126l-112 -112v329l112 -56v-161zM420 0h-378l113 112h153zM391 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="Ntilde" unicode="Ñ"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM435 0l-113 126v161l113 56v-343zM140 98l-112 -98v343l112 -56v-189zM406 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="Odieresis" unicode="Ö"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153zM401 800
|
||||||
|
l-82 -49l-77 49l77 63zM215 800l-82 -49l-77 49l77 63z" />
|
||||||
|
<glyph glyph-name="Udieresis" unicode="Ü"
|
||||||
|
d="M435 357l-113 70v161l113 112v-343zM140 427l-112 -70v343l112 -112v-161zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153zM401 800l-82 -49l-77 49l77 63zM215 800l-82 -49l-77 49l77 63z
|
||||||
|
" />
|
||||||
|
<glyph glyph-name="aacute" unicode="á"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM435 357l-113 70v147l113 112v-329zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM435 0l-113 112v175l113 56v-343zM140 112l-112 -112v343l112 -56v-175zM403 800l-98 -49h-153l-99 49l99 63
|
||||||
|
h153z" />
|
||||||
|
<glyph glyph-name="agrave" unicode="à"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM435 357l-113 70v147l113 112v-329zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM435 0l-113 112v175l113 56v-343zM140 112l-112 -112v343l112 -56v-175zM406 800l-98 -49h-153l-99 49l99 63
|
||||||
|
h153z" />
|
||||||
|
<glyph glyph-name="acircumflex" unicode="â"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM435 357l-113 70v147l113 112v-329zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM435 0l-113 112v175l113 56v-343zM140 112l-112 -112v343l112 -56v-175zM406 800l-98 -49h-153l-99 49l99 63
|
||||||
|
h153z" />
|
||||||
|
<glyph glyph-name="adieresis" unicode="ä"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM435 357l-113 70v147l113 112v-329zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM435 0l-113 112v175l113 56v-343zM140 112l-112 -112v343l112 -56v-175zM401 800l-82 -49l-77 49l77 63z
|
||||||
|
M215 800l-82 -49l-77 49l77 63z" />
|
||||||
|
<glyph glyph-name="atilde" unicode="ã"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM435 357l-113 70v147l113 112v-329zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM435 0l-113 112v175l113 56v-343zM140 112l-112 -112v343l112 -56v-175zM406 800l-98 -49h-153l-99 49l99 63
|
||||||
|
h153z" />
|
||||||
|
<glyph glyph-name="aring" unicode="å"
|
||||||
|
d="M352 800l-98 -49h-70l-98 49l98 63h70zM420 700l-112 -112h-153l-113 112h378zM435 357l-113 70v147l113 112v-329zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM435 0l-113 112v175l113 56v-343zM140 112l-112 -112v343l112 -56v-175z
|
||||||
|
" />
|
||||||
|
<glyph glyph-name="ccedilla" unicode="ç" horiz-adv-x="420"
|
||||||
|
d="M287 -145l-70 67l70 69v-136zM420 700l-112 -112h-153l-64 63l49 49h280zM140 413l-112 -56v231l49 49l63 -63v-161zM140 126l-63 -63l-49 49v231l112 -70v-147zM420 0h-280l-49 49l64 63h153z" />
|
||||||
|
<glyph glyph-name="eacute" unicode="é" horiz-adv-x="420"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM140 126l-112 -112v329l112 -56v-161zM420 0h-378l113 112h153zM391 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="egrave" unicode="è" horiz-adv-x="420"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM140 126l-112 -112v329l112 -56v-161zM420 0h-378l113 112h153zM388 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="ecircumflex" unicode="ê" horiz-adv-x="420"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM140 126l-112 -112v329l112 -56v-161zM420 0h-378l113 112h153zM396 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="edieresis" unicode="ë" horiz-adv-x="420"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM140 126l-112 -112v329l112 -56v-161zM420 0h-378l113 112h153zM386 800l-82 -49l-77 49l77 63zM200 800l-82 -49l-77 49l77 63z" />
|
||||||
|
<glyph glyph-name="iacute" unicode="í" horiz-adv-x="168"
|
||||||
|
d="M140 357l-112 70v161l112 112v-343zM140 0l-112 112v175l112 56v-343zM265 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="igrave" unicode="ì" horiz-adv-x="168"
|
||||||
|
d="M140 357l-112 70v161l112 112v-343zM140 0l-112 112v175l112 56v-343zM268 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="icircumflex" unicode="î" horiz-adv-x="168"
|
||||||
|
d="M140 357l-112 70v161l112 112v-343zM140 0l-112 112v175l112 56v-343zM271 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="idieresis" unicode="ï" horiz-adv-x="168"
|
||||||
|
d="M140 357l-112 70v161l112 112v-343zM140 0l-112 112v175l112 56v-343zM254 800l-82 -49l-77 49l77 63zM68 800l-82 -49l-77 49l77 63z" />
|
||||||
|
<glyph glyph-name="ntilde" unicode="ñ"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM435 0l-113 126v161l113 56v-343zM140 98l-112 -98v343l112 -56v-189zM406 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="oacute" unicode="ó"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153zM406 800
|
||||||
|
l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="ograve" unicode="ò"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153zM406 800
|
||||||
|
l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="ocircumflex" unicode="ô"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153zM406 800
|
||||||
|
l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="odieresis" unicode="ö"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153zM401 800
|
||||||
|
l-82 -49l-77 49l77 63zM215 800l-82 -49l-77 49l77 63z" />
|
||||||
|
<glyph glyph-name="otilde" unicode="õ"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153zM406 800
|
||||||
|
l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="uacute" unicode="ú"
|
||||||
|
d="M435 357l-113 70v161l113 112v-343zM140 427l-112 -70v343l112 -112v-161zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153zM406 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="ugrave" unicode="ù"
|
||||||
|
d="M435 357l-113 70v161l113 112v-343zM140 427l-112 -70v343l112 -112v-161zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153zM406 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="ucircumflex" unicode="û"
|
||||||
|
d="M435 357l-113 70v161l113 112v-343zM140 427l-112 -70v343l112 -112v-161zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153zM403 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="udieresis" unicode="ü"
|
||||||
|
d="M435 357l-113 70v161l113 112v-343zM140 427l-112 -70v343l112 -112v-161zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153zM401 800l-82 -49l-77 49l77 63zM215 800l-82 -49l-77 49l77 63z
|
||||||
|
" />
|
||||||
|
<glyph glyph-name="dagger" unicode="†" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="degree" unicode="°" horiz-adv-x="416"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="cent" unicode="¢" horiz-adv-x="436"
|
||||||
|
d="M283 733l-60 -58l-54 56v55l56 54l58 -53v-54zM422 700l-115 -112h-152l-61 61l46 51h30l54 -55l56 55h142zM140 412l-111 -54v229l50 50l61 -64v-161zM140 123l-63 -62l-49 49v234l112 -71v-150zM421 0h-139l-56 54l-56 -54h-31l-46 46l63 66h153zM282 -87l-56 -58
|
||||||
|
l-57 60v54l57 55l56 -55v-56z" />
|
||||||
|
<glyph glyph-name="sterling" unicode="£" horiz-adv-x="532"
|
||||||
|
d="M490 700l-93 -112h-157l-62 61l50 51h262zM227 430l-55 -61l-57 59v160l48 48l64 -63v-143zM367 351l-95 -50h-32l-54 56l54 56h33zM156 358l-53 -57h-35l-82 57l67 55h49zM227 124l-113 -124v286l56 58l57 -58v-162zM518 0h-378l102 112h181z" />
|
||||||
|
<glyph glyph-name="section" unicode="§"
|
||||||
|
d="M435 700l-127 -112h-153l-64 63l49 49h295zM140 471l-112 -70v187l49 49l63 -63v-103zM409 395l-102 -49h-153l-97 49l97 63h162zM140 171l-113 -56v274l113 -57v-161zM434 115l-112 56v161l112 55v-272zM406 108l-99 -63h-153l-98 63l98 49h153zM434 -70l-49 -49l-63 63
|
||||||
|
v87l112 70v-171zM371 -133l-49 -49h-295l127 112h153z" />
|
||||||
|
<glyph glyph-name="bullet" unicode="•" horiz-adv-x="354"
|
||||||
|
d="M308 350q0 -55 -38 -93t-93 -38t-93 38t-38 93t38 93t93 38t93 -38t38 -93z" />
|
||||||
|
<glyph glyph-name="paragraph" unicode="¶" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="germandbls" unicode="ß" horiz-adv-x="926"
|
||||||
|
d="M898 700l-127 -112h-153l-64 63l49 49h295zM435 700l-127 -112h-153l-64 63l49 49h295zM603 427l-112 -70v231l49 49l63 -63v-147zM140 427l-112 -70v231l49 49l63 -63v-147zM869 350l-98 -49h-153l-99 49l99 63h153zM406 350l-98 -49h-153l-99 49l99 63h153zM898 112
|
||||||
|
l-50 -49l-63 63v161l113 56v-231zM435 112l-50 -49l-63 63v161l113 56v-231zM834 49l-49 -49h-294l127 112h153zM371 49l-49 -49h-294l127 112h153z" />
|
||||||
|
<glyph glyph-name="registered" unicode="®" horiz-adv-x="768"
|
||||||
|
d="M719 316q0 -139 -98 -237t-237 -98q-140 0 -237.5 97.5t-97.5 237.5t97.5 237.5t237.5 97.5q139 0 237 -98t98 -237zM681 316q0 123 -87.5 209.5t-210.5 86.5q-122 0 -209 -87t-87 -210q0 -122 87 -209t210 -87q122 0 209.5 86.5t87.5 210.5zM580 147h-92l-129 172h-26
|
||||||
|
v-127q0 -15 14 -21.5t32 -6.5v-17h-155v17q21 0 34 6t13 20v280q0 21 -6 25t-37 4v17h163q27 0 42 -1.5t31 -7.5t28 -14q17 -12 23 -22.5t9 -23t3 -22.5q0 -22 -8.5 -40t-22 -30t-24.5 -17q-20 -10 -43 -10l116 -150q5 -7 12.5 -10.5t22.5 -3.5v-17zM461 430q-3 34 -24 50
|
||||||
|
q-15 12 -33 12l-51 4q-8 0 -14.5 -5.5t-6.5 -14.5l1 -135h16q17 0 28 1t26 7q59 20 59 69q0 8 -1 12z" />
|
||||||
|
<glyph glyph-name="copyright" unicode="©" horiz-adv-x="768"
|
||||||
|
d="M720 321q0 -140 -97 -238t-238 -98q-139 0 -237 98t-98 238t97.5 237.5t237.5 97.5t237.5 -97.5t97.5 -237.5zM682 321q0 122 -87 209t-210 87q-122 0 -209.5 -86.5t-87.5 -209.5t87 -210t210 -87q122 0 209.5 86.5t87.5 210.5zM535 196q-32 -32 -51 -44q-42 -27 -93 -27
|
||||||
|
q-20 0 -30 1t-32 7q-60 16 -93 66.5t-33 113.5q0 49 18.5 89.5t57.5 68.5q26 18 54 26.5t52 8.5q30 0 63 -9q13 -4 27 -8q4 -1 12 -1q20 0 23 16h19l4 -125h-20q-4 24 -18 47q-19 31 -48 44q-10 4 -25 7t-25 3q-56 0 -92 -45q-19 -24 -29 -57t-10 -66q0 -62 30 -106t84 -44
|
||||||
|
q48 0 74 7.5t58 34.5l12 10z" />
|
||||||
|
<glyph glyph-name="trademark" unicode="™" horiz-adv-x="865"
|
||||||
|
d="M831 285h-155v17q25 0 37 5.5t12 22.5v269l-130 -314h-18l-140 298v-253q0 -16 12.5 -22t37.5 -6v-17h-125v17q25 0 37 5.5t12 22.5v273q0 21 -9 27.5t-28 6.5h-14v17h111l128 -280l122 280h109v-17q-24 0 -35.5 -3.5t-11.5 -21.5v-282q0 -16 12 -22t36 -6v-17zM332 560
|
||||||
|
l-18 -1q0 35 -17 54t-58 19l-36 1v-303q0 -16 12.5 -22t36.5 -6v-17h-156v17q25 0 37.5 5.5t12.5 22.5v303l-36 -1q-40 0 -57.5 -19t-17.5 -54l-18 1l3 94h309z" />
|
||||||
|
<glyph glyph-name="acute" unicode="´"
|
||||||
|
d="M406 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="dieresis" unicode="¨" horiz-adv-x="0"
|
||||||
|
d="M401 800l-82 -49l-77 49l77 63zM215 800l-82 -49l-77 49l77 63z" />
|
||||||
|
<glyph glyph-name="AE" unicode="Æ" horiz-adv-x="883"
|
||||||
|
d="M883 700l-112 -112h-153l-113 112h378zM420 700l-112 -112h-153l-113 112h378zM603 427l-112 -70v329l112 -112v-147zM435 357l-113 70v147l113 112v-329zM140 427l-112 -70v329l112 -112v-147zM869 350l-98 -49h-153l-99 49l99 63h153zM406 350l-98 -49h-153l-99 49
|
||||||
|
l99 63h153zM603 126l-112 -112v329l112 -56v-161zM435 0l-113 112v175l113 56v-343zM140 112l-112 -112v343l112 -56v-175zM883 0h-378l113 112h153z" />
|
||||||
|
<glyph glyph-name="Oslash" unicode="Ø"
|
||||||
|
d="M309 498l-81 -135v211h81v-76zM234 126h-81v76l81 135v-211zM371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56
|
||||||
|
v-161zM371 49l-49 -49h-182l-49 49l64 63h153z" />
|
||||||
|
<glyph glyph-name="plusminus" unicode="±" horiz-adv-x="571"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="yen" unicode="¥"
|
||||||
|
d="M435 357l-113 70v161l113 112v-343zM140 427l-112 -70v343l112 -112v-161zM406 350l-98 -49h-153l-99 49l99 63h153zM289 234l-60 -45l-55 44v47h115v-46zM438 174l-78 -57h-51l-73 55l75 57h49zM223 172l-80 -55h-42l-75 55l75 57h47zM287 58l-57 -58l-57 58v56l57 42
|
||||||
|
l57 -43v-55z" />
|
||||||
|
<glyph glyph-name="mu" unicode="µ" horiz-adv-x="599"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="ordfeminine" unicode="ª" horiz-adv-x="324"
|
||||||
|
d="M294 700l-78 -78h-108l-79 78h265zM304 460l-79 49v103l79 78v-230zM98 509l-78 -49v230l78 -78v-103zM284 455l-68 -34h-108l-69 34l69 44h108zM304 210l-79 78v123l79 39v-240zM98 288l-78 -78v240l78 -39v-123z" />
|
||||||
|
<glyph glyph-name="ordmasculine" unicode="º" horiz-adv-x="324"
|
||||||
|
d="M260 666l-44 -44h-108l-44 44l34 34h127zM304 460l-79 49v103l44 44l35 -34v-162zM98 509l-78 -49v162l34 34l44 -44v-103zM304 288l-35 -34l-44 44v113l79 39v-162zM98 298l-44 -44l-34 34v162l78 -39v-113zM260 244l-35 -34h-127l-34 34l44 44h108z" />
|
||||||
|
<glyph glyph-name="ae" unicode="æ" horiz-adv-x="883"
|
||||||
|
d="M883 700l-112 -112h-153l-113 112h378zM420 700l-112 -112h-153l-113 112h378zM603 427l-112 -70v329l112 -112v-147zM435 357l-113 70v147l113 112v-329zM140 427l-112 -70v329l112 -112v-147zM869 350l-98 -49h-153l-99 49l99 63h153zM406 350l-98 -49h-153l-99 49
|
||||||
|
l99 63h153zM603 126l-112 -112v329l112 -56v-161zM435 0l-113 112v175l113 56v-343zM140 112l-112 -112v343l112 -56v-175zM883 0h-378l113 112h153z" />
|
||||||
|
<glyph glyph-name="oslash" unicode="ø"
|
||||||
|
d="M309 498l-81 -135v211h81v-76zM234 126h-81v76l81 135v-211zM371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56
|
||||||
|
v-161zM371 49l-49 -49h-182l-49 49l64 63h153z" />
|
||||||
|
<glyph glyph-name="questiondown" unicode="¿" horiz-adv-x="406"
|
||||||
|
d="M308 525h-112v175h112v-175zM308 287h-154l-98 63l98 49h154v-112zM140 126l-63 -63l-49 49v231l112 -70v-147zM406 0h-266l-49 49l63 63h154z" />
|
||||||
|
<glyph glyph-name="exclamdown" unicode="¡" horiz-adv-x="168"
|
||||||
|
d="M140 525h-112v175h112v-175zM140 112l-112 -112v483l112 -70v-301z" />
|
||||||
|
<glyph glyph-name="logicalnot" unicode="¬" horiz-adv-x="742"
|
||||||
|
d="M707 0h-58v242h-633v58h691v-300z" />
|
||||||
|
<glyph glyph-name="florin" unicode="ƒ" horiz-adv-x="520"
|
||||||
|
d="M515 644q0 -19 -15 -33t-37 -14q-16 0 -26 16q-12 15 -12 22l1 5l11 25l1 6q0 15 -21 15q-26 0 -48 -29t-28 -73l-20 -137l-2 -13h133l-10 -36h-127l-32 -258l-11 -48l-26 -116q-15 -66 -60 -126q-39 -50 -99 -50q-38 0 -62 20t-24 51q0 22 14 37t36 15q18 0 29.5 -10.5
|
||||||
|
t11.5 -26.5q0 -6 -8 -30l-4 -11l-1 -7v-5l6 -5h10q31 0 49 27.5t31 92.5l12 61l4 36l36 353h-122l14 36h116q16 130 68.5 204.5t130.5 74.5q33 0 57 -20t24 -49z" />
|
||||||
|
<glyph glyph-name="guillemotleft" unicode="«" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="guillemotright" unicode="»" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="ellipsis" unicode="…" horiz-adv-x="600"
|
||||||
|
d="M563 0h-112v175h112v-175zM363 0h-112v175h112v-175zM163 0h-112v175h112v-175z" />
|
||||||
|
<glyph glyph-name="nonbreakingspace" unicode=" " horiz-adv-x="282"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="Agrave" unicode="À"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM435 357l-113 70v147l113 112v-329zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM435 0l-113 112v175l113 56v-343zM140 112l-112 -112v343l112 -56v-175zM406 800l-98 -49h-153l-99 49l99 63
|
||||||
|
h153z" />
|
||||||
|
<glyph glyph-name="Atilde" unicode="Ã"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM435 357l-113 70v147l113 112v-329zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM435 0l-113 112v175l113 56v-343zM140 112l-112 -112v343l112 -56v-175zM406 800l-98 -49h-153l-99 49l99 63
|
||||||
|
h153z" />
|
||||||
|
<glyph glyph-name="Otilde" unicode="Õ"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153zM406 800
|
||||||
|
l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="OE" unicode="Œ" horiz-adv-x="883"
|
||||||
|
d="M883 700l-112 -112h-153l-113 112h378zM371 651l-63 -63h-153l-64 63l49 49h182zM603 427l-112 -70v329l112 -112v-147zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM869 350l-98 -49h-153l-99 49l99 63h153zM435 112l-50 -49
|
||||||
|
l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM603 126l-112 -112v329l112 -56v-161zM883 0h-378l113 112h153zM371 49l-49 -49h-182l-49 49l64 63h153z" />
|
||||||
|
<glyph glyph-name="oe" unicode="œ" horiz-adv-x="883"
|
||||||
|
d="M883 700l-112 -112h-153l-113 112h378zM371 651l-63 -63h-153l-64 63l49 49h182zM603 427l-112 -70v329l112 -112v-147zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM869 350l-98 -49h-153l-99 49l99 63h153zM435 112l-50 -49
|
||||||
|
l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM603 126l-112 -112v329l112 -56v-161zM883 0h-378l113 112h153zM371 49l-49 -49h-182l-49 49l64 63h153z" />
|
||||||
|
<glyph glyph-name="endash" unicode="–" horiz-adv-x="400"
|
||||||
|
d="M400 408l-46 -111h-354l47 111h353z" />
|
||||||
|
<glyph glyph-name="emdash" unicode="—" horiz-adv-x="800"
|
||||||
|
d="M800 408l-46 -111h-754l47 111h753z" />
|
||||||
|
<glyph glyph-name="quotedblleft" unicode="“" horiz-adv-x="325"
|
||||||
|
d="M303 413h-111v287h111v-287zM133 413h-112v287h112v-287z" />
|
||||||
|
<glyph glyph-name="quotedblright" unicode="”" horiz-adv-x="325"
|
||||||
|
d="M303 413h-111v287h111v-287zM133 413h-112v287h112v-287z" />
|
||||||
|
<glyph glyph-name="quoteleft" unicode="‘" horiz-adv-x="155"
|
||||||
|
d="M133 413h-112v287h112v-287z" />
|
||||||
|
<glyph glyph-name="quoteright" unicode="’" horiz-adv-x="155"
|
||||||
|
d="M133 413h-112v287h112v-287z" />
|
||||||
|
<glyph glyph-name="divide" unicode="÷" horiz-adv-x="571"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="ydieresis" unicode="ÿ"
|
||||||
|
d="M401 800l-82 -49l-77 49l77 63zM215 800l-82 -49l-77 49l77 63zM435 357l-113 70v161l113 112v-343zM140 427l-112 -70v343l112 -112v-161zM406 350l-98 -49h-153l-99 49l99 63h153zM289 63l-58 -63l-57 63v217h115v-217z" />
|
||||||
|
<glyph glyph-name="Ydieresis" unicode="Ÿ"
|
||||||
|
d="M401 800l-82 -49l-77 49l77 63zM215 800l-82 -49l-77 49l77 63zM435 357l-113 70v161l113 112v-343zM140 427l-112 -70v343l112 -112v-161zM406 350l-98 -49h-153l-99 49l99 63h153zM289 63l-58 -63l-57 63v217h115v-217z" />
|
||||||
|
<glyph glyph-name="currency" unicode="¤" horiz-adv-x="555"
|
||||||
|
d="M542 184l-70 -72l-87 84q-51 -30 -109 -30q-30 0 -57 7.5t-53 23.5l-81 -85l-71 72l81 85q-30 51 -30 109q0 30 7.5 57t23.5 53l-82 84l71 72l85 -85q49 30 106 30q60 0 110 -31l86 86l70 -72l-84 -85q30 -51 30 -109q0 -30 -7.5 -56.5t-22.5 -52.5zM389 378q0 47 -33 80
|
||||||
|
t-80 33t-80 -33t-33 -80t33 -80t80 -33t80 33t33 80z" />
|
||||||
|
<glyph glyph-name="guilsinglleft" unicode="‹" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="guilsinglright" unicode="›" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="daggerdbl" unicode="‡" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="periodcentered" unicode="·" horiz-adv-x="200"
|
||||||
|
d="M163 266h-112v175h112v-175z" />
|
||||||
|
<glyph glyph-name="periodcentered" unicode="∙" horiz-adv-x="200"
|
||||||
|
d="M163 266h-112v175h112v-175z" />
|
||||||
|
<glyph glyph-name="quotesinglbase" unicode="‚" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="quotedblbase" unicode="„" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="perthousand" unicode="‰" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="Acircumflex" unicode="Â"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM435 357l-113 70v147l113 112v-329zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM435 0l-113 112v175l113 56v-343zM140 112l-112 -112v343l112 -56v-175zM406 800l-98 -49h-153l-99 49l99 63
|
||||||
|
h153z" />
|
||||||
|
<glyph glyph-name="Ecircumflex" unicode="Ê" horiz-adv-x="420"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM140 126l-112 -112v329l112 -56v-161zM420 0h-378l113 112h153zM396 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="Aacute" unicode="Á"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM435 357l-113 70v147l113 112v-329zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM435 0l-113 112v175l113 56v-343zM140 112l-112 -112v343l112 -56v-175zM403 800l-98 -49h-153l-99 49l99 63
|
||||||
|
h153z" />
|
||||||
|
<glyph glyph-name="Edieresis" unicode="Ë" horiz-adv-x="420"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM140 126l-112 -112v329l112 -56v-161zM420 0h-378l113 112h153zM386 800l-82 -49l-77 49l77 63zM200 800l-82 -49l-77 49l77 63z" />
|
||||||
|
<glyph glyph-name="Egrave" unicode="È" horiz-adv-x="420"
|
||||||
|
d="M420 700l-112 -112h-153l-113 112h378zM140 427l-112 -70v329l112 -112v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM140 126l-112 -112v329l112 -56v-161zM420 0h-378l113 112h153zM388 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="Iacute" unicode="Í" horiz-adv-x="168"
|
||||||
|
d="M140 357l-112 70v161l112 112v-343zM140 0l-112 112v175l112 56v-343zM265 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="Icircumflex" unicode="Î" horiz-adv-x="168"
|
||||||
|
d="M140 357l-112 70v161l112 112v-343zM140 0l-112 112v175l112 56v-343zM271 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="Idieresis" unicode="Ï" horiz-adv-x="168"
|
||||||
|
d="M140 357l-112 70v161l112 112v-343zM140 0l-112 112v175l112 56v-343zM254 800l-82 -49l-77 49l77 63zM68 800l-82 -49l-77 49l77 63z" />
|
||||||
|
<glyph glyph-name="Igrave" unicode="Ì" horiz-adv-x="168"
|
||||||
|
d="M140 357l-112 70v161l112 112v-343zM140 0l-112 112v175l112 56v-343zM268 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="Oacute" unicode="Ó"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153zM406 800
|
||||||
|
l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="Ocircumflex" unicode="Ô"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153zM406 800
|
||||||
|
l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="Ograve" unicode="Ò"
|
||||||
|
d="M371 651l-63 -63h-153l-64 63l49 49h182zM435 357l-113 70v147l63 63l50 -49v-231zM140 427l-112 -70v231l49 49l63 -63v-147zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153zM406 800
|
||||||
|
l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="Uacute" unicode="Ú"
|
||||||
|
d="M435 357l-113 70v161l113 112v-343zM140 427l-112 -70v343l112 -112v-161zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153zM406 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="Ucircumflex" unicode="Û"
|
||||||
|
d="M435 357l-113 70v161l113 112v-343zM140 427l-112 -70v343l112 -112v-161zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153zM403 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="Ugrave" unicode="Ù"
|
||||||
|
d="M435 357l-113 70v161l113 112v-343zM140 427l-112 -70v343l112 -112v-161zM435 112l-50 -49l-63 63v161l113 56v-231zM140 126l-63 -63l-49 49v231l112 -56v-161zM371 49l-49 -49h-182l-49 49l64 63h153zM406 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="circumflex" unicode="ˆ"
|
||||||
|
d="M406 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="tilde" unicode="˜"
|
||||||
|
d="M406 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="macron" unicode="¯"
|
||||||
|
d="M406 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="cedilla" unicode="¸" horiz-adv-x="420"
|
||||||
|
d="M287 -145l-70 67l70 69v-136z" />
|
||||||
|
<glyph glyph-name="Scaron" unicode="Š"
|
||||||
|
d="M435 700l-127 -112h-153l-64 63l49 49h295zM140 427l-112 -70v231l49 49l63 -63v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM435 112l-50 -49l-63 63v161l113 56v-231zM371 49l-49 -49h-294l127 112h153zM406 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="scaron" unicode="š"
|
||||||
|
d="M435 700l-127 -112h-153l-64 63l49 49h295zM140 427l-112 -70v231l49 49l63 -63v-147zM406 350l-98 -49h-153l-99 49l99 63h153zM435 112l-50 -49l-63 63v161l113 56v-231zM371 49l-49 -49h-294l127 112h153zM406 800l-98 -49h-153l-99 49l99 63h153z" />
|
||||||
|
<glyph glyph-name="Zcaron" unicode="Ž" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="zcaron" unicode="ž" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="brokenbar" unicode="¦" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="Eth" unicode="Ð" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="eth" unicode="ð" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="Yacute" unicode="Ý" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="yacute" unicode="ý" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="Thorn" unicode="Þ" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="thorn" unicode="þ" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="minus" unicode="­" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="multiply" unicode="×" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="onesuperior" unicode="¹" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="twosuperior" unicode="²" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="threesuperior" unicode="³" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="onehalf" unicode="½" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="onequarter" unicode="¼" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
<glyph glyph-name="threequarters" unicode="¾" horiz-adv-x="0"
|
||||||
|
/>
|
||||||
|
</font>
|
||||||
|
</defs></svg>
|
After Width: | Height: | Size: 49 KiB |
BIN
www/css/LED.ttf
Normal file
BIN
www/css/LED.woff
Normal file
377
www/css/common.css
Normal file
@ -0,0 +1,377 @@
|
|||||||
|
.grid-container {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr 1fr;
|
||||||
|
grid-template-rows: 0.8fr 47px 0.7fr 2.8fr;
|
||||||
|
grid-template-areas: ". . ." ". . ." ". . ." ". . .";
|
||||||
|
}
|
||||||
|
.buttons-container {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr 1fr;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
grid-template-areas: ". . ." ". . ." ". . ." ". . .";
|
||||||
|
}
|
||||||
|
.buttons-6container {
|
||||||
|
display: grid;
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
gap: 1px 1px;
|
||||||
|
grid-template-areas: ". . . . . .";
|
||||||
|
}
|
||||||
|
.buttons-7container {
|
||||||
|
display: grid;
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
gap: 1px 1px;
|
||||||
|
grid-template-areas: ". . . . . . .";
|
||||||
|
}
|
||||||
|
#title{
|
||||||
|
font-family: "Lucida Grande", Verdana, Arial, sans-serif;
|
||||||
|
text-align: center;
|
||||||
|
color: #ddd;
|
||||||
|
font-size: 4ex;
|
||||||
|
}
|
||||||
|
#text{
|
||||||
|
font-family: "Lucida Grande", Verdana, Arial, sans-serif;
|
||||||
|
text-align: center;
|
||||||
|
color: #ccc;
|
||||||
|
font-size: 2ex;
|
||||||
|
}
|
||||||
|
.encoders{
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
.mainGrid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
gap: 1px 1px;
|
||||||
|
grid-template-areas: ". . . . . . . .";
|
||||||
|
}
|
||||||
|
.buttonsGrid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 70px 70px 70px 70px 70px 70px 70px 70px 70px 70px 70px 70px;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
gap: 1px 1px;
|
||||||
|
grid-template-areas: ". . . . ." ". . . . ." ". . . . .";
|
||||||
|
}
|
||||||
|
.FxGrid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 70px 70px 70px 70px 70px 70px 70px;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
gap: 1px 1px;
|
||||||
|
align-items: stretch;
|
||||||
|
background-color: #020202;
|
||||||
|
grid-template-areas: ". . . . . . ,";
|
||||||
|
}
|
||||||
|
.RGYGrid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 70px 70px 70px;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
background-color: #020202;
|
||||||
|
gap: 1px 1px;
|
||||||
|
grid-template-areas: ". . .";
|
||||||
|
}
|
||||||
|
.RGBGrid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 70px 70px 70px 70px 70px 70px;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
gap: 1px 1px;
|
||||||
|
background-color: #020202;
|
||||||
|
grid-template-areas: ". . . . . .";
|
||||||
|
}
|
||||||
|
.TopRackGrid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 120px 600px 30px 30px;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
gap: 1px 1px;
|
||||||
|
grid-template-areas: ". . . .";
|
||||||
|
}
|
||||||
|
.TextGrid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 250px 370px;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
gap: 1px 1px;
|
||||||
|
grid-template-areas: ". .";
|
||||||
|
}
|
||||||
|
.Rackgrid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 170px 70px 70px 70px 70px 70px 70px 70px 70px 70px;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
gap: 1px 1px;
|
||||||
|
grid-template-areas: ". . . . . . . . . .";
|
||||||
|
}
|
||||||
|
.Settingrid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 110px 80px 80px 100px 80px 80px 140px 40px;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
gap: 1px 1px;
|
||||||
|
grid-template-areas: ". . . . . . . . .";
|
||||||
|
}
|
||||||
|
.ColorRackGrid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 170px 70px 70px 70px 70px 70px 70px 70px 70px 70px;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
gap: 1px 1px;
|
||||||
|
grid-template-areas: ". . . . . . . . . .";
|
||||||
|
}
|
||||||
|
.grid3 {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr 1fr;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
gap: 1px 1px;
|
||||||
|
grid-template-areas: ". . .";
|
||||||
|
}
|
||||||
|
.encodersGrid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
|
||||||
|
gap: 1px 1px;
|
||||||
|
grid-template-areas: "." "." "." "." ".";
|
||||||
|
}
|
||||||
|
.webaudiobut{
|
||||||
|
border-radius: 4px;
|
||||||
|
border : #002020 1px solid;
|
||||||
|
-webkit-box-shadow: 2px 4px 8px -1px rgba(0,0,0,0.72);
|
||||||
|
-moz-box-shadow: 2px 4px 8px -1px rgba(0,0,0,0.72);
|
||||||
|
box-shadow: 2px 4px 8px -1px rgba(0,0,0,0.72);
|
||||||
|
background-image: linear-gradient(174deg, #111,#030303);
|
||||||
|
}
|
||||||
|
.content{
|
||||||
|
width : 800px;
|
||||||
|
padding : 10px 20px;
|
||||||
|
margin : 5px auto;
|
||||||
|
border-radius: 10px;
|
||||||
|
border : #212121 2px solid;
|
||||||
|
background-color: #000000;
|
||||||
|
background-image: linear-gradient(174deg, #222,#111);
|
||||||
|
-webkit-box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
-moz-box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
}
|
||||||
|
.Rackcontent{
|
||||||
|
width : 845px;
|
||||||
|
border-radius: 3px;
|
||||||
|
margin : 1px auto;
|
||||||
|
border : #111 2px solid;
|
||||||
|
background-color: #111;
|
||||||
|
-webkit-box-shadow: 4px 6px 44px -1px rgba(0,0,0,0.72);
|
||||||
|
-moz-box-shadow: 4px 6px 44px -1px rgba(0,0,0,0.72);
|
||||||
|
box-shadow: 4px 6px 44px -1px rgba(0,0,0,0.72);
|
||||||
|
}
|
||||||
|
.content-title {
|
||||||
|
color : #ddd;
|
||||||
|
border : none;
|
||||||
|
margin-top : 15px;
|
||||||
|
padding-bottom : 0;
|
||||||
|
margin-bottom : 0;
|
||||||
|
background-color : inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-names {
|
||||||
|
padding : 10px;
|
||||||
|
padding-top : 0;
|
||||||
|
border : none;
|
||||||
|
box-shadow : none;
|
||||||
|
background-color : inherit;
|
||||||
|
}
|
||||||
|
.etherled {
|
||||||
|
color: #666;
|
||||||
|
font-family: 'Lucida Grande', Verdana, Arial, sans-serif;
|
||||||
|
font-size: 1.5ex;
|
||||||
|
text-align: middle;
|
||||||
|
margin-left: 20px
|
||||||
|
margin-top: 10px
|
||||||
|
}
|
||||||
|
|
||||||
|
a { text-decoration: none;
|
||||||
|
border: none;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
a:hover, a:focus {
|
||||||
|
border: none;
|
||||||
|
outline: none;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
position: relative;
|
||||||
|
line-height: 3ex;
|
||||||
|
color: #666;
|
||||||
|
text-align: middle;
|
||||||
|
font-family: 'Lucida Grande', Verdana, Arial, sans-serif;
|
||||||
|
font-size: 1.7ex;
|
||||||
|
margin-top : 1px;
|
||||||
|
text-shadow: 2px 3px #000;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
|
||||||
|
font-family: "Bus Led Display Small";
|
||||||
|
src: url("7f37946c45abf5482c243bf326f82628.eot"); /* IE9*/
|
||||||
|
src: url("7f37946c45abf5482c243bf326f82628.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */
|
||||||
|
url("7f37946c45abf5482c243bf326f82628.woff2") format("woff2"), /* chrome、firefox */
|
||||||
|
url("7f37946c45abf5482c243bf326f82628.woff") format("woff"), /* chrome、firefox */
|
||||||
|
url("7f37946c45abf5482c243bf326f82628.ttf") format("truetype"), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
|
||||||
|
url("7f37946c45abf5482c243bf326f82628.svg#Bus Led Display Small") format("svg"); /* iOS 4.1- */
|
||||||
|
}
|
||||||
|
|
||||||
|
.busled{
|
||||||
|
color: #ccc;
|
||||||
|
background: #000;
|
||||||
|
font-family:"Bus Led Display Small" !important;
|
||||||
|
font-size:2em;
|
||||||
|
font-style:normal;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-webkit-text-stroke-width: 0.7px;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
}
|
||||||
|
.navled{
|
||||||
|
color: #ccc;
|
||||||
|
background: #000;
|
||||||
|
font-family:"Bus Led Display Small" !important;
|
||||||
|
font-size:1.5em;
|
||||||
|
margin-left: 2px;
|
||||||
|
font-style:normal;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-webkit-text-stroke-width: 0.7px;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
}
|
||||||
|
.submit {
|
||||||
|
background: #000;
|
||||||
|
color: #f0f0f0;
|
||||||
|
width: 90px;
|
||||||
|
height: 20px;
|
||||||
|
text-align: center;
|
||||||
|
margin-left: 15px;
|
||||||
|
vertical-align: middle;
|
||||||
|
font-family:"Bus Led Display Small" !important;
|
||||||
|
font-size:1.1em;
|
||||||
|
font-style:normal;
|
||||||
|
border: 1px solid #555;
|
||||||
|
-webkit-box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
-moz-box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
}
|
||||||
|
.submite {
|
||||||
|
background: #000;
|
||||||
|
color: #f0f0f0;
|
||||||
|
width: 120px;
|
||||||
|
height: 25px;
|
||||||
|
text-align: center;
|
||||||
|
margin-left: 15px;
|
||||||
|
vertical-align: middle;
|
||||||
|
font-family:"Bus Led Display Small" !important;
|
||||||
|
font-size:1.3em;
|
||||||
|
font-style:normal;
|
||||||
|
border: 1px solid #033;
|
||||||
|
-webkit-box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
-moz-box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
}
|
||||||
|
.submitalign {
|
||||||
|
background: #000;
|
||||||
|
color: #f0f0f0;
|
||||||
|
width: 60px;
|
||||||
|
height: 30px;
|
||||||
|
text-align: center;
|
||||||
|
margin-left: 15px;
|
||||||
|
vertical-align: middle;
|
||||||
|
font-family:"Bus Led Display Small" !important;
|
||||||
|
font-size:1.4em;
|
||||||
|
font-style:normal;
|
||||||
|
border: 1px solid #001515;
|
||||||
|
-webkit-box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
-moz-box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
}
|
||||||
|
.submites {
|
||||||
|
background: #000;
|
||||||
|
color: #f0f0f0;
|
||||||
|
width: 30px;
|
||||||
|
height: 35px;
|
||||||
|
text-align: center;
|
||||||
|
margin-left: 15px;
|
||||||
|
vertical-align: middle;
|
||||||
|
font-family:"Bus Led Display Small" !important;
|
||||||
|
font-size:1.3em;
|
||||||
|
font-style:normal;
|
||||||
|
border: 1px solid #445;
|
||||||
|
-webkit-box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
-moz-box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
}
|
||||||
|
.submitext{
|
||||||
|
font-family: 'Bus Led Display Small';
|
||||||
|
color: #fff;
|
||||||
|
background: #000;
|
||||||
|
font-size: 5ex;"
|
||||||
|
border-radius: 5px;
|
||||||
|
border : #222222 2px solid;
|
||||||
|
-webkit-box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
-moz-box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
|
||||||
|
}
|
||||||
|
#overlay {
|
||||||
|
position: absolute;
|
||||||
|
top: 200px;
|
||||||
|
left: 650px;
|
||||||
|
-o-transform : scaleX(-1);
|
||||||
|
-webkit-transform : scaleX(-1);
|
||||||
|
transform : scaleX(-1);
|
||||||
|
-ms-filter : fliph; /*IE*/
|
||||||
|
filter : fliph; /*IE*/
|
||||||
|
}
|
||||||
|
|
||||||
|
#videoel {
|
||||||
|
-o-transform : scaleX(-1);
|
||||||
|
-webkit-transform : scaleX(-1);
|
||||||
|
transform : scaleX(-1);
|
||||||
|
-ms-filter : fliph; /*IE*/
|
||||||
|
filter : fliph; /*IE*/
|
||||||
|
}
|
||||||
|
.lasertext {
|
||||||
|
font-size: small;
|
||||||
|
font-family: Helvetica, Verdana, Arial, sans-serif;
|
||||||
|
color: #bbb;
|
||||||
|
}
|
||||||
|
.mgalign {
|
||||||
|
color: #aaa;
|
||||||
|
text-align: middle;
|
||||||
|
font-family: 'Lucida Grande', Verdana, Arial, sans-serif;
|
||||||
|
display: grid;
|
||||||
|
height: 400px;
|
||||||
|
grid-template-columns: 200px 200px 200px 200px;
|
||||||
|
grid-template-rows: 1Fr;
|
||||||
|
|
||||||
|
border-width: 1px solid #445;
|
||||||
|
gap: 1px 1px;
|
||||||
|
grid-template-areas: ". . . . . . . . . .";
|
||||||
|
}
|
||||||
|
.lasergrid {
|
||||||
|
display: grid;
|
||||||
|
height: 323px;
|
||||||
|
width: 200px;
|
||||||
|
grid-template-columns: 62px 62px 62px;
|
||||||
|
grid-template-rows: 30px 19px 10px 55px 19px 20px 16px 55px 19px 25px 16px 55px 19px;
|
||||||
|
line-height: 1;
|
||||||
|
justify-items: center;
|
||||||
|
align-items: center;
|
||||||
|
color:#88c;
|
||||||
|
}
|
||||||
|
.lissabox {
|
||||||
|
display: grid;
|
||||||
|
height: 353px;
|
||||||
|
width: 126px;
|
||||||
|
grid-template-columns: 124px;
|
||||||
|
grid-template-rows: 15px 338px;
|
||||||
|
background-color: #000000;
|
||||||
|
background-image: linear-gradient(147deg, #000000 0%, #434343 374%);
|
||||||
|
line-height: 1;
|
||||||
|
padding: 6px;
|
||||||
|
justify-items: center;
|
||||||
|
align-items: center;
|
||||||
|
border-color: #334;
|
||||||
|
border-style: groove;
|
||||||
|
border-width: 1px;
|
||||||
|
}
|
5
www/css/font-awesome.min.css
vendored
Normal file
4522
www/css/fontawesome.css
vendored
Normal file
165
www/css/newstyle.css
Normal file
@ -0,0 +1,165 @@
|
|||||||
|
.grid-container {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr 1fr;
|
||||||
|
grid-template-rows: 0.8fr 47px 0.7fr 2.8fr;
|
||||||
|
grid-template-areas: ". . ." ". . ." ". . ." ". . .";
|
||||||
|
}
|
||||||
|
.buttons-container {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr 1fr;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
grid-template-areas: ". . ." ". . ." ". . ." ". . .";
|
||||||
|
}
|
||||||
|
#title{
|
||||||
|
font-family: "Lucida Grande", Verdana, Arial, sans-serif;
|
||||||
|
text-align: center;
|
||||||
|
color: #ddd;
|
||||||
|
font-size: 3.3ex;
|
||||||
|
}
|
||||||
|
#text{
|
||||||
|
font-family: "Lucida Grande", Verdana, Arial, sans-serif;
|
||||||
|
text-align: center;
|
||||||
|
color: #ccc;
|
||||||
|
font-size: 2ex;
|
||||||
|
}
|
||||||
|
#smalltext{
|
||||||
|
font-family: "Lucida Grande", Verdana, Arial, sans-serif;
|
||||||
|
text-align: center;
|
||||||
|
color: #ccc;
|
||||||
|
font-size: 1.6ex;
|
||||||
|
}
|
||||||
|
.encoders{
|
||||||
|
margin: 0 auto;
|
||||||
|
|
||||||
|
}
|
||||||
|
.mainGrid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
gap: 1px 1px;
|
||||||
|
grid-template-areas: ". . . . . . . .";
|
||||||
|
}
|
||||||
|
|
||||||
|
.encodersGrid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
|
||||||
|
gap: 1px 1px;
|
||||||
|
grid-template-areas: "." "." "." "." ".";
|
||||||
|
}
|
||||||
|
.content{
|
||||||
|
width : 880px;
|
||||||
|
padding : 10px 20px;
|
||||||
|
margin : 15px auto;
|
||||||
|
background-color: #000000;
|
||||||
|
background-image: linear-gradient(174deg, #222,#111);
|
||||||
|
border-radius: 20px;
|
||||||
|
border : #0b0b0b 2px solid;
|
||||||
|
-webkit-box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
-moz-box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
}
|
||||||
|
.contentB{
|
||||||
|
width : 880px;
|
||||||
|
padding : 10px 20px;
|
||||||
|
margin : 15px auto;
|
||||||
|
background-color: #000000;
|
||||||
|
background-image: linear-gradient(340deg, #000000 0%, #434343 374%);
|
||||||
|
border-radius: 20px;
|
||||||
|
border : #333 1px solid;
|
||||||
|
}
|
||||||
|
.content-title {
|
||||||
|
color : #ddd;
|
||||||
|
border : none;
|
||||||
|
margin-top : 15px;
|
||||||
|
padding-bottom : 0;
|
||||||
|
margin-bottom : 0;
|
||||||
|
background-color : inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-names {
|
||||||
|
padding : 10px;
|
||||||
|
padding-top : 0;
|
||||||
|
border : none;
|
||||||
|
box-shadow : none;
|
||||||
|
background-color : inherit;
|
||||||
|
}
|
||||||
|
.TopRackGrid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 120px 600px 80px 80px;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
gap: 1px 1px;
|
||||||
|
grid-template-areas: ". . . .";
|
||||||
|
}
|
||||||
|
.webaudiobut{
|
||||||
|
border-radius: 5px;
|
||||||
|
border : #222222 2px solid;
|
||||||
|
-webkit-box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
-moz-box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
box-shadow: 4px 6px 10px -1px rgba(0,0,0,0.72);
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
position: relative;
|
||||||
|
line-height: 3ex;
|
||||||
|
color: #666;
|
||||||
|
text-align: middle;
|
||||||
|
font-family: 'Lucida Grande', Verdana, Arial, sans-serif;
|
||||||
|
font-size: 1.7ex;
|
||||||
|
margin-top : 1px;
|
||||||
|
text-shadow: 2px 3px #000;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
|
||||||
|
font-family: "Bus Led Display Small";
|
||||||
|
src: url("7f37946c45abf5482c243bf326f82628.eot"); /* IE9*/
|
||||||
|
src: url("7f37946c45abf5482c243bf326f82628.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */
|
||||||
|
url("7f37946c45abf5482c243bf326f82628.woff2") format("woff2"), /* chrome、firefox */
|
||||||
|
url("7f37946c45abf5482c243bf326f82628.woff") format("woff"), /* chrome、firefox */
|
||||||
|
url("7f37946c45abf5482c243bf326f82628.ttf") format("truetype"), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
|
||||||
|
url("7f37946c45abf5482c243bf326f82628.svg#Bus Led Display Small") format("svg"); /* iOS 4.1- */
|
||||||
|
}
|
||||||
|
|
||||||
|
.busled{
|
||||||
|
color: #ddd;
|
||||||
|
background: #090909;
|
||||||
|
font-family:"Bus Led Display Small" !important;
|
||||||
|
font-size:2em;font-style:normal;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-webkit-text-stroke-width: 0.7px;
|
||||||
|
-moz-osx-font-smoothing: grayscale;}
|
||||||
|
.info {
|
||||||
|
background: #000;
|
||||||
|
width: 200px;
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: middle;
|
||||||
|
height: 30px;
|
||||||
|
border: 2px solid #445;
|
||||||
|
font-family: 'Lucida Grande', Verdana, Arial, sans-serif;
|
||||||
|
color: #aaa;
|
||||||
|
font-size: 2ex;
|
||||||
|
}
|
||||||
|
.shade {
|
||||||
|
position: relative;
|
||||||
|
margin: -21px 0 0;
|
||||||
|
padding: 0;
|
||||||
|
display: block;
|
||||||
|
background: #00538F;
|
||||||
|
width: 100%;
|
||||||
|
height: 24px;
|
||||||
|
opacity: 0.25;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.shadow {
|
||||||
|
-webkit-box-shadow: 4px 6px 14px -1px rgba(0,0,0,0.82);
|
||||||
|
-moz-box-shadow: 4px 6px 14px -1px rgba(0,0,0,0.82);
|
||||||
|
box-shadow: 4px 6px 14px -1px rgba(0,0,0,0.82);
|
||||||
|
}
|
||||||
|
a:link {
|
||||||
|
color: #bbb;
|
||||||
|
}
|
||||||
|
a:visited {
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
1
www/css/style.css
Executable file
@ -0,0 +1 @@
|
|||||||
|
* { box-sizing: border-box; } body {margin: 0;}.row{display:table;padding:10px;width:100%;}.cell{width:8%;display:table-cell;height:75px;}body, html{background-color:#1d1c25;margin:0;padding:0;}.range{-webkit-appearance:none;-moz-appearance:none;position:absolute;left:50%;top:50%;width:200px;margin-top:10px;transform:translate(-50%, -50%);}input[type=range]::-webkit-slider-runnable-track{-webkit-appearance:none;background:linear-gradient(45deg, rgba(59,173,227,1) 0%, rgba(87,111,230,1) 25%, rgba(152,68,183,1) 51%, rgba(255,53,127,1) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#3bade3 ', endColorstr='#ff357f ', GradientType=1 );height:2px;}input[type=range]:focus{outline:none;}input[type=range]::-moz-range-track{-moz-appearance:none;background:linear-gradient(45deg, rgba(59,173,227,1) 0%, rgba(87,111,230,1) 25%, rgba(152,68,183,1) 51%, rgba(255,53,127,1) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#3bade3 ', endColorstr='#ff357f ', GradientType=1 );height:2px;}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid;border-radius:50%;height:25px;width:25px;max-width:80px;position:relative;bottom:11px;background-color:#1d1c25;cursor:-webkit-grab;-webkit-transition:border 1000ms ease;transition:border 1000ms ease;}input[type=range]::-moz-range-thumb{-moz-appearance:none;border:2px solid;border-radius:50%;height:25px;width:25px;max-width:80px;position:relative;bottom:11px;background-color:#1d1c25;cursor:-moz-grab;-moz-transition:border 1000ms ease;transition:border 1000ms ease;}.range.blue::-webkit-slider-thumb{border-color:rgb(59,173,227);}.range.ltpurple::-webkit-slider-thumb{border-color:rgb(87,111,230);}.range.purple::-webkit-slider-thumb{border-color:rgb(152,68,183);}.range.pink::-webkit-slider-thumb{border-color:rgb(255,53,127);}.range.blue::-moz-range-thumb{border-color:rgb(59,173,227);}.range.ltpurple::-moz-range-thumb{border-color:rgb(87,111,230);}.range.purple::-moz-range-thumb{border-color:rgb(152,68,183);}.range.pink::-moz-range-thumb{border-color:rgb(255,53,127);}input[type=range]::-webkit-slider-thumb:active{cursor:-webkit-grabbing;}input[type=range]::-moz-range-thumb:active{cursor:-moz-grabbing;}.range.blue{position:relative;background-color:rgba(31,27,27,0.09);width:75%;top:37.5px;}*{box-sizing:border-box;}body{margin:0;}#iy3nk{height:68px;}#il4ah{text-align:center;color:#ef4079;}#i7ox{font-family:Verdana, Geneva, sans-serif;color:#40acef;text-align:left;}#io5q{color:#40acef;}#iy2eh{text-align:center;}#i8a73{text-align:center;color:#4540ef;}#i3fzo{text-align:center;color:#7740ef;}#ikbjg{text-align:center;color:#b140ef;}@media (max-width: 768px){.cell{width:100%;display:block;}}
|
1
www/css/style2.css
Executable file
@ -0,0 +1 @@
|
|||||||
|
input[type=range]::-webkit-slider-runnable-track{-webkit-appearance:none;background:linear-gradient(45deg, rgba(59,173,227,1) 0%, rgba(87,111,230,1) 25%, rgba(152,68,183,1) 51%, rgba(255,53,127,1) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#3bade3 ', endColorstr='#ff357f ', GradientType=1 );height:2px;}input[type=range]:focus{outline:none;}input[type=range]::-moz-range-track{-moz-appearance:none;background:linear-gradient(45deg, rgba(59,173,227,1) 0%, rgba(87,111,230,1) 25%, rgba(152,68,183,1) 51%, rgba(255,53,127,1) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#3bade3 ', endColorstr='#ff357f ', GradientType=1 );height:2px;}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid;border-radius:50%;height:25px;width:25px;max-width:80px;position:relative;bottom:11px;background-color:#1d1c25;cursor:-webkit-grab;-webkit-transition:border 1000ms ease;transition:border 1000ms ease;}input[type=range]::-moz-range-thumb{-moz-appearance:none;border:2px solid;border-radius:50%;height:25px;width:25px;max-width:80px;position:relative;bottom:11px;background-color:#1d1c25;cursor:-moz-grab;-moz-transition:border 1000ms ease;transition:border 1000ms ease;}.range.blue::-webkit-slider-thumb{border-color:rgb(59,173,227);}.range.ltpurple::-webkit-slider-thumb{border-color:rgb(87,111,230);}.range.purple::-webkit-slider-thumb{border-color:rgb(152,68,183);}.range.pink::-webkit-slider-thumb{border-color:rgb(255,53,127);}.range.blue::-moz-range-thumb{border-color:rgb(59,173,227);}.range.ltpurple::-moz-range-thumb{border-color:rgb(87,111,230);}.range.purple::-moz-range-thumb{border-color:rgb(152,68,183);}.range.pink::-moz-range-thumb{border-color:rgb(255,53,127);}input[type=range]::-webkit-slider-thumb:active{cursor:-webkit-grabbing;}input[type=range]::-moz-range-thumb:active{cursor:-moz-grabbing;}.range.blue{position:relative;background-color:rgba(31,27,27,0.09);width:75%;top:37.5px;}body{margin:0;}#iy3nk{font-family: "Lucida Grande", Verdana, Arial, sans-serif; font-size: 10ex; height:68px;}#il4ah{text-align:center;color:#ef4079;}#i7ox{font-family:Verdana, Geneva, sans-serif;color:#40acef;text-align:left;}#io5q{color:#40acef;}#iy2eh{text-align:center;}#i8a73{text-align:center;color:#4540ef;}#i3fzo{text-align:center;color:#7740ef;}#ikbjg{text-align:center;color:#b140ef;}@media (max-width: 768px){}
|
313
www/index.html
Normal file
@ -0,0 +1,313 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Nerves</title>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="apple-mobile-web-app-title" content="Nerves">
|
||||||
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="touch-icon-iphone-retina-mmo3.png">
|
||||||
|
|
||||||
|
<!-- Web audio buttons defaults -->
|
||||||
|
<script type="application/javascript" src="webcomponents-lite.js"></script>
|
||||||
|
<script>
|
||||||
|
WebAudioControlsOptions={
|
||||||
|
useMidi:1,
|
||||||
|
knobSrc:"knobs/simplegray.png",
|
||||||
|
knobSprites:100,
|
||||||
|
switchSrc:"knobs/switch_toggle.png",
|
||||||
|
sliderSrc:"knobs/vsliderbody.png",
|
||||||
|
sliderKnobsrc:"knobs/vsliderknob.png",
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<script src="webaudio-controls.js"></script>
|
||||||
|
<link rel="stylesheet" href="css/newstyle.css" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="selector.min.css">
|
||||||
|
<script type="application/javascript" src="selector.min.js"></script>
|
||||||
|
<script type="application/javascript" src="config.js"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body style="background-color: #000000;background-image: linear-gradient(174deg, #101010,#030303);">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Screen Rack
|
||||||
|
-->
|
||||||
|
<div class="content">
|
||||||
|
<div class="TopRackGrid">
|
||||||
|
<div>
|
||||||
|
<h2>
|
||||||
|
Nerves
|
||||||
|
</h2>
|
||||||
|
<webaudio-switch id="on" value="1" tooltip="Switch-B" height="35" width="85" src="knobs/power.png">
|
||||||
|
</webaudio-switch>
|
||||||
|
</div>
|
||||||
|
<div class="webaudiobut" style="background: #111;">
|
||||||
|
<div id="status" class="busled" align="center">
|
||||||
|
Nerves
|
||||||
|
</div>
|
||||||
|
<div id="players" class="busled" align="center">
|
||||||
|
0 Connected
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div align ="center" class="encoders">
|
||||||
|
<webaudio-switch class="webaudiobut" id="func" value="0" height="68" width="68" tooltip=" Switch-B" src="knobs/funcs.png" type="toggle"></webaudio-switch>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<webaudio-switch class="webaudiobut" id="down" value="0" height="68" width="68" tooltip=" Switch-B" src="knobs/down2.png" type="toggle"></webaudio-switch>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<div id="title" align ="center" style="font-family: 'Lucida Grande', Verdana, Arial, sans-serif;
|
||||||
|
text-align: center;color: #ddd;font-size: 2ex;">
|
||||||
|
<a href="ocs2.html">OCS-2</a>
|
||||||
|
</div>
|
||||||
|
-->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
JS
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- LJ style WS : A nettoyer ! -->
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var LJ = websocket_uri
|
||||||
|
|
||||||
|
var _WS = {
|
||||||
|
uri: LJ,
|
||||||
|
ws: null,
|
||||||
|
|
||||||
|
|
||||||
|
init : function (e) {
|
||||||
|
_WS.s = new WebSocket(_WS.uri);
|
||||||
|
_WS.s.onopen = function (e) { _WS.onOpen(e); };
|
||||||
|
_WS.s.onclose = function (e) { _WS.onClose(e); };
|
||||||
|
_WS.s.onmessage = function (e) { _WS.onMessage(e); };
|
||||||
|
_WS.s.onerror = function (e) { _WS.onError(e); };
|
||||||
|
},
|
||||||
|
|
||||||
|
onOpen: function () {
|
||||||
|
var divtext = document.getElementById('status');
|
||||||
|
divtext.innerHTML="";
|
||||||
|
divtext.innerHTML= "Connected to "+LJ;
|
||||||
|
},
|
||||||
|
|
||||||
|
onClose: function () {
|
||||||
|
_WS.showout('DISCONNECTED');
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
onMessage: function (e) {
|
||||||
|
var res = e.data.split(" ");
|
||||||
|
//console.log(e.data)
|
||||||
|
//console.log(res[0].substring(0,6))
|
||||||
|
//console.log(res)
|
||||||
|
//console.log(res[0].slice(1))
|
||||||
|
var divtext = document.getElementById('status');
|
||||||
|
var divtextp = document.getElementById('players');
|
||||||
|
|
||||||
|
|
||||||
|
switch (res[0].substring(0,6)) {
|
||||||
|
|
||||||
|
case "/statu":
|
||||||
|
divtext.innerHTML="Nerves";
|
||||||
|
break;
|
||||||
|
case "/playe":
|
||||||
|
//divtext.innerHTML="OCS-2 ("+res[1]+" player(s))";
|
||||||
|
//divtextp.innerHTML=" ("+res[1]+" player(s))";
|
||||||
|
divtext.innerHTML="Nerves ";
|
||||||
|
divtextp.innerHTML=" "+res[1];
|
||||||
|
//console.log(res)
|
||||||
|
break;
|
||||||
|
case "/simul":
|
||||||
|
pl = e.data.slice(7);
|
||||||
|
//console.log(pl)
|
||||||
|
pl2 = eval(pl.replace(/[()]/g, ''));
|
||||||
|
break;
|
||||||
|
case "/plpoi":
|
||||||
|
//console.log("plpoint");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
//console.log(e);
|
||||||
|
//console.log(res[0].slice(1))
|
||||||
|
//console.log(document.getElementById(res[0].slice(1)));
|
||||||
|
//console.log(res[0].slice(1)+" "+res[1])
|
||||||
|
//let documentX = document.getElementById(res[0].slice(1));
|
||||||
|
//documentX.value=res[1];
|
||||||
|
|
||||||
|
//document.getElementById(res[0].slice(1)).value = res[1];
|
||||||
|
document.getElementById(res[0].slice(1)).setAttribute('value',res[1]);
|
||||||
|
//document.getElementById(res[0].slice(1)).setValue(res[1],true);
|
||||||
|
document.getElementById(res[0].slice(1)).setValue(res[1],false);
|
||||||
|
|
||||||
|
//console.log(documentX.value)
|
||||||
|
//console.log(document.getElementById(res[0].slice(1)));
|
||||||
|
_WS.showin(e.data);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
onError: function (e) {
|
||||||
|
_WS.showin('<span style="color: red;">ERROR:</span> ' + e.data);
|
||||||
|
},
|
||||||
|
|
||||||
|
showin: function (message) {
|
||||||
|
var divtext = document.getElementById('status');
|
||||||
|
divtext.innerHTML="";
|
||||||
|
divtext.innerHTML= message.toString();
|
||||||
|
},
|
||||||
|
|
||||||
|
showout: function (message) {
|
||||||
|
var divtext = document.getElementById('status');
|
||||||
|
divtext.innerHTML="";
|
||||||
|
divtext.innerHTML= message.toString();
|
||||||
|
},
|
||||||
|
|
||||||
|
showstatus: function (message) {
|
||||||
|
var divtext = document.getElementById('status');
|
||||||
|
divtext.innerHTML="";
|
||||||
|
divtext.innerHTML= message.toString();
|
||||||
|
},
|
||||||
|
|
||||||
|
send: function (message) {
|
||||||
|
if (!message.length) {
|
||||||
|
alert('Empty message not allowed !');
|
||||||
|
} else {
|
||||||
|
_WS.showout(message);
|
||||||
|
_WS.s.send(message);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
close: function () {
|
||||||
|
_WS.showout('GOODBYE !');
|
||||||
|
_WS.s.close();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
window.addEventListener('load', _WS.init, false);
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
web audio encoders scripts
|
||||||
|
-->
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var message="";
|
||||||
|
var log=[];
|
||||||
|
var knobs = document.getElementsByTagName('webaudio-knob');
|
||||||
|
var knobState = []
|
||||||
|
|
||||||
|
for(var i = 0; i < knobs.length; i++){
|
||||||
|
knobs[i].addEventListener("input",Dump,false);
|
||||||
|
knobs[i].addEventListener("change",Dump,false);
|
||||||
|
}
|
||||||
|
var sliders = document.getElementsByTagName('webaudio-slider');
|
||||||
|
|
||||||
|
for(var i = 0; i < sliders.length; i++){
|
||||||
|
sliders[i].addEventListener("input",Dump,false);
|
||||||
|
sliders[i].addEventListener("change",Dump,false);
|
||||||
|
}
|
||||||
|
var switches = document.getElementsByTagName('webaudio-switch');
|
||||||
|
|
||||||
|
for(var i = 0; i < switches.length; i++) {
|
||||||
|
switches[i].addEventListener("change",Dump,false);
|
||||||
|
}
|
||||||
|
|
||||||
|
function Dump(e) {
|
||||||
|
var str="";
|
||||||
|
str=e.type + " : " + e.target.id + " : " + e.target.value + " ";
|
||||||
|
//console.log(str);
|
||||||
|
log.unshift(str);
|
||||||
|
log.length=1;
|
||||||
|
str="";
|
||||||
|
|
||||||
|
for(var i=19;i>=0;--i) {
|
||||||
|
if(log[i])
|
||||||
|
str+=log[i]+"<br/>";
|
||||||
|
}
|
||||||
|
//var evview=document.getElementById("events");
|
||||||
|
//evview.innerHTML=str;
|
||||||
|
//console.log( e.type + "/" + e.target.id + "/" + e.target.value);
|
||||||
|
//console.log('/' + e.target.id + ' ' + e.target.value + ' ' + e.type);
|
||||||
|
//socket.emit('message', '/' + e.target.id + ' ' + e.target.value);
|
||||||
|
|
||||||
|
|
||||||
|
if (e.target.id === "on" && e.type === "change") {
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
|
if (e.target.id === "load" || e.target.id === "store") {
|
||||||
|
|
||||||
|
if (e.type === "change") {
|
||||||
|
|
||||||
|
if (e.target.id === "store") {
|
||||||
|
//var knobState = []
|
||||||
|
//var knobs = document.getElementsByTagName('webaudio-knob');
|
||||||
|
for (var i = 0; i < knobs.length; i++) {
|
||||||
|
var knob = knobs[i] ;
|
||||||
|
//console.log(knob) ;
|
||||||
|
knobState[i] = knob.getAttribute('id')+" "+knob.getAttribute('value') ;
|
||||||
|
localStorage.setItem(knob.getAttribute('id'),knob.getAttribute('value')) ;
|
||||||
|
}
|
||||||
|
//console.log(knobState) ;
|
||||||
|
console.log('store clique') ;
|
||||||
|
}
|
||||||
|
if (e.target.id === "load") {
|
||||||
|
if (knobState.length > 0) {
|
||||||
|
for (var i = 0; i < knobState.length; i++) {
|
||||||
|
ccstate=knobState[i] ;
|
||||||
|
_WS.send("/" + ccstate) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
for (var i = 0; i < knobs.length; i++) {
|
||||||
|
var knob = knobs[i];
|
||||||
|
var value = localStorage.getItem(knob.getAttribute('id'));
|
||||||
|
if ( value != null) {
|
||||||
|
ccstate = knob.getAttribute('id')+" "+value;
|
||||||
|
_WS.send("/" + ccstate) ;
|
||||||
|
console.log(ccstate) ;
|
||||||
|
}
|
||||||
|
else console.log("no localstorage");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log('load clique') ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
_WS.send("/" + e.target.id + " " + e.target.value);
|
||||||
|
|
||||||
|
if (e.target.id === "on" && e.type === "change") {
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (e.target.id === "rate" && e.type === "change") {
|
||||||
|
e.target.value = 1 ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (e.target.id === "range" && e.type === "change") {
|
||||||
|
e.target.value = 1 ;
|
||||||
|
}
|
||||||
|
if (e.target.id === "select" && e.type === "change") {
|
||||||
|
e.target.value = 1 ;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
BIN
www/knobs/cls.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
www/knobs/down2.png
Normal file
After Width: | Height: | Size: 4.0 KiB |
BIN
www/knobs/funcs.png
Normal file
After Width: | Height: | Size: 5.0 KiB |
BIN
www/knobs/power.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
1
www/selector.min.css
vendored
Executable file
@ -0,0 +1 @@
|
|||||||
|
div.selector-element{font-size: 0.75em; display:inline-block;position:relative;width:100%;max-width: 85px;height: 24px;font-family:sans-serif;color: #fbfff5;background-color: #111111}div.selector-element div.selector-selected{display:inline-block;width:100%;height:100%;position:relative;cursor:pointer;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;line-height:30px;padding:0 12px;transition:.15s ease-in-out;border:1px solid gray}div.selector-element div.selector-selected:hover{background-color: #060606}div.selector-element div.selector-selected:after{content:'';position:absolute;top:50%;right:22px;transform:translateY(-50%);height:0;width:0;border-top:5px solid silver;border-left:5px solid transparent;border-right:5px solid transparent}div.selector-element div.selector-selected p.selected-text{display:inline-block;margin:0;width:100%;height:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding-right:30px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}div.selector-element div.selector-options{color: #dbdbdb; display:none;position:absolute;background-color: #111111;top:100%;width:100%;height:auto;max-height:156px;overflow:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:1px solid grey;border-top:0;box-shadow:0 2px 3px rgba(0,0,0,0.2);z-index:1;transition:.2s ease-in-out}div.selector-element div.selector-options.options-search{max-height:220px}div.selector-element.open div.selector-options{display:block}div.selector-element div.selector-options div.selector-option{display:block;position:relative;width:100%;height:32px;border-bottom:1px solid silver;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0 12px;line-height:31px;cursor:pointer;overflow:hidden;transition:.15s ease-in-out}div.selector-element div.selector-options div.selector-option.hide{height:0;border-bottom:0;transition:.1s ease-in-out}div.selector-element div.selector-options div.selector-option.option-selected{background-color: #111111}div.selector-element div.selector-options div.selector-option:hover{color: #fbfff5; background-color: #111111}div.selector-element div.selector-options div.selector-option:last-of-type{border-bottom:0}div.selector-element div.selector-options div.selector-option.option-disabled{opacity:.6}div.selector-element div.selector-options div.option-search{display:block;height:32px;line-height:33px;position:relative;width:100%;border-bottom:1px solid grey}div.selector-element div.selector-options div.option-search span{position:absolute;top:50%;transform:translateY(-48%) !important;height:14px;width:14px;cursor:pointer;z-index:1;background:url("../knobs/close.svg") center no-repeat;background-size:11px;right:12px}div.selector-element div.selector-options div.option-search input{display:inline-block;width:100%;height:100%;padding:0 36px 0 36px;font-family:sans-serif;font-size:1em;color: white;outline:0;border:0;background:url("../knobs/search.svg") left 13px center no-repeat;background-size:13px}
|
1
www/selector.min.js
vendored
Executable file
BIN
www/touch-icon-iphone-retina-mmo3.png
Normal file
After Width: | Height: | Size: 8.9 KiB |
BIN
www/touch-icon-iphone-retina-ocs2.png
Normal file
After Width: | Height: | Size: 8.9 KiB |
1875
www/webaudio-controls.js
Executable file
197
www/webcomponents-lite.js
Executable file
@ -0,0 +1,197 @@
|
|||||||
|
(function(){/*
|
||||||
|
|
||||||
|
Copyright (c) 2016 The Polymer Project Authors. All rights reserved.
|
||||||
|
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
||||||
|
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
||||||
|
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
||||||
|
Code distributed by Google as part of the polymer project is also
|
||||||
|
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
||||||
|
*/
|
||||||
|
'use strict';var p,q="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this,ba="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};function ca(){ca=function(){};q.Symbol||(q.Symbol=da)}var da=function(){var a=0;return function(b){return"jscomp_symbol_"+(b||"")+a++}}();
|
||||||
|
function ea(){ca();var a=q.Symbol.iterator;a||(a=q.Symbol.iterator=q.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&ba(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return fa(this)}});ea=function(){}}function fa(a){var b=0;return ha(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ha(a){ea();a={next:a};a[q.Symbol.iterator]=function(){return this};return a}function ia(a){ea();var b=a[Symbol.iterator];return b?b.call(a):fa(a)}
|
||||||
|
function ja(a){for(var b,c=[];!(b=a.next()).done;)c.push(b.value);return c}
|
||||||
|
(function(){if(!function(){var a=document.createEvent("Event");a.initEvent("foo",!0,!0);a.preventDefault();return a.defaultPrevented}()){var a=Event.prototype.preventDefault;Event.prototype.preventDefault=function(){this.cancelable&&(a.call(this),Object.defineProperty(this,"defaultPrevented",{get:function(){return!0},configurable:!0}))}}var b=/Trident/.test(navigator.userAgent);if(!window.CustomEvent||b&&"function"!==typeof window.CustomEvent)window.CustomEvent=function(a,b){b=b||{};var c=document.createEvent("CustomEvent");
|
||||||
|
c.initCustomEvent(a,!!b.bubbles,!!b.cancelable,b.detail);return c},window.CustomEvent.prototype=window.Event.prototype;if(!window.Event||b&&"function"!==typeof window.Event){var c=window.Event;window.Event=function(a,b){b=b||{};var c=document.createEvent("Event");c.initEvent(a,!!b.bubbles,!!b.cancelable);return c};if(c)for(var d in c)window.Event[d]=c[d];window.Event.prototype=c.prototype}if(!window.MouseEvent||b&&"function"!==typeof window.MouseEvent){b=window.MouseEvent;window.MouseEvent=function(a,
|
||||||
|
b){b=b||{};var c=document.createEvent("MouseEvent");c.initMouseEvent(a,!!b.bubbles,!!b.cancelable,b.view||window,b.detail,b.screenX,b.screenY,b.clientX,b.clientY,b.ctrlKey,b.altKey,b.shiftKey,b.metaKey,b.button,b.relatedTarget);return c};if(b)for(d in b)window.MouseEvent[d]=b[d];window.MouseEvent.prototype=b.prototype}Array.from||(Array.from=function(a){return[].slice.call(a)});Object.assign||(Object.assign=function(a,b){for(var c=[].slice.call(arguments,1),d=0,e;d<c.length;d++)if(e=c[d])for(var f=
|
||||||
|
a,m=e,n=Object.getOwnPropertyNames(m),t=0;t<n.length;t++)e=n[t],f[e]=m[e];return a})})(window.WebComponents);(function(){function a(){}function b(a,b){if(!a.childNodes.length)return[];switch(a.nodeType){case Node.DOCUMENT_NODE:return t.call(a,b);case Node.DOCUMENT_FRAGMENT_NODE:return C.call(a,b);default:return n.call(a,b)}}var c="undefined"===typeof HTMLTemplateElement,d=!(document.createDocumentFragment().cloneNode()instanceof DocumentFragment),e=!1;/Trident/.test(navigator.userAgent)&&function(){function a(a,b){if(a instanceof DocumentFragment)for(var d;d=a.firstChild;)c.call(this,d,b);else c.call(this,
|
||||||
|
a,b);return a}e=!0;var b=Node.prototype.cloneNode;Node.prototype.cloneNode=function(a){a=b.call(this,a);this instanceof DocumentFragment&&(a.__proto__=DocumentFragment.prototype);return a};DocumentFragment.prototype.querySelectorAll=HTMLElement.prototype.querySelectorAll;DocumentFragment.prototype.querySelector=HTMLElement.prototype.querySelector;Object.defineProperties(DocumentFragment.prototype,{nodeType:{get:function(){return Node.DOCUMENT_FRAGMENT_NODE},configurable:!0},localName:{get:function(){},
|
||||||
|
configurable:!0},nodeName:{get:function(){return"#document-fragment"},configurable:!0}});var c=Node.prototype.insertBefore;Node.prototype.insertBefore=a;var d=Node.prototype.appendChild;Node.prototype.appendChild=function(b){b instanceof DocumentFragment?a.call(this,b,null):d.call(this,b);return b};var f=Node.prototype.removeChild,h=Node.prototype.replaceChild;Node.prototype.replaceChild=function(b,c){b instanceof DocumentFragment?(a.call(this,b,c),f.call(this,c)):h.call(this,b,c);return c};Document.prototype.createDocumentFragment=
|
||||||
|
function(){var a=this.createElement("df");a.__proto__=DocumentFragment.prototype;return a};var g=Document.prototype.importNode;Document.prototype.importNode=function(a,b){b=g.call(this,a,b||!1);a instanceof DocumentFragment&&(b.__proto__=DocumentFragment.prototype);return b}}();var f=Node.prototype.cloneNode,h=Document.prototype.createElement,g=Document.prototype.importNode,k=Node.prototype.removeChild,l=Node.prototype.appendChild,m=Node.prototype.replaceChild,n=Element.prototype.querySelectorAll,
|
||||||
|
t=Document.prototype.querySelectorAll,C=DocumentFragment.prototype.querySelectorAll,eb=function(){if(!c){var a=document.createElement("template"),b=document.createElement("template");b.content.appendChild(document.createElement("div"));a.content.appendChild(b);a=a.cloneNode(!0);return 0===a.content.childNodes.length||0===a.content.firstChild.content.childNodes.length||d}}();if(c){var J=document.implementation.createHTMLDocument("template"),Ca=!0,Da=document.createElement("style");Da.textContent="template{display:none;}";
|
||||||
|
var Ea=document.head;Ea.insertBefore(Da,Ea.firstElementChild);a.prototype=Object.create(HTMLElement.prototype);var x=!document.createElement("div").hasOwnProperty("innerHTML");a.D=function(b){if(!b.content){b.content=J.createDocumentFragment();for(var c;c=b.firstChild;)l.call(b.content,c);if(x)b.__proto__=a.prototype;else if(b.cloneNode=function(b){return a.ca(this,b)},Ca)try{na(b),aa(b)}catch(Mg){Ca=!1}a.J(b.content)}};var na=function(b){Object.defineProperty(b,"innerHTML",{get:function(){for(var a=
|
||||||
|
"",b=this.content.firstChild;b;b=b.nextSibling)a+=b.outerHTML||b.data.replace(oa,U);return a},set:function(b){J.body.innerHTML=b;for(a.J(J);this.content.firstChild;)k.call(this.content,this.content.firstChild);for(;J.body.firstChild;)l.call(this.content,J.body.firstChild)},configurable:!0})},aa=function(a){Object.defineProperty(a,"outerHTML",{get:function(){return"<template>"+this.innerHTML+"</template>"},set:function(a){if(this.parentNode){J.body.innerHTML=a;for(a=this.ownerDocument.createDocumentFragment();J.body.firstChild;)l.call(a,
|
||||||
|
J.body.firstChild);m.call(this.parentNode,a,this)}else throw Error("Failed to set the 'outerHTML' property on 'Element': This element has no parent node.");},configurable:!0})};na(a.prototype);aa(a.prototype);a.J=function(c){c=b(c,"template");for(var d=0,e=c.length,f;d<e&&(f=c[d]);d++)a.D(f)};document.addEventListener("DOMContentLoaded",function(){a.J(document)});Document.prototype.createElement=function(){var b=h.apply(this,arguments);"template"===b.localName&&a.D(b);return b};var oa=/[&\u00A0<>]/g,
|
||||||
|
U=function(a){switch(a){case "&":return"&";case "<":return"<";case ">":return">";case "\u00a0":return" "}}}if(c||eb){a.ca=function(a,b){var c=f.call(a,!1);this.D&&this.D(c);b&&(l.call(c.content,f.call(a.content,!0)),fb(c.content,a.content));return c};var fb=function(c,d){if(d.querySelectorAll&&(d=b(d,"template"),0!==d.length)){c=b(c,"template");for(var e=0,f=c.length,h,g;e<f;e++)g=d[e],h=c[e],a&&a.D&&a.D(g),m.call(h.parentNode,pa.call(g,!0),h)}},pa=Node.prototype.cloneNode=function(b){if(!e&&
|
||||||
|
d&&this instanceof DocumentFragment)if(b)var c=qa.call(this.ownerDocument,this,!0);else return this.ownerDocument.createDocumentFragment();else c=this.nodeType===Node.ELEMENT_NODE&&"template"===this.localName?a.ca(this,b):f.call(this,b);b&&fb(c,this);return c},qa=Document.prototype.importNode=function(c,d){d=d||!1;if("template"===c.localName)return a.ca(c,d);var e=g.call(this,c,d);if(d){fb(e,c);c=b(e,'script:not([type]),script[type="application/javascript"],script[type="text/javascript"]');for(var f,
|
||||||
|
k=0;k<c.length;k++){f=c[k];d=h.call(document,"script");d.textContent=f.textContent;for(var l=f.attributes,qa=0,pa;qa<l.length;qa++)pa=l[qa],d.setAttribute(pa.name,pa.value);m.call(f.parentNode,d,f)}}return e}}c&&(window.HTMLTemplateElement=a)})();var ka=Array.isArray?Array.isArray:function(a){return"[object Array]"===Object.prototype.toString.call(a)};var la=0,ma,ra="undefined"!==typeof window?window:void 0,sa=ra||{},ta=sa.MutationObserver||sa.WebKitMutationObserver,ua="undefined"!==typeof Uint8ClampedArray&&"undefined"!==typeof importScripts&&"undefined"!==typeof MessageChannel;function va(){return"undefined"!==typeof ma?function(){ma(wa)}:xa()}function ya(){var a=0,b=new ta(wa),c=document.createTextNode("");b.observe(c,{characterData:!0});return function(){c.data=a=++a%2}}
|
||||||
|
function za(){var a=new MessageChannel;a.port1.onmessage=wa;return function(){return a.port2.postMessage(0)}}function xa(){var a=setTimeout;return function(){return a(wa,1)}}var Aa=Array(1E3);function wa(){for(var a=0;a<la;a+=2)(0,Aa[a])(Aa[a+1]),Aa[a]=void 0,Aa[a+1]=void 0;la=0}var Ba,Fa;
|
||||||
|
if("undefined"===typeof self&&"undefined"!==typeof process&&"[object process]"==={}.toString.call(process))Fa=function(){return process.ib(wa)};else{var Ga;if(ta)Ga=ya();else{var Ha;if(ua)Ha=za();else{var Ia;if(void 0===ra&&"function"===typeof require)try{var Ja=require("vertx");ma=Ja.kb||Ja.jb;Ia=va()}catch(a){Ia=xa()}else Ia=xa();Ha=Ia}Ga=Ha}Fa=Ga}Ba=Fa;function Ka(a,b){Aa[la]=a;Aa[la+1]=b;la+=2;2===la&&Ba()};function La(a,b){var c=this,d=new this.constructor(Ma);void 0===d[Na]&&Oa(d);var e=c.g;if(e){var f=arguments[e-1];Ka(function(){return Pa(e,d,f,c.f)})}else Qa(c,d,a,b);return d};function Ra(a){if(a&&"object"===typeof a&&a.constructor===this)return a;var b=new this(Ma);Sa(b,a);return b};var Na=Math.random().toString(36).substring(16);function Ma(){}var Ua=new Ta;function Va(a){try{return a.then}catch(b){return Ua.error=b,Ua}}function Wa(a,b,c,d){try{a.call(b,c,d)}catch(e){return e}}function Xa(a,b,c){Ka(function(a){var d=!1,f=Wa(c,b,function(c){d||(d=!0,b!==c?Sa(a,c):r(a,c))},function(b){d||(d=!0,u(a,b))});!d&&f&&(d=!0,u(a,f))},a)}function Ya(a,b){1===b.g?r(a,b.f):2===b.g?u(a,b.f):Qa(b,void 0,function(b){return Sa(a,b)},function(b){return u(a,b)})}
|
||||||
|
function Za(a,b,c){b.constructor===a.constructor&&c===La&&b.constructor.resolve===Ra?Ya(a,b):c===Ua?(u(a,Ua.error),Ua.error=null):void 0===c?r(a,b):"function"===typeof c?Xa(a,b,c):r(a,b)}function Sa(a,b){if(a===b)u(a,new TypeError("You cannot resolve a promise with itself"));else{var c=typeof b;null===b||"object"!==c&&"function"!==c?r(a,b):Za(a,b,Va(b))}}function $a(a){a.na&&a.na(a.f);ab(a)}function r(a,b){void 0===a.g&&(a.f=b,a.g=1,0!==a.I.length&&Ka(ab,a))}
|
||||||
|
function u(a,b){void 0===a.g&&(a.g=2,a.f=b,Ka($a,a))}function Qa(a,b,c,d){var e=a.I,f=e.length;a.na=null;e[f]=b;e[f+1]=c;e[f+2]=d;0===f&&a.g&&Ka(ab,a)}function ab(a){var b=a.I,c=a.g;if(0!==b.length){for(var d,e,f=a.f,h=0;h<b.length;h+=3)d=b[h],e=b[h+c],d?Pa(c,d,e,f):e(f);a.I.length=0}}function Ta(){this.error=null}var bb=new Ta;
|
||||||
|
function Pa(a,b,c,d){var e="function"===typeof c;if(e){try{var f=c(d)}catch(l){bb.error=l,f=bb}if(f===bb){var h=!0;var g=f.error;f.error=null}else var k=!0;if(b===f){u(b,new TypeError("A promises callback cannot return that same promise."));return}}else f=d,k=!0;void 0===b.g&&(e&&k?Sa(b,f):h?u(b,g):1===a?r(b,f):2===a&&u(b,f))}function cb(a,b){try{b(function(b){Sa(a,b)},function(b){u(a,b)})}catch(c){u(a,c)}}var db=0;function Oa(a){a[Na]=db++;a.g=void 0;a.f=void 0;a.I=[]};function gb(a,b){this.Ea=a;this.A=new a(Ma);this.A[Na]||Oa(this.A);if(ka(b))if(this.S=this.length=b.length,this.f=Array(this.length),0===this.length)r(this.A,this.f);else{this.length=this.length||0;for(a=0;void 0===this.g&&a<b.length;a++)hb(this,b[a],a);0===this.S&&r(this.A,this.f)}else u(this.A,Error("Array Methods must be provided an Array"))}
|
||||||
|
function hb(a,b,c){var d=a.Ea,e=d.resolve;e===Ra?(e=Va(b),e===La&&void 0!==b.g?ib(a,b.g,c,b.f):"function"!==typeof e?(a.S--,a.f[c]=b):d===v?(d=new d(Ma),Za(d,b,e),jb(a,d,c)):jb(a,new d(function(a){return a(b)}),c)):jb(a,e(b),c)}function ib(a,b,c,d){var e=a.A;void 0===e.g&&(a.S--,2===b?u(e,d):a.f[c]=d);0===a.S&&r(e,a.f)}function jb(a,b,c){Qa(b,void 0,function(b){return ib(a,1,c,b)},function(b){return ib(a,2,c,b)})};function kb(a){return(new gb(this,a)).A};function lb(a){var b=this;return ka(a)?new b(function(c,d){for(var e=a.length,f=0;f<e;f++)b.resolve(a[f]).then(c,d)}):new b(function(a,b){return b(new TypeError("You must pass an array to race."))})};function mb(a){var b=new this(Ma);u(b,a);return b};function v(a){this[Na]=db++;this.f=this.g=void 0;this.I=[];if(Ma!==a){if("function"!==typeof a)throw new TypeError("You must pass a resolver function as the first argument to the promise constructor");if(this instanceof v)cb(this,a);else throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");}}v.prototype={constructor:v,then:La,a:function(a){return this.then(null,a)}};/*
|
||||||
|
|
||||||
|
Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
||||||
|
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
||||||
|
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
||||||
|
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
||||||
|
Code distributed by Google as part of the polymer project is also
|
||||||
|
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
||||||
|
*/
|
||||||
|
window.Promise||(window.Promise=v,v.prototype["catch"]=v.prototype.a,v.prototype.then=v.prototype.then,v.all=kb,v.race=lb,v.resolve=Ra,v.reject=mb);(function(a){function b(a,b){if("function"===typeof window.CustomEvent)return new CustomEvent(a,b);var c=document.createEvent("CustomEvent");c.initCustomEvent(a,!!b.bubbles,!!b.cancelable,b.detail);return c}function c(a){if(C)return a.ownerDocument!==document?a.ownerDocument:null;var b=a.__importDoc;if(!b&&a.parentNode){b=a.parentNode;if("function"===typeof b.closest)b=b.closest("link[rel=import]");else for(;!g(b)&&(b=b.parentNode););a.__importDoc=b}return b}function d(a){var b=m(document,"link[rel=import]:not([import-dependency])"),
|
||||||
|
c=b.length;c?n(b,function(b){return h(b,function(){0===--c&&a()})}):a()}function e(a){function b(){"loading"!==document.readyState&&document.body&&(document.removeEventListener("readystatechange",b),a())}document.addEventListener("readystatechange",b);b()}function f(a){e(function(){return d(function(){return a&&a()})})}function h(a,b){if(a.__loaded)b&&b();else if("script"===a.localName&&!a.src||"style"===a.localName&&!a.firstChild)a.__loaded=!0,b&&b();else{var c=function(d){a.removeEventListener(d.type,
|
||||||
|
c);a.__loaded=!0;b&&b()};a.addEventListener("load",c);aa&&"style"===a.localName||a.addEventListener("error",c)}}function g(a){return a.nodeType===Node.ELEMENT_NODE&&"link"===a.localName&&"import"===a.rel}function k(){var a=this;this.a={};this.b=0;this.c=new MutationObserver(function(b){return a.Ra(b)});this.c.observe(document.head,{childList:!0,subtree:!0});this.loadImports(document)}function l(a){n(m(a,"template"),function(a){n(m(a.content,'script:not([type]),script[type="application/javascript"],script[type="text/javascript"]'),
|
||||||
|
function(a){var b=document.createElement("script");n(a.attributes,function(a){return b.setAttribute(a.name,a.value)});b.textContent=a.textContent;a.parentNode.replaceChild(b,a)});l(a.content)})}function m(a,b){return a.childNodes.length?a.querySelectorAll(b):eb}function n(a,b,c){var d=a?a.length:0,e=c?-1:1;for(c=c?d-1:0;c<d&&0<=c;c+=e)b(a[c],c)}var t=document.createElement("link"),C="import"in t,eb=t.querySelectorAll("*"),J=null;!1==="currentScript"in document&&Object.defineProperty(document,"currentScript",
|
||||||
|
{get:function(){return J||("complete"!==document.readyState?document.scripts[document.scripts.length-1]:null)},configurable:!0});var Ca=/(url\()([^)]*)(\))/g,Da=/(@import[\s]+(?!url\())([^;]*)(;)/g,Ea=/(<link[^>]*)(rel=['|"]?stylesheet['|"]?[^>]*>)/g,x={La:function(a,b){a.href&&a.setAttribute("href",x.Y(a.getAttribute("href"),b));a.src&&a.setAttribute("src",x.Y(a.getAttribute("src"),b));if("style"===a.localName){var c=x.ta(a.textContent,b,Ca);a.textContent=x.ta(c,b,Da)}},ta:function(a,b,c){return a.replace(c,
|
||||||
|
function(a,c,d,e){a=d.replace(/["']/g,"");b&&(a=x.Y(a,b));return c+"'"+a+"'"+e})},Y:function(a,b){if(void 0===x.ba){x.ba=!1;try{var c=new URL("b","http://a");c.pathname="c%20d";x.ba="http://a/c%20d"===c.href}catch(Lg){}}if(x.ba)return(new URL(a,b)).href;c=x.Ba;c||(c=document.implementation.createHTMLDocument("temp"),x.Ba=c,c.ma=c.createElement("base"),c.head.appendChild(c.ma),c.la=c.createElement("a"));c.ma.href=b;c.la.href=a;return c.la.href||a}},na={async:!0,load:function(a,b,c){if(a)if(a.match(/^data:/)){a=
|
||||||
|
a.split(",");var d=a[1];d=-1<a[0].indexOf(";base64")?atob(d):decodeURIComponent(d);b(d)}else{var e=new XMLHttpRequest;e.open("GET",a,na.async);e.onload=function(){var a=e.responseURL||e.getResponseHeader("Location");a&&0===a.indexOf("/")&&(a=(location.origin||location.protocol+"//"+location.host)+a);var d=e.response||e.responseText;304===e.status||0===e.status||200<=e.status&&300>e.status?b(d,a):c(d)};e.send()}else c("error: href must be specified")}},aa=/Trident/.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent);
|
||||||
|
k.prototype.loadImports=function(a){var b=this;a=m(a,"link[rel=import]");n(a,function(a){return b.s(a)})};k.prototype.s=function(a){var b=this,c=a.href;if(void 0!==this.a[c]){var d=this.a[c];d&&d.__loaded&&(a.__import=d,this.h(a))}else this.b++,this.a[c]="pending",na.load(c,function(a,d){a=b.Sa(a,d||c);b.a[c]=a;b.b--;b.loadImports(a);b.L()},function(){b.a[c]=null;b.b--;b.L()})};k.prototype.Sa=function(a,b){if(!a)return document.createDocumentFragment();aa&&(a=a.replace(Ea,function(a,b,c){return-1===
|
||||||
|
a.indexOf("type=")?b+" type=import-disable "+c:a}));var c=document.createElement("template");c.innerHTML=a;if(c.content)a=c.content,l(a);else for(a=document.createDocumentFragment();c.firstChild;)a.appendChild(c.firstChild);if(c=a.querySelector("base"))b=x.Y(c.getAttribute("href"),b),c.removeAttribute("href");c=m(a,'link[rel=import],link[rel=stylesheet][href][type=import-disable],style:not([type]),link[rel=stylesheet][href]:not([type]),script:not([type]),script[type="application/javascript"],script[type="text/javascript"]');
|
||||||
|
var d=0;n(c,function(a){h(a);x.La(a,b);a.setAttribute("import-dependency","");"script"===a.localName&&!a.src&&a.textContent&&(a.setAttribute("src","data:text/javascript;charset=utf-8,"+encodeURIComponent(a.textContent+("\n//# sourceURL="+b+(d?"-"+d:"")+".js\n"))),a.textContent="",d++)});return a};k.prototype.L=function(){var a=this;if(!this.b){this.c.disconnect();this.flatten(document);var b=!1,c=!1,d=function(){c&&b&&(a.loadImports(document),a.b||(a.c.observe(document.head,{childList:!0,subtree:!0}),
|
||||||
|
a.Pa()))};this.Ua(function(){c=!0;d()});this.Ta(function(){b=!0;d()})}};k.prototype.flatten=function(a){var b=this;a=m(a,"link[rel=import]");n(a,function(a){var c=b.a[a.href];(a.__import=c)&&c.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&(b.a[a.href]=a,a.readyState="loading",a.__import=a,b.flatten(c),a.appendChild(c))})};k.prototype.Ta=function(a){function b(e){if(e<d){var f=c[e],g=document.createElement("script");f.removeAttribute("import-dependency");n(f.attributes,function(a){return g.setAttribute(a.name,
|
||||||
|
a.value)});J=g;f.parentNode.replaceChild(g,f);h(g,function(){J=null;b(e+1)})}else a()}var c=m(document,"script[import-dependency]"),d=c.length;b(0)};k.prototype.Ua=function(a){var b=m(document,"style[import-dependency],link[rel=stylesheet][import-dependency]"),d=b.length;if(d){var e=aa&&!!document.querySelector("link[rel=stylesheet][href][type=import-disable]");n(b,function(b){h(b,function(){b.removeAttribute("import-dependency");0===--d&&a()});if(e&&b.parentNode!==document.head){var f=document.createElement(b.localName);
|
||||||
|
f.__appliedElement=b;f.setAttribute("type","import-placeholder");b.parentNode.insertBefore(f,b.nextSibling);for(f=c(b);f&&c(f);)f=c(f);f.parentNode!==document.head&&(f=null);document.head.insertBefore(b,f);b.removeAttribute("type")}})}else a()};k.prototype.Pa=function(){var a=this,b=m(document,"link[rel=import]");n(b,function(b){return a.h(b)},!0)};k.prototype.h=function(a){a.__loaded||(a.__loaded=!0,a.import&&(a.import.readyState="complete"),a.dispatchEvent(b(a.import?"load":"error",{bubbles:!1,
|
||||||
|
cancelable:!1,detail:void 0})))};k.prototype.Ra=function(a){var b=this;n(a,function(a){return n(a.addedNodes,function(a){a&&a.nodeType===Node.ELEMENT_NODE&&(g(a)?b.s(a):b.loadImports(a))})})};var oa=null;if(C)t=m(document,"link[rel=import]"),n(t,function(a){a.import&&"loading"===a.import.readyState||(a.__loaded=!0)}),t=function(a){a=a.target;g(a)&&(a.__loaded=!0)},document.addEventListener("load",t,!0),document.addEventListener("error",t,!0);else{var U=Object.getOwnPropertyDescriptor(Node.prototype,
|
||||||
|
"baseURI");Object.defineProperty((!U||U.configurable?Node:Element).prototype,"baseURI",{get:function(){var a=g(this)?this:c(this);return a?a.href:U&&U.get?U.get.call(this):(document.querySelector("base")||window.location).href},configurable:!0,enumerable:!0});Object.defineProperty(HTMLLinkElement.prototype,"import",{get:function(){return this.__import||null},configurable:!0,enumerable:!0});e(function(){oa=new k})}f(function(){return document.dispatchEvent(b("HTMLImportsLoaded",{cancelable:!0,bubbles:!0,
|
||||||
|
detail:void 0}))});a.useNative=C;a.whenReady=f;a.importForElement=c;a.loadImports=function(a){oa&&oa.loadImports(a)}})(window.HTMLImports=window.HTMLImports||{});/*
|
||||||
|
|
||||||
|
Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
|
||||||
|
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
||||||
|
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
||||||
|
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
||||||
|
Code distributed by Google as part of the polymer project is also
|
||||||
|
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
||||||
|
*/
|
||||||
|
window.WebComponents=window.WebComponents||{flags:{}};var nb=document.querySelector('script[src*="webcomponents-lite.js"]'),ob=/wc-(.+)/,w={};if(!w.noOpts){location.search.slice(1).split("&").forEach(function(a){a=a.split("=");var b;a[0]&&(b=a[0].match(ob))&&(w[b[1]]=a[1]||!0)});if(nb)for(var pb=0,qb;qb=nb.attributes[pb];pb++)"src"!==qb.name&&(w[qb.name]=qb.value||!0);if(w.log&&w.log.split){var rb=w.log.split(",");w.log={};rb.forEach(function(a){w.log[a]=!0})}else w.log={}}
|
||||||
|
window.WebComponents.flags=w;var sb=w.shadydom;sb&&(window.ShadyDOM=window.ShadyDOM||{},window.ShadyDOM.force=sb);var tb=w.register||w.ce;tb&&window.customElements&&(window.customElements.forcePolyfill=tb);/*
|
||||||
|
|
||||||
|
Copyright (c) 2016 The Polymer Project Authors. All rights reserved.
|
||||||
|
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
||||||
|
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
||||||
|
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
||||||
|
Code distributed by Google as part of the polymer project is also
|
||||||
|
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
||||||
|
*/
|
||||||
|
var y=window.ShadyDOM||{};y.Na=!(!Element.prototype.attachShadow||!Node.prototype.getRootNode);var ub=Object.getOwnPropertyDescriptor(Node.prototype,"firstChild");y.M=!!(ub&&ub.configurable&&ub.get);y.sa=y.force||!y.Na;function vb(a){return a.__shady&&void 0!==a.__shady.firstChild}function z(a){return"ShadyRoot"===a.ya}function wb(a){a=a.getRootNode();if(z(a))return a}var xb=Element.prototype,yb=xb.matches||xb.matchesSelector||xb.mozMatchesSelector||xb.msMatchesSelector||xb.oMatchesSelector||xb.webkitMatchesSelector;
|
||||||
|
function zb(a,b){if(a&&b)for(var c=Object.getOwnPropertyNames(b),d=0,e;d<c.length&&(e=c[d]);d++){var f=Object.getOwnPropertyDescriptor(b,e);f&&Object.defineProperty(a,e,f)}}function Ab(a,b){for(var c=[],d=1;d<arguments.length;++d)c[d-1]=arguments[d];for(d=0;d<c.length;d++)zb(a,c[d]);return a}function Bb(a,b){for(var c in b)a[c]=b[c]}var Cb=document.createTextNode(""),Db=0,Eb=[];(new MutationObserver(function(){for(;Eb.length;)try{Eb.shift()()}catch(a){throw Cb.textContent=Db++,a;}})).observe(Cb,{characterData:!0});
|
||||||
|
function Fb(a){Eb.push(a);Cb.textContent=Db++}var Gb=!!document.contains;function Hb(a,b){for(;b;){if(b==a)return!0;b=b.parentNode}return!1};var Ib=[],Jb;function Kb(a){Jb||(Jb=!0,Fb(Lb));Ib.push(a)}function Lb(){Jb=!1;for(var a=!!Ib.length;Ib.length;)Ib.shift()();return a}Lb.list=Ib;function Mb(){this.a=!1;this.addedNodes=[];this.removedNodes=[];this.V=new Set}function Nb(a){a.a||(a.a=!0,Fb(function(){Ob(a)}))}function Ob(a){if(a.a){a.a=!1;var b=a.takeRecords();b.length&&a.V.forEach(function(a){a(b)})}}Mb.prototype.takeRecords=function(){if(this.addedNodes.length||this.removedNodes.length){var a=[{addedNodes:this.addedNodes,removedNodes:this.removedNodes}];this.addedNodes=[];this.removedNodes=[];return a}return[]};
|
||||||
|
function Pb(a,b){a.__shady=a.__shady||{};a.__shady.N||(a.__shady.N=new Mb);a.__shady.N.V.add(b);var c=a.__shady.N;return{Ca:b,C:c,Ga:a,takeRecords:function(){return c.takeRecords()}}}function Qb(a){var b=a&&a.C;b&&(b.V.delete(a.Ca),b.V.size||(a.Ga.__shady.N=null))}
|
||||||
|
function Rb(a,b){var c=b.getRootNode();return a.map(function(a){var b=c===a.target.getRootNode();if(b&&a.addedNodes){if(b=Array.from(a.addedNodes).filter(function(a){return c===a.getRootNode()}),b.length)return a=Object.create(a),Object.defineProperty(a,"addedNodes",{value:b,configurable:!0}),a}else if(b)return a}).filter(function(a){return a})};var A={},Sb=Element.prototype.insertBefore,Tb=Element.prototype.removeChild,Ub=Element.prototype.setAttribute,Vb=Element.prototype.removeAttribute,Wb=Element.prototype.cloneNode,Xb=Document.prototype.importNode,Yb=Element.prototype.addEventListener,Zb=Element.prototype.removeEventListener,$b=Window.prototype.addEventListener,ac=Window.prototype.removeEventListener,bc=Element.prototype.dispatchEvent,cc=Element.prototype.querySelector,dc=Element.prototype.querySelectorAll,ec=Node.prototype.contains||
|
||||||
|
HTMLElement.prototype.contains;A.appendChild=Element.prototype.appendChild;A.insertBefore=Sb;A.removeChild=Tb;A.setAttribute=Ub;A.removeAttribute=Vb;A.cloneNode=Wb;A.importNode=Xb;A.addEventListener=Yb;A.removeEventListener=Zb;A.ab=$b;A.bb=ac;A.dispatchEvent=bc;A.querySelector=cc;A.querySelectorAll=dc;A.contains=ec;var fc=/[&\u00A0"]/g,gc=/[&\u00A0<>]/g;function hc(a){switch(a){case "&":return"&";case "<":return"<";case ">":return">";case '"':return""";case "\u00a0":return" "}}function ic(a){for(var b={},c=0;c<a.length;c++)b[a[c]]=!0;return b}var jc=ic("area base br col command embed hr img input keygen link meta param source track wbr".split(" ")),kc=ic("style script xmp iframe noembed noframes plaintext noscript".split(" "));
|
||||||
|
function lc(a,b){"template"===a.localName&&(a=a.content);for(var c="",d=b?b(a):a.childNodes,e=0,f=d.length,h;e<f&&(h=d[e]);e++){a:{var g=h;var k=a;var l=b;switch(g.nodeType){case Node.ELEMENT_NODE:for(var m=g.localName,n="<"+m,t=g.attributes,C=0;k=t[C];C++)n+=" "+k.name+'="'+k.value.replace(fc,hc)+'"';n+=">";g=jc[m]?n:n+lc(g,l)+"</"+m+">";break a;case Node.TEXT_NODE:g=g.data;g=k&&kc[k.localName]?g:g.replace(gc,hc);break a;case Node.COMMENT_NODE:g="\x3c!--"+g.data+"--\x3e";break a;default:throw window.console.error(g),
|
||||||
|
Error("not implemented");}}c+=g}return c};var B={},D=document.createTreeWalker(document,NodeFilter.SHOW_ALL,null,!1),E=document.createTreeWalker(document,NodeFilter.SHOW_ELEMENT,null,!1);function mc(a){var b=[];D.currentNode=a;for(a=D.firstChild();a;)b.push(a),a=D.nextSibling();return b}B.parentNode=function(a){D.currentNode=a;return D.parentNode()};B.firstChild=function(a){D.currentNode=a;return D.firstChild()};B.lastChild=function(a){D.currentNode=a;return D.lastChild()};B.previousSibling=function(a){D.currentNode=a;return D.previousSibling()};
|
||||||
|
B.nextSibling=function(a){D.currentNode=a;return D.nextSibling()};B.childNodes=mc;B.parentElement=function(a){E.currentNode=a;return E.parentNode()};B.firstElementChild=function(a){E.currentNode=a;return E.firstChild()};B.lastElementChild=function(a){E.currentNode=a;return E.lastChild()};B.previousElementSibling=function(a){E.currentNode=a;return E.previousSibling()};B.nextElementSibling=function(a){E.currentNode=a;return E.nextSibling()};
|
||||||
|
B.children=function(a){var b=[];E.currentNode=a;for(a=E.firstChild();a;)b.push(a),a=E.nextSibling();return b};B.innerHTML=function(a){return lc(a,function(a){return mc(a)})};B.textContent=function(a){switch(a.nodeType){case Node.ELEMENT_NODE:case Node.DOCUMENT_FRAGMENT_NODE:a=document.createTreeWalker(a,NodeFilter.SHOW_TEXT,null,!1);for(var b="",c;c=a.nextNode();)b+=c.nodeValue;return b;default:return a.nodeValue}};var nc=Object.getOwnPropertyDescriptor(Element.prototype,"innerHTML")||Object.getOwnPropertyDescriptor(HTMLElement.prototype,"innerHTML"),oc=document.implementation.createHTMLDocument("inert"),pc=Object.getOwnPropertyDescriptor(Document.prototype,"activeElement"),qc={parentElement:{get:function(){var a=this.__shady&&this.__shady.parentNode;a&&a.nodeType!==Node.ELEMENT_NODE&&(a=null);return void 0!==a?a:B.parentElement(this)},configurable:!0},parentNode:{get:function(){var a=this.__shady&&this.__shady.parentNode;
|
||||||
|
return void 0!==a?a:B.parentNode(this)},configurable:!0},nextSibling:{get:function(){var a=this.__shady&&this.__shady.nextSibling;return void 0!==a?a:B.nextSibling(this)},configurable:!0},previousSibling:{get:function(){var a=this.__shady&&this.__shady.previousSibling;return void 0!==a?a:B.previousSibling(this)},configurable:!0},className:{get:function(){return this.getAttribute("class")||""},set:function(a){this.setAttribute("class",a)},configurable:!0},nextElementSibling:{get:function(){if(this.__shady&&
|
||||||
|
void 0!==this.__shady.nextSibling){for(var a=this.nextSibling;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.nextSibling;return a}return B.nextElementSibling(this)},configurable:!0},previousElementSibling:{get:function(){if(this.__shady&&void 0!==this.__shady.previousSibling){for(var a=this.previousSibling;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.previousSibling;return a}return B.previousElementSibling(this)},configurable:!0}},rc={childNodes:{get:function(){if(vb(this)){if(!this.__shady.childNodes){this.__shady.childNodes=
|
||||||
|
[];for(var a=this.firstChild;a;a=a.nextSibling)this.__shady.childNodes.push(a)}var b=this.__shady.childNodes}else b=B.childNodes(this);b.item=function(a){return b[a]};return b},configurable:!0},childElementCount:{get:function(){return this.children.length},configurable:!0},firstChild:{get:function(){var a=this.__shady&&this.__shady.firstChild;return void 0!==a?a:B.firstChild(this)},configurable:!0},lastChild:{get:function(){var a=this.__shady&&this.__shady.lastChild;return void 0!==a?a:B.lastChild(this)},
|
||||||
|
configurable:!0},textContent:{get:function(){if(vb(this)){for(var a=[],b=0,c=this.childNodes,d;d=c[b];b++)d.nodeType!==Node.COMMENT_NODE&&a.push(d.textContent);return a.join("")}return B.textContent(this)},set:function(a){if("undefined"===typeof a||null===a)a="";switch(this.nodeType){case Node.ELEMENT_NODE:case Node.DOCUMENT_FRAGMENT_NODE:for(;this.firstChild;)this.removeChild(this.firstChild);(0<a.length||this.nodeType===Node.ELEMENT_NODE)&&this.appendChild(document.createTextNode(a));break;default:this.nodeValue=
|
||||||
|
a}},configurable:!0},firstElementChild:{get:function(){if(this.__shady&&void 0!==this.__shady.firstChild){for(var a=this.firstChild;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.nextSibling;return a}return B.firstElementChild(this)},configurable:!0},lastElementChild:{get:function(){if(this.__shady&&void 0!==this.__shady.lastChild){for(var a=this.lastChild;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.previousSibling;return a}return B.lastElementChild(this)},configurable:!0},children:{get:function(){var a=vb(this)?
|
||||||
|
Array.prototype.filter.call(this.childNodes,function(a){return a.nodeType===Node.ELEMENT_NODE}):B.children(this);a.item=function(b){return a[b]};return a},configurable:!0},innerHTML:{get:function(){var a="template"===this.localName?this.content:this;return vb(this)?lc(a):B.innerHTML(a)},set:function(a){for(var b="template"===this.localName?this.content:this;b.firstChild;)b.removeChild(b.firstChild);var c=this.localName;c&&"template"!==c||(c="div");c=oc.createElement(c);for(nc&&nc.set?nc.set.call(c,
|
||||||
|
a):c.innerHTML=a;c.firstChild;)b.appendChild(c.firstChild)},configurable:!0}},sc={shadowRoot:{get:function(){return this.__shady&&this.__shady.Va||null},configurable:!0}},tc={activeElement:{get:function(){var a=pc&&pc.get?pc.get.call(document):y.M?void 0:document.activeElement;if(a&&a.nodeType){var b=!!z(this);if(this===document||b&&this.host!==a&&A.contains.call(this.host,a)){for(b=wb(a);b&&b!==this;)a=b.host,b=wb(a);a=this===document?b?null:a:b===this?a:null}else a=null}else a=null;return a},set:function(){},
|
||||||
|
configurable:!0}};function F(a,b,c){for(var d in b){var e=Object.getOwnPropertyDescriptor(a,d);e&&e.configurable||!e&&c?Object.defineProperty(a,d,b[d]):c&&console.warn("Could not define",d,"on",a)}}function G(a){F(a,qc);F(a,rc);F(a,tc)}var uc=y.M?function(){}:function(a){a.__shady&&a.__shady.za||(a.__shady=a.__shady||{},a.__shady.za=!0,F(a,qc,!0))},vc=y.M?function(){}:function(a){a.__shady&&a.__shady.xa||(a.__shady=a.__shady||{},a.__shady.xa=!0,F(a,rc,!0),F(a,sc,!0))};function wc(a,b,c){uc(a);c=c||null;a.__shady=a.__shady||{};b.__shady=b.__shady||{};c&&(c.__shady=c.__shady||{});a.__shady.previousSibling=c?c.__shady.previousSibling:b.lastChild;var d=a.__shady.previousSibling;d&&d.__shady&&(d.__shady.nextSibling=a);(d=a.__shady.nextSibling=c)&&d.__shady&&(d.__shady.previousSibling=a);a.__shady.parentNode=b;c?c===b.__shady.firstChild&&(b.__shady.firstChild=a):(b.__shady.lastChild=a,b.__shady.firstChild||(b.__shady.firstChild=a));b.__shady.childNodes=null}
|
||||||
|
function xc(a){if(!a.__shady||void 0===a.__shady.firstChild){a.__shady=a.__shady||{};a.__shady.firstChild=B.firstChild(a);a.__shady.lastChild=B.lastChild(a);vc(a);for(var b=a.__shady.childNodes=B.childNodes(a),c=0,d;c<b.length&&(d=b[c]);c++)d.__shady=d.__shady||{},d.__shady.parentNode=a,d.__shady.nextSibling=b[c+1]||null,d.__shady.previousSibling=b[c-1]||null,uc(d)}};function yc(a,b,c){if(b===a)throw Error("Failed to execute 'appendChild' on 'Node': The new child element contains the parent.");if(c){var d=c.__shady&&c.__shady.parentNode;if(void 0!==d&&d!==a||void 0===d&&B.parentNode(c)!==a)throw Error("Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.");}if(c===b)return b;b.parentNode&&zc(b.parentNode,b);d=wb(a);var e;if(e=d)a:{if(!b.__noInsertionPoint){var f;"slot"===b.localName?f=[b]:
|
||||||
|
b.querySelectorAll&&(f=b.querySelectorAll("slot"));if(f&&f.length){e=f;break a}}e=void 0}(f=e)&&d.H.push.apply(d.H,[].concat(f instanceof Array?f:ja(ia(f))));d&&("slot"===a.localName||f)&&Ac(d);if(vb(a)){d=c;vc(a);a.__shady=a.__shady||{};void 0!==a.__shady.firstChild&&(a.__shady.childNodes=null);if(b.nodeType===Node.DOCUMENT_FRAGMENT_NODE){f=b.childNodes;for(e=0;e<f.length;e++)wc(f[e],a,d);b.__shady=b.__shady||{};d=void 0!==b.__shady.firstChild?null:void 0;b.__shady.firstChild=b.__shady.lastChild=
|
||||||
|
d;b.__shady.childNodes=d}else wc(b,a,d);if(Bc(a)){Ac(a.__shady.root);var h=!0}else a.__shady.root&&(h=!0)}h||(h=z(a)?a.host:a,c?(c=Cc(c),A.insertBefore.call(h,b,c)):A.appendChild.call(h,b));Dc(a,b);return b}
|
||||||
|
function zc(a,b){if(b.parentNode!==a)throw Error("The node to be removed is not a child of this node: "+b);var c=wb(b);if(vb(a)){b.__shady=b.__shady||{};a.__shady=a.__shady||{};b===a.__shady.firstChild&&(a.__shady.firstChild=b.__shady.nextSibling);b===a.__shady.lastChild&&(a.__shady.lastChild=b.__shady.previousSibling);var d=b.__shady.previousSibling,e=b.__shady.nextSibling;d&&(d.__shady=d.__shady||{},d.__shady.nextSibling=e);e&&(e.__shady=e.__shady||{},e.__shady.previousSibling=d);b.__shady.parentNode=
|
||||||
|
b.__shady.previousSibling=b.__shady.nextSibling=void 0;void 0!==a.__shady.childNodes&&(a.__shady.childNodes=null);if(Bc(a)){Ac(a.__shady.root);var f=!0}}Ec(b);if(c){(d=a&&"slot"===a.localName)&&(f=!0);Fc(c);e=c.l;for(var h in e)for(var g=e[h],k=0;k<g.length;k++){var l=g[k];if(Hb(b,l)){g.splice(k,1);var m=c.o.indexOf(l);0<=m&&c.o.splice(m,1);k--;if(m=l.__shady.K)for(l=0;l<m.length;l++){var n=m[l],t=B.parentNode(n);t&&A.removeChild.call(t,n)}m=!0}}(m||d)&&Ac(c)}f||(f=z(a)?a.host:a,(!a.__shady.root&&
|
||||||
|
"slot"!==b.localName||f===B.parentNode(b))&&A.removeChild.call(f,b));Dc(a,null,b);return b}function Ec(a){if(a.__shady&&void 0!==a.__shady.ka)for(var b=a.childNodes,c=0,d=b.length,e;c<d&&(e=b[c]);c++)Ec(e);a.__shady&&(a.__shady.ka=void 0)}function Cc(a){var b=a;a&&"slot"===a.localName&&(b=(b=a.__shady&&a.__shady.K)&&b.length?b[0]:Cc(a.nextSibling));return b}function Bc(a){return(a=a&&a.__shady&&a.__shady.root)&&Gc(a)}
|
||||||
|
function Hc(a,b){if("slot"===b)a=a.parentNode,Bc(a)&&Ac(a.__shady.root);else if("slot"===a.localName&&"name"===b&&(b=wb(a))){var c=a.Aa,d=Ic(a);if(d!==c){c=b.l[c];var e=c.indexOf(a);0<=e&&c.splice(e,1);c=b.l[d]||(b.l[d]=[]);c.push(a);1<c.length&&(b.l[d]=Jc(c))}Ac(b)}}function Dc(a,b,c){if(a=a.__shady&&a.__shady.N)b&&a.addedNodes.push(b),c&&a.removedNodes.push(c),Nb(a)}
|
||||||
|
function Kc(a){if(a&&a.nodeType){a.__shady=a.__shady||{};var b=a.__shady.ka;void 0===b&&(b=z(a)?a:(b=a.parentNode)?Kc(b):a,A.contains.call(document.documentElement,a)&&(a.__shady.ka=b));return b}}function Lc(a,b,c){var d=[];Mc(a.childNodes,b,c,d);return d}function Mc(a,b,c,d){for(var e=0,f=a.length,h;e<f&&(h=a[e]);e++){var g;if(g=h.nodeType===Node.ELEMENT_NODE){g=h;var k=b,l=c,m=d,n=k(g);n&&m.push(g);l&&l(n)?g=n:(Mc(g.childNodes,k,l,m),g=void 0)}if(g)break}}var Nc=null;
|
||||||
|
function Oc(a,b,c){Nc||(Nc=window.ShadyCSS&&window.ShadyCSS.ScopingShim);Nc&&"class"===b?Nc.setElementClass(a,c):(A.setAttribute.call(a,b,c),Hc(a,b))}function Pc(a,b){if(a.ownerDocument!==document)return A.importNode.call(document,a,b);var c=A.importNode.call(document,a,!1);if(b){a=a.childNodes;b=0;for(var d;b<a.length;b++)d=Pc(a[b],!0),c.appendChild(d)}return c};var Qc="__eventWrappers"+Date.now(),Rc={blur:!0,focus:!0,focusin:!0,focusout:!0,click:!0,dblclick:!0,mousedown:!0,mouseenter:!0,mouseleave:!0,mousemove:!0,mouseout:!0,mouseover:!0,mouseup:!0,wheel:!0,beforeinput:!0,input:!0,keydown:!0,keyup:!0,compositionstart:!0,compositionupdate:!0,compositionend:!0,touchstart:!0,touchend:!0,touchmove:!0,touchcancel:!0,pointerover:!0,pointerenter:!0,pointerdown:!0,pointermove:!0,pointerup:!0,pointercancel:!0,pointerout:!0,pointerleave:!0,gotpointercapture:!0,lostpointercapture:!0,
|
||||||
|
dragstart:!0,drag:!0,dragenter:!0,dragleave:!0,dragover:!0,drop:!0,dragend:!0,DOMActivate:!0,DOMFocusIn:!0,DOMFocusOut:!0,keypress:!0};function Sc(a,b){var c=[],d=a;for(a=a===window?window:a.getRootNode();d;)c.push(d),d=d.assignedSlot?d.assignedSlot:d.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&d.host&&(b||d!==a)?d.host:d.parentNode;c[c.length-1]===document&&c.push(window);return c}
|
||||||
|
function Tc(a,b){if(!z)return a;a=Sc(a,!0);for(var c=0,d,e,f,h;c<b.length;c++)if(d=b[c],f=d===window?window:d.getRootNode(),f!==e&&(h=a.indexOf(f),e=f),!z(f)||-1<h)return d}
|
||||||
|
var Uc={get composed(){!1!==this.isTrusted&&void 0===this.Z&&(this.Z=Rc[this.type]);return this.Z||!1},composedPath:function(){this.b||(this.b=Sc(this.__target,this.composed));return this.b},get target(){return Tc(this.currentTarget,this.composedPath())},get relatedTarget(){if(!this.$)return null;this.c||(this.c=Sc(this.$,!0));return Tc(this.currentTarget,this.c)},stopPropagation:function(){Event.prototype.stopPropagation.call(this);this.a=!0},stopImmediatePropagation:function(){Event.prototype.stopImmediatePropagation.call(this);
|
||||||
|
this.a=this.h=!0}};function Vc(a){function b(b,d){b=new a(b,d);b.Z=d&&!!d.composed;return b}Bb(b,a);b.prototype=a.prototype;return b}var Wc={focus:!0,blur:!0};function Xc(a){return a.__target!==a.target||a.$!==a.relatedTarget}function Yc(a,b,c){if(c=b.__handlers&&b.__handlers[a.type]&&b.__handlers[a.type][c])for(var d=0,e;(e=c[d])&&(!Xc(a)||a.target!==a.relatedTarget)&&(e.call(b,a),!a.h);d++);}
|
||||||
|
function Zc(a){var b=a.composedPath();Object.defineProperty(a,"currentTarget",{get:function(){return d},configurable:!0});for(var c=b.length-1;0<=c;c--){var d=b[c];Yc(a,d,"capture");if(a.a)return}Object.defineProperty(a,"eventPhase",{get:function(){return Event.AT_TARGET}});var e;for(c=0;c<b.length;c++){d=b[c];var f=d.__shady&&d.__shady.root;if(0===c||f&&f===e)if(Yc(a,d,"bubble"),d!==window&&(e=d.getRootNode()),a.a)break}}
|
||||||
|
function $c(a,b,c,d,e,f){for(var h=0;h<a.length;h++){var g=a[h],k=g.type,l=g.capture,m=g.once,n=g.passive;if(b===g.node&&c===k&&d===l&&e===m&&f===n)return h}return-1}
|
||||||
|
function ad(a,b,c){if(b){var d=typeof b;if("function"===d||"object"===d)if("object"!==d||b.handleEvent&&"function"===typeof b.handleEvent){if(c&&"object"===typeof c){var e=!!c.capture;var f=!!c.once;var h=!!c.passive}else e=!!c,h=f=!1;var g=c&&c.aa||this,k=b[Qc];if(k){if(-1<$c(k,g,a,e,f,h))return}else b[Qc]=[];k=function(e){f&&this.removeEventListener(a,b,c);e.__target||bd(e);if(g!==this){var h=Object.getOwnPropertyDescriptor(e,"currentTarget");Object.defineProperty(e,"currentTarget",{get:function(){return g},
|
||||||
|
configurable:!0})}if(e.composed||-1<e.composedPath().indexOf(g))if(Xc(e)&&e.target===e.relatedTarget)e.eventPhase===Event.BUBBLING_PHASE&&e.stopImmediatePropagation();else if(e.eventPhase===Event.CAPTURING_PHASE||e.bubbles||e.target===g||g instanceof Window){var k="function"===d?b.call(g,e):b.handleEvent&&b.handleEvent(e);g!==this&&(h?(Object.defineProperty(e,"currentTarget",h),h=null):delete e.currentTarget);return k}};b[Qc].push({node:this,type:a,capture:e,once:f,passive:h,cb:k});Wc[a]?(this.__handlers=
|
||||||
|
this.__handlers||{},this.__handlers[a]=this.__handlers[a]||{capture:[],bubble:[]},this.__handlers[a][e?"capture":"bubble"].push(k)):(this instanceof Window?A.ab:A.addEventListener).call(this,a,k,c)}}}
|
||||||
|
function cd(a,b,c){if(b){if(c&&"object"===typeof c){var d=!!c.capture;var e=!!c.once;var f=!!c.passive}else d=!!c,f=e=!1;var h=c&&c.aa||this,g=void 0;var k=null;try{k=b[Qc]}catch(l){}k&&(e=$c(k,h,a,d,e,f),-1<e&&(g=k.splice(e,1)[0].cb,k.length||(b[Qc]=void 0)));(this instanceof Window?A.bb:A.removeEventListener).call(this,a,g||b,c);g&&Wc[a]&&this.__handlers&&this.__handlers[a]&&(a=this.__handlers[a][d?"capture":"bubble"],g=a.indexOf(g),-1<g&&a.splice(g,1))}}
|
||||||
|
function dd(){for(var a in Wc)window.addEventListener(a,function(a){a.__target||(bd(a),Zc(a))},!0)}function bd(a){a.__target=a.target;a.$=a.relatedTarget;if(y.M){var b=Object.getPrototypeOf(a);if(!b.hasOwnProperty("__patchProto")){var c=Object.create(b);c.fb=b;zb(c,Uc);b.__patchProto=c}a.__proto__=b.__patchProto}else zb(a,Uc)}var ed=Vc(window.Event),fd=Vc(window.CustomEvent),gd=Vc(window.MouseEvent);function hd(a,b){return{index:a,O:[],U:b}}
|
||||||
|
function id(a,b,c,d){var e=0,f=0,h=0,g=0,k=Math.min(b-e,d-f);if(0==e&&0==f)a:{for(h=0;h<k;h++)if(a[h]!==c[h])break a;h=k}if(b==a.length&&d==c.length){g=a.length;for(var l=c.length,m=0;m<k-h&&jd(a[--g],c[--l]);)m++;g=m}e+=h;f+=h;b-=g;d-=g;if(0==b-e&&0==d-f)return[];if(e==b){for(b=hd(e,0);f<d;)b.O.push(c[f++]);return[b]}if(f==d)return[hd(e,b-e)];k=e;h=f;d=d-h+1;g=b-k+1;b=Array(d);for(l=0;l<d;l++)b[l]=Array(g),b[l][0]=l;for(l=0;l<g;l++)b[0][l]=l;for(l=1;l<d;l++)for(m=1;m<g;m++)if(a[k+m-1]===c[h+l-1])b[l][m]=
|
||||||
|
b[l-1][m-1];else{var n=b[l-1][m]+1,t=b[l][m-1]+1;b[l][m]=n<t?n:t}k=b.length-1;h=b[0].length-1;d=b[k][h];for(a=[];0<k||0<h;)0==k?(a.push(2),h--):0==h?(a.push(3),k--):(g=b[k-1][h-1],l=b[k-1][h],m=b[k][h-1],n=l<m?l<g?l:g:m<g?m:g,n==g?(g==d?a.push(0):(a.push(1),d=g),k--,h--):n==l?(a.push(3),k--,d=l):(a.push(2),h--,d=m));a.reverse();b=void 0;k=[];for(h=0;h<a.length;h++)switch(a[h]){case 0:b&&(k.push(b),b=void 0);e++;f++;break;case 1:b||(b=hd(e,0));b.U++;e++;b.O.push(c[f]);f++;break;case 2:b||(b=hd(e,0));
|
||||||
|
b.U++;e++;break;case 3:b||(b=hd(e,0)),b.O.push(c[f]),f++}b&&k.push(b);return k}function jd(a,b){return a===b};var kd={};function H(a,b,c){if(a!==kd)throw new TypeError("Illegal constructor");a=document.createDocumentFragment();a.__proto__=H.prototype;a.ya="ShadyRoot";xc(b);xc(a);a.host=b;a.Fa=c&&c.mode;b.__shady=b.__shady||{};b.__shady.root=a;b.__shady.Va="closed"!==a.Fa?a:null;a.T=!1;a.o=[];a.l={};a.H=[];c=B.childNodes(b);for(var d=0,e=c.length;d<e;d++)A.removeChild.call(b,c[d]);return a}H.prototype=Object.create(DocumentFragment.prototype);function Ac(a){a.T||(a.T=!0,Kb(function(){return ld(a)}))}
|
||||||
|
function ld(a){for(var b;a;){a.T&&(b=a);a:{var c=a;a=c.host.getRootNode();if(z(a))for(var d=c.host.childNodes,e=0;e<d.length;e++)if(c=d[e],"slot"==c.localName)break a;a=void 0}}b&&b._renderRoot()}
|
||||||
|
H.prototype._renderRoot=function(){this.T=!1;Fc(this);for(var a=0,b;a<this.o.length;a++){b=this.o[a];var c=b.__shady.assignedNodes;b.__shady.assignedNodes=[];b.__shady.K=[];if(b.__shady.oa=c)for(var d=0;d<c.length;d++){var e=c[d];e.__shady.ga=e.__shady.assignedSlot;e.__shady.assignedSlot===b&&(e.__shady.assignedSlot=null)}}for(b=this.host.firstChild;b;b=b.nextSibling)md(this,b);for(a=0;a<this.o.length;a++){b=this.o[a];if(!b.__shady.assignedNodes.length)for(c=b.firstChild;c;c=c.nextSibling)md(this,
|
||||||
|
c,b);c=b.parentNode;(c=c.__shady&&c.__shady.root)&&Gc(c)&&c._renderRoot();nd(this,b.__shady.K,b.__shady.assignedNodes);if(c=b.__shady.oa){for(d=0;d<c.length;d++)c[d].__shady.ga=null;b.__shady.oa=null;c.length>b.__shady.assignedNodes.length&&(b.__shady.ia=!0)}b.__shady.ia&&(b.__shady.ia=!1,od(this,b))}a=this.o;b=[];for(c=0;c<a.length;c++)d=a[c].parentNode,d.__shady&&d.__shady.root||!(0>b.indexOf(d))||b.push(d);for(a=0;a<b.length;a++){c=b[a];d=c===this?this.host:c;e=[];c=c.childNodes;for(var f=0;f<
|
||||||
|
c.length;f++){var h=c[f];if("slot"==h.localName){h=h.__shady.K;for(var g=0;g<h.length;g++)e.push(h[g])}else e.push(h)}c=void 0;f=B.childNodes(d);h=id(e,e.length,f,f.length);for(var k=g=0;g<h.length&&(c=h[g]);g++){for(var l=0,m;l<c.O.length&&(m=c.O[l]);l++)B.parentNode(m)===d&&A.removeChild.call(d,m),f.splice(c.index+k,1);k-=c.U}for(k=0;k<h.length&&(c=h[k]);k++)for(g=f[c.index],l=c.index;l<c.index+c.U;l++)m=e[l],A.insertBefore.call(d,m,g),f.splice(l,0,m)}};
|
||||||
|
function md(a,b,c){b.__shady=b.__shady||{};var d=b.__shady.ga;b.__shady.ga=null;c||(c=(a=a.l[b.slot||"__catchall"])&&a[0]);c?(c.__shady.assignedNodes.push(b),b.__shady.assignedSlot=c):b.__shady.assignedSlot=void 0;d!==b.__shady.assignedSlot&&b.__shady.assignedSlot&&(b.__shady.assignedSlot.__shady.ia=!0)}function nd(a,b,c){for(var d=0,e;d<c.length&&(e=c[d]);d++)if("slot"==e.localName){var f=e.__shady.assignedNodes;f&&f.length&&nd(a,b,f)}else b.push(c[d])}
|
||||||
|
function od(a,b){A.dispatchEvent.call(b,new Event("slotchange"));b.__shady.assignedSlot&&od(a,b.__shady.assignedSlot)}function Fc(a){if(a.H.length){for(var b=a.H,c,d=0;d<b.length;d++){var e=b[d];e.__shady=e.__shady||{};xc(e);xc(e.parentNode);var f=Ic(e);a.l[f]?(c=c||{},c[f]=!0,a.l[f].push(e)):a.l[f]=[e];a.o.push(e)}if(c)for(var h in c)a.l[h]=Jc(a.l[h]);a.H=[]}}function Ic(a){var b=a.name||a.getAttribute("name")||"__catchall";return a.Aa=b}
|
||||||
|
function Jc(a){return a.sort(function(a,c){a=pd(a);for(var b=pd(c),e=0;e<a.length;e++){c=a[e];var f=b[e];if(c!==f)return a=Array.from(c.parentNode.childNodes),a.indexOf(c)-a.indexOf(f)}})}function pd(a){var b=[];do b.unshift(a);while(a=a.parentNode);return b}function Gc(a){Fc(a);return!!a.o.length}H.prototype.addEventListener=function(a,b,c){"object"!==typeof c&&(c={capture:!!c});c.aa=this;this.host.addEventListener(a,b,c)};
|
||||||
|
H.prototype.removeEventListener=function(a,b,c){"object"!==typeof c&&(c={capture:!!c});c.aa=this;this.host.removeEventListener(a,b,c)};H.prototype.getElementById=function(a){return Lc(this,function(b){return b.id==a},function(a){return!!a})[0]||null};var qd=H.prototype;F(qd,rc,!0);F(qd,tc,!0);function rd(a){var b=a.getRootNode();z(b)&&ld(b);return a.__shady&&a.__shady.assignedSlot||null}
|
||||||
|
var sd={addEventListener:ad.bind(window),removeEventListener:cd.bind(window)},td={addEventListener:ad,removeEventListener:cd,appendChild:function(a){return yc(this,a)},insertBefore:function(a,b){return yc(this,a,b)},removeChild:function(a){return zc(this,a)},replaceChild:function(a,b){yc(this,a,b);zc(this,b);return a},cloneNode:function(a){if("template"==this.localName)var b=A.cloneNode.call(this,a);else if(b=A.cloneNode.call(this,!1),a){a=this.childNodes;for(var c=0,d;c<a.length;c++)d=a[c].cloneNode(!0),
|
||||||
|
b.appendChild(d)}return b},getRootNode:function(){return Kc(this)},contains:function(a){return Hb(this,a)},get isConnected(){var a=this.ownerDocument;if(Gb&&A.contains.call(a,this)||a.documentElement&&A.contains.call(a.documentElement,this))return!0;for(a=this;a&&!(a instanceof Document);)a=a.parentNode||(a instanceof H?a.host:void 0);return!!(a&&a instanceof Document)},dispatchEvent:function(a){Lb();return A.dispatchEvent.call(this,a)}},ud={get assignedSlot(){return rd(this)}},vd={querySelector:function(a){return Lc(this,
|
||||||
|
function(b){return yb.call(b,a)},function(a){return!!a})[0]||null},querySelectorAll:function(a){return Lc(this,function(b){return yb.call(b,a)})}},wd={assignedNodes:function(a){if("slot"===this.localName){var b=this.getRootNode();z(b)&&ld(b);return this.__shady?(a&&a.flatten?this.__shady.K:this.__shady.assignedNodes)||[]:[]}}},xd=Ab({setAttribute:function(a,b){Oc(this,a,b)},removeAttribute:function(a){A.removeAttribute.call(this,a);Hc(this,a)},attachShadow:function(a){if(!this)throw"Must provide a host.";
|
||||||
|
if(!a)throw"Not enough arguments.";return new H(kd,this,a)},get slot(){return this.getAttribute("slot")},set slot(a){Oc(this,"slot",a)},get assignedSlot(){return rd(this)}},vd,wd);Object.defineProperties(xd,sc);var yd=Ab({importNode:function(a,b){return Pc(a,b)},getElementById:function(a){return Lc(this,function(b){return b.id==a},function(a){return!!a})[0]||null}},vd);Object.defineProperties(yd,{_activeElement:tc.activeElement});
|
||||||
|
var zd=HTMLElement.prototype.blur,Ad=Ab({blur:function(){var a=this.__shady&&this.__shady.root;(a=a&&a.activeElement)?a.blur():zd.call(this)}});function I(a,b){for(var c=Object.getOwnPropertyNames(b),d=0;d<c.length;d++){var e=c[d],f=Object.getOwnPropertyDescriptor(b,e);f.value?a[e]=f.value:Object.defineProperty(a,e,f)}};if(y.sa){var ShadyDOM={inUse:y.sa,patch:function(a){return a},isShadyRoot:z,enqueue:Kb,flush:Lb,settings:y,filterMutations:Rb,observeChildren:Pb,unobserveChildren:Qb,nativeMethods:A,nativeTree:B};window.ShadyDOM=ShadyDOM;window.Event=ed;window.CustomEvent=fd;window.MouseEvent=gd;dd();var Bd=window.customElements&&window.customElements.nativeHTMLElement||HTMLElement;I(window.Node.prototype,td);I(window.Window.prototype,sd);I(window.Text.prototype,ud);I(window.DocumentFragment.prototype,vd);I(window.Element.prototype,
|
||||||
|
xd);I(window.Document.prototype,yd);window.HTMLSlotElement&&I(window.HTMLSlotElement.prototype,wd);I(Bd.prototype,Ad);y.M&&(G(window.Node.prototype),G(window.Text.prototype),G(window.DocumentFragment.prototype),G(window.Element.prototype),G(Bd.prototype),G(window.Document.prototype),window.HTMLSlotElement&&G(window.HTMLSlotElement.prototype));window.ShadowRoot=H};var Cd=new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" "));function Dd(a){var b=Cd.has(a);a=/^[a-z][.0-9_a-z]*-[\-.0-9_a-z]*$/.test(a);return!b&&a}function K(a){var b=a.isConnected;if(void 0!==b)return b;for(;a&&!(a.__CE_isImportDocument||a instanceof Document);)a=a.parentNode||(window.ShadowRoot&&a instanceof ShadowRoot?a.host:void 0);return!(!a||!(a.__CE_isImportDocument||a instanceof Document))}
|
||||||
|
function Ed(a,b){for(;b&&b!==a&&!b.nextSibling;)b=b.parentNode;return b&&b!==a?b.nextSibling:null}
|
||||||
|
function L(a,b,c){c=void 0===c?new Set:c;for(var d=a;d;){if(d.nodeType===Node.ELEMENT_NODE){var e=d;b(e);var f=e.localName;if("link"===f&&"import"===e.getAttribute("rel")){d=e.import;if(d instanceof Node&&!c.has(d))for(c.add(d),d=d.firstChild;d;d=d.nextSibling)L(d,b,c);d=Ed(a,e);continue}else if("template"===f){d=Ed(a,e);continue}if(e=e.__CE_shadowRoot)for(e=e.firstChild;e;e=e.nextSibling)L(e,b,c)}d=d.firstChild?d.firstChild:Ed(a,d)}}function M(a,b,c){a[b]=c};function Fd(){this.a=new Map;this.s=new Map;this.h=[];this.c=!1}function Gd(a,b,c){a.a.set(b,c);a.s.set(c.constructor,c)}function Hd(a,b){a.c=!0;a.h.push(b)}function Id(a,b){a.c&&L(b,function(b){return a.b(b)})}Fd.prototype.b=function(a){if(this.c&&!a.__CE_patched){a.__CE_patched=!0;for(var b=0;b<this.h.length;b++)this.h[b](a)}};function N(a,b){var c=[];L(b,function(a){return c.push(a)});for(b=0;b<c.length;b++){var d=c[b];1===d.__CE_state?a.connectedCallback(d):Jd(a,d)}}
|
||||||
|
function O(a,b){var c=[];L(b,function(a){return c.push(a)});for(b=0;b<c.length;b++){var d=c[b];1===d.__CE_state&&a.disconnectedCallback(d)}}
|
||||||
|
function P(a,b,c){c=void 0===c?{}:c;var d=c.$a||new Set,e=c.va||function(b){return Jd(a,b)},f=[];L(b,function(b){if("link"===b.localName&&"import"===b.getAttribute("rel")){var c=b.import;c instanceof Node&&(c.__CE_isImportDocument=!0,c.__CE_hasRegistry=!0);c&&"complete"===c.readyState?c.__CE_documentLoadHandled=!0:b.addEventListener("load",function(){var c=b.import;if(!c.__CE_documentLoadHandled){c.__CE_documentLoadHandled=!0;var f=new Set(d);f.delete(c);P(a,c,{$a:f,va:e})}})}else f.push(b)},d);if(a.c)for(b=
|
||||||
|
0;b<f.length;b++)a.b(f[b]);for(b=0;b<f.length;b++)e(f[b])}
|
||||||
|
function Jd(a,b){if(void 0===b.__CE_state){var c=b.ownerDocument;if(c.defaultView||c.__CE_isImportDocument&&c.__CE_hasRegistry)if(c=a.a.get(b.localName)){c.constructionStack.push(b);var d=c.constructor;try{try{if(new d!==b)throw Error("The custom element constructor did not produce the element being upgraded.");}finally{c.constructionStack.pop()}}catch(h){throw b.__CE_state=2,h;}b.__CE_state=1;b.__CE_definition=c;if(c.attributeChangedCallback)for(c=c.observedAttributes,d=0;d<c.length;d++){var e=c[d],
|
||||||
|
f=b.getAttribute(e);null!==f&&a.attributeChangedCallback(b,e,null,f,null)}K(b)&&a.connectedCallback(b)}}}Fd.prototype.connectedCallback=function(a){var b=a.__CE_definition;b.connectedCallback&&b.connectedCallback.call(a)};Fd.prototype.disconnectedCallback=function(a){var b=a.__CE_definition;b.disconnectedCallback&&b.disconnectedCallback.call(a)};
|
||||||
|
Fd.prototype.attributeChangedCallback=function(a,b,c,d,e){var f=a.__CE_definition;f.attributeChangedCallback&&-1<f.observedAttributes.indexOf(b)&&f.attributeChangedCallback.call(a,b,c,d,e)};function Kd(a){var b=document;this.j=a;this.a=b;this.C=void 0;P(this.j,this.a);"loading"===this.a.readyState&&(this.C=new MutationObserver(this.b.bind(this)),this.C.observe(this.a,{childList:!0,subtree:!0}))}Kd.prototype.disconnect=function(){this.C&&this.C.disconnect()};Kd.prototype.b=function(a){var b=this.a.readyState;"interactive"!==b&&"complete"!==b||this.disconnect();for(b=0;b<a.length;b++)for(var c=a[b].addedNodes,d=0;d<c.length;d++)P(this.j,c[d])};function Ld(){var a=this;this.b=this.a=void 0;this.c=new Promise(function(b){a.b=b;a.a&&b(a.a)})}Ld.prototype.resolve=function(a){if(this.a)throw Error("Already resolved.");this.a=a;this.b&&this.b(a)};function Q(a){this.da=!1;this.j=a;this.ha=new Map;this.ea=function(a){return a()};this.R=!1;this.fa=[];this.Da=new Kd(a)}
|
||||||
|
Q.prototype.define=function(a,b){var c=this;if(!(b instanceof Function))throw new TypeError("Custom element constructors must be functions.");if(!Dd(a))throw new SyntaxError("The element name '"+a+"' is not valid.");if(this.j.a.get(a))throw Error("A custom element with name '"+a+"' has already been defined.");if(this.da)throw Error("A custom element is already being defined.");this.da=!0;try{var d=function(a){var b=e[a];if(void 0!==b&&!(b instanceof Function))throw Error("The '"+a+"' callback must be a function.");
|
||||||
|
return b},e=b.prototype;if(!(e instanceof Object))throw new TypeError("The custom element constructor's prototype is not an object.");var f=d("connectedCallback");var h=d("disconnectedCallback");var g=d("adoptedCallback");var k=d("attributeChangedCallback");var l=b.observedAttributes||[]}catch(m){return}finally{this.da=!1}b={localName:a,constructor:b,connectedCallback:f,disconnectedCallback:h,adoptedCallback:g,attributeChangedCallback:k,observedAttributes:l,constructionStack:[]};Gd(this.j,a,b);this.fa.push(b);
|
||||||
|
this.R||(this.R=!0,this.ea(function(){return Md(c)}))};function Md(a){if(!1!==a.R){a.R=!1;for(var b=a.fa,c=[],d=new Map,e=0;e<b.length;e++)d.set(b[e].localName,[]);P(a.j,document,{va:function(b){if(void 0===b.__CE_state){var e=b.localName,f=d.get(e);f?f.push(b):a.j.a.get(e)&&c.push(b)}}});for(e=0;e<c.length;e++)Jd(a.j,c[e]);for(;0<b.length;){var f=b.shift();e=f.localName;f=d.get(f.localName);for(var h=0;h<f.length;h++)Jd(a.j,f[h]);(e=a.ha.get(e))&&e.resolve(void 0)}}}
|
||||||
|
Q.prototype.get=function(a){if(a=this.j.a.get(a))return a.constructor};Q.prototype.a=function(a){if(!Dd(a))return Promise.reject(new SyntaxError("'"+a+"' is not a valid custom element name."));var b=this.ha.get(a);if(b)return b.c;b=new Ld;this.ha.set(a,b);this.j.a.get(a)&&!this.fa.some(function(b){return b.localName===a})&&b.resolve(void 0);return b.c};Q.prototype.b=function(a){this.Da.disconnect();var b=this.ea;this.ea=function(c){return a(function(){return b(c)})}};
|
||||||
|
window.CustomElementRegistry=Q;Q.prototype.define=Q.prototype.define;Q.prototype.get=Q.prototype.get;Q.prototype.whenDefined=Q.prototype.a;Q.prototype.polyfillWrapFlushCallback=Q.prototype.b;var Nd=window.Document.prototype.createElement,Od=window.Document.prototype.createElementNS,Pd=window.Document.prototype.importNode,Qd=window.Document.prototype.prepend,Rd=window.Document.prototype.append,Sd=window.DocumentFragment.prototype.prepend,Td=window.DocumentFragment.prototype.append,Ud=window.Node.prototype.cloneNode,Vd=window.Node.prototype.appendChild,Wd=window.Node.prototype.insertBefore,Xd=window.Node.prototype.removeChild,Yd=window.Node.prototype.replaceChild,Zd=Object.getOwnPropertyDescriptor(window.Node.prototype,
|
||||||
|
"textContent"),$d=window.Element.prototype.attachShadow,ae=Object.getOwnPropertyDescriptor(window.Element.prototype,"innerHTML"),be=window.Element.prototype.getAttribute,ce=window.Element.prototype.setAttribute,de=window.Element.prototype.removeAttribute,ee=window.Element.prototype.getAttributeNS,fe=window.Element.prototype.setAttributeNS,ge=window.Element.prototype.removeAttributeNS,he=window.Element.prototype.insertAdjacentElement,ie=window.Element.prototype.prepend,je=window.Element.prototype.append,
|
||||||
|
ke=window.Element.prototype.before,le=window.Element.prototype.after,me=window.Element.prototype.replaceWith,ne=window.Element.prototype.remove,oe=window.HTMLElement,pe=Object.getOwnPropertyDescriptor(window.HTMLElement.prototype,"innerHTML"),qe=window.HTMLElement.prototype.insertAdjacentElement;var re=new function(){};function se(){var a=te;window.HTMLElement=function(){function b(){var b=this.constructor,d=a.s.get(b);if(!d)throw Error("The custom element being constructed was not registered with `customElements`.");var e=d.constructionStack;if(0===e.length)return e=Nd.call(document,d.localName),Object.setPrototypeOf(e,b.prototype),e.__CE_state=1,e.__CE_definition=d,a.b(e),e;d=e.length-1;var f=e[d];if(f===re)throw Error("The HTMLElement constructor was either called reentrantly for this constructor or called multiple times.");
|
||||||
|
e[d]=re;Object.setPrototypeOf(f,b.prototype);a.b(f);return f}b.prototype=oe.prototype;return b}()};function ue(a,b,c){function d(b){return function(c){for(var d=[],e=0;e<arguments.length;++e)d[e-0]=arguments[e];e=[];for(var f=[],l=0;l<d.length;l++){var m=d[l];m instanceof Element&&K(m)&&f.push(m);if(m instanceof DocumentFragment)for(m=m.firstChild;m;m=m.nextSibling)e.push(m);else e.push(m)}b.apply(this,d);for(d=0;d<f.length;d++)O(a,f[d]);if(K(this))for(d=0;d<e.length;d++)f=e[d],f instanceof Element&&N(a,f)}}void 0!==c.X&&(b.prepend=d(c.X));void 0!==c.append&&(b.append=d(c.append))};function ve(){var a=te;M(Document.prototype,"createElement",function(b){if(this.__CE_hasRegistry){var c=a.a.get(b);if(c)return new c.constructor}b=Nd.call(this,b);a.b(b);return b});M(Document.prototype,"importNode",function(b,c){b=Pd.call(this,b,c);this.__CE_hasRegistry?P(a,b):Id(a,b);return b});M(Document.prototype,"createElementNS",function(b,c){if(this.__CE_hasRegistry&&(null===b||"http://www.w3.org/1999/xhtml"===b)){var d=a.a.get(c);if(d)return new d.constructor}b=Od.call(this,b,c);a.b(b);return b});
|
||||||
|
ue(a,Document.prototype,{X:Qd,append:Rd})};function we(){var a=te;function b(b,d){Object.defineProperty(b,"textContent",{enumerable:d.enumerable,configurable:!0,get:d.get,set:function(b){if(this.nodeType===Node.TEXT_NODE)d.set.call(this,b);else{var c=void 0;if(this.firstChild){var e=this.childNodes,g=e.length;if(0<g&&K(this)){c=Array(g);for(var k=0;k<g;k++)c[k]=e[k]}}d.set.call(this,b);if(c)for(b=0;b<c.length;b++)O(a,c[b])}}})}M(Node.prototype,"insertBefore",function(b,d){if(b instanceof DocumentFragment){var c=Array.prototype.slice.apply(b.childNodes);
|
||||||
|
b=Wd.call(this,b,d);if(K(this))for(d=0;d<c.length;d++)N(a,c[d]);return b}c=K(b);d=Wd.call(this,b,d);c&&O(a,b);K(this)&&N(a,b);return d});M(Node.prototype,"appendChild",function(b){if(b instanceof DocumentFragment){var c=Array.prototype.slice.apply(b.childNodes);b=Vd.call(this,b);if(K(this))for(var e=0;e<c.length;e++)N(a,c[e]);return b}c=K(b);e=Vd.call(this,b);c&&O(a,b);K(this)&&N(a,b);return e});M(Node.prototype,"cloneNode",function(b){b=Ud.call(this,b);this.ownerDocument.__CE_hasRegistry?P(a,b):
|
||||||
|
Id(a,b);return b});M(Node.prototype,"removeChild",function(b){var c=K(b),e=Xd.call(this,b);c&&O(a,b);return e});M(Node.prototype,"replaceChild",function(b,d){if(b instanceof DocumentFragment){var c=Array.prototype.slice.apply(b.childNodes);b=Yd.call(this,b,d);if(K(this))for(O(a,d),d=0;d<c.length;d++)N(a,c[d]);return b}c=K(b);var f=Yd.call(this,b,d),h=K(this);h&&O(a,d);c&&O(a,b);h&&N(a,b);return f});Zd&&Zd.get?b(Node.prototype,Zd):Hd(a,function(a){b(a,{enumerable:!0,configurable:!0,get:function(){for(var a=
|
||||||
|
[],b=0;b<this.childNodes.length;b++)a.push(this.childNodes[b].textContent);return a.join("")},set:function(a){for(;this.firstChild;)Xd.call(this,this.firstChild);Vd.call(this,document.createTextNode(a))}})})};function xe(a){var b=Element.prototype;function c(b){return function(c){for(var d=[],e=0;e<arguments.length;++e)d[e-0]=arguments[e];e=[];for(var g=[],k=0;k<d.length;k++){var l=d[k];l instanceof Element&&K(l)&&g.push(l);if(l instanceof DocumentFragment)for(l=l.firstChild;l;l=l.nextSibling)e.push(l);else e.push(l)}b.apply(this,d);for(d=0;d<g.length;d++)O(a,g[d]);if(K(this))for(d=0;d<e.length;d++)g=e[d],g instanceof Element&&N(a,g)}}void 0!==ke&&(b.before=c(ke));void 0!==ke&&(b.after=c(le));void 0!==
|
||||||
|
me&&M(b,"replaceWith",function(b){for(var c=[],d=0;d<arguments.length;++d)c[d-0]=arguments[d];d=[];for(var h=[],g=0;g<c.length;g++){var k=c[g];k instanceof Element&&K(k)&&h.push(k);if(k instanceof DocumentFragment)for(k=k.firstChild;k;k=k.nextSibling)d.push(k);else d.push(k)}g=K(this);me.apply(this,c);for(c=0;c<h.length;c++)O(a,h[c]);if(g)for(O(a,this),c=0;c<d.length;c++)h=d[c],h instanceof Element&&N(a,h)});void 0!==ne&&M(b,"remove",function(){var b=K(this);ne.call(this);b&&O(a,this)})};function ye(){var a=te;function b(b,c){Object.defineProperty(b,"innerHTML",{enumerable:c.enumerable,configurable:!0,get:c.get,set:function(b){var d=this,e=void 0;K(this)&&(e=[],L(this,function(a){a!==d&&e.push(a)}));c.set.call(this,b);if(e)for(var f=0;f<e.length;f++){var l=e[f];1===l.__CE_state&&a.disconnectedCallback(l)}this.ownerDocument.__CE_hasRegistry?P(a,this):Id(a,this);return b}})}function c(b,c){M(b,"insertAdjacentElement",function(b,d){var e=K(d);b=c.call(this,b,d);e&&O(a,d);K(b)&&N(a,d);
|
||||||
|
return b})}$d&&M(Element.prototype,"attachShadow",function(a){return this.__CE_shadowRoot=a=$d.call(this,a)});ae&&ae.get?b(Element.prototype,ae):pe&&pe.get?b(HTMLElement.prototype,pe):Hd(a,function(a){b(a,{enumerable:!0,configurable:!0,get:function(){return Ud.call(this,!0).innerHTML},set:function(a){var b="template"===this.localName,c=b?this.content:this,d=Nd.call(document,this.localName);for(d.innerHTML=a;0<c.childNodes.length;)Xd.call(c,c.childNodes[0]);for(a=b?d.content:d;0<a.childNodes.length;)Vd.call(c,
|
||||||
|
a.childNodes[0])}})});M(Element.prototype,"setAttribute",function(b,c){if(1!==this.__CE_state)return ce.call(this,b,c);var d=be.call(this,b);ce.call(this,b,c);c=be.call(this,b);a.attributeChangedCallback(this,b,d,c,null)});M(Element.prototype,"setAttributeNS",function(b,c,f){if(1!==this.__CE_state)return fe.call(this,b,c,f);var d=ee.call(this,b,c);fe.call(this,b,c,f);f=ee.call(this,b,c);a.attributeChangedCallback(this,c,d,f,b)});M(Element.prototype,"removeAttribute",function(b){if(1!==this.__CE_state)return de.call(this,
|
||||||
|
b);var c=be.call(this,b);de.call(this,b);null!==c&&a.attributeChangedCallback(this,b,c,null,null)});M(Element.prototype,"removeAttributeNS",function(b,c){if(1!==this.__CE_state)return ge.call(this,b,c);var d=ee.call(this,b,c);ge.call(this,b,c);var e=ee.call(this,b,c);d!==e&&a.attributeChangedCallback(this,c,d,e,b)});qe?c(HTMLElement.prototype,qe):he?c(Element.prototype,he):console.warn("Custom Elements: `Element#insertAdjacentElement` was not patched.");ue(a,Element.prototype,{X:ie,append:je});xe(a)}
|
||||||
|
;var ze=window.customElements;if(!ze||ze.forcePolyfill||"function"!=typeof ze.define||"function"!=typeof ze.get){var te=new Fd;se();ve();ue(te,DocumentFragment.prototype,{X:Sd,append:Td});we();ye();document.__CE_hasRegistry=!0;var customElements=new Q(te);Object.defineProperty(window,"customElements",{configurable:!0,enumerable:!0,value:customElements})};function Ae(){this.end=this.start=0;this.rules=this.parent=this.previous=null;this.cssText=this.parsedCssText="";this.atRule=!1;this.type=0;this.parsedSelector=this.selector=this.keyframesName=""}
|
||||||
|
function Be(a){a=a.replace(Ce,"").replace(De,"");var b=Ee,c=a,d=new Ae;d.start=0;d.end=c.length;for(var e=d,f=0,h=c.length;f<h;f++)if("{"===c[f]){e.rules||(e.rules=[]);var g=e,k=g.rules[g.rules.length-1]||null;e=new Ae;e.start=f+1;e.parent=g;e.previous=k;g.rules.push(e)}else"}"===c[f]&&(e.end=f+1,e=e.parent||d);return b(d,a)}
|
||||||
|
function Ee(a,b){var c=b.substring(a.start,a.end-1);a.parsedCssText=a.cssText=c.trim();a.parent&&(c=b.substring(a.previous?a.previous.end:a.parent.start,a.start-1),c=Fe(c),c=c.replace(Ge," "),c=c.substring(c.lastIndexOf(";")+1),c=a.parsedSelector=a.selector=c.trim(),a.atRule=0===c.indexOf("@"),a.atRule?0===c.indexOf("@media")?a.type=He:c.match(Ie)&&(a.type=Je,a.keyframesName=a.selector.split(Ge).pop()):a.type=0===c.indexOf("--")?Ke:Le);if(c=a.rules)for(var d=0,e=c.length,f;d<e&&(f=c[d]);d++)Ee(f,
|
||||||
|
b);return a}function Fe(a){return a.replace(/\\([0-9a-f]{1,6})\s/gi,function(a,c){a=c;for(c=6-a.length;c--;)a="0"+a;return"\\"+a})}
|
||||||
|
function Me(a,b,c){c=void 0===c?"":c;var d="";if(a.cssText||a.rules){var e=a.rules,f;if(f=e)f=e[0],f=!(f&&f.selector&&0===f.selector.indexOf("--"));if(f){f=0;for(var h=e.length,g;f<h&&(g=e[f]);f++)d=Me(g,b,d)}else b?b=a.cssText:(b=a.cssText,b=b.replace(Ne,"").replace(Oe,""),b=b.replace(Pe,"").replace(Qe,"")),(d=b.trim())&&(d=" "+d+"\n")}d&&(a.selector&&(c+=a.selector+" {\n"),c+=d,a.selector&&(c+="}\n\n"));return c}
|
||||||
|
var Le=1,Je=7,He=4,Ke=1E3,Ce=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,De=/@import[^;]*;/gim,Ne=/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?(?:[;\n]|$)/gim,Oe=/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?{[^}]*?}(?:[;\n]|$)?/gim,Pe=/@apply\s*\(?[^);]*\)?\s*(?:[;\n]|$)?/gim,Qe=/[^;:]*?:[^;]*?var\([^;]*\)(?:[;\n]|$)?/gim,Ie=/^@[^\s]*keyframes/,Ge=/\s+/g;var R=!(window.ShadyDOM&&window.ShadyDOM.inUse),Re;function Se(a){Re=a&&a.shimcssproperties?!1:R||!(navigator.userAgent.match(/AppleWebKit\/601|Edge\/15/)||!window.CSS||!CSS.supports||!CSS.supports("box-shadow","0 0 0 var(--foo)"))}window.ShadyCSS&&void 0!==window.ShadyCSS.nativeCss?Re=window.ShadyCSS.nativeCss:window.ShadyCSS?(Se(window.ShadyCSS),window.ShadyCSS=void 0):Se(window.WebComponents&&window.WebComponents.flags);var S=Re;var Te=/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};{])+)|\{([^}]*)\}(?:(?=[;\s}])|$))/gi,Ue=/(?:^|\W+)@apply\s*\(?([^);\n]*)\)?/gi,Ve=/(--[\w-]+)\s*([:,;)]|$)/gi,We=/(animation\s*:)|(animation-name\s*:)/,Xe=/@media\s(.*)/,Ye=/\{[^}]*\}/g;var Ze=new Set;function $e(a,b){if(!a)return"";"string"===typeof a&&(a=Be(a));b&&af(a,b);return Me(a,S)}function bf(a){!a.__cssRules&&a.textContent&&(a.__cssRules=Be(a.textContent));return a.__cssRules||null}function cf(a){return!!a.parent&&a.parent.type===Je}function af(a,b,c,d){if(a){var e=!1,f=a.type;if(d&&f===He){var h=a.selector.match(Xe);h&&(window.matchMedia(h[1]).matches||(e=!0))}f===Le?b(a):c&&f===Je?c(a):f===Ke&&(e=!0);if((a=a.rules)&&!e){e=0;f=a.length;for(var g;e<f&&(g=a[e]);e++)af(g,b,c,d)}}}
|
||||||
|
function df(a,b,c,d){var e=document.createElement("style");b&&e.setAttribute("scope",b);e.textContent=a;ef(e,c,d);return e}var T=null;function ef(a,b,c){b=b||document.head;b.insertBefore(a,c&&c.nextSibling||b.firstChild);T?a.compareDocumentPosition(T)===Node.DOCUMENT_POSITION_PRECEDING&&(T=a):T=a}
|
||||||
|
function ff(a,b){var c=a.indexOf("var(");if(-1===c)return b(a,"","","");a:{var d=0;var e=c+3;for(var f=a.length;e<f;e++)if("("===a[e])d++;else if(")"===a[e]&&0===--d)break a;e=-1}d=a.substring(c+4,e);c=a.substring(0,c);a=ff(a.substring(e+1),b);e=d.indexOf(",");return-1===e?b(c,d.trim(),"",a):b(c,d.substring(0,e).trim(),d.substring(e+1).trim(),a)}function gf(a,b){R?a.setAttribute("class",b):window.ShadyDOM.nativeMethods.setAttribute.call(a,"class",b)}
|
||||||
|
function V(a){var b=a.localName,c="";b?-1<b.indexOf("-")||(c=b,b=a.getAttribute&&a.getAttribute("is")||""):(b=a.is,c=a.extends);return{is:b,P:c}};function hf(){}function jf(a,b,c){var d=W;a.__styleScoped?a.__styleScoped=null:kf(d,a,b||"",c)}function kf(a,b,c,d){b.nodeType===Node.ELEMENT_NODE&&lf(b,c,d);if(b="template"===b.localName?(b.content||b.gb).childNodes:b.children||b.childNodes)for(var e=0;e<b.length;e++)kf(a,b[e],c,d)}
|
||||||
|
function lf(a,b,c){if(b)if(a.classList)c?(a.classList.remove("style-scope"),a.classList.remove(b)):(a.classList.add("style-scope"),a.classList.add(b));else if(a.getAttribute){var d=a.getAttribute(mf);c?d&&(b=d.replace("style-scope","").replace(b,""),gf(a,b)):gf(a,(d?d+" ":"")+"style-scope "+b)}}function nf(a,b,c){var d=W,e=a.__cssBuild;R||"shady"===e?b=$e(b,c):(a=V(a),b=of(d,b,a.is,a.P,c)+"\n\n");return b.trim()}
|
||||||
|
function of(a,b,c,d,e){var f=pf(c,d);c=c?qf+c:"";return $e(b,function(b){b.c||(b.selector=b.m=rf(a,b,a.b,c,f),b.c=!0);e&&e(b,c,f)})}function pf(a,b){return b?"[is="+a+"]":a}function rf(a,b,c,d,e){var f=b.selector.split(sf);if(!cf(b)){b=0;for(var h=f.length,g;b<h&&(g=f[b]);b++)f[b]=c.call(a,g,d,e)}return f.join(sf)}function tf(a){return a.replace(uf,function(a,c,d){-1<d.indexOf("+")?d=d.replace(/\+/g,"___"):-1<d.indexOf("___")&&(d=d.replace(/___/g,"+"));return":"+c+"("+d+")"})}
|
||||||
|
hf.prototype.b=function(a,b,c){var d=!1;a=a.trim();var e=uf.test(a);e&&(a=a.replace(uf,function(a,b,c){return":"+b+"("+c.replace(/\s/g,"")+")"}),a=tf(a));a=a.replace(vf,wf+" $1");a=a.replace(xf,function(a,e,g){d||(a=yf(g,e,b,c),d=d||a.stop,e=a.Ka,g=a.value);return e+g});e&&(a=tf(a));return a};
|
||||||
|
function yf(a,b,c,d){var e=a.indexOf(zf);0<=a.indexOf(wf)?a=Af(a,d):0!==e&&(a=c?Bf(a,c):a);c=!1;0<=e&&(b="",c=!0);if(c){var f=!0;c&&(a=a.replace(Cf,function(a,b){return" > "+b}))}a=a.replace(Df,function(a,b,c){return'[dir="'+c+'"] '+b+", "+b+'[dir="'+c+'"]'});return{value:a,Ka:b,stop:f}}function Bf(a,b){a=a.split(Ef);a[0]+=b;return a.join(Ef)}
|
||||||
|
function Af(a,b){var c=a.match(Ff);return(c=c&&c[2].trim()||"")?c[0].match(Gf)?a.replace(Ff,function(a,c,f){return b+f}):c.split(Gf)[0]===b?c:Hf:a.replace(wf,b)}function If(a){a.selector===Jf&&(a.selector="html")}hf.prototype.c=function(a){return a.match(zf)?this.b(a,Kf):Bf(a.trim(),Kf)};q.Object.defineProperties(hf.prototype,{a:{configurable:!0,enumerable:!0,get:function(){return"style-scope"}}});
|
||||||
|
var uf=/:(nth[-\w]+)\(([^)]+)\)/,Kf=":not(.style-scope)",sf=",",xf=/(^|[\s>+~]+)((?:\[.+?\]|[^\s>+~=[])+)/g,Gf=/[[.:#*]/,wf=":host",Jf=":root",zf="::slotted",vf=new RegExp("^("+zf+")"),Ff=/(:host)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/,Cf=/(?:::slotted)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/,Df=/(.*):dir\((?:(ltr|rtl))\)/,qf=".",Ef=":",mf="class",Hf="should_not_match",W=new hf;function Lf(a,b,c,d){this.w=a||null;this.b=b||null;this.ja=c||[];this.G=null;this.P=d||"";this.a=this.u=this.B=null}function X(a){return a?a.__styleInfo:null}function Mf(a,b){return a.__styleInfo=b}Lf.prototype.c=function(){return this.w};Lf.prototype._getStyleRules=Lf.prototype.c;var Nf,Of=window.Element.prototype;Nf=Of.matches||Of.matchesSelector||Of.mozMatchesSelector||Of.msMatchesSelector||Of.oMatchesSelector||Of.webkitMatchesSelector;var Pf=navigator.userAgent.match("Trident");function Qf(){}function Rf(a){var b={},c=[],d=0;af(a,function(a){Sf(a);a.index=d++;a=a.i.cssText;for(var c;c=Ve.exec(a);){var e=c[1];":"!==c[2]&&(b[e]=!0)}},function(a){c.push(a)});a.b=c;a=[];for(var e in b)a.push(e);return a}
|
||||||
|
function Sf(a){if(!a.i){var b={},c={};Tf(a,c)&&(b.v=c,a.rules=null);b.cssText=a.parsedCssText.replace(Ye,"").replace(Te,"");a.i=b}}function Tf(a,b){var c=a.i;if(c){if(c.v)return Object.assign(b,c.v),!0}else{c=a.parsedCssText;for(var d;a=Te.exec(c);){d=(a[2]||a[3]).trim();if("inherit"!==d||"unset"!==d)b[a[1].trim()]=d;d=!0}return d}}
|
||||||
|
function Uf(a,b,c){b&&(b=0<=b.indexOf(";")?Vf(a,b,c):ff(b,function(b,e,f,h){if(!e)return b+h;(e=Uf(a,c[e],c))&&"initial"!==e?"apply-shim-inherit"===e&&(e="inherit"):e=Uf(a,c[f]||f,c)||f;return b+(e||"")+h}));return b&&b.trim()||""}
|
||||||
|
function Vf(a,b,c){b=b.split(";");for(var d=0,e,f;d<b.length;d++)if(e=b[d]){Ue.lastIndex=0;if(f=Ue.exec(e))e=Uf(a,c[f[1]],c);else if(f=e.indexOf(":"),-1!==f){var h=e.substring(f);h=h.trim();h=Uf(a,h,c)||h;e=e.substring(0,f)+h}b[d]=e&&e.lastIndexOf(";")===e.length-1?e.slice(0,-1):e||""}return b.join(";")}
|
||||||
|
function Wf(a,b){var c={},d=[];af(a,function(a){a.i||Sf(a);var e=a.m||a.parsedSelector;b&&a.i.v&&e&&Nf.call(b,e)&&(Tf(a,c),a=a.index,e=parseInt(a/32,10),d[e]=(d[e]||0)|1<<a%32)},null,!0);return{v:c,key:d}}
|
||||||
|
function Xf(a,b,c,d){b.i||Sf(b);if(b.i.v){var e=V(a);a=e.is;e=e.P;e=a?pf(a,e):"html";var f=b.parsedSelector,h=":host > *"===f||"html"===f,g=0===f.indexOf(":host")&&!h;"shady"===c&&(h=f===e+" > *."+e||-1!==f.indexOf("html"),g=!h&&0===f.indexOf(e));"shadow"===c&&(h=":host > *"===f||"html"===f,g=g&&!h);if(h||g)c=e,g&&(R&&!b.m&&(b.m=rf(W,b,W.b,a?qf+a:"",e)),c=b.m||e),d({Xa:c,Qa:g,hb:h})}}
|
||||||
|
function Yf(a,b){var c={},d={},e=b&&b.__cssBuild;af(b,function(b){Xf(a,b,e,function(e){Nf.call(a.b||a,e.Xa)&&(e.Qa?Tf(b,c):Tf(b,d))})},null,!0);return{Wa:d,Oa:c}}
|
||||||
|
function Zf(a,b,c,d){var e=V(b),f=pf(e.is,e.P),h=new RegExp("(?:^|[^.#[:])"+(b.extends?"\\"+f.slice(0,-1)+"\\]":f)+"($|[.:[\\s>+~])");e=X(b).w;var g=$f(e,d);return nf(b,e,function(b){var e="";b.i||Sf(b);b.i.cssText&&(e=Vf(a,b.i.cssText,c));b.cssText=e;if(!R&&!cf(b)&&b.cssText){var k=e=b.cssText;null==b.ra&&(b.ra=We.test(e));if(b.ra)if(null==b.W){b.W=[];for(var n in g)k=g[n],k=k(e),e!==k&&(e=k,b.W.push(n))}else{for(n=0;n<b.W.length;++n)k=g[b.W[n]],e=k(e);k=e}b.cssText=k;b.m=b.m||b.selector;e="."+d;
|
||||||
|
n=b.m.split(",");k=0;for(var t=n.length,C;k<t&&(C=n[k]);k++)n[k]=C.match(h)?C.replace(f,e):e+" "+C;b.selector=n.join(",")}})}function $f(a,b){a=a.b;var c={};if(!R&&a)for(var d=0,e=a[d];d<a.length;e=a[++d]){var f=e,h=b;f.h=new RegExp("\\b"+f.keyframesName+"(?!\\B|-)","g");f.a=f.keyframesName+"-"+h;f.m=f.m||f.selector;f.selector=f.m.replace(f.keyframesName,f.a);c[e.keyframesName]=ag(e)}return c}function ag(a){return function(b){return b.replace(a.h,a.a)}}
|
||||||
|
function bg(a,b){var c=cg,d=bf(a);a.textContent=$e(d,function(a){var d=a.cssText=a.parsedCssText;a.i&&a.i.cssText&&(d=d.replace(Ne,"").replace(Oe,""),a.cssText=Vf(c,d,b))})}q.Object.defineProperties(Qf.prototype,{a:{configurable:!0,enumerable:!0,get:function(){return"x-scope"}}});var cg=new Qf;var dg={},eg=window.customElements;if(eg&&!R){var fg=eg.define;eg.define=function(a,b,c){var d=document.createComment(" Shady DOM styles for "+a+" "),e=document.head;e.insertBefore(d,(T?T.nextSibling:null)||e.firstChild);T=d;dg[a]=d;return fg.call(eg,a,b,c)}};function gg(){this.cache={}}gg.prototype.store=function(a,b,c,d){var e=this.cache[a]||[];e.push({v:b,styleElement:c,u:d});100<e.length&&e.shift();this.cache[a]=e};gg.prototype.fetch=function(a,b,c){if(a=this.cache[a])for(var d=a.length-1;0<=d;d--){var e=a[d],f;a:{for(f=0;f<c.length;f++){var h=c[f];if(e.v[h]!==b[h]){f=!1;break a}}f=!0}if(f)return e}};function hg(){}
|
||||||
|
function ig(a){for(var b=0;b<a.length;b++){var c=a[b];if(c.target!==document.documentElement&&c.target!==document.head)for(var d=0;d<c.addedNodes.length;d++){var e=c.addedNodes[d];if(e.nodeType===Node.ELEMENT_NODE){var f=e.getRootNode();var h=e;var g=[];h.classList?g=Array.from(h.classList):h instanceof window.SVGElement&&h.hasAttribute("class")&&(g=h.getAttribute("class").split(/\s+/));h=g;g=h.indexOf(W.a);if((h=-1<g?h[g+1]:"")&&f===e.ownerDocument)jf(e,h,!0);else if(f.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&
|
||||||
|
(f=f.host))if(f=V(f).is,h===f)for(e=window.ShadyDOM.nativeMethods.querySelectorAll.call(e,":not(."+W.a+")"),f=0;f<e.length;f++)lf(e[f],h);else h&&jf(e,h,!0),jf(e,f)}}}}
|
||||||
|
if(!R){var jg=new MutationObserver(ig),kg=function(a){jg.observe(a,{childList:!0,subtree:!0})};if(window.customElements&&!window.customElements.polyfillWrapFlushCallback)kg(document);else{var lg=function(){kg(document.body)};window.HTMLImports?window.HTMLImports.whenReady(lg):requestAnimationFrame(function(){if("loading"===document.readyState){var a=function(){lg();document.removeEventListener("readystatechange",a)};document.addEventListener("readystatechange",a)}else lg()})}hg=function(){ig(jg.takeRecords())}}
|
||||||
|
var mg=hg;var ng={};var og=Promise.resolve();function pg(a){if(a=ng[a])a._applyShimCurrentVersion=a._applyShimCurrentVersion||0,a._applyShimValidatingVersion=a._applyShimValidatingVersion||0,a._applyShimNextVersion=(a._applyShimNextVersion||0)+1}function qg(a){return a._applyShimCurrentVersion===a._applyShimNextVersion}function rg(a){a._applyShimValidatingVersion=a._applyShimNextVersion;a.qa||(a.qa=!0,og.then(function(){a._applyShimCurrentVersion=a._applyShimNextVersion;a.qa=!1}))};var sg=null,tg=window.HTMLImports&&window.HTMLImports.whenReady||null,ug;function vg(a){requestAnimationFrame(function(){tg?tg(a):(sg||(sg=new Promise(function(a){ug=a}),"complete"===document.readyState?ug():document.addEventListener("readystatechange",function(){"complete"===document.readyState&&ug()})),sg.then(function(){a&&a()}))})};var wg=new gg;function Y(){var a=this;this.L={};this.c=document.documentElement;var b=new Ae;b.rules=[];this.h=Mf(this.c,new Lf(b));this.s=!1;this.b=this.a=null;vg(function(){xg(a)})}p=Y.prototype;p.wa=function(){mg()};p.Ma=function(a){return bf(a)};p.Za=function(a){return $e(a)};
|
||||||
|
p.prepareTemplate=function(a,b,c){if(!a.Ia){a.Ia=!0;a.name=b;a.extends=c;ng[b]=a;var d=(d=a.content.querySelector("style"))?d.getAttribute("css-build")||"":"";var e=[];for(var f=a.content.querySelectorAll("style"),h=0;h<f.length;h++){var g=f[h];if(g.hasAttribute("shady-unscoped")){if(!R){var k=g.textContent;Ze.has(k)||(Ze.add(k),k=g.cloneNode(!0),document.head.appendChild(k));g.parentNode.removeChild(g)}}else e.push(g.textContent),g.parentNode.removeChild(g)}e=e.join("").trim();c={is:b,extends:c,
|
||||||
|
eb:d};R||jf(a.content,b);xg(this);f=Ue.test(e)||Te.test(e);Ue.lastIndex=0;Te.lastIndex=0;e=Be(e);f&&S&&this.a&&this.a.transformRules(e,b);a._styleAst=e;a.a=d;d=[];S||(d=Rf(a._styleAst));if(!d.length||S)e=R?a.content:null,b=dg[b],f=nf(c,a._styleAst),b=f.length?df(f,c.is,e,b):void 0,a.pa=b;a.Ha=d}};
|
||||||
|
function yg(a){!a.b&&window.ShadyCSS&&window.ShadyCSS.CustomStyleInterface&&(a.b=window.ShadyCSS.CustomStyleInterface,a.b.transformCallback=function(b){a.ua(b)},a.b.validateCallback=function(){requestAnimationFrame(function(){(a.b.enqueued||a.s)&&a.F()})})}function xg(a){!a.a&&window.ShadyCSS&&window.ShadyCSS.ApplyShim&&(a.a=window.ShadyCSS.ApplyShim,a.a.invalidCallback=pg);yg(a)}
|
||||||
|
p.F=function(){xg(this);if(this.b){var a=this.b.processStyles();if(this.b.enqueued){if(S)for(var b=0;b<a.length;b++){var c=this.b.getStyleForCustomStyle(a[b]);if(c&&S&&this.a){var d=bf(c);xg(this);this.a.transformRules(d);c.textContent=$e(d)}}else for(zg(this,this.c,this.h),b=0;b<a.length;b++)(c=this.b.getStyleForCustomStyle(a[b]))&&bg(c,this.h.B);this.b.enqueued=!1;this.s&&!S&&this.styleDocument()}}};
|
||||||
|
p.styleElement=function(a,b){var c=V(a).is,d=X(a);if(!d){var e=V(a);d=e.is;e=e.P;var f=dg[d];d=ng[d];if(d){var h=d._styleAst;var g=d.Ha}d=Mf(a,new Lf(h,f,g,e))}a!==this.c&&(this.s=!0);b&&(d.G=d.G||{},Object.assign(d.G,b));if(S){if(d.G){b=d.G;for(var k in b)null===k?a.style.removeProperty(k):a.style.setProperty(k,b[k])}if(((k=ng[c])||a===this.c)&&k&&k.pa&&!qg(k)){if(qg(k)||k._applyShimValidatingVersion!==k._applyShimNextVersion)xg(this),this.a&&this.a.transformRules(k._styleAst,c),k.pa.textContent=
|
||||||
|
nf(a,d.w),rg(k);R&&(c=a.shadowRoot)&&(c.querySelector("style").textContent=nf(a,d.w));d.w=k._styleAst}}else if(zg(this,a,d),d.ja&&d.ja.length){c=d;k=V(a).is;d=(b=wg.fetch(k,c.B,c.ja))?b.styleElement:null;h=c.u;(g=b&&b.u)||(g=this.L[k]=(this.L[k]||0)+1,g=k+"-"+g);c.u=g;g=c.u;e=cg;e=d?d.textContent||"":Zf(e,a,c.B,g);f=X(a);var l=f.a;l&&!R&&l!==d&&(l._useCount--,0>=l._useCount&&l.parentNode&&l.parentNode.removeChild(l));R?f.a?(f.a.textContent=e,d=f.a):e&&(d=df(e,g,a.shadowRoot,f.b)):d?d.parentNode||
|
||||||
|
(Pf&&-1<e.indexOf("@media")&&(d.textContent=e),ef(d,null,f.b)):e&&(d=df(e,g,null,f.b));d&&(d._useCount=d._useCount||0,f.a!=d&&d._useCount++,f.a=d);g=d;R||(d=c.u,f=e=a.getAttribute("class")||"",h&&(f=e.replace(new RegExp("\\s*x-scope\\s*"+h+"\\s*","g")," ")),f+=(f?" ":"")+"x-scope "+d,e!==f&&gf(a,f));b||wg.store(k,c.B,g,c.u)}};function Ag(a,b){return(b=b.getRootNode().host)?X(b)?b:Ag(a,b):a.c}
|
||||||
|
function zg(a,b,c){a=Ag(a,b);var d=X(a);a=Object.create(d.B||null);var e=Yf(b,c.w);b=Wf(d.w,b).v;Object.assign(a,e.Oa,b,e.Wa);b=c.G;for(var f in b)if((e=b[f])||0===e)a[f]=e;f=cg;b=Object.getOwnPropertyNames(a);for(e=0;e<b.length;e++)d=b[e],a[d]=Uf(f,a[d],a);c.B=a}p.styleDocument=function(a){this.styleSubtree(this.c,a)};
|
||||||
|
p.styleSubtree=function(a,b){var c=a.shadowRoot;(c||a===this.c)&&this.styleElement(a,b);if(b=c&&(c.children||c.childNodes))for(a=0;a<b.length;a++)this.styleSubtree(b[a]);else if(a=a.children||a.childNodes)for(b=0;b<a.length;b++)this.styleSubtree(a[b])};p.ua=function(a){var b=this,c=bf(a);af(c,function(a){if(R)If(a);else{var c=W;a.selector=a.parsedSelector;If(a);a.selector=a.m=rf(c,a,c.c,void 0,void 0)}S&&(xg(b),b.a&&b.a.transformRule(a))});S?a.textContent=$e(c):this.h.w.rules.push(c)};
|
||||||
|
p.getComputedStyleValue=function(a,b){var c;S||(c=(X(a)||X(Ag(this,a))).B[b]);return(c=c||window.getComputedStyle(a).getPropertyValue(b))?c.trim():""};p.Ya=function(a,b){var c=a.getRootNode();b=b?b.split(/\s/):[];c=c.host&&c.host.localName;if(!c){var d=a.getAttribute("class");if(d){d=d.split(/\s/);for(var e=0;e<d.length;e++)if(d[e]===W.a){c=d[e+1];break}}}c&&b.push(W.a,c);S||(c=X(a))&&c.u&&b.push(cg.a,c.u);gf(a,b.join(" "))};p.Ja=function(a){return X(a)};Y.prototype.flush=Y.prototype.wa;
|
||||||
|
Y.prototype.prepareTemplate=Y.prototype.prepareTemplate;Y.prototype.styleElement=Y.prototype.styleElement;Y.prototype.styleDocument=Y.prototype.styleDocument;Y.prototype.styleSubtree=Y.prototype.styleSubtree;Y.prototype.getComputedStyleValue=Y.prototype.getComputedStyleValue;Y.prototype.setElementClass=Y.prototype.Ya;Y.prototype._styleInfoForNode=Y.prototype.Ja;Y.prototype.transformCustomStyleForDocument=Y.prototype.ua;Y.prototype.getStyleAst=Y.prototype.Ma;Y.prototype.styleAstToString=Y.prototype.Za;
|
||||||
|
Y.prototype.flushCustomStyles=Y.prototype.F;Object.defineProperties(Y.prototype,{nativeShadow:{get:function(){return R}},nativeCss:{get:function(){return S}}});var Z=new Y,Bg,Cg;window.ShadyCSS&&(Bg=window.ShadyCSS.ApplyShim,Cg=window.ShadyCSS.CustomStyleInterface);window.ShadyCSS={ScopingShim:Z,prepareTemplate:function(a,b,c){Z.F();Z.prepareTemplate(a,b,c)},styleSubtree:function(a,b){Z.F();Z.styleSubtree(a,b)},styleElement:function(a){Z.F();Z.styleElement(a)},styleDocument:function(a){Z.F();Z.styleDocument(a)},getComputedStyleValue:function(a,b){return Z.getComputedStyleValue(a,b)},nativeCss:S,nativeShadow:R};Bg&&(window.ShadyCSS.ApplyShim=Bg);
|
||||||
|
Cg&&(window.ShadyCSS.CustomStyleInterface=Cg);var Dg=window.customElements,Eg=window.HTMLImports,Fg=window.HTMLTemplateElement;window.WebComponents=window.WebComponents||{};if(Dg&&Dg.polyfillWrapFlushCallback){var Gg,Hg=function(){if(Gg){Fg.J&&Fg.J(window.document);var a=Gg;Gg=null;a();return!0}},Ig=Eg.whenReady;Dg.polyfillWrapFlushCallback(function(a){Gg=a;Ig(Hg)});Eg.whenReady=function(a){Ig(function(){Hg()?Eg.whenReady(a):a()})}}
|
||||||
|
Eg.whenReady(function(){requestAnimationFrame(function(){window.WebComponents.ready=!0;document.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))})});var Jg=document.createElement("style");Jg.textContent="body {transition: opacity ease-in 0.2s; } \nbody[unresolved] {opacity: 0; display: block; overflow: hidden; position: relative; } \n";var Kg=document.querySelector("head");Kg.insertBefore(Jg,Kg.firstChild);}).call(this);
|
||||||
|
|
||||||
|
//# sourceMappingURL=webcomponents-lite.js.map
|