summaryrefslogtreecommitdiffstats
path: root/keyboard/kc60
diff options
context:
space:
mode:
Diffstat (limited to 'keyboard/kc60')
-rw-r--r--keyboard/kc60/Makefile76
-rw-r--r--keyboard/kc60/README.md27
-rw-r--r--keyboard/kc60/config.h162
-rw-r--r--keyboard/kc60/kc60.c111
-rw-r--r--keyboard/kc60/kc60.h36
-rw-r--r--keyboard/kc60/keymaps/default/compiled.hex1451
-rw-r--r--keyboard/kc60/keymaps/default/keymap.c24
-rw-r--r--keyboard/kc60/keymaps/sgoodwin/compiled.hex1469
-rw-r--r--keyboard/kc60/keymaps/sgoodwin/keymap.c42
-rw-r--r--keyboard/kc60/keymaps/stanleylai/Makefile25
-rw-r--r--keyboard/kc60/keymaps/stanleylai/README.md26
-rw-r--r--keyboard/kc60/keymaps/stanleylai/base_layer.pngbin35164 -> 0 bytes
-rw-r--r--keyboard/kc60/keymaps/stanleylai/compiled.hex1773
-rw-r--r--keyboard/kc60/keymaps/stanleylai/config.h3
-rw-r--r--keyboard/kc60/keymaps/stanleylai/keymap.c151
-rw-r--r--keyboard/kc60/keymaps/stanleylai/rgb_layer.pngbin19192 -> 0 bytes
-rw-r--r--keyboard/kc60/keymaps/ws2812/Makefile25
-rw-r--r--keyboard/kc60/keymaps/ws2812/README.md21
-rw-r--r--keyboard/kc60/keymaps/ws2812/compiled.hex1764
-rw-r--r--keyboard/kc60/keymaps/ws2812/config.h10
-rw-r--r--keyboard/kc60/keymaps/ws2812/keymap.c161
-rw-r--r--keyboard/kc60/keymaps/ws2812/ws2812_example.jpgbin226362 -> 0 bytes
-rw-r--r--keyboard/kc60/keymaps/ws2812/ws2812_underside-lit.jpgbin205067 -> 0 bytes
-rw-r--r--keyboard/kc60/keymaps/ws2812/ws2812_underside.jpgbin354124 -> 0 bytes
-rw-r--r--keyboard/kc60/keymaps/ws2812/ws2812_wiring.jpgbin347989 -> 0 bytes
25 files changed, 0 insertions, 7357 deletions
diff --git a/keyboard/kc60/Makefile b/keyboard/kc60/Makefile
deleted file mode 100644
index 9717b519c8..0000000000
--- a/keyboard/kc60/Makefile
+++ /dev/null
@@ -1,76 +0,0 @@
-
-
-# MCU name
-#MCU = at90usb1287
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
-CONSOLE_ENABLE ?= yes # Console for debug(+400)
-COMMAND_ENABLE ?= yes # Commands for debug and configuration
-KEYBOARD_LOCK_ENABLE ?= yes # Allow locking of keyboard via magic key
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE ?= no # USB Nkey Rollover
-BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
-MIDI_ENABLE ?= no # MIDI controls
-UNICODE_ENABLE ?= no # Unicode
-BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE ?= no # Audio output on port C6
-
-
-ifndef QUANTUM_DIR
- include ../../Makefile
-endif
-
diff --git a/keyboard/kc60/README.md b/keyboard/kc60/README.md
deleted file mode 100644
index 00d78d0a6b..0000000000
--- a/keyboard/kc60/README.md
+++ /dev/null
@@ -1,27 +0,0 @@
-KC60 (version 2.0) keyboard firmware
-======================
-
-## Quantum MK Firmware
-For the full Quantum feature list, see [the parent README.md](/README.md).
-
-## Building
-Download or clone the whole firmware and navigate to the keyboard/kc60 folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file.
-
-Depending on which keymap you would like to use, you will have to compile slightly differently.
-
-### Default
-To build with the default keymap, simply run `make`.
-
-### Other Keymaps
-Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` in the keymaps folder, and see keymap document (you can find in top README.md) and existent keymap files.
-
-To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like:
-```
-$ make KEYMAP=[default|jack|<name>]
-```
-Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
-
-## WS2812 Support
-![Image of KC60 with RGB Underglow](keymaps/ws2812/ws2812_example.jpg)
-
-Build with WS2812 Support by running `make KEYMAP=ws2812`.
diff --git a/keyboard/kc60/config.h b/keyboard/kc60/config.h
deleted file mode 100644
index 91d4e09c2e..0000000000
--- a/keyboard/kc60/config.h
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER You
-#define PRODUCT kc60v2
-#define DESCRIPTION A custom keyboard
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 14
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-
-// Possible pins for columns include: F1 F0 E6 D7 D6 D4 C7 C6 B7 B5 B4 B3 B1 B0
-// Pins for rows include: D0 D1 F6 F7 D5
-// KC60 Version 2
-#define MATRIX_ROW_PINS { D0, D1, F6, F7, D5 }
-#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-#define BACKLIGHT_LEVELS 3
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboard/kc60/kc60.c b/keyboard/kc60/kc60.c
deleted file mode 100644
index 0a578b2b88..0000000000
--- a/keyboard/kc60/kc60.c
+++ /dev/null
@@ -1,111 +0,0 @@
-#include "kc60.h"
-
-__attribute__ ((weak))
- void matrix_init_user(void) {
- // leave this function blank - it can be defined in a keymap file
- };
-
-__attribute__ ((weak))
- void matrix_scan_user(void) {
- // leave this function blank - it can be defined in a keymap file
- }
-
-__attribute__ ((weak))
- bool process_action_user(keyrecord_t *record) {
- // leave this function blank - it can be defined in a keymap file
- return true;
- }
-
-__attribute__ ((weak))
- void led_set_user(uint8_t usb_led) {
- // leave this function blank - it can be defined in a keymap file
- }
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
-#ifdef BACKLIGHT_ENABLE
- backlight_init_ports();
-#endif
-
- matrix_init_user();
-}
-
-void matrix_scan_kb(void) {
- // put your looping keyboard code here
- // runs every cycle (a lot)
-
- matrix_scan_user();
-}
-
-bool process_action_kb(keyrecord_t *record) {
- // put your per-action keyboard code here
- // runs for every action, just before processing by the firmware
-
- return process_action_user(record);
-}
-
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
-
- led_set_user(usb_led);
-}
-
-#ifdef BACKLIGHT_ENABLE
-#define CHANNEL OCR1B
-
-void backlight_init_ports()
-{
-
- // Setup PB6 as output and output low.
- DDRB |= (1<<6);
- PORTB &= ~(1<<6);
-
- // Use full 16-bit resolution.
- ICR1 = 0xFFFF;
-
- // I could write a wall of text here to explain... but TL;DW
- // Go read the ATmega32u4 datasheet.
- // And this: http://blog.saikoled.com/post/43165849837/secret-konami-cheat-code-to-high-resolution-pwm-on
-
- // Pin PB7 = OCR1C (Timer 1, Channel C)
- // Compare Output Mode = Clear on compare match, Channel C = COM1B1=1 COM1C0=0
- // (i.e. start high, go low when counter matches.)
- // WGM Mode 14 (Fast PWM) = WGM13=1 WGM12=1 WGM11=1 WGM10=0
- // Clock Select = clk/1 (no prescaling) = CS12=0 CS11=0 CS10=1
-
- TCCR1A = _BV(COM1B1) | _BV(WGM11); // = 0b00001010;
- TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001;
-
- backlight_init();
-}
-
-void backlight_set(uint8_t level)
-{
- // Prevent backlight blink on lowest level
- PORTB &= ~(_BV(PORTB6));
-
- if ( level == 0 )
- {
- // Turn off PWM control on PB6, revert to output low.
- TCCR1A &= ~(_BV(COM1B1));
- CHANNEL = 0x0;
- }
- else if ( level == BACKLIGHT_LEVELS)
- {
- // Turn on PWM control of PB6
- TCCR1A |= _BV(COM1B1);
- // Set the brightness
- CHANNEL = 0xFFFF;
- }
- else
- {
- // Turn on PWM control of PB6
- TCCR1A |= _BV(COM1B1);
- // Set the brightness
- CHANNEL = 0xFFFF >> ((BACKLIGHT_LEVELS - level) * ((BACKLIGHT_LEVELS + 1) / 2));
- }
-}
-
-#endif
diff --git a/keyboard/kc60/kc60.h b/keyboard/kc60/kc60.h
deleted file mode 100644
index a54edfef47..0000000000
--- a/keyboard/kc60/kc60.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef KC60_H
-#define KC60_H
-
-#include "matrix.h"
-#include "keymap.h"
-#ifdef BACKLIGHT_ENABLE
-#include "backlight.h"
-#endif
-#include <avr/io.h>
-#include <stddef.h>
-
-// This a shortcut to help you visually see your layout.
-// The first section contains all of the arguements
-// The second converts the arguments into a multi-dimensional array
-#define KEYMAP( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
- K40, K41, K42, K45, K4A, K4B, K4C, K4D \
- ) { \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
- { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO,K4A, K4B, K4C, K4D } \
-}
-
-void matrix_init_user(void);
-void matrix_scan_user(void);
-bool process_action_user(keyrecord_t *record);
-
-void led_set_user(uint8_t usb_led);
-void backlight_init_ports(void);
-
-#endif
diff --git a/keyboard/kc60/keymaps/default/compiled.hex b/keyboard/kc60/keymaps/default/compiled.hex
deleted file mode 100644
index c8233506df..0000000000
--- a/keyboard/kc60/keymaps/default/compiled.hex
+++ /dev/null
@@ -1,1451 +0,0 @@
-:100000000C9472060C94B6060C94B6060C94B606C4
-:100010000C94B6060C94B6060C94B6060C94B60670
-:100020000C94B6060C94B6060C94AB110C947D128D
-:100030000C9454200C94B6060C94B6060C94B60698
-:100040000C94B6060C94B6060C94B6060C94B60640
-:100050000C94B6060C94BB200C94B6060C94B60611
-:100060000C94B6060C94B6060C94B6060C94B60620
-:100070000C94B6060C94B6060C94B6060C94B60610
-:100080000C94B6060C94B6060C94B6060C94B60600
-:100090000C94B6060C94B6060C94B6060C94B606F0
-:1000A0000C94B6060C94B6060C94B606E212041331
-:1000B000EF130413EF1346136913EF13BE13D11399
-:1000C0001A171A17491749178917AB17FA18FA1888
-:1000D000B617FA185D185D18C718CF18FA18F51872
-:1000E0006A186A186A186A186A186A186A186A1800
-:1000F0006A186A186A186A186A186A186A186A18F0
-:100100007A188A1891189818A21829001E001F0042
-:1001100020002100220023002400250026002700C3
-:100120002D002E002A002B0014001A0008001500D4
-:1001300017001C0018000C00120013002F003000E4
-:100140003100390004001600070009000A000B0006
-:100150000D000E000F003300340000002800E10005
-:1001600000001D001B000600190005001100100012
-:100170003600370038000000E500E000E200E30050
-:10018000000000002C000000000000000000E7005C
-:10019000E600E40000500A44454255473A20656EA7
-:1001A00061626C65642E0A005374617465206F6629
-:1001B00020726F772025583A2025303136620A00A8
-:1001C00048756D616E2D7265616461626C65206D4C
-:1001D00061747269782073746174653A0D0A004421
-:1001E00065626F756E63696E672064656C61792006
-:1001F00072656D61696E696E673A2025580A005B09
-:10020000735D004B6579626F617264207374617213
-:10021000742E0A005B575D005B535D005B525D000E
-:100220005B445D005B435D000E036B0063003600C2
-:100230003000760032000000080359006F0075009E
-:1002400000000403090409027400040100A0FA0973
-:1002500004000001030101000921110100012240F5
-:10026000000705810308000A0904010001030102D7
-:1002700000092111010001224D0007058203080039
-:100280000A09040200010300000009211101000114
-:100290002236000705830308000A0904030002034D
-:1002A000000000092111010001222000070584033C
-:1002B00020000107050403200001120110010000C5
-:1002C0000008EDFE60600100010200010631FF0937
-:1002D00074A1010975150025FF9520750881020993
-:1002E00076150025FF952075089102C0050109804B
-:1002F000A101850216010026B7001A01002AB700E5
-:10030000751095018100C0050C0901A10185031636
-:100310000100269C021A01002A9C02751095018199
-:1003200000C005010902A1010901A1000509190187
-:1003300029051500250195057501810295017503B3
-:1003400081010501093009311581257F9502750864
-:10035000810609381581257F950175088106050CF0
-:100360000A38021581257F950175088106C0C005F0
-:10037000010906A101050719E029E71500250195E6
-:100380000875018102950175088101050819012987
-:1003900005950575019102950175039101050719F0
-:1003A0000029FF150026FF00950675088100C00A88
-:1003B000002530325820006B6579626F6172645F8E
-:1003C0007265706F72743A20004B6579626F61726A
-:1003D00064204C4544732073746174653A20257819
-:1003E0000A00646F6E652E0A00626F6F676D616749
-:1003F0006963207363616E3A202E2E2E2000290A35
-:10040000002575002F002575005D2800256400205B
-:1004100000256400200025640020002564007C0085
-:1004200025303258006D6F7573656B6579205B629E
-:10043000746E7C782079207620685D287265702F34
-:1004400061636C293A205B006D6B5F776865656C52
-:100450005F74696D655F746F5F6D6178203D202505
-:10046000640A006D6B5F776865656C5F6D61785FCE
-:100470007370656564203D2025640A006D6B5F74B0
-:10048000696D655F746F5F6D6178203D2025640A3A
-:10049000006D6B5F6D61785F7370656564203D20F2
-:1004A00025640A006D6B5F696E74657276616C20FD
-:1004B0003D2025640A006D6B5F64656C6179203DA9
-:1004C0002025640A006D6B5F776865656C5F7469F1
-:1004D0006D655F746F5F6D6178203D2025640A0053
-:1004E0006D6B5F776865656C5F6D61785F73706574
-:1004F0006564203D2025640A006D6B5F74696D653D
-:100500005F746F5F6D6178203D2025640A006D6B1C
-:100510005F6D61785F7370656564203D2025640AB6
-:10052000006D6B5F696E74657276616C203D20258D
-:10053000640A006D6B5F64656C6179203D20256401
-:100540000A000A00257500363A20776865656C5FF9
-:1005500074696D655F746F5F6D61783A20000A00A1
-:10056000257500353A20776865656C5F6D61785F49
-:1005700073706565643A20000A00257500343A20DE
-:1005800074696D655F746F5F6D61783A20000A0071
-:10059000257500333A206D61785F73706565643A44
-:1005A00020000A00257500323A20696E7465727663
-:1005B000616C286D73293A20000A00257500313AD4
-:1005C0002064656C6179282A31306D73293A2000E6
-:1005D0000A092D2056616C756573202D0A004D3E69
-:1005E000004D25643E20003F0073657420646566FD
-:1005F00061756C740A00433E20007768657265205F
-:1006000064656C74613A20637572736F723D256422
-:100610002C20776865656C3D25640A536565206804
-:100620007474703A2F2F656E2E77696B69706564EC
-:1006300069612E6F72672F77696B692F4D6F7573C4
-:10064000655F6B6579730A000A092D204D6F75731C
-:10065000656B6579202D0A4553432F713A097175F1
-:1006600069740A313A0964656C6179282A31306D00
-:1006700073290A323A09696E74657276616C286D65
-:1006800073290A333A096D61785F73706565640A8E
-:10069000343A0974696D655F746F5F6D61780A350E
-:1006A0003A09776865656C5F6D61785F7370656541
-:1006B000640A363A09776865656C5F74696D655FD1
-:1006C000746F5F6D61780A0A703A097072696E74AE
-:1006D0002076616C7565730A643A097365742064E9
-:1006E000656661756C74730A75703A092B310A641A
-:1006F0006F776E3A092D310A706775703A092B31A0
-:10070000300A7067646F776E3A092D31300A0A73C8
-:1007100070656564203D2064656C7461202A206DDD
-:1007200061785F7370656564202A20287265706542
-:100730006174202F2074696D655F746F5F6D6178DF
-:10074000290A003F004D3E2000433E20004C256416
-:100750000A0074696D65725F636F756E743A202567
-:1007600030346C580A006B6579626F6172645F693E
-:10077000646C653A2025580A006B6579626F617276
-:10078000645F70726F746F636F6C3A2025580A0053
-:10079000686F73745F6B6579626F6172645F6C65BB
-:1007A000647328293A2025580A000A092D20537419
-:1007B00061747573202D0A004743433A20342E3864
-:1007C0002E31204156522D4C4942433A20312E3889
-:1007D0002E3073766E204156525F415243483A2084
-:1007E000617672350A004F5054494F4E533A204CAF
-:1007F00055464120424F4F544D41474943204D4FAC
-:100800005553454B45592045585452414B45592065
-:10081000434F4E534F4C4520434F4D4D414E442086
-:10082000343039360A004255494C443A203865384C
-:1008300039313730202831333A32333A3434204A90
-:10084000756E2031342032303136290A0056494441
-:100850003A2030784645454428596F75292050493B
-:10086000443A20307836303630286B633630763272
-:1008700029205645523A203078303030310A004431
-:100880004553433A204120637573746F6D206B6547
-:1008900079626F6172640A000A092D2056657273CD
-:1008A000696F6E202D0A000A092D20436F6E736F49
-:1008B0006C65202D0A4553432F713A09717569748F
-:1008C0000A6D3A096D6F7573656B65790A000A09DF
-:1008D0002D204D61676963202D0A443A0944656201
-:1008E0007567204D65737361676520546F67676C2A
-:1008F000650A583A094D61747269782044656275D9
-:1009000067204D6F646520546F67676C65202D20EC
-:1009100053686F77206B65797072657373657320A8
-:10092000696E206D617472697820677269640A4B20
-:100930003A094B6579626F6172642044656275673C
-:1009400020546F67676C65202D2053686F77206B8C
-:1009500065797072657373207265706F72740A4D79
-:100960003A094465627567204D6F75736520546F51
-:1009700067676C650A563A0956657273696F6E0A45
-:10098000533A095374617475730A433A09416374A5
-:10099000697661746520436F6E736F6C65204D6F6F
-:1009A00064650A46312D4631303A095377697463DC
-:1009B0006820746F204C6179657220302D392028B1
-:1009C000463130203D204C30290A302D393A095328
-:1009D000776974636820746F204C61796572203088
-:1009E0002D390A4553433A09537769746368207473
-:1009F0006F204C6179657220302028616C746572BB
-:100A00006E617465206B65792031290A4752415621
-:100A1000453A0953776974636820746F204C617993
-:100A2000657220302028616C7465726E6174652077
-:100A30006B65792032290A50415553453A094A7568
-:100A40006D7020746F20426F6F746C6F616465729B
-:100A500020285265736574290A453A095072696EF7
-:100A60007420454550524F4D2053657474696E672C
-:100A7000730A000A002575002E6C6576656C3A20B5
-:100A8000000A002575002E656E61626C653A2000D3
-:100A90000A0025303258006261636B6C69676874C4
-:100AA0005F636F6E6669672E7261773A20000A0095
-:100AB0002575002E6E6B726F3A20000A00257500B6
-:100AC0002E737761705F6261636B736C6173685FD3
-:100AD0006261636B73706163653A20000A0025757B
-:100AE000002E737761705F67726176655F6573630F
-:100AF0003A20000A002575002E6E6F5F6775693A0F
-:100B000020000A002575002E737761705F72616C9A
-:100B1000745F726775693A20000A002575002E73AC
-:100B20007761705F6C616C745F6C6775693A200007
-:100B30000A002575002E636170736C6F636B5F74C0
-:100B40006F5F636F6E74726F6C3A20000A002575D8
-:100B5000002E737761705F636F6E74726F6C5F638A
-:100B60006170736C6F636B3A20000A002530325855
-:100B7000006B65796D61705F636F6E6669672E7279
-:100B800061773A20000A002575002E6D6F75736538
-:100B90003A20000A002575002E6B6579626F61723C
-:100BA000643A20000A002575002E6D617472697820
-:100BB0003A20000A002575002E656E61626C653A68
-:100BC00020000A00253032580064656275675F6353
-:100BD0006F6E6669672E7261773A20000A0025758C
-:100BE0000064656661756C745F6C617965723A204A
-:100BF000003F000A6D6F7573653A206F66660A00E4
-:100C00000A6D6F7573653A206F6E0A000A6B65791D
-:100C1000626F6172643A206F66660A000A6B6579DA
-:100C2000626F6172643A206F6E0A000A6D617472BD
-:100C300069783A206F66660A000A6D617472697895
-:100C40003A206F6E0A000A64656275673A206F6623
-:100C5000660A000A64656275673A206F6E0A000AC8
-:100C60000A4A756D70696E6720746F20626F6F74C9
-:100C70006C6F616465722E2E2E2000433E2000654D
-:100C800065636F6E6669673A0A006261636B6C69DF
-:100C900067687420737465703A2025750A00626174
-:100CA000636B6C6967687420746F67676C653A2062
-:100CB00025750A006261636B6C69676874206465FE
-:100CC0006372656173653A2025750A006261636B22
-:100CD0006C6967687420696E6372656173653A2038
-:100CE00025750A0011241FBECFEFDAE0DEBFCDBFAD
-:100CF00004B603FE24C08091F3019091F401A09109
-:100D0000F501B091F6018730904BA740B04BB9F494
-:100D10001092F3011092F4011092F5011092F60175
-:100D200014BE84B7877F84BF88E10FB6F8948093A0
-:100D30006000109260000FBEE0E0F8E3099511E05A
-:100D4000A0E0B1E0EEE4FAE502C005900D92A63411
-:100D5000B107D9F721E0A6E4B1E001C01D92A33F9D
-:100D6000B207E1F70E94EB0E0C94252D0C940000C5
-:100D7000FF93EF93E0914601F0914701309709F01E
-:100D80000995EF91FF910895FC018591803011F054
-:100D9000EFDFFBCF0895FF27E0E230E247FF0CC012
-:100DA000419597FF09C0EDE260957095809590950B
-:100DB000611D711D811D911D27FF02C0219530E32A
-:100DC00050E2AA27660F771F881F991FAA1FA41732
-:100DD00010F0A41B63955A95A9F7AA3008F0A95FF3
-:100DE000A05DAF93F395611571058105910541F7FC
-:100DF000ED3211F4EF93F395F21718F43F93F39556
-:100E0000FBCF8F91B5DFFA95E1F70895E991F9915C
-:100E10008591803021F0853219F0AADFF9CF08954D
-:100E200020E0E89455915532C1F3503311F46894A1
-:100E300055915A3348F4505390F3220F022E220F4B
-:100E4000220F200D250FF4CF0EF421958991999151
-:100E5000533619F3533729F1533559F1BC0188271B
-:100E60009927E8945C3621F4899199916894559179
-:100E7000543639F446EF7EF077FF0DC08FEF9FEFC9
-:100E80000AC055374AE039F0583540E121F0523672
-:100E900042E009F00895FF93EF937DDFEF91FF911A
-:100EA000B7CFFF93EF93FC0181918030B9F360DFFE
-:100EB000FBCFFF93EF9368DFF1CFDF93CF93CDB7F5
-:100EC000DEB72596A3DFCF91DF91089508950895A9
-:100ED00081E0089508950C9467070C9468070C94BA
-:100EE0006A07269A2E988FEF9FEF90938700809342
-:100EF000860082E28093800089E1809381000C94D7
-:100F0000AF2A0E9471070C9466072E9881110AC0BF
-:100F1000809180008F7D8093800010928B001092D2
-:100F20008A000895833041F480918000806280932C
-:100F300080008FEF9FEF12C090918000906290939D
-:100F4000800023E030E0281B3109220F331F8FEF90
-:100F50009FEF02C0969587952A95E2F790938B00B4
-:100F600080938A00089580E090E0089581E00895DC
-:100F70000C94B60708950F931F93CF93DF93EC0162
-:100F800008811981C8010E94931EB8010E9454086B
-:100F90008C01BE010E94B807882309F47AC08A81B7
-:100FA0008823C9F18091530181111EC0043180E56D
-:100FB000180789F50E94BA0781E0809353010E94C7
-:100FC0008620909352018093510110924A01109211
-:100FD0004C0110924B0110924E0110924D01109253
-:100FE000500110924F0155C08091510190915201D2
-:100FF0000E949220883C910570F480914A01E82F6C
-:10100000F0E0EE0FFF1FE55BFE4F118300838F5F63
-:1010100080934A013EC0043880E5180721F0053866
-:101020001045A1F02AC08A81882321F0109248013E
-:1010300082E012C080914801811106C086E20E94C0
-:10104000B81586E20E94801682E014C08A81882347
-:1010500031F01092490180E20E94CF161AC08091AF
-:101060004901811106C087E20E94B81587E20E94FB
-:10107000801680E20E94D6160CC081E08093480161
-:1010800080934901CE01DF91CF911F910F910C9474
-:101090006D0780E0DF91CF911F910F9108950C941F
-:1010A00081070C946B0708959EE0799FF00111244D
-:1010B00096E4899FE00DF11D1124E60FF11DEE0F5E
-:1010C000FF1FE65FFE4F859194910895880F991F49
-:1010D00086579040FC01859194910895880F991F3F
-:1010E000865F9E4FFC018591949108950F931F9305
-:1010F000CF93DF93EC01811521E39207A0F58115D1
-:1011000030E3930708F0D7C0883E9105D8F4803EBD
-:10111000910508F06FC0883A910578F4853A9105F9
-:1011200008F06AC08130910509F4F8C108F4F3C1F0
-:101130008430910508F05EC0EEC18B3B910508F448
-:1011400066C0E9C1C11580E2D80708F0AFC0C1157B
-:1011500091E0D90708F04EC0C03FD10508F4DBC1CB
-:101160008E0110651CC2803820E5920700F580379B
-:1011700030E5930708F0A3C0C11580E5D80709F44E
-:10118000ACC050F4CE01905480319F4008F0C3C1F0
-:101190008E011F70106A03C2C13030E5D30709F415
-:1011A000AAC0C43180E5D80708F4AFC0B4C1C338C1
-:1011B00090E5D90709F48EC050F4C13830E5D30763
-:1011C00009F482C008F083C000E011EDE8C1C0312D
-:1011D00091E5D90708F49FC1C11527E5D20708F4A6
-:1011E00036C1CE0190578115904108F094C18E010F
-:1011F0001F708FC18E01D3C1853A910509F491C149
-:10120000863A910509F490C103E810E4C8C1883A10
-:10121000910509F48CC1893A910509F48BC18A3A88
-:10122000910509F48AC18B3A910509F489C18C3A78
-:10123000910509F488C18D3A910509F487C1803B75
-:10124000910509F486C18E3A910509F485C18F3A5A
-:10125000910509F484C1813B910509F483C1823B66
-:10126000910509F482C1833B910509F481C1843B56
-:10127000910509F480C1853B910509F47FC1863B46
-:10128000910509F47EC1873B910509F47DC1883B36
-:10129000910509F47CC1893B910509F47BC18A3B26
-:1012A000910509F07AC10AE216E479C1CE019F7076
-:1012B0000E946E0875C18C011127106C70C18C01E1
-:1012C0000F701127146D6BC100E010ED68C100E0D4
-:1012D00012ED65C100E013ED62C10E9468198FEF45
-:1012E00094E32CE0815090402040E1F700C00000E2
-:1012F0000E94E02054C186E991E00E94C4068091DA
-:10130000D30181608093D3014AC10E94932281114D
-:1013100002C00E9474220E94B02290E09093F201D9
-:101320008093F101C23030E5D30721F48091F101BF
-:10133000816086C0C43080E5D80721F48091F10136
-:1013400082607EC0C63090E5D90721F48091F1011A
-:10135000846076C0C83020E5D20719F48091F1018D
-:1013600027C0CA3030E5D30721F48091F1018061B4
-:1013700067C0CC3080E5D80721F48091F10180620C
-:101380005FC0CE3090E5D90721F48091F1018064EF
-:1013900057C0C03120E5D20721F48091F101806867
-:1013A0004FC0C23130E5D30729F48091F101846048
-:1013B000886046C0C33080E5D80721F48091F101F0
-:1013C0008E7F3EC0C53090E5D90721F48091F101B0
-:1013D0008D7F36C0C73020E5D20721F48091F1011E
-:1013E0008B7F2EC0C93030E5D30719F48091F1010D
-:1013F00026C0CB3080E5D80721F48091F1018F7EA3
-:101400001FC0CD3090E5D90721F48091F1018F7D87
-:1014100017C0CF3020E5D20721F48091F1018F7BF6
-:101420000FC0C13130E5D30721F48091F1018F77EE
-:1014300007C0C331D04531F48091F1018B7F877FA4
-:101440008093F1018091F1010E94B422A8C08D2FF8
-:1014500099278F70992781309105E9F48E010370E7
-:1014600011279C0102C0220F331F0A95E2F7890160
-:101470001C68CE01E4E0880F991FEA95E1F7882700
-:101480009370082B192BF3E0CC0FDD1FFA95E1F7D1
-:10149000C076DD272CC08230910529F41C2F00274F
-:1014A000016F106A7CC08330910561F4CE018370B6
-:1014B000992701E010E002C0000F111F8A95E2F7A2
-:1014C0001C680EC084309105A9F4CE018370992761
-:1014D00001E010E002C0000F111F8A95E2F71A68C0
-:1014E00063E0CC0FDD1F6A95E1F7C07ED7700C2B4F
-:1014F0001D2B55C08530910529F41C2F0027046F42
-:10150000106A4DC0069709F04AC0CF71DD271C2F25
-:101510000027106244C000E010E041C001E010E08C
-:101520003EC001E810E43BC002E810E438C002EE1F
-:1015300014E435C009EE14E432C00AEE14E42FC0FE
-:1015400005EB14E42CC006EB14E429C007EB14E40B
-:1015500026C00CEC14E423C00DEC14E420C003E816
-:1015600015E41DC00AE815E41AC002E915E417C025
-:1015700004E915E414C001E216E411C003E216E424
-:101580000EC004E216E40BC005E216E408C006E251
-:1015900016E405C007E216E402C000E014E4C80146
-:1015A000DF91CF911F910F9108959EE0799FF001F7
-:1015B000112496E4899FE00DF11D1124E60FF11D21
-:1015C000EE0FFF1FE65FFE4F85919491803E9105DF
-:1015D000E0F4803C910558F58133910509F46FC022
-:1015E00048F48932910509F463C08A32910509F4FF
-:1015F0006DC072C089339105E9F082389105D1F050
-:101600008533910509F44DC067C0833E910581F192
-:1016100038F4803E9105B9F0823E9105D9F05CC066
-:10162000863E910561F1873E9105A1F155C00E946A
-:10163000660808952091F10120FD02C021FF