Initial Commit

This commit is contained in:
Oliver Weyhmüller 2022-01-27 17:00:02 +01:00
commit 908a23c7b5
Signed by: oliver
GPG key ID: 5286794099F934A3
69 changed files with 10480 additions and 0 deletions

328
checkstyle/checkstyle.xml Normal file
View file

@ -0,0 +1,328 @@
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
"https://checkstyle.org/dtds/configuration_1_3.dtd">
<!--
Checkstyle configuration that checks the Google coding conventions from Google Java Style
that can be found at https://google.github.io/styleguide/javaguide.html
Checkstyle is very configurable. Be sure to read the documentation at
http://checkstyle.org (or in your downloaded distribution).
To completely disable a check, just comment it out or delete it from the file.
To suppress certain violations please review suppression filters.
Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov.
-->
<module name = "Checker">
<property name="charset" value="UTF-8"/>
<property name="severity" value="warning"/>
<property name="fileExtensions" value="java, properties, xml"/>
<!-- Excludes all 'module-info.java' files -->
<!-- See https://checkstyle.org/config_filefilters.html -->
<module name="BeforeExecutionExclusionFileFilter">
<property name="fileNamePattern" value="module\-info\.java$"/>
</module>
<!-- https://checkstyle.org/config_filters.html#SuppressionFilter -->
<module name="SuppressionFilter">
<property name="file" value="${org.checkstyle.google.suppressionfilter.config}"
default="checkstyle-suppressions.xml" />
<property name="optional" value="true"/>
</module>
<!-- Checks for whitespace -->
<!-- See http://checkstyle.org/config_whitespace.html -->
<module name="FileTabCharacter">
<property name="eachLine" value="true"/>
</module>
<module name="LineLength">
<property name="fileExtensions" value="java"/>
<property name="max" value="100"/>
<property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
</module>
<module name="TreeWalker">
<module name="OuterTypeFilename"/>
<module name="IllegalTokenText">
<property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>
<property name="format"
value="\\u00(09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/>
<property name="message"
value="Consider using special escape sequence instead of octal value or Unicode escaped value."/>
</module>
<module name="AvoidEscapedUnicodeCharacters">
<property name="allowEscapesForControlCharacters" value="true"/>
<property name="allowByTailComment" value="true"/>
<property name="allowNonPrintableEscapes" value="true"/>
</module>
<module name="AvoidStarImport"/>
<module name="OneTopLevelClass"/>
<module name="NoLineWrap">
<property name="tokens" value="PACKAGE_DEF, IMPORT, STATIC_IMPORT"/>
</module>
<module name="EmptyBlock">
<property name="option" value="TEXT"/>
<property name="tokens"
value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>
</module>
<module name="NeedBraces">
<property name="tokens"
value="LITERAL_DO, LITERAL_ELSE, LITERAL_FOR, LITERAL_IF, LITERAL_WHILE"/>
</module>
<module name="LeftCurly">
<property name="tokens"
value="ANNOTATION_DEF, CLASS_DEF, CTOR_DEF, ENUM_CONSTANT_DEF, ENUM_DEF,
INTERFACE_DEF, LAMBDA, LITERAL_CASE, LITERAL_CATCH, LITERAL_DEFAULT,
LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF,
LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, METHOD_DEF,
OBJBLOCK, STATIC_INIT"/>
</module>
<module name="RightCurly">
<property name="id" value="RightCurlySame"/>
<property name="tokens"
value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE,
LITERAL_DO"/>
</module>
<module name="RightCurly">
<property name="id" value="RightCurlyAlone"/>
<property name="option" value="alone"/>
<property name="tokens"
value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT,
INSTANCE_INIT, ANNOTATION_DEF, ENUM_DEF"/>
</module>
<module name="SuppressionXpathSingleFilter">
<!-- suppresion is required till https://github.com/checkstyle/checkstyle/issues/7541 -->
<property name="id" value="RightCurlyAlone"/>
<property name="query" value="//RCURLY[parent::SLIST[count(./*)=1]
or preceding-sibling::*[last()][self::LCURLY]]"/>
</module>
<module name="WhitespaceAround">
<property name="allowEmptyConstructors" value="true"/>
<property name="allowEmptyLambdas" value="true"/>
<property name="allowEmptyMethods" value="true"/>
<property name="allowEmptyTypes" value="true"/>
<property name="allowEmptyLoops" value="true"/>
<property name="tokens"
value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR,
BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, DO_WHILE, EQUAL, GE, GT, LAMBDA, LAND,
LCURLY, LE, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY,
LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SWITCH, LITERAL_SYNCHRONIZED,
LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN,
NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR,
SR_ASSIGN, STAR, STAR_ASSIGN, LITERAL_ASSERT, TYPE_EXTENSION_AND"/>
<message key="ws.notFollowed"
value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)"/>
<message key="ws.notPreceded"
value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/>
</module>
<module name="OneStatementPerLine"/>
<module name="MultipleVariableDeclarations"/>
<module name="ArrayTypeStyle"/>
<module name="MissingSwitchDefault"/>
<module name="FallThrough"/>
<module name="UpperEll"/>
<module name="ModifierOrder"/>
<module name="EmptyLineSeparator">
<property name="tokens"
value="PACKAGE_DEF, IMPORT, STATIC_IMPORT, CLASS_DEF, INTERFACE_DEF, ENUM_DEF,
STATIC_INIT, INSTANCE_INIT, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>
<property name="allowNoEmptyLineBetweenFields" value="true"/>
</module>
<module name="SeparatorWrap">
<property name="id" value="SeparatorWrapDot"/>
<property name="tokens" value="DOT"/>
<property name="option" value="nl"/>
</module>
<module name="SeparatorWrap">
<property name="id" value="SeparatorWrapComma"/>
<property name="tokens" value="COMMA"/>
<property name="option" value="EOL"/>
</module>
<module name="SeparatorWrap">
<!-- ELLIPSIS is EOL until https://github.com/google/styleguide/issues/258 -->
<property name="id" value="SeparatorWrapEllipsis"/>
<property name="tokens" value="ELLIPSIS"/>
<property name="option" value="EOL"/>
</module>
<module name="SeparatorWrap">
<!-- ARRAY_DECLARATOR is EOL until https://github.com/google/styleguide/issues/259 -->
<property name="id" value="SeparatorWrapArrayDeclarator"/>
<property name="tokens" value="ARRAY_DECLARATOR"/>
<property name="option" value="EOL"/>
</module>
<module name="SeparatorWrap">
<property name="id" value="SeparatorWrapMethodRef"/>
<property name="tokens" value="METHOD_REF"/>
<property name="option" value="nl"/>
</module>
<module name="PackageName">
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
<message key="name.invalidPattern"
value="Package name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="TypeName">
<property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, ANNOTATION_DEF"/>
<message key="name.invalidPattern"
value="Type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="MemberName">
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
<message key="name.invalidPattern"
value="Member name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="ParameterName">
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
<message key="name.invalidPattern"
value="Parameter name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="LambdaParameterName">
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
<message key="name.invalidPattern"
value="Lambda parameter name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="CatchParameterName">
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
<message key="name.invalidPattern"
value="Catch parameter name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="LocalVariableName">
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
<message key="name.invalidPattern"
value="Local variable name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="ClassTypeParameterName">
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
<message key="name.invalidPattern"
value="Class type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="MethodTypeParameterName">
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
<message key="name.invalidPattern"
value="Method type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="InterfaceTypeParameterName">
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
<message key="name.invalidPattern"
value="Interface type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="NoFinalizer"/>
<module name="GenericWhitespace">
<message key="ws.followed"
value="GenericWhitespace ''{0}'' is followed by whitespace."/>
<message key="ws.preceded"
value="GenericWhitespace ''{0}'' is preceded with whitespace."/>
<message key="ws.illegalFollow"
value="GenericWhitespace ''{0}'' should followed by whitespace."/>
<message key="ws.notPreceded"
value="GenericWhitespace ''{0}'' is not preceded with whitespace."/>
</module>
<module name="Indentation">
<property name="basicOffset" value="4"/>
<property name="braceAdjustment" value="0"/>
<property name="caseIndent" value="4"/>
<property name="throwsIndent" value="8"/>
<property name="lineWrappingIndentation" value="8"/>
<property name="arrayInitIndent" value="4"/>
</module>
<module name="AbbreviationAsWordInName">
<property name="ignoreFinal" value="false"/>
<property name="allowedAbbreviationLength" value="1"/>
<property name="allowedAbbreviations" value="IT" />
<property name="tokens"
value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, ANNOTATION_DEF, ANNOTATION_FIELD_DEF,
PARAMETER_DEF, VARIABLE_DEF, METHOD_DEF"/>
</module>
<module name="OverloadMethodsDeclarationOrder"/>
<module name="VariableDeclarationUsageDistance"/>
<module name="CustomImportOrder">
<property name="sortImportsInGroupAlphabetically" value="true"/>
<property name="separateLineBetweenGroups" value="true"/>
<property name="customImportOrderRules"
value="STATIC###THIRD_PARTY_PACKAGE"/>
</module>
<module name="MethodParamPad">
<property name="tokens"
value="CTOR_DEF, LITERAL_NEW, METHOD_CALL, METHOD_DEF,
SUPER_CTOR_CALL, ENUM_CONSTANT_DEF"/>
</module>
<module name="NoWhitespaceBefore">
<property name="tokens"
value="COMMA, SEMI, POST_INC, POST_DEC, DOT, ELLIPSIS, METHOD_REF"/>
<property name="allowLineBreaks" value="true"/>
</module>
<module name="ParenPad">
<property name="tokens"
value="ANNOTATION, ANNOTATION_FIELD_DEF, CTOR_CALL, CTOR_DEF, DOT, ENUM_CONSTANT_DEF,
EXPR, LITERAL_CATCH, LITERAL_DO, LITERAL_FOR, LITERAL_IF, LITERAL_NEW,
LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_WHILE, METHOD_CALL,
METHOD_DEF, QUESTION, RESOURCE_SPECIFICATION, SUPER_CTOR_CALL, LAMBDA"/>
</module>
<module name="OperatorWrap">
<property name="option" value="NL"/>
<property name="tokens"
value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR,
LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR, METHOD_REF "/>
</module>
<module name="AnnotationLocation">
<property name="id" value="AnnotationLocationMostCases"/>
<property name="tokens"
value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF"/>
</module>
<module name="AnnotationLocation">
<property name="id" value="AnnotationLocationVariables"/>
<property name="tokens" value="VARIABLE_DEF"/>
<property name="allowSamelineMultipleAnnotations" value="true"/>
</module>
<module name="NonEmptyAtclauseDescription"/>
<module name="InvalidJavadocPosition"/>
<module name="JavadocTagContinuationIndentation"/>
<module name="SummaryJavadoc">
<property name="forbiddenSummaryFragments"
value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/>
</module>
<module name="JavadocParagraph"/>
<module name="AtclauseOrder">
<property name="tagOrder" value="@param, @return, @throws, @deprecated"/>
<property name="target"
value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>
</module>
<module name="JavadocMethod">
<property name="scope" value="public"/>
<property name="allowMissingParamTags" value="true"/>
<property name="allowMissingReturnTag" value="true"/>
<property name="allowedAnnotations" value="Override, Test"/>
<property name="tokens" value="METHOD_DEF, CTOR_DEF, ANNOTATION_FIELD_DEF"/>
</module>
<module name="MissingJavadocMethod">
<property name="scope" value="public"/>
<property name="minLineCount" value="2"/>
<property name="allowedAnnotations" value="Override, Test"/>
<property name="tokens" value="METHOD_DEF, CTOR_DEF, ANNOTATION_FIELD_DEF"/>
</module>
<module name="MethodName">
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>
<message key="name.invalidPattern"
value="Method name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="SingleLineJavadoc">
<property name="ignoreInlineTags" value="false"/>
</module>
<module name="EmptyCatchBlock">
<property name="exceptionVariableName" value="expected"/>
</module>
<module name="CommentsIndentation">
<property name="tokens" value="SINGLE_LINE_COMMENT, BLOCK_COMMENT_BEGIN"/>
</module>
<!-- https://checkstyle.org/config_filters.html#SuppressionXpathFilter -->
<module name="SuppressionXpathFilter">
<property name="file" value="${org.checkstyle.google.suppressionxpathfilter.config}"
default="checkstyle-xpath-suppressions.xml" />
<property name="optional" value="true"/>
</module>
</module>
</module>

View file

@ -0,0 +1,598 @@
<?xml version="1.0" encoding="UTF-8"?>
<code_scheme name="GoogleStyle">
<option name="OTHER_INDENT_OPTIONS">
<value>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="2" />
<option name="USE_TAB_CHARACTER" value="false" />
<option name="SMART_TABS" value="false" />
<option name="LABEL_INDENT_SIZE" value="0" />
<option name="LABEL_INDENT_ABSOLUTE" value="false" />
<option name="USE_RELATIVE_INDENTS" value="false" />
</value>
</option>
<option name="INSERT_INNER_CLASS_IMPORTS" value="true" />
<option name="CLASS_COUNT_TO_USE_IMPORT_ON_DEMAND" value="999" />
<option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="999" />
<option name="PACKAGES_TO_USE_IMPORT_ON_DEMAND">
<value />
</option>
<option name="IMPORT_LAYOUT_TABLE">
<value>
<package name="" withSubpackages="true" static="true" />
<emptyLine />
<package name="" withSubpackages="true" static="false" />
</value>
</option>
<option name="RIGHT_MARGIN" value="100" />
<option name="JD_ALIGN_PARAM_COMMENTS" value="false" />
<option name="JD_ALIGN_EXCEPTION_COMMENTS" value="false" />
<option name="JD_P_AT_EMPTY_LINES" value="false" />
<option name="JD_KEEP_EMPTY_PARAMETER" value="false" />
<option name="JD_KEEP_EMPTY_EXCEPTION" value="false" />
<option name="JD_KEEP_EMPTY_RETURN" value="false" />
<option name="KEEP_CONTROL_STATEMENT_IN_ONE_LINE" value="false" />
<option name="KEEP_BLANK_LINES_BEFORE_RBRACE" value="0" />
<option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
<option name="BLANK_LINES_AFTER_CLASS_HEADER" value="0" />
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
<option name="ALIGN_MULTILINE_FOR" value="false" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="1" />
<option name="EXTENDS_LIST_WRAP" value="1" />
<option name="THROWS_KEYWORD_WRAP" value="1" />
<option name="METHOD_CALL_CHAIN_WRAP" value="1" />
<option name="BINARY_OPERATION_WRAP" value="1" />
<option name="BINARY_OPERATION_SIGN_ON_NEXT_LINE" value="true" />
<option name="TERNARY_OPERATION_WRAP" value="1" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="1" />
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
<option name="WRAP_COMMENTS" value="true" />
<option name="IF_BRACE_FORCE" value="3" />
<option name="DOWHILE_BRACE_FORCE" value="3" />
<option name="WHILE_BRACE_FORCE" value="3" />
<option name="FOR_BRACE_FORCE" value="3" />
<option name="SPACE_BEFORE_ARRAY_INITIALIZER_LBRACE" value="true" />
<AndroidXmlCodeStyleSettings>
<option name="USE_CUSTOM_SETTINGS" value="true" />
<option name="LAYOUT_SETTINGS">
<value>
<option name="INSERT_BLANK_LINE_BEFORE_TAG" value="false" />
</value>
</option>
</AndroidXmlCodeStyleSettings>
<JSCodeStyleSettings>
<option name="INDENT_CHAINED_CALLS" value="false" />
</JSCodeStyleSettings>
<Python>
<option name="USE_CONTINUATION_INDENT_FOR_ARGUMENTS" value="true" />
</Python>
<TypeScriptCodeStyleSettings>
<option name="INDENT_CHAINED_CALLS" value="false" />
</TypeScriptCodeStyleSettings>
<XML>
<option name="XML_ALIGN_ATTRIBUTES" value="false" />
<option name="XML_LEGACY_SETTINGS_IMPORTED" value="true" />
</XML>
<codeStyleSettings language="CSS">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="ECMA Script Level 4">
<option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
<option name="ALIGN_MULTILINE_FOR" value="false" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="1" />
<option name="EXTENDS_LIST_WRAP" value="1" />
<option name="BINARY_OPERATION_WRAP" value="1" />
<option name="BINARY_OPERATION_SIGN_ON_NEXT_LINE" value="true" />
<option name="TERNARY_OPERATION_WRAP" value="1" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="1" />
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
<option name="IF_BRACE_FORCE" value="3" />
<option name="DOWHILE_BRACE_FORCE" value="3" />
<option name="WHILE_BRACE_FORCE" value="3" />
<option name="FOR_BRACE_FORCE" value="3" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
</codeStyleSettings>
<codeStyleSettings language="HTML">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="JAVA">
<option name="KEEP_CONTROL_STATEMENT_IN_ONE_LINE" value="false" />
<option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
<option name="BLANK_LINES_AFTER_CLASS_HEADER" value="1" />
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
<option name="ALIGN_MULTILINE_RESOURCES" value="false" />
<option name="ALIGN_MULTILINE_FOR" value="false" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="1" />
<option name="EXTENDS_LIST_WRAP" value="1" />
<option name="THROWS_KEYWORD_WRAP" value="1" />
<option name="METHOD_CALL_CHAIN_WRAP" value="1" />
<option name="BINARY_OPERATION_WRAP" value="1" />
<option name="BINARY_OPERATION_SIGN_ON_NEXT_LINE" value="true" />
<option name="TERNARY_OPERATION_WRAP" value="1" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="1" />
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
<option name="WRAP_COMMENTS" value="true" />
<option name="IF_BRACE_FORCE" value="3" />
<option name="DOWHILE_BRACE_FORCE" value="3" />
<option name="WHILE_BRACE_FORCE" value="3" />
<option name="FOR_BRACE_FORCE" value="3" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
<indentOptions>
<option name="INDENT_SIZE" value="4" />
<option name="CONTINUATION_INDENT_SIZE" value="8" />
<option name="TAB_SIZE" value="4" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="JSON">
<indentOptions>
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="JavaScript">
<option name="RIGHT_MARGIN" value="80" />
<option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
<option name="ALIGN_MULTILINE_FOR" value="false" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="1" />
<option name="BINARY_OPERATION_WRAP" value="1" />
<option name="BINARY_OPERATION_SIGN_ON_NEXT_LINE" value="true" />
<option name="TERNARY_OPERATION_WRAP" value="1" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="1" />
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
<option name="IF_BRACE_FORCE" value="3" />
<option name="DOWHILE_BRACE_FORCE" value="3" />
<option name="WHILE_BRACE_FORCE" value="3" />
<option name="FOR_BRACE_FORCE" value="3" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="PROTO">
<option name="RIGHT_MARGIN" value="80" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="protobuf">
<option name="RIGHT_MARGIN" value="80" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="Python">
<option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
<option name="RIGHT_MARGIN" value="80" />
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="SASS">
<indentOptions>
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="SCSS">
<indentOptions>
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="TypeScript">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="XML">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
<arrangement>
<rules>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:android</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:id</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>style</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:.*Style</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_width</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_height</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_weight</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_margin</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_marginTop</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_marginBottom</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_marginStart</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_marginEnd</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_marginLeft</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_marginRight</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:layout_.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:padding</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:paddingTop</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:paddingBottom</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:paddingStart</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:paddingEnd</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:paddingLeft</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:paddingRight</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_NAMESPACE>http://schemas.android.com/apk/res-auto</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_NAMESPACE>http://schemas.android.com/tools</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_NAMESPACE>.*</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
</rules>
</arrangement>
</codeStyleSettings>
<Objective-C>
<option name="INDENT_NAMESPACE_MEMBERS" value="0" />
<option name="INDENT_C_STRUCT_MEMBERS" value="2" />
<option name="INDENT_CLASS_MEMBERS" value="2" />
<option name="INDENT_VISIBILITY_KEYWORDS" value="1" />
<option name="INDENT_INSIDE_CODE_BLOCK" value="2" />
<option name="KEEP_STRUCTURES_IN_ONE_LINE" value="true" />
<option name="FUNCTION_PARAMETERS_WRAP" value="5" />
<option name="FUNCTION_CALL_ARGUMENTS_WRAP" value="5" />
<option name="TEMPLATE_CALL_ARGUMENTS_WRAP" value="5" />
<option name="TEMPLATE_CALL_ARGUMENTS_ALIGN_MULTILINE" value="true" />
<option name="ALIGN_INIT_LIST_IN_COLUMNS" value="false" />
<option name="SPACE_BEFORE_SUPERCLASS_COLON" value="false" />
</Objective-C>
<Objective-C-extensions>
<option name="GENERATE_INSTANCE_VARIABLES_FOR_PROPERTIES" value="ASK" />
<option name="RELEASE_STYLE" value="IVAR" />
<option name="TYPE_QUALIFIERS_PLACEMENT" value="BEFORE" />
<file>
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Import" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Macro" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Typedef" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Enum" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Constant" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Global" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Struct" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="FunctionPredecl" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Function" />
</file>
<class>
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Property" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Synthesize" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InitMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="StaticMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InstanceMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="DeallocMethod" />
</class>
<extensions>
<pair source="cc" header="h" />
<pair source="c" header="h" />
</extensions>
</Objective-C-extensions>
<codeStyleSettings language="ObjectiveC">
<option name="RIGHT_MARGIN" value="80" />
<option name="KEEP_BLANK_LINES_BEFORE_RBRACE" value="1" />
<option name="BLANK_LINES_BEFORE_IMPORTS" value="0" />
<option name="BLANK_LINES_AFTER_IMPORTS" value="0" />
<option name="BLANK_LINES_AROUND_CLASS" value="0" />
<option name="BLANK_LINES_AROUND_METHOD" value="0" />
<option name="BLANK_LINES_AROUND_METHOD_IN_INTERFACE" value="0" />
<option name="ALIGN_MULTILINE_BINARY_OPERATION" value="false" />
<option name="BINARY_OPERATION_SIGN_ON_NEXT_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="1" />
<option name="ASSIGNMENT_WRAP" value="1" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
</indentOptions>
</codeStyleSettings>
</code_scheme>

11
dot_ackrc Normal file
View file

@ -0,0 +1,11 @@
# Search
--type-set=coffee=.coffee
--type-set=cucumber=.feature
--type-set=haml=.haml
--type-set=sass=.sass,.scss
--type-set=markdown=.md,.mark,.markdown
# Don't search
--ignore-dir=log
--ignore-dir=tags
--ignore-dir=tmp

71
dot_aliases Normal file
View file

@ -0,0 +1,71 @@
# task config with dropbox
alias task="task rc:/Users/oliver/Dropbox/tasks/.taskrc"
# use own ssh ca with httpie
alias https="https --verify=${HOME}/.ssl/cacert.pem"
# Use `hub` as our git wrapper:
# http://defunkt.github.com/hub/
hub_path=$(which hub 2>/dev/null)
if (( $+commands[hub] ))
then
alias git=$hub_path
fi
ack_path=$(which ack-grep 2>/dev/null)
if (( $+commands[ack-grep] ))
then
alias ack=$ack_path
fi
LSCMD="ls -G"
if $(gls &>/dev/null)
then
LSCMD="gls --color"
fi
\ls --help &>/dev/null
if [ $? -eq 0 ]
then
LSCMD="ls --color"
fi
exa_path=$(which exa 2>/dev/null)
if (( $+commands[exa] ))
then
LSCMD=$exa_path
alias ls="$LSCMD -F"
alias dir="$LSCMD -lt | most"
else
alias ls="$LSCMD -Fh"
alias dir="$LSCMD -lht | most"
fi
alias bd="bd -s"
alias grep="grep --color=auto"
alias fgrep="fgrep --color=auto"
alias egrep="egrep --color=auto"
# be faster aliase
alias ..='cd ..'
alias cd..='cd ..'
alias ...='cd ../..'
alias cd...='cd ../..'
alias cls='clear'
alias df='df -h'
# Unix
alias tlf="tail -f"
alias ln='ln -v'
alias mkdir='mkdir -p'
alias -g LIN='| wc -l'
alias -g ONE="| awk '{ print \$1}'"
alias -g TWO="| awk '{ print \$2}'"
alias -g THREE="| awk '{ print \$3}'"
alias -g FOUR="| awk '{ print \$4}'"
alias -g FIVE="| awk '{ print \$5}'"
alias -g SIX="| awk '{ print \$6}'"
alias -g SEVEN="| awk '{ print \$7}'"
alias -g EIGHT="| awk '{ print \$8}'"
alias -g NINE="| awk '{ print \$9}'"

267
dot_dircolors Normal file
View file

@ -0,0 +1,267 @@
# Dark 256 color solarized theme for the color GNU ls utility.
# Used and tested with dircolors (GNU coreutils) 8.5
#
# @author {@link http://sebastian.tramp.name Sebastian Tramp}
# @license http://sam.zoy.org/wtfpl/ Do What The Fuck You Want To Public
# License (WTFPL)
#
# More Information at
# https://github.com/seebi/dircolors-solarized
# Term Section
TERM Eterm
TERM ansi
TERM color-xterm
TERM con132x25
TERM con132x30
TERM con132x43
TERM con132x60
TERM con80x25
TERM con80x28
TERM con80x30
TERM con80x43
TERM con80x50
TERM con80x60
TERM cons25
TERM console
TERM cygwin
TERM dtterm
TERM eterm-color
TERM gnome
TERM gnome-256color
TERM jfbterm
TERM konsole
TERM kterm
TERM linux
TERM linux-c
TERM mach-color
TERM mlterm
TERM putty
TERM rxvt
TERM rxvt-256color
TERM rxvt-cygwin
TERM rxvt-cygwin-native
TERM rxvt-unicode
TERM rxvt-unicode256
TERM rxvt-unicode-256color
TERM screen
TERM screen-256color
TERM screen-256color-bce
TERM screen-256color-s
TERM screen-bce
TERM screen-w
TERM screen.linux
TERM vt100
TERM xterm
TERM xterm-16color
TERM xterm-256color
TERM xterm-88color
TERM xterm-color
TERM xterm-debian
## Documentation
#
# standard colors
#
# Below are the color init strings for the basic file types. A color init
# string consists of one or more of the following numeric codes:
# Attribute codes:
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
# Background color codes:
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
#
#
# 256 color support
# see here: http://www.mail-archive.com/bug-coreutils@gnu.org/msg11030.html)
#
# Text 256 color coding:
# 38;5;COLOR_NUMBER
# Background 256 color coding:
# 48;5;COLOR_NUMBER
## Special files
NORMAL 00;38;5;244 # no color code at all
#FILE 00 # regular file: use no color at all
RESET 0 # reset to "normal" color
DIR 00;38;5;33 # directory 01;34
LINK 01;38;5;37 # symbolic link. (If you set this to 'target' instead of a
# numerical value, the color is as for the file pointed to.)
MULTIHARDLINK 00 # regular file with more than one link
FIFO 48;5;230;38;5;136;01 # pipe
SOCK 48;5;230;38;5;136;01 # socket
DOOR 48;5;230;38;5;136;01 # door
BLK 48;5;230;38;5;244;01 # block device driver
CHR 48;5;230;38;5;244;01 # character device driver
ORPHAN 48;5;235;38;5;160 # symlink to nonexistent file, or non-stat'able file
SETUID 48;5;160;38;5;230 # file that is setuid (u+s)
SETGID 48;5;136;38;5;230 # file that is setgid (g+s)
CAPABILITY 30;41 # file with capability
STICKY_OTHER_WRITABLE 48;5;64;38;5;230 # dir that is sticky and other-writable (+t,o+w)
OTHER_WRITABLE 48;5;235;38;5;33 # dir that is other-writable (o+w) and not sticky
STICKY 48;5;33;38;5;230 # dir with the sticky bit set (+t) and not other-writable
# This is for files with execute permission:
EXEC 01;38;5;64
## Archives or compressed (violet + bold for compression)
.tar 00;38;5;61
.tgz 01;38;5;61
.arj 01;38;5;61
.taz 01;38;5;61
.lzh 01;38;5;61
.lzma 01;38;5;61
.tlz 01;38;5;61
.txz 01;38;5;61
.zip 01;38;5;61
.z 01;38;5;61
.Z 01;38;5;61
.dz 01;38;5;61
.gz 01;38;5;61
.lz 01;38;5;61
.xz 01;38;5;61
.bz2 01;38;5;61
.bz 01;38;5;61
.tbz 01;38;5;61
.tbz2 01;38;5;61
.tz 01;38;5;61
.deb 01;38;5;61
.rpm 01;38;5;61
.jar 01;38;5;61
.rar 01;38;5;61
.ace 01;38;5;61
.zoo 01;38;5;61
.cpio 01;38;5;61
.7z 01;38;5;61
.rz 01;38;5;61
.apk 01;38;5;61
.gem 01;38;5;61
# Image formats (yellow)
.jpg 00;38;5;136
.JPG 00;38;5;136 #stupid but needed
.jpeg 00;38;5;136
.gif 00;38;5;136
.bmp 00;38;5;136
.pbm 00;38;5;136
.pgm 00;38;5;136
.ppm 00;38;5;136
.tga 00;38;5;136
.xbm 00;38;5;136
.xpm 00;38;5;136
.tif 00;38;5;136
.tiff 00;38;5;136
.png 00;38;5;136
.svg 00;38;5;136
.svgz 00;38;5;136
.mng 00;38;5;136
.pcx 00;38;5;136
.dl 00;38;5;136
.xcf 00;38;5;136
.xwd 00;38;5;136
.yuv 00;38;5;136
.cgm 00;38;5;136
.emf 00;38;5;136
.eps 00;38;5;136
.CR2 00;38;5;136
.ico 00;38;5;136
# Files of special interest (base1 + bold)
.tex 01;38;5;245
.rdf 01;38;5;245
.owl 01;38;5;245
.n3 01;38;5;245
.ttl 01;38;5;245
.nt 01;38;5;245
.torrent 01;38;5;245
.xml 01;38;5;245
*Makefile 01;38;5;245
*Rakefile 01;38;5;245
*build.xml 01;38;5;245
*rc 01;38;5;245
*1 01;38;5;245
.nfo 01;38;5;245
*README 01;38;5;245
*README.txt 01;38;5;245
*readme.txt 01;38;5;245
.md 01;38;5;245
*README.markdown 01;38;5;245
.ini 01;38;5;245
.yml 01;38;5;245
.cfg 01;38;5;245
.conf 01;38;5;245
.c 01;38;5;245
.cpp 01;38;5;245
.cc 01;38;5;245
# "unimportant" files as logs and backups (base01)
.log 00;38;5;240
.bak 00;38;5;240
.aux 00;38;5;240
.bbl 00;38;5;240
.blg 00;38;5;240
*~ 00;38;5;240
*# 00;38;5;240
.part 00;38;5;240
.incomplete 00;38;5;240
.swp 00;38;5;240
.tmp 00;38;5;240
.temp 00;38;5;240
.o 00;38;5;240
.pyc 00;38;5;240
.class 00;38;5;240
.cache 00;38;5;240
# Audio formats (orange)
.aac 00;38;5;166
.au 00;38;5;166
.flac 00;38;5;166
.mid 00;38;5;166
.midi 00;38;5;166
.mka 00;38;5;166
.mp3 00;38;5;166
.mpc 00;38;5;166
.ogg 00;38;5;166
.ra 00;38;5;166
.wav 00;38;5;166
.m4a 00;38;5;166
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.axa 00;38;5;166
.oga 00;38;5;166
.spx 00;38;5;166
.xspf 00;38;5;166
# Video formats (as audio + bold)
.mov 01;38;5;166
.mpg 01;38;5;166
.mpeg 01;38;5;166
.m2v 01;38;5;166
.mkv 01;38;5;166
.ogm 01;38;5;166
.mp4 01;38;5;166
.m4v 01;38;5;166
.mp4v 01;38;5;166
.vob 01;38;5;166
.qt 01;38;5;166
.nuv 01;38;5;166
.wmv 01;38;5;166
.asf 01;38;5;166
.rm 01;38;5;166
.rmvb 01;38;5;166
.flc 01;38;5;166
.avi 01;38;5;166
.fli 01;38;5;166
.flv 01;38;5;166
.gl 01;38;5;166
.m2ts 01;38;5;166
.divx 01;38;5;166
.webm 01;38;5;166
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.axv 01;38;5;166
.anx 01;38;5;166
.ogv 01;38;5;166
.ogx 01;38;5;166

111
dot_gitconfig Normal file
View file

@ -0,0 +1,111 @@
[user]
name = Oliver Weyhmueller
email = oliver@weyhmueller.de
username = weyhmueller
signingkey = 2ECE9419860C7C3CD1C65D2A5286794099F934A3
[mergetool]
keepBackup = true
[difftool "Kaleidoscope"]
cmd = ksdiff --partial-changeset --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\"
[diff]
tool = Kaleidoscope
[difftool]
prompt = false
[mergetool "Kaleidoscope"]
cmd = ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot
trustExitCode = true
[merge]
tool = Kaleidoscope
[init]
defaultBranch = main
[commit]
gpgsign = true
[push]
default = tracking
[color]
branch = auto
diff = auto
status = auto
[format]
pretty = %Cblue%h%Creset %Cgreen[%ar]%Creset (%an) %s
[merge]
log = true
[apply]
whitespace = fix
[alias]
ci = commit -v
create-branch = !sh -c 'git push origin HEAD:refs/heads/$1 && git fetch origin && git branch --track $1 origin/$1 && cd . && git checkout $1' -
delete-branch = !sh -c 'git push origin :refs/heads/$1 && git remote prune origin && git branch -D $1' -
merge-branch = !git checkout master && git merge @{-1} --ff-only
rebase-origin = !git fetch origin && git rebase origin/master
show-graph = log --graph --abbrev-commit --pretty=oneline
all = add -A
amend = commit --amend -C HEAD
credit = commit --amend --author "$1 <$2>" -C HEAD
delete-local-merged = branch -d `git branch --merged | grep -v '^*' | grep -v 'master'| tr -d '\n'`
promote = !~/bin/git-promote
rank-contributers = !~/bin/git-rank-contributers
undo = reset --soft HEAD^
wtf = !~/bin/git-wtf
browse = !hub browse
w = !hub browse
compare = !hub compare
cia = !git add -A && git commit -av
s = status -s
p = !"git pull; git submodule foreach git pull origin master"
remotes = remote -v
ls = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate
ll = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --numstat
lnc = log --pretty=format:"%h\\ %s\\ [%cn]"
lds = log --pretty=format:"%C(yellow)%h\\ %ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=short
ld = log --pretty=format:"%C(yellow)%h\\ %ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=relative
le = log --oneline --decorate
filelog = log -u
fl = log -u
dl = "!git ll -1"
dlc = diff --cached HEAD^
dr = "!f() { git diff "$1"^.."$1"; }; f"
lc = "!f() { git ll "$1"^.."$1"; }; f"
diffr = "!f() { git diff "$1"^.."$1"; }; f"
f = "!git ls-files | grep -i"
grep = grep -Ii
gr = grep -Ii
gra = "!f() { A=$(pwd) && TOPLEVEL=$(git rev-parse --show-toplevel) && cd $TOPLEVEL && git grep --full-name -In $1 | xargs -I{} echo $TOPLEVEL/{} && cd $A; }; f"
la = "!git config -l | grep alias | cut -c 7-"
done = "!f() { git branch | grep "$1" | cut -c 3- | grep -v done | xargs -I{} git branch -m {} done-{}; }; f"
assume = update-index --assume-unchanged
unassume = update-index --no-assume-unchanged
assumed = "!git ls-files -v | grep ^h | cut -c 3-"
unassumeall = "!git assumed | xargs git update-index --no-assume-unchanged"
assumeall = "!git st -s | awk {'print $2'} | xargs git assume"
lasttag = describe --tags --abbrev=0
lt = describe --tags --abbrev=0
ours = "!f() { git co --ours $@ && git add $@; }; f"
theirs = "!f() { git co --theirs $@ && git add $@; }; f"
diff = diff --word-diff
dc = diff --cached
r = reset
r1 = reset HEAD^
r2 = reset HEAD^^
rh = reset --hard
rh1 = reset HEAD^ --hard
rh2 = reset HEAD^^ --hard
svnr = svn rebase
svnd = svn dcommit
svnl = svn log --oneline --show-commit
sl = stash list
sa = stash apply
ss = stash save
[core]
excludesfile = ~/.gitignore
autocrlf = input
attributesfile = ~/.gitattributes
# Treat spaces before tabs, lines that are indented with 8 or more spaces, and all kinds of trailing whitespace as an error
whitespace = space-before-tab,indent-with-non-tab,trailing-space
pager =
[gpg "x509"]
program = smimesign
#[gpg]
# program = /usr/local/bin/gpg

13
dot_gitignore Normal file
View file

@ -0,0 +1,13 @@
*.DS_Store
*.sw[nop]
.bundle
.sass-cache/
db/*.sqlite3
log/*.log
rerun.txt
tags
tmp/**/*
!tmp/cache/.keep
vendor/bundler_gems
vim/.netrwhist
zeus.json

File diff suppressed because one or more lines are too long

8
dot_httpie/config.json Normal file
View file

@ -0,0 +1,8 @@
{
"default_options": [
"--follow",
"--style=solarized-dark",
"--ssl=tls1.2",
"--verbose"
]
}

1712
dot_p10k.zsh Normal file

File diff suppressed because it is too large Load diff

181
dot_powerlevel9k Normal file
View file

@ -0,0 +1,181 @@
POWERLEVEL9K_MODE='nerdfont-complete'
POWERLEVEL9K_PROMPT_ON_NEWLINE=true
POWERLEVEL9K_RPROMPT_ON_NEWLINE=false
POWERLEVEL9K_PROMPT_ADD_NEWLINE=true
POWERLEVEL9K_STATUS_VERBOSE=true
POWERLEVEL9K_STATUS_CROSS=false
POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX="╭"
POWERLEVEL9K_MULTILINE_SECOND_PROMPT_PREFIX="❱❱❱ "
POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX="╰\uF460\uF460\uF460 "
POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B4'
POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B6'
POWERLEVEL9K_SHORTEN_DIR_LENGTH=3
POWERLEVEL9K_SHORTEN_DELIMITER=..
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(os_icon root_indicator context dir_writable dir custom_git_user vcs rvm aws docker_machine virtualenv)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(command_execution_time background_jobs status history disk_usage custom_battery time ssh)
POWERLEVEL9K_DISK_USAGE_ONLY_WARNING="true"
POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND="black"
POWERLEVEL9K_COMMAND_EXECUTION_TIME_BACKGROUND="yellow"
POWERLEVEL9K_EXECUTION_TIME_ICON="\uf64f"
POWERLEVEL9K_ALWAYS_SHOW_USER=true
POWERLEVEL9K_CONTEXT_DEFAULT_BACKGROUND="green"
POWERLEVEL9K_CONTEXT_DEFAULT_FOREGROUND="black"
POWERLEVEL9K_CONTEXT_ROOT_BACKGROUND="red"
POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND="white"
POWERLEVEL9K_CONTEXT_SUDO_FOREGROUND="red"
POWERLEVEL9K_CONTEXT_SUDO_BACKGROUND="white"
POWERLEVEL9K_CONTEXT_REMOTE_SUDO_FOREGROUND="purple"
POWERLEVEL9K_CONTEXT_REMOTE_SUDO_BACKGROUND="white"
POWERLEVEL9K_CONTEXT_REMOTE_FOREGROUND="white"
POWERLEVEL9K_CONTEXT_REMOTE_BACKGROUND="purple"
POWERLEVEL9K_CUSTOM_WIFI_SIGNAL="zsh_wifi_signal"
POWERLEVEL9K_CUSTOM_WIFI_SIGNAL_BACKGROUND="black"
POWERLEVEL9K_CUSTOM_WIFI_SIGNAL_FOREGROUND="white"
POWERLEVEL9K_CUSTOM_SPOTIFY="zsh_spotify"
POWERLEVEL9K_CUSTOM_SPOTIFY_BACKGROUND=34
POWERLEVEL9K_CUSTOM_SPOTIFY_FOREGROUND=15
POWERLEVEL9K_CUSTOM_BATTERY="zsh_battery_level"
POWERLEVEL9K_CUSTOM_BATTERY_FOREGROUND="white"
POWERLEVEL9K_CUSTOM_BATTERY_BACKGROUND="black"
POWERLEVEL9K_CUSTOM_GIT_USER="zsh_git_user"
POWERLEVEL9K_CUSTOM_GIT_USER_BACKGROUND="yellow"
POWERLEVEL9K_CUSTOM_GIT_USER_FOREGROUND="black"
POWERLEVEL9K_TIME_FORMAT="%D{%H:%M}"
POWERLEVEL9K_IP_BACKGROUND="black"
POWERLEVEL9K_IP_FOREGROUND="white"
POWERLEVEL9K_IP_ICON=""
POWERLEVEL9K_NETWORK_ICON=""
# Add some elements which are already displayed in tmux if we are not inside a tmux session
if [ -z "$TMUX" ]; then
POWERLEVEL9K_TIME_FORMAT="%D{%H:%M %d.%m}"
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(command_execution_time background_jobs status history disk_usage custom_spotify ip custom_wifi_signal_joined custom_battery_joined time ssh)
fi
zsh_wifi_signal(){
if [ "x$NETWORK_CONNECTION_METHOD" = "xwireless" ] || [ "`uname`" = "Darwin" ] && [ "x$NETWORK_CONNECTION_METHOD" != "xwired" ]; then
local output=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -I)
local airport=$(echo $output | grep 'AirPort' | awk -F': ' '{print $2}')
if [ "$airport" = "Off" ]; then
local color='%F{grey}'
echo -n "%{$color%}\ufaa9"
else
local ssid=$(echo $output | grep ' SSID' | awk -F': ' '{print $2}')
local speed=$(echo $output | grep 'lastTxRate' | awk -F': ' '{print $2}')
local color='%F{yellow}'
[[ $speed -gt 100 ]] && color='%F{green}'
[[ $speed -lt 50 ]] && color='%F{red}'
echo -n "%{$color%}\uf1eb %{%f%}" # removed char not in my PowerLine font
fi
else
# This machine has probably no wifi
local color='%F{grey}'
echo -n "%{$color%}\uf817 %{%f%}"
fi
}
zsh_git_user(){
if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then
local gitrepuser="$(git config --local user.email)"
local gitglobuser="$(git config --global user.email)"
local gituser="${GIT_AUTHOR_EMAIL:-${gitrepuser:-${gitglobuser}}}"
if [[ ${gituser} == 'oliver@weyhmueller.de' || ${gituser} == '' ]]; then
gituser="Oli"
elif [[ ${gituser} == 'oliver.weyhmueller@t-systems.com' ]]; then
gituser="TSec"
else
gituser="???"
fi
echo -n "$gituser"
#left_prompt_segment "$0" "$2" "$bg" "$color" "\uf415 ${gituser}"
fi
}
zsh_battery_level() {
if [ "x$POWER_SOURCE" = "xbattery" ] || [ "`uname`" = "Darwin" ] && [ "x$POWER_SOURCE" != "xgrid" ]; then
local percentage1=`pmset -g ps | sed -n 's/.*[[:blank:]]+*\(.*%\).*/\1/p'`
local percentage=`echo "${percentage1//\%}"`
local color='%F{red}'
local symbol="\uf00d"
pmset -g ps | grep "discharging" > /dev/null
if [ $? -eq 0 ]; then
charging="false";
else
charging="true";
fi
if [ $percentage -le 20 ]
then symbol='\uf579' ; color='%F{red}' ;
#10%
elif [ $percentage -gt 19 ] && [ $percentage -le 30 ]
then symbol="\uf57a" ; color='%F{red}' ;
#20%
elif [ $percentage -gt 29 ] && [ $percentage -le 40 ]
then symbol="\uf57b" ; color='%F{yellow}' ;
#35%
elif [ $percentage -gt 39 ] && [ $percentage -le 50 ]
then symbol="\uf57c" ; color='%F{yellow}' ;
#45%
elif [ $percentage -gt 49 ] && [ $percentage -le 60 ]
then symbol="\uf57d" ; color='%F{blue}' ;
#55%
elif [ $percentage -gt 59 ] && [ $percentage -le 70 ]
then symbol="\uf57e" ; color='%F{blue}' ;
#65%
elif [ $percentage -gt 69 ] && [ $percentage -le 80 ]
then symbol="\uf57f" ; color='%F{blue}' ;
#75%
elif [ $percentage -gt 79 ] && [ $percentage -le 90 ]
then symbol="\uf580" ; color='%F{blue}' ;
#85%
elif [ $percentage -gt 89 ] && [ $percentage -le 100 ]
then symbol="\uf581" ; color='%F{blue}' ;
#85%
elif [ $percentage = 100 ]
then symbol="\uf578" ; color='%F{40}' ;
#100%
fi
if [ $charging = "true" ];
then color='%F{040}'; symbol='\uf583'; if [ $percentage = 100 ]; then symbol='\uf584'; fi
fi
else
color='%F{040}'; symbol='\ufba3'
fi
echo -n "%{$color%}$symbol " ;
}
zsh_spotify() {
if [ "`uname`" = "Darwin" ]; then
local spotpid=`ps -ef | egrep "MacOS/Spotify$" | awk '{print $2}'`
local color='%F{white}'
local state="disabled"
if [ -n $spotpid ]; then
state=`osascript -e 'tell application "Spotify" to player state as string'`;
if [ $state = "playing" ]; then
artist=`osascript -e 'tell application "Spotify" to artist of current track as string'`;
track=`osascript -e 'tell application "Spotify" to name of current track as string'`;
echo -n "%{$color%}\uf1bc $artist - $track " ;
#local nowplaying=$(~/bin/prompt-spotify-info)
#if [ -n $nowplaying ]
# echo -n "%{$color%}\uf1bc $nowplaying " ;
#fi
fi
fi
fi
}

View file

@ -0,0 +1,3 @@
{{ range (gitHubKeys "weyhmueller") -}}
{{ .Key }}
{{ end -}}

66
dot_ssh/config Normal file
View file

@ -0,0 +1,66 @@
# $OpenBSD: ssh_config,v 1.25 2009/02/17 01:28:32 djm Exp $
# This is the ssh client system-wide configuration file. See
# ssh_config(5) for more information. This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.
# Configuration data is parsed as follows:
# 1. command line options
# 2. user-specific file
# 3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.
# Site-wide defaults for some commonly used options. For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.
Port 22
# Defaults to allowing v1 which has known vulnerabilities
Protocol 2
# Almost always get a small win from compression,
# but we don't want to expend too much CPU on it either.
#Compression yes
#CompressionLevel 4
# Try and maintain a connection even if the server concerned
# is hiding behind a stateful firewall :-(
ServerAliveInterval 120
ServerAliveCountMax 3
ForwardAgent yes
ForwardX11 no
# Stops the operating system shipping an /etc/ssh/ssh_config
# which enables hashing, thereby making me quite angry!
HashKnownHosts no
# By default we emphasize on strong encryption, and use compression for a speed boost.
# An alias exists in ~/.bashrc for 'sshf' which tries to connect with a broader list of ciphers.
# Ciphers aes256-ctr,aes192-ctr,aes128-ctr
# Not using GSSAPI or Hostbased in any places...
PreferredAuthentications publickey,keyboard-interactive,password
# If a SSHFP entry exists in DNS, then we should trust it.
# If it doesn't then add to known_hosts since in 99% of cases
# we have no way to validate good vs. bad anyway!
# Future attempts to connect will spot any changes to fingerprint.
VerifyHostKeyDNS yes
StrictHostKeyChecking no
# More likely to notice changes in this than a hex fingerprint!
VisualHostKey yes
#SendEnv LANG LC_*
IdentitiesOnly yes
Include ~/./ssh/cred_config
Host *
AddKeysToAgent 60m

View file

@ -0,0 +1,19 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwYkdLeTdFM3RTNmhQT201
OTkxdU5tNEVwLzVTVkczRzEzcjVWUkN2RXhvCml6V0gwb1Q2UU1uUEVUemduWFlD
S3JtSHF4T25vcjBndWJlWGpXOEtXNzgKLS0tIERwUXNUUEhYVlpWOWVSaDczRG41
ajlzL3V3bXVQc24zREF0NzIxSU83M0EKuWFFiO4Bvz0ssEbG817h5k37hH5Z1/aZ
lF0AGqKxGaA4KmRfRC+fotpMmriQa/sG5urQpIYMNgrIP+ps2K7+/f/P927IvabB
uxTA0UYbTsLw2W9hv5rQMRwR2niDl2yTMweBRy7YjR/nCAQQP20DfXWRnvzphyoL
FvocGicftyHeC+ksKSeQ1HRnshRTDdsM1WK4NF6sLemrW6CSda/PD4/b3NpE+a5/
9fLtb/bwUGT/bb89qlfZIFO0/Btsliu0k75Y+3qUSCknc3P2y4cK9NJzL9SR8cLJ
1yoCG582s2vmiPvFXuRLzpk6NQ3Fe0fBo8X3LN/DAcv/jqWe8tekcWDXiqI8RKPA
1SF5Jg566SavwVm+OjNzjQYzg2xDKVCXHGo7Yq0QyrEcPUSE8C6gHA7J98UpFFst
BbD6NZZoNmlLXswHbECdVqQ/YBhEW25qK0vJtOYrfl6smuF5El022nB/84yf1m5a
Ur0B6Nwuf21QO4nMy2Nu9L0dNKDYoX+DrViGFQI/+tvPMHdEYJgGsGYjezlzl/O/
RkvLLGYb836ULjK6lUs53n98gMXGxOuDI9IGWZ2OBOBEwH8/HPmZFFXeCnEZzglI
GiaBFWDZZJuwpVeQ8o5jxHJGpz4cPlenAoh0cNWxzi79kR4C9ZW80nPL6/Lg78HW
QRvT3cYlWP7j+WqA7MA2d/ApL8t/UTBxN++2hG/+h4VWIBLa1T8LH94w9dd+MQsf
9ISvOm5z2aRFoxpNUKYLWheKXNOIFzT5aEoahuP3rNz2aPMo5hLqtAubLNAPiAJ2
66BOLVdOS42XFg==
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,17 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3cFZLUE5RMjJhZ1RUYWRz
QjZZM09PWkdacFdaL0FaUzFobmhwbkUrZUhrCjBsc2RDWDcrUmE1V3VLSXVsS1RB
Zjh4Z0ZXTEVpZVllS3p4R29kTW9QM2sKLS0tIHZERUQ1NkRlQnkvZVp1MGJkWjBp
aHR1aksrV2NrWndyeEF0Rm0yTkRkTEEKozu7xWoKH+5R8koXHMy7Zw0PtvTesbp6
jRP9y1Kh6bdS3Kt1rcQhR1no+M6ChMe9VwY7qiIekjP4WERw8lUCcvkeF8mfagLy
3/MyPC0HwimCSf/T7keXaPxja1aOlWdIUwMq7yA6qnAUxEtB22z+PpFN/ZwBlO85
3/EW8r+zT3YltX2i3sKyZBtPQ+vETy5yu3iU+gO3hZzxyKETMnbz5EhkK5wwgs7H
wHFPeCAbleR7/euYHqCEqbdkxUKujctzVOEJXK52fAkytvm8Fk81EwyPoA0ooqvv
fehcu3XI3xhpiMz+KHdah3rZoFq1s0FYcv9nNrYmXxvGoLi9xR/KCtzeRkwhuL+n
Osrh+z2LxKersMS7hAjlozUzIhC1SVfFml9PD56hWuPhesBjF2zmVmOUD6xaX+ml
nIc5YNfcW4KTcqEH37Z1VE1dDfvO1/zwzwpZN0CzByRF5DsevPteWqPdq5wfRnbN
71Wyx355Ed6vQxRLSd0gwopcvOF2UW8i7MFGeyPeBgYULCfjATDXMxCZtPTF/RIr
ZeKoG37Zt2UGRQDFGPcYNFmtuYklJQWCS+39LbB7WmlFRdZ0PBqe5saNUdq80ZGR
rSCqsA5RD1Epa4cIqA37BvBq1sDYWtBxWpmTELY9HVDy000XySFfL5oUol4xyR5K
1zzKd+pba8y4zbj6
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,79 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1VnM2MUtJKzJ0WnVmMzNB
cE5JSk1JaXZGSWhLWjBHUkMvSUpRWnh4OTBRCndoNklTYW5lYittZXR3NGJlVS9m
elJ1WHJoV1MreDlWblFleVRSazgyZmMKLS0tIGdWUnZlbnNEZDNqeDNKK0VMdVdQ
b3BqRVN2ZHhlM2NkbmIveTExcjZJbXcKO9obdeOUcke3w8fFWKH2EzMaP0fH3DWT
JdT4D2yuKrSi+Bhl6JkyfyzK2G2jHx0pmb0AK4JsWmZ7R2v7EqVXWpKeKPG85rmK
fveH/1OJwqnlSEirXGhtPHaJwQzSqDCXzRZSF3J1LFXhPq0rDcCnhg+yC5Zffg5f
f7sJ0FeSY27dOxfY+5H0nqERjt7mODepAletzIxWnZL2M5txvyb2gGw3DytTVq2X
1EHOks5ccmbPQG6edf7SELpdujsNZYQaXF+2qulp+IvziQJ+MXkbV2HkqefF/wEc
QuLiEVFv/1QqcUcWcOyxH6GvnoCtudPn6xVoGTCP/9zzAAIN9ek4vm72/UBdoXPJ
hgkpJLXicj4By+57fEDNOTVfxHTGJ85BX3bwaSxRsRgw9VVeA4Y8JCm7AN4BrY08
sst4G+pKNp5qgY+TGjghjs6XKohrTktwQfYUFrJ2XhANmz68RIFSTv2DrR1Cj80L
yi02COQOppbpXCQIwJVgS7rDO0aZ4s5E4K7kKDdeI3u9wn4qlViZzwQN5eHaw1O0
TgWzMpdlnV+dJlQtNJDWkud58rQVkcb2wL2ppjSQQBn3XpN1MtJpzpXtVZcZ2Mu6
+FikKs1Zz0jRpWWdBtMVrhkvrpKxHD1NhygvKsU97ppO2gW8OvQRL48Iu4DVzrRr
x0jmRXEclDA8GQ91D7K1xwm4nubFuDsXi+qGFZuzoLBH37RRliEO9/vvM+Ql+xIi
7EX7KVd1ZR4Adudt56UcGjWbIquj6smif0PnThqPMUgfCnMtoaAbujGYQvprettl
BirXyJdG3w6OLEEVVKtDsVzMUZhGvGXonlzsny0MuXxeqesXcp2vaWWvRfXmQmMd
c11c7yRCfXOQh9zRLE6sDFCeZYjWzk8/kd6LP9dBY7DxCnoNLH8hlDuDycZvkqGR
2wZGGV8HRxfSJ83ts9LuiObYEZX4q6xMo5K4elyACCQdYgAQOkYjLyWm4La/iNuC
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
yg2Na7TN
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,20 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6SitoV1BpSTI4V1I5d1Jq
ZHdUempWTGpRamRHYlZFMk40OTZjekhQem1zClJ1R0FxUmY0VDJQajZDaEtRT0E4
aFZEL2JnNUtVUFREeWRmbWsvclpyMEkKLS0tIC95SUFXM2JNUHZhQ0FDd293Vi9V
eWZ4ejV2M0F0VjJFdTE3SWJBVlIyREEKpIurHYV1kEyc6bWEO51o/UNfYcSBmIEe
rhGXAwub3dNPWd8IumbxQANgdtlNgjNpM0eLf3GDsPtC824Nv2dFRxaYSKif3FP3
fCJu7IQADJVijjWqyL4Y9lc0GaYD52xGpBBLz6DMOjnEUQO32BMgyDzq09tI+7ZK
B8Yxn7pkaB3rotrdTN9ZXic/UOlEJVh52Fk6eEiIywZZQaLmNe+XaXV1xVzOzkrv
UIshKgsfjypWYduVgO/lFc28vjmbbzhcWO1emK88vOM+kbtjbb7Nek/y7EF9vazx
AlOqvFfx3YDBGkAEXTipBII6V7hQFpZ4YiEqLnmvkewPBCoj+of/WDxohZjioYEW
RsMh73f1/RceS04rkd3Xz92hGACcGgeHp6gtdR9/rQ8Wulz7QowfnRO4QepJX0QO
GQgVKl478d/rwlNxWZF6oMyMom4GiOnzqv8qnkPWLbFf6D+ql3uty/ek7YiNoqjF
I+yXL5anmotAyhX9yzf9uzuYDMPFfh8Q/p5nYYRbvILWK4WEVR/stAMxCtx0h4Ks
X+PKCL/YGIHb5EEIg7S5ljoBq3n65S3ln83ysOuX1e45p33pIAaCww+bbAjHxkor
CCMRLIIXm4sO1mww4GM5TvCVvyQ6vJsOfuetMkPC8ylLlem3XSB1fhKWiQ0LlSEr
AP5/JRMypUJyCQ8ZP46evsSo5Nz2A5dzB/ctNmBZ9FJggvbOP2tlufxHU1tLaVQg
GXfBlpG//uTaUraoyfYOHJIo5C6ORL5QMsGjzA7dsH2Gmwl/wssKm3nVP9a7HwIh
s03StOEyJdXj2KMxjNwAih13KECzoEveUhxlTgZPR2x+Mi4CJlIih4Ys0Vm5kOV3
TUtpi5JlCvM56GWQ8xZEbqIi0NknR3BXBaBm6+pCUg==
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,20 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxajdWREZLS3YvWENsVTlr
bkl2R0VHTXc5UTFzTGNkTWpaSHdacGRJaHdzCkxzaGxnOGxkRFlqb3hqNFl0eXpq
SnRRY3Q2dDBBKzQxNk9QZlpLR2NkTjgKLS0tIFZUVlBjcnVGemtHOHA1TGVGWkxX
SXo1VXpkU0E3UlQ1cXVwa2pvTlRoQkkKFOGcK9kk2pwfzW6OJgdYHSv3cSzGgauI
f/FNEfxfpMH2H8iUdRfbt2DxP+cBF4QXydNdDtd101G8mI9v8UrHNj/g2yhuQICX
uxca/ycNz2t6mcyP/O3NoFzELnZS5FYSL8L31Obw+eAMV7ctr3U2F3LdfS/LBWyQ
1Q8HbPydebrSiNJ+/3m+cowwbL59IDcJlPTeCY38p893FyQxrQab7qZCO8URAWrC
b1Lx8Wa1d9hB/BN12nZmZJzZ8zZzu/CRRUrnWqBu9AeX9JTyy3I4+kgF+NmVQG21
V6qmpHmc2AgF+YtVsgVDkJdGVylU6NbfIilRurlrnkLNhqOtj79OuWDc4CQOSjuz
T5Rgz8AuNFTLGNcctbFLAGPYo84i6tgLBxWIQ1V2h4Sl0CeJQ+nESSsgbG4nbq7F
DLLhu8dzZciOEQe9PayFPMAGyT4AH0CfRh7nPCl9oOv0xLQPOm3vSYTohezdKMzk
cok4mausncWt2UlB1LwikkjArYRX88vZUzOSSSB/uFURV61v8591YE1Nzm3SGKq/
M0mO/oBYBSm9I51uoJyD0JWCLGz2iAC7XpYGqVlGwve0rdZCk8cCjQnogTc/V08l
tlEuLJoP9PiVlEAv5dPJM73RC+KH4Zq6Auyc3SE0jt+m/kgJGatVOR9fBQGtUFA6
c2P52oSaq1ScalJGpSV7o7xi5oUfyLtQfi58HDC+0WrcGmt42QsptUqTce2eIQkc
5/JC9YSpHhswtw05XzQaX/34pfN8mkvd28JGWpoIH5MigpoqZxF6m34UN6Z8fe3O
o2j9U3Ue+0h0xwl8xTtnarGs7bBGHfsv6Iasw0pIAzI94N8BJb1JuJ6CGIYZ/3uO
Sw1SQeSu6VyqEx1JSj4GGoToW47cuXLr5NWu6cnyjw==
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,20 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBeC96NEZmYTk3RVh3a1hx
V05pbkQ1TGwxRjBNSXExSkx0Q3poeUF5VVhJCnIzY3A1SWR4YUExaTI0OWtpTDYr
SnBobHpzbERrREZKTU52cFBkYjhBTncKLS0tIG5IWVJucnN0V2xQN1JBb3o0U0JH
VHNmYjhwck1YQm4yMDhuaTY4UUVIZmcKJ+H349c8bVnOvlH9JzVR5II3xE1PkMUc
68VsQvZ3bElDsFfFJ6CEb8zM/tTLntAxvFQ9K8Me9vqZ1sjMs4EvYHCa373pNGVB
cd0OxO+5mUb5VU7mA9EuxJdrYh2MsZkx4kxJKdnWHk8shp5Yyv8AkGDo7MfPlRCE
xj+89hHK0+uNr0x31XOfNA4KVZAsql9ppgvLN4RyZYyW7FNaS0ID/T1xuT3MixOK
BVqotuUYqdLCWXahP7eyGi/FLBhzoUGJkwI2mL+OZzgDp4ZbewGn6Bq8RU7jwJ73
bFVIy/2M/YAieYzWujZU7LRp3TOd8u9vsQ3HGxyCSNlsOXXQVyjagr8OpmF8nw+B
VP/hbB3V8xL4VrciB6DYlwiisarWFL0nYZmVx9QbC5uXXy7q5U82JYMfesXH2b52
rKDH4ijLvnYdqLBFJbQojSQmN5DhSB2VnjHw8IT8U8A5QFoZZmqSKkKsaOnlLM7Q
saF4csAzwTyjEiV7iu400nIb7I/Y/lwyuLZAPH35g6ljzsq+8X3VbzOTNNuw+vdA
9/Try7SnrpN5gE3fSkcGV+ziss0d5r86Pvzy24myTXhQWRW0t53Cw5FeF07cWZBc
Gj131Mcj66fiuMPv4G2hyUvs2IFlsJ0tvK4XVleVbfJZyw/RwjQGfuUTtH+SZHDS
QpEKK/EaStumcGHQxsdsr1XUmZnIm69wI6gTv1UBQz2/PjQCumt+uY49Nh6NkY5m
TddTYCwoiaez5Q3KxXQkT6ncecp15WQFWbXDqvRvv4lgWRjm8uVNOpr+v25Ox+SB
bjM0gXBQdgi54qC5fcD9iieKBiT1XJi/I6c2STLfzpfLvI3e2QHgGPkLI8/isqHo
WuCj/rCjETy8zAqSLzBM/vjM27UWouVUAQg3VvTA2A==
-----END AGE ENCRYPTED FILE-----

1
dot_ssh/id_ecdsa.pub Normal file
View file

@ -0,0 +1 @@
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOF0rbt2/IF0NNs0mxkMgIOh9kaLjrZdMaW0FY4zQzbz/DbTiEO3yCFT2YwHFUpGJz0rvy2PgdWRqdleaTI8jtk= oliver@weyhmueller.de

1
dot_ssh/id_ed25519.pub Normal file
View file

@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILH2FApnLnyzGQSju+guYwO2jp+rS68lhFszaI84lKBF oliver@weyhmueller.de

View file

@ -0,0 +1 @@
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIMabEX4GIUruPYzqj9cky8z7oe1JNtz2w2nWcFl5J1KoAAAABHNzaDo= oliver@weyhmueller.de (Yubikey FIDO 5C 01)

View file

@ -0,0 +1 @@
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIGrnbLzPrSIckK+v4VRvEuVx+NDMoa7lJQ2uKh5whN2iAAAABHNzaDo= oliver@weyhmueller.de (Yubikey FIDO 5CNFC 01)

View file

@ -0,0 +1 @@
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIN0phNBrWZlOjQ62EtmufKyxDSDo9fbpgXq8eIdjlM/bAAAABHNzaDo= oliver@weyhmueller.de (Yubikey FIDO 5CNFC 02)

1
dot_ssh/id_rsa.pub Normal file
View file

@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwhI8wVqL1pP1GA6CRb/+2q9Z63/RZaSzAxZfSiPi3YjVQtjmrMKySgoK60v6Kzp7bojvWnPxgIxBHF2cw9Xzuvazd4J/MHvsoD+cqCsJkMmQy2rLznnmO/2UQ2hEvLGqc45re/htjErsZhqUHuBlDUB6ydnpbzB5BoGh3CyYeY6UfkGTmTYG8E2WKWI9K4wO/lyifkN4pqZUQduPEaXi878oX5cJYTC9D+P3j0akME89zPCJi+7JreSDr9A9vF+9Fg1Fb9IxHTimsmFeAOGMLujOCA027bLZU9adgXilGhFdYsV+4eabF8CGtKzTZ9hepUT7hwji1OTxpAl0SAWEheWhywTFrI9MelIsGMLRcnuGhic1PzDzvedSfYJrC16K3ioj6bYyqKy7DSv+cuzWLYBbHP837jFLzP4WcY8kqUiWof3lV5J+tfL67Ok+5xHzcxmAqxDap/9H2rsA4CstB3Y7Nye/MT89Bqu8eyGqTGa/WHjl1pJ5R/wTqbcvFggju2+FMWYX6vak10DzaR+OnAfI0gVzXyuMfUJ2BtLm16YemtoGm1Q24YCLA74ig4TrgRmpyP5h9uLqFxg3tTSZrvjUw7rrogHEGiGrFNZ2sc6rAwXalQdJ84XF7jvh2DotODtfninFWEHKtEFZMX/qku5xzksUA+Rc2Dt1ZEZ+ucs= oliver@weyhmueller.de

1
dot_ssh/id_rsa_yubi.pub Normal file
View file

@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCfOK118UUM4JQB4FQfAn6Jc3AvrlQj4vZTFNt/6+0/att+1Vt1doJTBlx+wYdI/CT0azsFwKW2l75Sim+DE7Fy+VtLDbB14BFlToA9NxoevUAsX24/Qxv0Qr+z990Q8sdSuEe/0MIJ0x2qPNM7y8b+eQjuaoOzXasnfti13rZwImvAZOR3Rpl5Knn3NJyRTMmwnpLo0T9ohlSd6rvhfJPBmgk5pjMa95MX25zhuBYmbmuWq3uG9V1faxLCmg+S5JSAlWOILF4nrFJucFj0/cLO5FiVXSwj9e1vSuWCKPMbZAn86yGBU6WwnqcCJpMg//ltpuiD/kvSESAy9hdvp2MEqlvR6fn5S8zY5Q7zAV3tGW299bzkPMSHUNkL+k1ZgnIm/V/OePGs4f7VXn+OmB4MpKyESxhMu2mKrW7FrIGIP+GZuevgHgkxUCUP6Gh/DFTDq1o10R5SbR0TGJss/PY2BOFXVq1wSGU3LqRovIteF8FF6CgifjzfOW0mACZk+JuwXHeFXUfegtFTRrH49aAeZrlEqRI8PbbJTe/G6x6j4L+7Jku32TfkTkoNm0XTE2W+IzIRW1TFuMVK833CO/PU3v2he1cS6NFJ+RIBkcIFhF+KF6JzG9z8s2zOmn3XeKJ9KJct8yXUt7dQIFztphLGEW7d4BcJbOgDk1baQJeWxQ== Oliver Weyhmueller (YubiKey)

2
dot_tigrc Normal file
View file

@ -0,0 +1,2 @@
set show-date = no
set author-width = 3

106
dot_tmux.conf Normal file
View file

@ -0,0 +1,106 @@
#
# tmux configuration
# Version: 1.0
# Date: 2021-02-21 19:32:35 +0100
#
# Copyright 2021, Oliver Weyhmueller <oliver@weyhmueller.de>
#new-session -A -t 0
set -g prefix C-a
unbind C-b
unbind Space
set -g base-index 1
setw -g pane-base-index 1
bind r source-file ~/.tmux.conf \; display-message "Reloaded!"
bind C-a send-prefix
bind | split-window -h
bind - split-window -v
bind C-x setw synchronize-panes
set -g mouse on
set -g status-fg white
set -g status-bg colour232
set -g status-position top
set -g default-terminal "tmux-256color"
set -ga terminal-overrides ",*:Tc"
#set-option history-limit 3000
setw -g window-status-format "#[fg=colour242]#I #W"
setw -g window-status-current-format "#[fg=colour247]#I #W"
setw -g window-status-last-style fg=brightblue
setw -g window-status-activity-style fg=green
setw -g window-status-bell-style fg=blue
setw -g window-status-separator ' | '
set -g status-left-length 120
set -g status-right-length 192
set -g status-left "#[fg=black]#[bg=blue] #S#[fg=blue,bg=green]#[bg=green,fg=black]W#I/#{session_windows} P#P/#{window_panes}#{?pane_synchronized,#[fg=green]#[bg=red]#[fg=colour232]#[bg=red]ALL#[fg=red]#[bg=yellow],#[fg=green]#[bg=cyan]#[fg=colour232]#[bg=cyan]one#[fg=green]#[bg=yellow]}#[fg=black,bg=yellow]#W#[fg=yellow,bg=colour232] "
set -g status-right "#{prefix_highlight} #[fg=colour242] | #[fg=colour254]#{ip} #[fg=colour242]| #[fg=colour245]#{wifi_ssid} #{wifi_icon} #{online_status} #[fg=colour242]| #[fg=colour247]%H:%M #[fg=colour245]%F #[fg=green]#[bg=colour232]#[fg=black]#[bg=green]#U@#H #[fg=green,bg=color232]"
set-option -g allow-rename off
setw -g automatic-rename off
set -g pane-active-border-style 'bg=default fg=white'
set -g pane-border-style 'bg=default fg=brightblue'
setw -g pane-border-format "#{pane_title}: #{pane_current_command}#{?#{!=:#{pane_current_command},ssh}, #{pane_current_path},} (#{pane_width}x#{pane_height})"
setw -g pane-border-status top
set -g message-style 'bg=default fg=white bright'
setw -g monitor-activity on
set -g visual-activity off
setw -g mode-keys vi
setw -g main-pane-width 120
# set -g default-command "tmux rename-window zsh; reattach-to-user-namespace -l $SHELL"
set -g default-shell /bin/zsh
unbind [
bind Escape copy-mode
unbind p
bind p paste-buffer
bind C-p choose-buffer
unbind -T copy-mode-vi MouseDragEnd1Pane
bind -T copy-mode-vi MouseDown1Pane select-pane \;\
send-keys -X copy-pipe "zsh -c 'source ~/.cache/zsh4humans/v5/ohmyzsh/ohmyzsh/lib/clipboard.zsh; clipcopy" \;\
send-keys -X clear-selection
#bind -t vi-copy 'v' begin-selection
#bind -t vi-copy 'y' copy-selection
set -g @prefix_highlight_fg 'colour04' # default is 'colour231'
set -g @prefix_highlight_bg 'default' # default is 'colour04'
set -g @prefix_highlight_show_copy_mode 'on'
set -g @prefix_highlight_copy_mode_attr 'fg=yellow,bg=default' # default is 'fg=default,bg=yellow'
set -g @prefix_highlight_prefix_prompt 'Wait'
set -g @prefix_highlight_copy_prompt 'Copy'
bind -n C-x setw synchronize-panes
bind C-c run "zsh -c 'source ~/.cache/zsh4humans/v5/ohmyzsh/ohmyzsh/lib/clipboard.zsh; tmux show-buffer | clipcopy'"
bind C-v run "zsh -c 'source ~/.cache/zsh4humans/v5/ohmyzsh/ohmyzsh/lib/clipboard.zsh; tmux set-buffer \"$(clippaste)\"; tmux paste-buffer'"
set -g @continuum-restore 'on'
set -g @continuum-boot 'on'
set -g @continuum-boot-options 'iterm,fullscreen'
set -g @resurrect-capture-pane-contents 'on'
set -g @online_icon "#[fg=green]"
set -g @offline_icon "#[fg=red]"
set -g @route_to_ping "blofeld.nc.w9r.de"
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-online-status'
set -g @plugin 'tmux-plugins/tmux-urlview'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @plugin 'weyhmueller/tmux-spotify'
set -g @plugin 'soyuka/tmux-current-pane-hostname'
set -g @plugin 'weyhmueller/tmux-plugin-ip'
set -g @plugin 'gmoe/tmux-wifi-macos'
set -g @plugin 'tmux-plugins/tmux-prefix-highlight'
set -g @plugin 'tmux-plugins/tmux-logging'
run '~/.tmux/plugins/tpm/tpm'

2597
dot_vim/autoload/plug.vim Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

77
dot_vim/colors/github.vim Normal file
View file

@ -0,0 +1,77 @@
" Vim color file
" This file was generated by Palette
" http://rubygems.org/gems/palette
"
" Author: Compiled from a handful of different themes
" Notes: Github color scheme (light)
hi clear
if version > 580
if exists("syntax_on")
syntax reset
endif
endif
let colors_name="github"
if has("gui_running")
set background=light
endif
hi Normal guifg=#000000 ctermfg=16 guibg=#F8F8FF ctermbg=231 gui=NONE cterm=NONE
hi DiffAdd guifg=#003300 ctermfg=22 guibg=#DDFFDD ctermbg=194 gui=NONE cterm=NONE
hi DiffChange guibg=#ECECEC ctermbg=255 gui=NONE cterm=NONE
hi DiffText guifg=#000033 ctermfg=17 guibg=#DDDDFF ctermbg=189 gui=NONE cterm=NONE
hi DiffDelete guifg=#DDCCCC ctermfg=252 guibg=#FFDDDD ctermbg=224 gui=NONE cterm=NONE
hi Folded guifg=#808080 ctermfg=244 guibg=#ECECEC ctermbg=255 gui=NONE cterm=NONE
hi LineNr guifg=#BBBBBB ctermfg=250 guibg=#ECECEC ctermbg=255 gui=NONE cterm=NONE
hi NonText guifg=#808080 ctermfg=244 guibg=#ECECEC ctermbg=255 gui=NONE cterm=NONE
hi VertSplit guifg=#BBBBBB ctermfg=250 guibg=#BBBBBB ctermbg=250 gui=NONE cterm=NONE
hi StatusLine guifg=#404040 ctermfg=238 guibg=#BBBBBB ctermbg=250 gui=BOLD cterm=BOLD
hi StatusLineNC guifg=#BBBBBB ctermfg=250 guibg=#ECECEC ctermbg=255 gui=ITALIC cterm=NONE
hi ModeMsg guifg=#990000 ctermfg=88 gui=NONE cterm=NONE
hi MoreMsg guifg=#990000 ctermfg=88 gui=NONE cterm=NONE
hi Title guifg=#EF5939 ctermfg=203 gui=NONE cterm=NONE
hi WarningMsg guifg=#EF5939 ctermfg=203 gui=NONE cterm=NONE
hi SpecialKey guifg=#FFFFFF ctermfg=231 guibg=#FF1100 ctermbg=196 gui=ITALIC cterm=NONE
hi MatchParen guifg=#000000 ctermfg=16 guibg=#CDCDFD ctermbg=189 gui=NONE cterm=NONE
hi Underlined guifg=#000000 ctermfg=16 gui=UNDERLINE cterm=UNDERLINE
hi Directory guifg=#990000 ctermfg=88 gui=NONE cterm=NONE
hi Visual guifg=#FFFFFF ctermfg=231 guibg=#3465A4 ctermbg=61 gui=NONE cterm=NONE
hi VisualNOS guifg=#FFFFFF ctermfg=231 guibg=#204A87 ctermbg=24 gui=NONE cterm=NONE
hi IncSearch guifg=#000000 ctermfg=16 guibg=#CDCDFD ctermbg=189 gui=ITALIC cterm=NONE
hi Search guifg=#000000 ctermfg=16 guibg=#CDCDFD ctermbg=189 gui=ITALIC cterm=NONE
hi Ignore guifg=#808080 ctermfg=244 gui=NONE cterm=NONE
hi Identifier guifg=#0086B3 ctermfg=31 gui=NONE cterm=NONE
hi PreProc guifg=#A0A0A0 ctermfg=247 gui=BOLD cterm=BOLD
hi Comment guifg=#AAAAAA ctermfg=248 gui=ITALIC cterm=NONE
hi Constant guifg=#177F80 ctermfg=30 gui=NONE cterm=NONE
hi String guifg=#D81745 ctermfg=161 gui=NONE cterm=NONE
hi Function guifg=#990000 ctermfg=88 gui=BOLD cterm=BOLD
hi Statement guifg=#000000 ctermfg=16 gui=BOLD cterm=BOLD
hi Type guifg=#445588 ctermfg=60 gui=BOLD cterm=BOLD
hi Number guifg=#1C9898 ctermfg=30 gui=NONE cterm=NONE
hi Todo guifg=#FFFFFF ctermfg=231 guibg=#990000 ctermbg=88 gui=BOLD cterm=BOLD
hi Special guifg=#159828 ctermfg=28 gui=BOLD cterm=BOLD
hi rubySymbol guifg=#960B73 ctermfg=89 gui=NONE cterm=NONE
hi Error guifg=#F8F8FF ctermfg=231 guibg=#FF1100 ctermbg=196 gui=NONE cterm=NONE
hi Todo guifg=#F8F8FF ctermfg=231 guibg=#FF1100 ctermbg=196 gui=UNDERLINE cterm=UNDERLINE
hi Label guifg=#000000 ctermfg=16 gui=BOLD cterm=BOLD
hi StorageClass guifg=#000000 ctermfg=16 gui=BOLD cterm=BOLD
hi Structure guifg=#000000 ctermfg=16 gui=BOLD cterm=BOLD
hi TypeDef guifg=#000000 ctermfg=16 gui=BOLD cterm=BOLD
hi WildMenu guifg=#7FBDFF ctermfg=111 guibg=#425C78 ctermbg=60 gui=NONE cterm=NONE
hi Pmenu guifg=#FFFFFF ctermfg=231 guibg=#808080 ctermbg=244 gui=BOLD cterm=BOLD
hi PmenuSel guifg=#000000 ctermfg=16 guibg=#CDCDFD ctermbg=189 gui=ITALIC cterm=NONE
hi PmenuSbar guifg=#444444 ctermfg=238 guibg=#000000 ctermbg=16 gui=NONE cterm=NONE
hi PmenuThumb guifg=#AAAAAA ctermfg=248 guibg=#AAAAAA ctermbg=248 gui=NONE cterm=NONE
hi TabLine guifg=#404040 ctermfg=238 guibg=#DDDDDD ctermbg=253 gui=NONE cterm=NONE
hi TabLineFill guifg=#404040 ctermfg=238 guibg=#DDDDDD ctermbg=253 gui=NONE cterm=NONE
hi TabLineSel guifg=#404040 ctermfg=238 gui=BOLD cterm=BOLD
hi cucumberTags guifg=#333333 ctermfg=236 guibg=#FFFF66 ctermbg=227 gui=BOLD cterm=BOLD
hi htmlTagN gui=BOLD cterm=BOLD
hi Cursor guifg=#F8F8FF ctermfg=231 guibg=#444454 ctermbg=238 gui=NONE cterm=NONE
hi CursorLine guibg=#D8D8DD ctermbg=253 gui=NONE cterm=NONE
hi CursorColumn guibg=#D8D8DD ctermbg=253 gui=NONE cterm=NONE
hi link rubyStringDelimiter String

View file

@ -0,0 +1,32 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPeUZ4THJXeElBOE43UFcr
RU5jaUw5VXFQdjhFazc3SHE3VmxPdWhKMEJzCkVsTzVwOVlEUkNzVXE0YU1GWE5i
bWpQUlZJK1E3VWJnbjVVTFZQVUhXZDAKLS0tIHl4N1U1dnA3RjFKWVIyU2IzV1B0
WGVFaTU5bUlvaG1mWDBYdEZiTDNVeWMKeXgwqd2TWNoBZogcY+KCYbw+k0ZM5rsP
LoyJdU1wMWNVIzzKN9LzFz5+nLTMjz3xnS/LOfrnPXC699hNo4BDipIItXq2laDa
HBMpgErdAvKeopoLUIDfU4O9DKVFARd/0VeYrhXXYXLNvptzORJdr5vG6z4ZxSzf
/jmLX/f2dkvwTw82ikCVORP/I9l853n3bYB/pwsT4fi9P0RnDuLTTRXsfYJ//jB/
jUJaxJDAMOR0Nq9x/HPQJenuZIH5ovYSTuATx3xKEW2OlwkYsl/9IUhNz/Jrd+Cx
AQW4CydrjTOcyOiksYXl6HGXTzimnbXTNcYwgxdoVjsCNVuUMhK2FqCyiEnJ0oCe
sMWfYfIzfx6CkIruiAjLtpjy3thpoWRNa1MqrT2wUsvc4gENivsaL5K7Z50SNkGn
HG61lQ+L7Ma8OXX8NiZSgUUvCgLg4u9AgJtuiRk0tHmYGME88xuisxQk72PD9jNq
onhi9vOgXb2O/91+vWjwAqCAb7uLKI5ALD5fv3j1xahUURyhoXFCDJw2HVMU4XM7
9CZweOpTZepb186LnvuYfqNPguKI+n1HsveKrI4cxRYnU6ttsJ5RqyxX5tE5vCc0
GzJpZ822h5adjflFo7VPUIFBPhQQc/HBZz0nT3dEdYv1U3g0ubA03J1w5CxM0A1G
Td8D9rq/4b08tFFF/84WqwLBuZx9DYYFd1rXqIcJ/eCuRoI5Wz6lQ6VgaUT94AFe
4wtz9THhrRv3XZM00xh5Nm3JRs3YpFxiVWzm0nEzfyVcfkWAFCanUCJ0nU4X1plk
EPUSnD3/rqackUkQAbEcpurVJRAWZJ7FasgSpsTavQIQPhzYp744xMYUsEb8TtTX
DhBPzMO99H3pRi3PU06t/k7Uft8ojgmvOWdzxwzHwIr67NKIZr1biKiHK8/XatUC
rGtaQ946R9jyGKJTQzSkNvrVDr/utpH1quuk074esk/ZMa3ksXreJmnj65YkvTFP
9+jtyWDAGGFIGplKAHWmiAOpTM7FxRxZwNcAhp80vwKrSv7zcjSgm3+Mful9Y6+G
BkpuDnzM0jL7NfjbTtE7vyBTabnFIQtlz8FAx9y/QiZQYYhDe6aMMur2SMj9vdwz
z7qqPXAv2/mrTdnaGtW7vcuDNSZCVFr9qiAjVI+deJgi2fEY3J4HZM5FliuHRC+F
IXE1VaZJ1v3LU+KoJsdr44oJNam8z5pfJp3UEQleqN3cuumzTAbX6MhWLgp9UeIV
sNgv5ZRl9+qOfiTl0tlD3vwtmuqI+DiRH5Dj+YMD66LePd6Hed3lZy8AGtwI41VR
R8gXMeU/bhR2I2/cK8KwWNT2oXLlsqMIW+p58wWJKIj6BixNGS846XFrd27aLa04
PsW7EXMxZBZDHq6f9ygZjIAO7xtwd5Cx6w8T6NrZnhvsxpHEQesU5x2n4tnhS1f7
6RUEptYD2gZ22V+lwlfS9OrNRDvbDor6SSAQGTNZ17zk3/MdvZo+UKg3oLcd/ZDu
7rWs3ykYwYvq48bdAFqQksjPQpG/TmsbWKmCEB8Or6m9cb0WV8vdAz6xcdU7PGI9
lFzDTPyz89VP3Ib5prKU94Tv4ocmqLAbBnllkenT4Xux/VKuWSomMjKw2J9tA5Ti
LOAXZg7jGw2frOCQlGjb8UsJjAtG
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,18 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjU2NEbTliUTgvOHdvR3dQ
S2tkdzhFb3BKZS91V1U4YmFXR0R0N3d6eVJFCm1tN1dYRGFwL1o5ZGdRL1E5M3Ny
MUNJdVZ4Z0VNbXlxdGhwNW0vL2IyZ2sKLS0tIFJ4MCtVaVdQT2FGVjhobTh6K29u
MHNNUkZsdk9lNmhNbHpyS0dDYXJrQkEKg5+Z8NFx0MPDe80Tj/XhrcYO3e8HgMTo
MW/+egp+AmL1M+Cl5Gf9sP5DIh351/EUYRtQzqw7qEnAlLj/8udUzOwqSYlkSrde
kfgNqWREk38x2HqkHAlpbZbQ/4IuuTlNBRqN/GIGqorTvJxlIhGJ90iP73fk5+XK
RQLGdUiDTwL/9VxCgqacqOhhRt8P+SjMQaVtv32y9BjXdEzfa/F+MxHMkBJWG2Qy
0c1wLIAD4vI1/73GOsUBv5XpNgNdTS5TO86PvUBJyvK3/gqUcTfrKOZ9KC1m4z5r
CPKnZP3TGJlQcIuGqJr1da6uFMHwDplu89KLV9ySJMqqNwTWbcUmPsi26kqTt4SI
zJcz5dM+ggwvh302yTEZQ1IvTMoy6mfCEx6A4YC1/NmBvV9zzwDJUOZDdwhQeMdF
mb2lvqC6P+6p3de6pi1eloDvXXg8ZkI+E8+VughaWxuEhoEAY5ZjvbVlqMICHsVd
QIVe5EmHa3lBFTcvFhi5BUDRtEavIETC0Tfa0SUmHs/P5BiRrAXBFylCK+SrJg9T
G/4QsWLWBNHxsecvyYaC7xuQMjIi6H/QyS3AZ1rMRU69/BckC4TX8xSi8B0fgN4P
LCgWXt1vYxUlbapJA4tAjIkn+FfmKdmiQf/43gNYZ5kROusG+3U4we2UQllhHjOM
fUw1AUZXc3moVjUAWQ/XyJijzL4F5b9FK4Xx6OhU8P9nJsVUt6h0Nl+3rVKTS0y+
P57toPI9ATvcGw==
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,13 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0NjVuclh6TDRHSWFvbU53
MnFPQkhvb2thNGNJT2ZuTldzUERQdENOTHc4ClVwSFVxL1dzVkRDQ09qY29xcnZU
YzJlOGt6ME02QXhqc0lqUVFkWmltSXcKLS0tIGtMZkROS3lKMHRwZjZHaXJGSkJw
SFE2UEFaWEpQRm0wd2s4UHFVZDBmdnMKHEv2SDVYF+celNbJQA2hpCBhFI+0qQCG
ZTH4t5NWLlmpipwuMypim2OOwf/6IXXACPVFMtPSxHgHR12bS6h8KOOf/Y4BU812
83rWnMmQ/v102Jshh7ZhmgFQa2aUiZWilCSpUU+qPWKtadobOJUnQlD1Qj8K9sfx
W+M+jxz8KuMjOyY+QL48TnVSfUbk10M8H0Zjgo/TQXNJcJUmFTBJCV9ATV6qboIR
59FwP+yWs+nIbi7mAnVL8Ajqpmi1jmDxPTf3NvLqkoeB8yiREWP7Qv6MdQ3dRso0
CCVdkImlJ4pcm7YwRPOussHbmvwlkvnp45HpqeHx/XgAxJI5M/g7ZZKvNgeDwPRC
l9VwQwvJCE9HC6MMxoA57oRuFI+bOU96Mz1vIV4cok/pep23UzGJMgay7QpXG2r0
kQwjgMuzhA==
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,12 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXN1FTN2Q3anZramc5elNq
a29ubm40ejFMdWY4RGROdk9MTTlPaWZIUFNzCjk5Nm84Q0k3c2hoeVU4T2VSVTE5
aTNzL2NOdUYrV01ITUFrSWVOTkFoK0UKLS0tIEh3SmtVcFRKYWZtWFhPQW1ma3c3
SkRSdjM5TEpCUUVGYW92aThxd2FKbVkKbqsW7iQ3NXGt/WIC5XvQUXDwOT4C5KfD
Q64NXqifjJkgudziohFY2VqETfKPRE6xX5jw2cS6WSVgfTbDbzz4AafB6Dr1Y71J
AFoBvah1QoONdRShXtZUgFTZVNJjm62mZPiHkZlhuASqbMiwsyrgNjeDLQTJMe3d
Mi1EQVvIsa3bGUs/s1zq2VK7YPDEHTadH0xd4wcypCHpiB0AoK0JS5j8QwfZcz1R
aMUwUgmC/65wU3t58rgSJXOq4r0mSaOBezOtadZPXiyrdKE0BinFgMdycVsp2+hT
cB8rRGyxWW6TdOPXBT4w72BF1Ui71e70IG3fOARKCPyq4Iem70o3PEoIlnxb4lep
YT79TTb9NASkAA==
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,22 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaT1J0MEgwSU5NNzEvV3BW
R2JReVBOTjJzcGJoZytzbG1xOEx3NTlYZUVjCmJvVnIzclFybTNTQ2FwOU1EY2Fw
T3FhYmZ4ekVjWGJwRlhSR1F6MVZRQ2sKLS0tIFNGaU9DMy9ETHRSWGRRM2ZMdDFG
b2JYUDllMHp1a2RBazhSZG1WWHBHM1EKPyaVY7t2bOSBFk9zGdSOus3rkivcwRdh
BDu0QXchl7gf62PMT8kIUDiGC34t8eOAhW5FXCcPxQReUeCVGAgrSbZwVV8Yr7+L
qEWdKtZvFu0uwVpMUKBlbpp3BDij25XW4rgK5gjbhWxwZ2KUaDm29Mgj87zZqTJl
2M80ZxUTQyA8nUe0/UCl4txKbrHraEV0qj28GyH/l6sUwphRlvCRPTOIruY3q1PR
vIHBNg6CzeyDxQnPyPf/Rqlws9s5hb5rg8SnRiwARHYZFh+D3rXOJDPNHzpBuYM8
Lu2dCgvCHFZKl7TZa6LD92soUvmfC8inHAT5Do+LC4JSLlsJlk2nIIV3COGMbtOR
Yq73A+fzFSS49ixiIShLj3SWevW6dt7bKkPkE/NGe9jlny4DEltxZ5cZYnfxRjZn
tb58FNMY7ZBTm3SWxaz9dKUcjkwfN8zyW9Z3czCacmOiJmlFmCMYcWE9IfmqtJIY
jb8aK50kmloEW4tbOFsMGRnLUzRi2sA35TzZn68f+p1rpBCBtEPs+v2kFa3XVoBW
IjqxKrd6n8fOrfZMOR8pnN7YFA9O4w7BFotPAJuteTbHUKtATFvQKt3IjYablK/0
LiLpn4ryE7UHo8IB3Fz1/+Glw3hXOO3yZVOqH8kkJZ3Axi/ZZlDMEBe0pF9kK+sT
/j05/XxB8mq00gDsbjbQfAVYPaNXa64O2drqiT3WwMI37ESaOxgd8nLwJ71/9yxw
lxOhuCmxH35H6aZURoj/OVCym4AmJQrV0lxQr02SVunDAaYJ/0fG5T6duRQ01mCC
tb2S0E6OY2+tdPDpaDh6mUufVJ565eaQrHwvHsmeie+AkK2pm8PM8/j8UwKw81TA
vt5v9pP/WI31XMN8gr/H8LCMpywiSmZr7zkYPDBkUiOvQIp0kSJnH/m7R/HGVH+M
tTw2/5OZS9Gd2vFx89XItd1i1Mm8ic8f99+926iSyakgjkC/POVv8dR7nAaxV0gx
OSuiyfza6mcUJu09LIoPu16iIbuEukeGNuhGTNiYIADh
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,9 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlS1QxZGhVZ3N5bkxyVm5I
YXowSUNtb3M5ZVVhWEJEeFppRmFrNzU5U1NVCnB1eGt3YjVLR3lla0p1NWQrbC91
VDFJNVQ5dEoxUjB3aHhySU9OM3RLVlEKLS0tIHNWMDREdFdaeXBTS0Z6ajNPOUNp
bkFCOWhRMS9HdjJDNzRFNit2M3NKaUEKv9PxyseZPAS5QuMCDEEPJ6v5iGbUAX0+
8R4jWZKsWwl4r+rRX32L9/Kk3Pv5PGG47S8TEAd8+DdGhP649lErVv4NTNCQvZZ1
O0bxdjky40YE6LWsv1k6O9uzKyJcejasEf2tEURfmS46Db7jdvdZHj9rGjThbvqw
qtfCwsTChoNSOnMrtnjzYeg4Pr3Ks6gZaGiAywuyzT1dRk6hA6wQeEQR
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,48 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4cXlabFdQc1dLQWVTbktO
MXptSHA2b01EY01MYnhkL2EwWi9XZndVTWhzCnNjZ2ptU004MUNNVHFxc0lYNTQv
cW9xdDFVRzhZeWxJcUp5ejM1TWkvU2sKLS0tIDFsamp6WUNudm03bU12SjNVSmR4
MmJvQXc3aE9nMW5TSkVlenNtaTFrYncKF1IAkHo0YjP0uW7gg1MJMaLYZlcva4pb
XTGlcJl+1pcAAjb6/jM7upt72NfyLTV5OsFrycRWA6YweTZOrxGG4IGqjgcIB7Ok
32fjuTT/HpuvtIGajTVDfSthSwFTU08EbEjEyAeEjgGFsFjwagbasf6bvs5EF9gV
ffcjS4gvXA4LhaBCd4J+jDDc/J2dhwDZJ3CBe79SuUBCzqDDXBfD9g2AvE5gfOQK
WeY06i2MogQH2GNjfDbV2WLw3on37RwRFS95da+4Zyn6+WGAO7Eu1k4cOhyHOh26
6jXNNgZI2cL1pRXaC/BNGAHAnf3I1k3vzxkFmkCtXn8DaphFg1Ry1w7ZkOwoMJl5
E5Aw75BaX0YqYrsmnjKDDo/C8YZP+1ZDoe5jj3alCGiu9prb0ZLl3AmFUAjEfRDX
9koTxcaSYsyt+vkPyuvnZWL1PZHtLLKkQJowvmDOlpSU+xtMi6VXs7mn6InBesnH
Qb0tvDvfPDzqwFKxdqR9RosXKFc1TVU+hhVvJqe7Z4zT7m45LhEx1YLj+c4JHsUu
Gkac7u2dl+KMezHQlkw7XzTCXo/aoehSZv57DTewF0zkJV2I1ZjejVRd25cSEGli
58U/0mn4Pk432V2DzUWgMlvIpePgTVUhIbCBEC/OYwkUpjVmrenuy4zVzZmtMGyW
pEubOZcWrIa1KkdbdwxSYbrtOlWTfIWDb1b28Qlw/vJ4x9gv/LBoCTJ7+o9ff7Iq
Q8GsqMF9O2WD/4o/QweTHGHwL7LSXcM79tE0KF1gjbIaVa4zbI6UfxIpvbo4I9Jm
x9cBuTTx2ZPGdXaJIiNMsJyy1nhM1CPDS3XNEVousW4IGtHBSwkhhbUwIo7l5JpK
mJYmH563dCkEBYW/a1Ib5KJqE2xSgk9isYu8/KvjxYW0iE34SJ2hLzx6BHk9B1wH
+XuLmGmH7pH6FIGPohVMNv26qlIqMvIMpqOdCFt3cy6sOl25SZo8Ntei/gf1N84o
kP5usa28UfhXA5bEkhr9GEmRfZhCRZYYo/cBOvtfdihCxOSe4QEuueshMDhh+HFd
zVEUinPSCHPkNHCFut04RPX3ZeMCKxAK0R1xz01C0peAOyvmWjRgSxS7rBcoH82N
4KeZvyrqi0WVkWceUWOyVK2V2HWYJJkDmT+s85Of3FRjs1TiUZzGdHoi6orASxSN
V5GmfEvbOq72XzJxr/ZfbS238Lp/fRJj6yzvM1hqEzvzZdWf1f8MfsCR8JjGv3z0
gYX3KM8m/bSj7EF0Uf8DP7L/XLAJ8OwNHqCRSmtHQlcsA3ydW5TR4W51yCYpsWD3
HLrTt+H0Ktkt6uXiRBnWI1UaW+kAXaB2UPWczFhtpGlXxhTAKJjsGFex42LnO6f5
jcbkI8k9oxPoyUKgOniaiiDLBgrhRryAkaanKfqqm2d9IT56fkQ5KSeSL5wvj+l1
G/1W8KvGZHlelQdFryLSHcZ/IHEgt2KbfnP7NpWU932ten2tryApAPsAEXwwTRgP
mOgUUayzhhfvuHXFCUZ9J6kPxEtfy5vFodt+wNKsJSWUsN0t1lA0JO+KklRfsBvD
VbatWfY0wxpBHDos8xSxu0f47j/gJ3vQ8Jb0iBKSSxqlgHgagnkbp959/Gx9VuhS
SlZeYvFeFmtJzofp1WlSLSdkyM2jaX/vvJQquWVGxOTByBZ+RsYKt09yn7UI2Tf6
4LFV90bfoMZbfA+iJJqpiR20jN+ILX3awpZXu2q9LE3jjystm0orFLnCwu+QyjKb
5blGmW/JBlK7UnxY9MbhCDRI932g3POP3n8eWUpr1xC32ChM7ua/cMYEdn9GT4Aq
cZD8RfKX9sT8WUyzW6MGwUBNzkObbOcS0cEt0vCgi+Sjj1HmBRitIPfRWp6oYFYD
rheV+QdTUhkjaLRfCCem6Zo5Zj261NbHpJ404sjdc+jMg4EfMgaVeb8Vp4ieNPKJ
F5jaxuV8CPLxsNb6Jvr0tVgNf2t/9qO9gDvTGkRlT24rYLAmQYzcO4qTUrtY/w9s
0T9jrw+vS7gOzVyqGGGzKUuCH7stq8EkUlkvb1eMrTuFpe52E53KiZXcH48HrPkQ
CNUIQYa37Rs0f8TY6rYs9rRDlDphUkMBppLn39V65ML6YGNqivLldxI1UgSPdyvj
GRYi12WARKCHKtIn1rDdy3HMAY0W8jaXNWmJsOVH80I2e6CQ5qRds3PW5M+0oqFt
b+nBlRF1S+P/vKm0fkqH4rFR+fMkmLjCpfdYQ3pCGf546DpUoIOJZ6aegc9oHpaE
ugtOGUg3IbIfUbapVtUunbFPhYYIx1rPVgfW/A9oScVu9aChF66TAR2CwbjlRNVM
Ma2VJYLAJDAQOiBgMw97ZBulO7+I8JP5HqGHQ8NP5sCLiFNzSC+F6H/p7rkrwcNZ
yt1QX9ATMoPI6hTgAa94F0SRI9Fnf0vIaiq3Hy/9cADn5Sp8S9fLtxQlQlxur1dq
cKnfqTW66EV0NVqrztQ8sqGyIgyysGa/Y8sxi7SNrOyDE+xDWIE8b0vW7fviHn+V
+ypnIvd7F488Lf6cy/WRm6v9iQXc7ZRGffh6htg8NM+VmmkZS9YYnSIzA6aYrlEU
oLY8d1TgbecX0wxi+WNniOa3mjEMSA+Irh52Ad1yp97yNopFMIRBl4w5N/noK8KR
FtPtF6j6aeyMzuKRtOMA
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,10 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBdkFqbUZZVzZCRUZMTVUy
amNwWHRCaGFXeG9MOHh6NFBMSHdNWWFMRldrCnFmU2Nhekdod0lvRVBGTlBBM1Bs
Q1lwMWRtV1piUlJiL1l1Nkp3bjBqZ1UKLS0tIDVISmlFN0lYSkZ3cVdnbEZNZTJG
cU9NeGpEUi9TbE8wbzBVdlk3dXUyT3cK7/d4fcGlSAsOUGQr+X/RuH3D5zSCTs4d
2gMDuymQHf9StS4rGLS5Va2DmAePZ2jWbnej1OJncGuq2ZjGSPgKI5fRLl3jX88S
4XxlrwHZPJvfexAHavrLkff9Kymih4Ku+lteX5tALkIFlmVD7hCZy73jIVGonwUG
ggIJoD/nTL+O2cpROXe4QOnqLmNmtE9FU5BePDuhH82Ohgfx9wQYLQuY7MusXMUu
KvPjg/uY8j7JX8uLPGarEGw=
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,33 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0cWJsTDdablVyVVpHemFr
ZXZQQ3FQMDdXUzZsMlg4SmtSR2VEd3I5cnc0ClkvRzlCenVheFJjTTJrQ2JHTnBE
NlkyNmtYaWw2NWt6Nk83aUU1bFFkWG8KLS0tIDJnbmJOUEQrbFhYWXYvQzNjTUJz
Uk1nNnpQODBMajBaUVJmbEErYktXdkUKdq1yMHoxI8kNAdl4F4fnGZsXlZ7QzE3q
YnlhJQz5mpVQE4MpHb2n1xGO9WTRFxIXme1+IWkpToQQyC1NU8WV3NuBvF/+KfQ9
eV9bPtX93NZd+PsIkHvhkbiPMUSUDkS7MfD43nmMwa0snTmfJIH7bu8wiH51R15U
UQxqwKWfaxsG1pnOMPCwcGCLVreA8Isy1IpDEAotpi+71x3luFx94FrQHtv2zmTH
UWKQEPn3H5D5PkZzAb3Pfb9tGkfFwPkcKe/Z7eE5r1HqXpsCJ5m/iz0dLtzOoZOO
JXLoutOsz2PeK2/rZsWlL0ZBzBaqZEBYuX00JK6O9FuaI+AI76EpU+hyNN9X6mVS
lagygOVkWnSXYyg/a2EnmXi/bkddBapHcdUHXmjmVvRTdNmpTNBa78MDjAYwDJSV
RYE3N3cKqEm9EC2nln1wcSq9bo7cDu6R+gT5kyuDMzgIPm1JJDEsiqkInXKXXsPI
bV6S4EF14PdloytmxT8GC3mOatjmJ7G9tdzs4COQcJMR5pdhSnCR+XZ/VB9m4JGf
zQgcKUr5/EK7maUlTO7oLuAmM9WymJywQ0XAseJR0+B+GguWYwTOOa6vba3DecG9
LbOPZnrt0rw9uDxQLWW/NBBDc0a51ORkAvNGk6B7lwOBR61g0mThg5WRBp0pBP1n
wZvlQeP8CieDwOEPLH0vRqt+PA5BhXxdTQXE/E7gaqaWNif7q5ZgkhsQ265CXmN8
WRWWFk4NPHHKqVKU4/R+3oQaPxU4g4W4L1Il9iKXjANnJ205yE7jxjSMhXZXWzKB
vucory/lzYRQIIIrh5sp/zQBERQgFV3kvjAdMwnKiCC9Cr/4U3G7dAPy4FhY5dKJ
7goX6fvAE1YYn8IUvrDrBNAlO+nAtQcpJFNCzJRnZcJoRukkky9NsTHA+Uce5MUc
TiPk16HGFaNNax0Zj6FLjmGZz34fMGRcNZeNhgNO5lVU7/84m4BUgEtDVoiFwiCQ
6Yod1cfBmAazPa4ZfYRmCfY/BBT/0Df3qedFeG5D+PSEjKjAiP3RBlLhKhxQtMCE
7jImGxzbRBOHckvB9pv/n8cm0uFY3qh+B5B7gxDKqa8nnWPumPOn02jAZI0Q0SUs
HebzwHMJGyjzX6X4J8i6c9nzthkwUOrbU98egMbPnSXVrP/6opMjyRBMQLfdf5Nc
/EEtptiSyeHMJxWFa8NT4okkBDm8rVZD3Hkey+1Zcsk77mQwqn0ifX5WYVRGMb+l
X7WnyiVtQ2ywDHeKjEk7AfLvRUv8vIEklEscHLfMymbcTqJNqXGgIXjOWU8S2zvx
ysZ7649avye3ptlE0GmDrSUVvB5TZY+Bu0cfu4Doi9v/Hur6HEOCUmRX3fJx6qjR
mLoYxTVDiE/KWNqy5fDhtWftHQUhhD0XvqRVvCyFL8M+UtpTbiIKzSG+DSGSRqet
FstyfQHeZIUnEg5Ghz3zvMPdgpUqzLSbXkt9WNxNOh3e45Q/hpXuXTw8yw+OZzht
R74MVpDneW4qGnHOVowKxqtrDIGQ3otORAYOAymWtk7Q4yNFX2sLuS1TQiP5HGp4
k8eomMLQtHBGrumhKyqsx9oKPR8h3M/l7cKQ2DpVPziksZ9u1ZGr0eKov6Cs/ykQ
JeLAAcgn+pswUXjrvWGKPXhZ447xXI6Q28mefERQ2MoDLhFOLUUBQoPcikZKViqM
Seo4uyCooJit46NqEpbnji3OJe+qGAF4soMDyHsX2irLHU/uWjTRaDjD
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,12 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAra3RvTXNMc1NvNmhDUnNC
emp2YjJ0UmZVeVBXTlJkSW1JMkY0RlpmYlVRCmdzeDVxMU5WZ25naU1QUVNobko2
dzU2dWE0bXF0KzJtZU5HdmpHd2lLaFEKLS0tIEZ0MVM5WW1NNmZDSzZEUUJMOVJj
SXFGUkF0NCt3eUN1Z0g2ZDExSjl2UUkKOv/iXzBa/bHXxEKkF9AF8IaOE9+f/bXq
Fx7OzPucP5N5cDHWhaY3Bd6K7t3LcwlgnMkP0UN5hpMY32d62ewUa6l/bMkaJ2CB
MInNhaJ6ejnZewgyGL90yDvi6Y9DfQySMSuR12Fs9HiH6iFYanzAz4MqZ3xauXpQ
Bk9Wjvz17NaaSZJf74P7dE1D8qJSBwsX6kcSnLAgzPmhDYUqXOTGat568X7vocer
zovU26FWFWDDi/pQUJ6d/wQmM9OFoWnMKMA7dVi8b9H/dn2nkF7OCQ1XqKefCoJF
gJOjJhflvSL8mQWSJXhnuSk7lwJ7Qe+YirTfYSvNk1QtAHrz5cXXeLrm8XcYOJCD
RoIhCf5Tj3FfLNNVQqjBkzQbbhuLcKq6d5n18WM9IDAERmaCvSbylXyZwQmU
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,18 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaTSthM054TFZzZmhGcHFS
SXRpQkZJdUVuSDF4YTlHQXYvSUxYdUxNVUFRCmU3QXA0Qm5JZUlDemI5L2gvRElJ
SmJqREZyQi9vTkpVaSt3QVRONHhqQVEKLS0tIGg3cGY1bi9SK3VjbnJhY3dmSkFy
M0N0WWo0c0M0S0dxTXBVNGVhVWQySWsKwFYoRB1j5b3O1poyuVHH2WiP4vWo7zT2
bjv5+A151c8brIWV8aByDZfy4JJ/60Cfl2DmDktW/e7QZaMjid4/kdFky8zX3Xh7
6VFZwuu8To6FRRfksBh2u18z9QodB/Wij/epvG40vvFnCFGDfvUjzNRjo6D3/k+7
wEL3VQGb0G5To6OvKRD3qPNJ61njmz8KR3lRk6uFXig9Fj4kLb+/1I8r9r3HXqxS
MwWNP7YBahsZsc9AfZX0/mCgoyyuJpWuMmVHRyWfrwOSBlvHSICC/DB95Z6EgSIS
0IGhxuviTj2tyQ+BbrnOVGHUGs09iH5gE8+2eVNeXYQAEu3yGW9usatvwwH+8zuL
A4KbFVaGUnGLVgwOV+mIohVkGb3948+rmGKJSZ0vhn8hlGzx5ZllFGVF24Re3GO6
khHW8yIfOalh9Ypa9k0YhLKoJSpoRyh4PuEoyUx5f42p3Zgl+YYe1oGiRKjGARBe
d71KbSnv9TzN2FKUaUwckHNJVy3+XAlCZATMVm3qoDRbo5GLHIx/VxgyX1Te5IfA
FHqgqP2wL0IA89mzkwS1wUpBA3zuwjwwPGRfGvSCWGHISFqMUfXuQvxLqvwVhm6X
HTxCHI1F7T3dPs0g8MDAXXqIle86C6HJIs0Qz1lKO+RuEX3EkMvllIgaYswDFtyu
hqPrrT8k0Qcl815qwhIv+thhQHJuKMlhZhdI3aIdcjaQ0RXGEuyuBNqa9NloMya+
zbrfTCzLZeWUUWrPvA==
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,13 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2MUxqVUMzZDhWa1BueWZu
VWh6czJ4S0tUVTcyV0Q3K2ZyUHhqSnJFam1vCjVLZDR6cCtmajM2QU16UDhYUjVP
STBsYTBuL0RTSGE1OE5OUUR5ejh6R2sKLS0tIFpQcGJYNWxwUDV4UDRXd1E4NWdp
ZlQ1OGFQWlZxWEhmQUs1SmRrZzZ0K1UKzmRPDwZVrkx8B0yC2eH6KurvXDTrPRyB
uR7+VkbX/CV4dpe8IFATsXvL4FIJTvJaHxmpNvyXaC4JossmdrMxMgLrdul94VKJ
NMYmkGIw2KSgziDtLp5vtVt7QR5DYwM6Z0QWCwIiSP3DrRhoIcLmBl3ENG4i2GQE
hkQPffyx/nMXWf2GMuX//9GdasKUDvqlHuKFUul9sL8QiLUv6tHSviYD6HcagkzN
EliOW1Y+tJrISxkv8paLqcdTrkE5yHjTNFptFK38qdQ84m8cI0VlRtKpmEn6RUso
SoDFoK3U6UB1gvGGgpKSm1tsnCE2CbHk4VtSHWsVTgE5Jzh31mpQM3XVUFpSJ49/
uMaVt0aLlQQ1OypbTi+W4HDM2w7fajyMnO4OH37UVOJvVmPcbsq4Wv5DBgLXgIKs
xvwvSASlPXUTPckG6UIP6ETi1ym8cYIsNXNurK9oeAg=
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,18 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzcnE1QU9IUlp3aHlVWWxi
ODAyZFc1bWhTeTJZek9hQzdDaGl0YTBRRzMwCm1nZzU0UzEySW1GTHpSQktQUmFR
b0oyY2xscTBhVDF2U3dHY0UySFdvb0EKLS0tIFhRcHJDZTRCN05oQ0lWajNUR1RN
N3o0Y1d2ZTZKOUR5NmdMSmN3YkxRM00K2p6pN3cALXv5G4QzKRArzqH4NaL9dMKK
zBHfRgAOn9WvqZMto7ecHMxOE0hq3QmdEBx4xZhIbWnpqAhAqso6VvtDdR1bnMYt
08R1PK5hIIf3vxOjla4Le6KXXmVetn6fQapu0nY3rfKidJkLwMDlefRrwW3/11Ti
QTGvYhaaLhkRPRUmbYCPpu8SzeITDfxOCQa3oQQTNAnoYPsZrhkcAwG62jZPjgmd
51anhDvc65uCxEjlYRf1HHW3didTKBBSexKv4QGV7UbQtGBagyQM4E5LksX3fkzQ
aeg+MwoIK6vxSse6ELJwnizYO3nF08yzixnvFDhdzmEARB2TeejDgtivXVO5kVTB
cm07vTp+O19/IkKKT4zOCVjGIVvsolp82In0c3oGp6bcOXq/L3nxFQctR9qLcw+6
ojkVY5T26W8bjKT01YYJETjr+ngU9PJ4jQw/xLoL9HdoJ0A0FT3R+ti85lWCNBWg
RkIEbSmjzcP/QAvCt0HtKl/IS4UThfF+zFd4NknfrOuQVbI1JF4i0vbkahGFrMsf
CT1UbFl0j/akkmhkTLRWkTFourpqRjQ2z4TDnolsJPDVBqTG5fOLfHkFsZmMTnUS
nQM3AIFrPOodZ0RXAZabjVJiPiN5LaVSPh5i/UCYvf+my3Kx036h0UI41/1xULrA
Ol7IAUuCjdiN1q3XoCakKOHddN1GdL/OB/YGfur/KrKcfEsaKvgtVBZF9fVP0oql
fCLmLg1ZKBEPm1Y=
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,9 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXUm9qV29yV1BMVVUxN1BR
ck1lZThmYlFnNlkwZEZKUVBBbUVQUjkzR2djCmZXdkhwbHgyNElKQ0t1UnhXcUh4
Z2YvaDRKVUFad0lmejg5Ukp5SzR4UncKLS0tIFNiQmlDWko4VXErdXA3NG5SVlFY
cnppN0QxanBYeXoycm1OSGRnc0FaQVUKC3CTVxnHZW7rPIc36WP04HJ24kThwFYA
r4qgbq1O8bWg35cUiOFHauxbezZRXY/J0oHzJy1qHPttendAVyBUO0l2F3zPrsre
AXYMiaeat3Rt20kOS+LgVv7Z7KxjKOQPnoxBnEtikD5y4U2wKpgQr4TP3lw38VYG
JCw=
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,16 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZNTBXK2ZHN1c5TnR1Q1hr
UTB6VFU3bmtseDFRVjFaUUFBS1BEenc4UWdzCmJUQVVORTl0dTJXTWJJUW9tQWRv
VCtxSW00b3A1aGNPSW5ISjJQendBaWMKLS0tIEM5ZktlakswMk9rK3BaWEVOa0ha
ZkNGZVNoYXJPUTZ4dlN5dVdzM2N6a3cKQy1e/lNjLfAavCqexm19M4r3aezeR5wg
/NOB2DEN5TKPsyRlBJQnTNTvIuUG1GQBY+PMNUHU0ADuOByPjEA9uXlcEB4mTsZ4
pddsSn10yQt27kdXnc3NevV5KFur2lB9JBnsILfjG36CdHjbOQe8uwHX1G7X9Lme
ekxj8xYBkCV1mfAqqhYtPCOo7Iky1S5woWP1V/9T/2yTCsvq+iUBzzkwkgrUoNKT
XztahP65FKXy/pkTOSwv5ovzhJ9O7mRO4gguWSxz6Gbg0kQPw/mdASZdNNo1eJrD
p21qQsbYqtenr1WB9tzvFsz6HSveLPORK+AQO8AmkMBOV7dMMaSdMe5joPzzTQ7a
Wg5UIfVMB7PdbMW50NQtC3JWCfNdz2W2d/EVuGZ0Uzf3U9DK8W1L5HRHmSpgwiia
k+1x4hBMPwQcCJ+FAf53T6zTjdtDzPpWpUAfdrjJ7zbGPlHa+UKFN6777jlH5g82
zfnumR/mZFeaCEqif0hOM7BRB5yUc7lyJRf+Rtg8hHCFbvugaNm6T8xHyXwkzza6
b43DBEvFhjeHLhusJbiSSnuVZVcWadfsZSZnl5qI9vxztt56+4ByGDHrmn/aNIrs
FC3NFHpPXbXCOn+PuQ==
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,11 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqSGlRb0dSYjZyRlJaZFNR
MmtBTE1kZ1lMMFhjVUZuUE1kTkl6c0QrNTF3CmJtUzNubmUrOUdrcG01S1QyVnlw
aENSbnlUTmZIRHZuM1hnSFdxTENLRk0KLS0tIDJNK01JUVI5dmV0MlNTOUlZM0V3
ZXFKdGc1eTNMNWVhNGU3Mk1vZHpLUWcKt4a/QkYvgKmGrrSQZWr317AjhUiPZMUN
9J4UTtF195Uju5MLVojWi8/wEguM5bOIB7fdEOqRjerjUH4AoqWzMqx0PQqHAx41
OqI/PVJQcRNCcBAjGMArHvCJr5PxCbN5DfYu6ELmt4LAVhBu34NUCVVpnAoEhurU
kJWNY80hU0KFlT0BLYxZGtRC+FkaFY4fxyOH2tnV+N3K3x6th+BnwB2CEkUVVPkC
OZhiYNTqKtQqxdPVlYFUfFisapIFjI/uGpJVYqZgegZ6nyknHMbXeJMbb+3IDIOY
X6ej7CB7
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,19 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhZklRUUYxTkE0QjFPT0Nq
WXR3NWpUSS9hekRKWkxnZ3lCTy9HOEd0SDJ3ClJyZ2M0eFBLczdNYk9PVXdzVXRW
QnJBdDN6bm0zQmdvNmtDVDRHUmNUUk0KLS0tIFRHLzYyWXBEMXRhN3pSYWtTUnl6
elBJaXBiVlpWd2UxakxZY3pPbmhhQWMKUjgtatD7PRC4zPkU14ghoLd4WTsAzruS
yS1Kjw5rIiDdIBgN3A4u+4V6cQsY/iplhRspApgipTCHQE0mGXDT6fF7qcI8w5oF
FlqDv9QCcRSmLynY5pIv7x7947o12RtIoU52+1mFWag4An4jR8MCqU5O8+eN7xJV
D2IYcGmIbRGte+gj7CVBzbMuuhsLlVrY5SxscO62f58QutcnGzqBxyaXigE+1+vt
Njs5NWXLucYUCBg3/CBL/hussNed/aD2UdQi0RFXCPiP1uhKAx9EmAwYMjFF2kNu
7MsS7afl++GM5ocuIbxIklM4yRiAC3Oq6mh1mnBY3Rnq4Wii4YVMx3PvyuTl+Ick
QWDWvn/s2ZfpAuXFXWcpJpPoTkHvb5ObUnVezIJ7kRX55PSQXzdTj3x/INB+/UXP
FQ1VozwZvExNm6KlL7QA1mhGp/7hXC9j/ZxreTVON3iJNNMoVVDvZiRA25YfSTuE
Ya+MGCJKCDWuG9CqmaI5ZL2BNQPhlyHjoMzlGZuAMf72hS5QzTJTbs0QGclS/FpN
pP9IyWmp7g9FqCtM+jp3lLWiIazMyNqWOnNJ6AZiKVZ1ZHYkW/B38JBMF/gqUwLS
HudGN/UNvgJn5LSkEeEGO9PlByX6gSz0lRAVDxsahavvCxOMmt8YDFbeMf90hxbD
CcEwIl0OdN3IhCQ7s/CpCeUMCGyxUtn9HbYsHGo1Wz6vUSTi6Pblc9ApbKCiU+pn
fVZJ3iohm0snhQjdVHMJJIC12I3SEPEolg5FF9m0kObXlYKegIxY51rhX+jmC6ke
V4f3Mzho/qz7cr76diQB2xMBSYQ4hK1sbMUHC0cSBII1jh5wd9JA
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,62 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxV3JHL1k0WWw0QVlvU0ds
UThKcmdJd0FVbjVjWTBuSmtzdk5XMGdkMzBjCkdjZ0ZhaW50endUYXh0YjJobEtn
cysybFNxTVFTZkN5dkdZVjRTZVVQU0kKLS0tIFZ0dFA5cHdqVWhrMlZFUmhtaVFy
bmVwUlNkSkdPbDRxL2JGeTZNeFp2SDQKsXMiEA72gWIeCVJjHZM8u/iM54SGqspE
2iX38d73NSybKg1wdaz1xrhkDayWfMCw+cE8VNP+2H0aJFokzIfzDJmUQC+JdnXH
tg2BIGqGXQNOIqE53q/C1glK4LnICMqEQ5KxbSio6m/3wUeZXGhd5bl7kTiMSLmL
x0sbGaALsBrKYghC+STM3IV0nlRw6giia9LcBZQU3B5mL3qY/g1Gubnu5b9iQWuT
aPKfHckm6JTKVn0j4o7FARqC9oWnA4b4f13Ybuj+JUm4Eb1c2mj87Acv8cR7oy/7
sJiWwhdv9/1S5OlkFw1BSBMyj20v6ssgzj3+p0A+jUdKYB4cmbYLTHiiNFfZ/muH
VAtxeTyicsCGpFxONtY9f3tRvPUXtmI6ypVxXFibEdiBdYBszhlYAf96tw9UGbms
izT5dQl2XrbSzeGyXGtMCnI4swEDjKrpxPLhm9FcCQBo9vJtmLBdARfYZMmpVOmz
ZIg58uwvD0x+7E9B8xem2AI7HklnbbpwMRTCbh4+zmdM+rlcaIuu6GADJPleQvrr
z9ezEvm4dmZ2OJbl+QXfbvLGBhb5NQ9zj76ec/mQ79K5lbqCqrWod1iuVlr/0o2s
Zi2iT2n9Z5ZplPHizRdKQ9aKVreiPX5HnjctCTEmRAo/tGRNFP2YRulUJJZnlIIK
nieJ0dED5LUe9QXQAwilVVXlJ07STaXLBISuwCpUgCgdIQCsYljl7DMdmHyR2ois
0OruJP1L9j2gXwdUkm3ekpmtWXicMARVJjMsuKXvK84wwXFKhjHbIgt8Kua8miE+
1hVMJVzxsMAY0WxSG5JjARZUY9kb4h39fVXkgj2PYHIEIhKfGbXRO5tUA7SFv81F
5Bh2dZ/lStSzFqaN9bVp0nmMFJbh/ENN1tdM8AqNC4wpVYDDU/ZwPBF62z72chXT
0hAPAT7F4xEQGo+WjR93ocXLm7Vn3K/0tkZg1E0ONUwlZvmprYuMUuqqm2ZybcTJ
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
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,12 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvMDU1YURCSHdYVGxXOVpW
eUJyYTVHZHlwRkk2TFZEdSt4YlFsNlpOdjF3Ci9iRTFpODFLRis0UGd5d2taeTRY
R0xBQWdpSGZRZ252UHhJL3NlSjJpWEEKLS0tIFJ1MXc4bncvYWhoREprQjAvd2ND
ZUFwOUZmNXRFYkQ2bVhmTkhRbTVEazgK0NfWAPlKzzVFht6QP7248CxOiGv92adJ
Lhiiq4eGoed7XzQ/RFQUYqfCukARqADkZgzf6MonZ/TNLx592rqsh00d88QFXdqG
mGOEnUiOucmDhSVjwWq+Ds7KRrpha4E7cZ/M+bBWLU+9FnN2hvbg+1Jhj6Vv5oPz
e96yqW8MGFsHcj/M9hebG6/vX0rXPlo8SBAGHkGtQz7NkO6GYieGMPRxWaZEU0pM
wRX/oNrXRyBdrQfqEJPtbDUPSauA5JrzHoSuELDtmKySuksnUFKZlypCuv4s/oGp
vvUjHqYirrVtsta7IQAXsuKNnfT1a2gfo35axNY1GyyuvuuVvD3NQYFYQ3MUiqP8
EcQv11vASLirNh4EIJI0B85uzw6LHA==
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,16 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3eWRwTmUxSHRhdFQxTzdy
U2E3dmM5Q1V2SnUwNisrNkZTblVXczloa0E4CllBUStFdnRHSXhhTExFVVNyLzhx
ZjNuTzllUW5lK2hWM3NiT1ZFRlVuakkKLS0tIDZLTDlBVm04aEYrOEdZWERTVlNK
dlF6QWlraGhNOFZqOS9PNkZvYUEra3MKxXL4EMvP4H9R6Bp72kK7TqbIXPzYxwvK
Ywbey3gHV5UrJRTt1eQE8DX+YEndcVJSOui8aHhemOfskd2ZQuhSC7OAgGrNEy4C
w+8N7i+hMumqFYvtrqkBP0g2PYj72U/xwJHMBy6V8VxHXw6QKOtDZylY6L+OjF0h
khaDwXrJviqNNJT/uMB3wSQ7q8RyPCdQeusZXTC6GR0DEzwNx8QEl54EAaFeC1ah
7x34LV5GuOYbMqu25Ax9bh48WwpNPrf7EDO+JXenKonWfNEqFhbg7r5y6u8C55Jc
gh+VBXa/T1/CqfBVuQiV9I20yhtyOzR5cn2mpX/YwXp9l2XmLvebOMyXWGjx5D7q
QoGW4CsOAQbMLZV/nw3pu8SyeeRjYU4cpCu5ccDIpUcwn623pPkZiGrH330dL1HS
Y1fxLFfTFxCw/b1IKvweUJ9IvYO10m7SffOjX4yg3z4Zj3s9MqPvcc04oCWIiWV/
94H69Mw0LVenXBJfOcvaqZ+CRaBWAnQWmKAb8PKh3tErBHk7mP4o/F0J7xS1as4U
m/sgahotWr5Me3b2tego7J5jfO/g6eQOy9iDzZsCGG/qDjwVsmEYmGof5bpVssHc
bt14gwnrUdQyti1XwOmTow==
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,13 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmdjhHdVZoclRTNzd1QXFt
MzJzR1A1M0JuMXlETDE5b0RpL25BKy9OU2xBClZmOTZTYnQ0WS9XK2IyUHM4djUy
ZFJ3andUMCs5UGdLMEhHelF1eHNwWU0KLS0tIDhTYXBTQ1hvQmVJajZ5bVVuYW5a
Wm1DdEVPWnJPeDUwUHd5SVY2Y2NTTWcKweGnT1hF2vyrptZ1yuRLzyl5hotlwe6b
t1FxMIUOphbpbEYmGMkWv/vtI7/KlDDOkqdN8N91NX3IxM77U5hRbgjzCY8wRPvN
r8xOw6VB3M/D8TyX369HCrfFti5yKHONGJFaTtfp4CbStpPWLq0XFU5UY2/2hQ5I
M2x4YV+0QypPhQnw+zzPoBOD/pYXOqD8k1VLBroPvMPUZ3F80VZDbQCH8WB99keB
9hJbV0fyZzRsqrE7ZxTklVr0Af9cCNqgjvqWKfqBeRH+aSwtPzN+zUlpbCDroebF
tZMeNobUwyXYpMtoqeVvfBETBK3iw9lhTKsZZLIA7UaDuwK4LgAy3iRZUDP871CJ
1cN7m+ssflxH2MBLOfM8rPvELpEOTwMFGf4F28qGFSNso9HwpHva0LISF7OvJesa
svyK2cF14H4sfr7qJsK30YKcKTT6uQXC1nRLz/r3+XAvXcYKZF4v
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,14 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoMGV0NDdJb2ZyWlIxV0E3
bkhjcWczK2NlWENvTElDSnRDWWtVUVhEOVJzCmNUaHg0U3BkQ1BnUGdEb0RHK3BP
ejZFUDY5V0pWT0ErUms5RE5HeWFFYlEKLS0tIGQxWm1Ia2NPVXMrUzdHZzg2RXht
bjB5UzFjbEppRnhiTFRvbGpMNEh5RnMKHlP/asDnR8TtRwaABle34EaHlLh4rJwe
NCK5WOolqf0/11SP4AEpeEkiLdaY7+9JczqbD7ZXnD0e47Z5Xiab3eAJtxfzQqWg
ZRI+vnHDsUsnRIymdzU0xp46zxDb+Jwby5XQuiq6nhs4g3mRzp4m0tC6Ax2cYTw6
AL3T9pEiz+kztuzQSYmOEQjIhjL26g8cnInfxhVSwRkqh18RcklCJdH+r4bWJP5P
TaOB5zPw9rricoXGGwcZVfkzkIPdhW+9DhTY3kWMTPsQ3wZUfnFMIi8dzqlsVkLD
sop+rom38pluYghWzHYkgt5Vch96ne2Aqu1V7t+JiPrhC6rDxKcpIIaE5uzqGoq1
kjTUk/fFJdvCvNsM1lS/GAIZNCKpTz714bChxxXM74c3daLOJHzmNpoj0pZ+p/Ym
pSrCPtkU0t6OvcreCZpGUWIJtmXDGQGHSbpqaetZcsvKMY6dj3KpkAlW1DRv0NPe
+xzMLyAq7RQdzFySZ5XxG9Zu/2MrizaQ/AtI6kKGtnlsYFdz
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,98 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAycThIY0JvZTVkRmJEaGtt
RERzdzlXb1BBbXlKU1NaL1BhbDI2WlgzVTBjCnJiOElNcWVxV3NNYitnekR6cVFN
THZnNU9LVm14bWpZNUQ0TXkweVV4VDgKLS0tIExTbXpibVd0YlI0czF3T2tKVmpO
QVhTWjdDSHg2cXo2K29VYVR0alpoWDQKu201rxeUwRvxcBNuKmx1VUJVkz/XQdan
3tNUO7K5Vxr8huoClUHGcaydHaI54AXXJrbWBvj6x3QSjoLtmkGN3SWap4w553z+
PMQEOUDShbkYB0e2FOwLHIKF11zOIu4KWsmsVVKjaeoo4wjBrWM2AInTovpPaKAD
3ZVcR2VcRRGlA3IXJ+l/aUQqwFch0sLgqg3L3FMSHtzr2ojYtzERIl1Vl9Z1CCf/
6PNiR+AimFrkEIZdJ8lMCLlRuHEFuLzHUyQK1Qv0U2NzN08+bmZWGuAo8CR0vdCf
UPmy4hM8iMBfOpzNrNkv3E4yfVtLQhfupQx5oEsE17NAALeuOZ+tmvDwGsRZ+KNR
ETnDLu23iFjDP6YDIU4okJIeMS47Zk5zsGOSHdFF8O+Yu2JP/xQpy2VRGopwLMEt
M4XIYxV4xt8KUKDGkK9FNMEg/OQT71n6Mz9WAJZR/9EoZGFCq3bfzJtK2xe564w/
NGDw6N6SgOfkyKHn/h4IsOjUfXqnzxobhoy0jOty+cPNo/o8OaXil5ndEC3iCJkI
leEG2YVus1G7rdH6zQ+ljeWLYRz1LnE8hgqinCo28XAQr7ON9cbIzNYyt45ql6go
qUpRYFGYBVTTQ/LPchg/iLfkyMEK4xXYccvraBaDeks7d29RHd59eLAo7+jni1N4
QYGGXPPGBZRPJV8HxK4/6ucRV9aoCj1oo6yuM/oWRwqyLGs0adpt2ezVxPqU5AcJ
0qYL8EkgnWdZ7mcKbXHIxh/mh4AEkoJrKxRMCe+235ro/AheXY+Mz2bmPKznhLju
PH87ZSRYiTIE1Y1LHjuqDVfpXG7sryLkDZfa7KC84UkfJbNg33xC5+gksBJxV49i
pEQnDZ1x9Bk3Y9LLwIYAFWFXGNWDlvQBmxud5tzQaGHDh2gYF8JzzccsEBMiu56i
1BcXPHIna3aYVJSjbVjd4QWNGAcewbQtJzAlPbGeyvDrj9hV5oc1sTlFI3d7ukfd
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
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,52 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkRVVJSjk3M0NSWWN3T0Rs
elI0MTRIOUxBQjNGcnpROWVrOWtKSFF3OFNjCmRYRmJmYS9Cdkx1azlCYWQ0MFhn
eTVNMW9YbjhEN0NtVmoyMUtYZVp0N3cKLS0tIHd0QUtDZnJFWWZUbVFYTHQ2L3ZP
L3VnYUQ3eGNCVlBrUTlmRjlEVjFnRG8K5ePhKO9DZmMkVfc7C52bP3AYeqN7kFcQ
xpXaMguejmKbvny9ZDdqy/NSYmhndwyGVjfeOE/xPe2/+bAawMRQNh5LYnHS4n7O
6mBuHeVdy0KBWsstdkp1gpMP7m9gXE4HcKAbOs08v5uuZGVgFmRm7MY0UJLI0zXi
EEpmyAwXPky1B8uAiH0c0FFsHFV+eDdGavE06k8BqAD7hlYuglDeWcC00/fvurX8
/AqLh9CcyviD3zlGf2Sizk9aTKmxwz++H6aqpgCUl7LvPD+z6nxNsHpzIp0Rqx4g
mSRgai01mAyqQuKcTZU2p4bqVpp2toLoEO3AmDfANdvtYdfGQaRE/U2+m6CEhJ7Q
B1VYgkQv35/JFvFM0RoncSSY52eBkSqIV55ahKCUHjeq5roIzERLtm9L+1MOGTsp
PngY02/o3ihdiKZUEiGokoqWIBDczUsLxxRpzOigJ2pYQ0OD18tva0C6oNPEIhmD
SgHxm746Ye57RzpC+luhHM4E9svstnyOVRi381cmNilwLUwUvrGj1SGBM0M76nuV
xmavwCrlNFBw/RHowrd+OSUffqj2wLr3llJns4ctZEpMacZBG1+AfIqjeXcxX9Wq
Wik6cfw1z7N7UCfeOe7WTZqAuOAMmn9N4N2rUUadU+/VxONMhnxB53S/o1N7T6gO
qEEDnAK6Vu7M2UHvPsfoipjkM5sULELlO3Rlznw006PaST0OJGm8pNGQ4VFJAylt
TTR0XU5zRB50a9da67dDaV9uvN4iCgsVs7IAaBUBqMJLowjJ9qO5qR7MCtIq7sBr
77TfbeeBaq58mbxBY3V2+QhgjFe4XlITV7FmO1d0eLwmRlsi5D1m6DyNDAFr9iy4
Najg63z6vjqrRQhIqTLxZ8/EulPLIFl1RdPPtbYFqt4BxZpNpqJOugyoVYgbMKn0
lQdiWPOPgdOtI8a5tDc2FV+1/7AG5JW9QSXmG1hkUjMj9nGrDWNSMiGPxb0V3Bh1
loDaTPMwyNQqvzSm8fTq2jUH7wXzAlsoI+lC3bg56z4IXmpAsrM6a6TG76EIq0H4
FkCLxwioZZZ01pk3Smnze7LfDtQiyT7meXeEHd9JXMCK9AcKx9VMzk7O8qrh8tOa
3sSWBhZebVpzgLJ71gJqdT3VwqutZo5mpEVapEapK94epDZqYw8PsUlqaCkG32PN
6KGoyLMcr7JltwYx3rJicReGbT04bNLtQAZcSvd3N/F3eG0Im5Z086m2iJLzj6mX
H8tmxBtcPVXWUToMyUXooh5cjFE7etfiht2Gm/2R6bHdcfz9ZRHUWbIfCLIakD0H
Gr45tujxLkqcUQllOX3VU6Vupp0ETaew84xS4ACTQt91KQSk3XtIKR1tN9PUuWf2
DN73DRsSUZfPSZwgGZeRycql9fNMrF8K0l1N85DKUftJ84OnaLwk2pB+aJ0NUY9w
v5SJzG/IiD4TGadi179RBhWIxSrrgOdLK68P6f/dBHJYcgNGUWpWl0f8ZQMaac4M
wq3xNCAyheaxkuM3Nf5JCSgESNs8FWDglzOGNGS7QK5RJ3yV+YoiB9cXQo1zBl9B
0qah1E4K4/WmLWiideo776lEk246/G3jyRg4ufYYRnkAJjdNbq3XDWQ3dm/TI2QG
o6OzoxcBZiFixbBtQVnnRIzvbubtF2hYzpRxb9wyFczh+2qUBNrQxoy/pSXG1qdh
uO35Oc2Lskh57T1snK6atG4yOErE44zhD16LuOh2wlO2xJ6BseQKq/E/xfN7/J4a
u0qDsbEIObC+IENmtUMn7rQiAl3zgYr2ekTwIrpP8zNxYKwDzL6vBqIkMKvxcJ32
DX6UeNDesxWK9rtJ/csW0ohEwWcTbMZr6qlrkmpFvbzgI9issjZZ0piMnu4RSOWp
5T7om6qCGIVwbTsVWGrB7nOjHurW7c4apDlb++8/gcoqgmuS2jQ2qoSxVFIQhhTe
V8pNRRRHbh8zCPYkwaNubdBizrchHPBxOVRnOBG/GAXCmJeQ2iUMEtBVquHYjt9T
88FstS/rhv6eF+lKTCUGabJggBHdJmw1I6RF/oiCzPD5tjplJufNcxlK2sD64PXy
PsKBl8EJ6bkgfPHFvD9rMmPYcoj8aW58iJ5/ksFNjWWC8SDTyFmBQ3AWoKhicAE/
RT8KD53nMmqEPS7HV0av9WnwtNpuRy0eBP7Cv5rSd1rkSRpCxNYOIlyYnTPyC3wP
9jPcJzXV8104oi/SS8K38+VAf0vYrB5lRS42r99SudMr6rm2lN7Yo/DW76Pd0Lbz
dEZVeoHwKD5FSWqWUsWXufNgTbV/1o6FZu4zyNOxU1a9LQmCmRs3Xpod0j8isHoG
YTstxXk/cjIeVqQaGgtZehaoD1/pVgwIdGng7OSFn8b/Gw8gvd2epmmQVdai/sTT
LZjjy25SiK5uSCXOaUEI531xXUcEXPwX2IutnnhCoRYqrlt7wRxS5AnCmbTWsrf9
3WwP3DxGIS4KzNpxgk60eFs12n1PZC05jh1euL15PCfrGsrXL427LoVWo+vEN9Yp
aPEZjbs14hJgHTFCR0pUl9SvbmJKF2XD3otgs/xvDOoCUhwjGID/uWyprYNAKoKe
cGXriclkKddY7UpeeZ+8B/b1hd4Tb5xk1B4mmSAGxjy48ObXNCrS7IsI6dyTnJiR
NmKP2EgC65OceFdUlP0doYto2sVeY7stfPw5PRYR4LaK8Vwk1dW0iWFbBQbjslpC
d82CRVL5Iw1hnINdrwegIXe/idJPidgVYrzdrk2oRyRq+tkz8qiFZyHCN6lG+tlr
hnPFTz4wdh2TyYIaa/veh3RjcVsvwXLjRlXu1d5VJe0iTVnvScNB9Tjvgd9+eBHa
FnmWsbgqmJ6RDg5q5nmqbE9qx8+a2fHDvHFSK04ATP3UJAFyykKaOjCTcBX4Jjh0
l3aM2WCrvXr9zCMjdBI=
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,41 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlVlRoazlOR0s1MkZWd1N2
OXhQMUhRNW1iUVk5VTZyM1JxUFZwVjlVOFZBCjNnWkNKL1hxM0xQZnNsamI1TlJi
YnUwcFBFTFBLWllQN2tQbUFZa0dybGsKLS0tIElSZC92UXNhaVVmcTZYdHVpcG5w
ZDF0Smw3bmNSZk1tWmtobXdwU3M4azgKDOdT+3KLt6v5qwGBkLzFRw2DAO2OK11U
708Agyrb//v6NE3BO0L1bLUT36L5GZcavaqhsEQ/pIA64vZbAgSLEMeRu30AESF2
tAI/TlduYj5tI3He0WiGoMY5f9aVq2ldKhIgwtAgcrokJsVIgUAmKHsO0Vstt7Ix
mGxoUsE02CVcDJVu8HihPR0loUa0vsvn6aHb9a9A7jqBIdY5FVT3gtlGXVp/iWkV
DhWYkuxM7tsNz4a9g4CGkjU42FFBajgCOOmVYw19Ds23lwtPhemzgCUSpCjaxNEI
ETADftaM1WTaMBkjk0LSTFlmhMFNwh8LjZXreRdXDt77PcM6hfQzEpd8W9VqExiQ
43TF0b36lVf8/m9YSPc5ny8XFr0F3YbiFWHBnG4AGhF0vMj/hOMUtuZ8UXA8B8QQ
dgTlFIjYs93SOHTF0MTm7vp4uKLoUOiZSVOwMIVWbml0/gTEmPwo9dtKFe9oxl5U
pcG53YOknTmplaRzbooMp2szkOmhr21geY/SPhQPm9/aF6DacA1hQ7Rdeb488ul+
7F/myMHHJfL+YHFHOTSkvffV99sqGdJy8BOXj15JwpoNHanh/f5nat378FXpcRep
rtbdnFkb9mpqEstbz3HcK5n95etF7yEH3VNiIzbsg5sLYDMY3LBflKG/mLnk8A0W
NfKFf4uP2YVsS3NSZOqqJdDVaPfAeT4sArc05N58tqunXBnvyrI/nIr52bFTxjOa
oPOcaa+1Ewd9ZNzoKFwjLqBRAd48zoftXJOq1AdZxU2ddD/puhRRlgjzVTzQOx7y
p8JvUNR0suWi2QL4hIS7vdWbMD1aswufMsj1QCCIUVZ03jzhyvVInncKQuM16K8j
Gi/LLTxHX/D3uWJuY+as5Zvw1FiRMNeUHhESt/e27XvnButTJBcPkuPokOhVKeiG
TT8cWGNn0nuQfzhay3g66+XazitZZv5pOiwUlm6/c7WmYOHbvl+GnGDsx4dMCEwD
CQzkcPr1zHi36zvzwPAm0GCHcEFwgHwoAhS4Wv11MVKqRgS4Mp3svqGsRZhJSbhg
Eq9zkYO9fDCmMzoiSvXJeKUPMW+5p8bj+lI58t0xbWTuV2Jjzkzrzz5VJK4eiqJS
NgIsSamjyq3vFsFZ43gzg89WEnuqwQe8cD70pDoxfIpGUYj+jCm+LLbSnHCmKH5R
P3OKpRB0Jqm8Q9dkLqdQee3722aMlL1QnYR96jFsn+6D7vmRg0WV3n+j9AxzYN3G
rh+HErts1ca8DOaii6/FaIDAqu3w8QK9LCey0oK5pY0f9ymccNx/iJzZpGDCiK3s
LHz/NuzX/qIlC/s9Kux/2MG2/Fu9t3bcReIyuvC0zAr+tIbcs6gtL0+znko4ml9L
ubjpv4WY6iyR3+2so9U8R5zQyhAuzxFmPsLCJZZ95Vmy1tmdskzfGQJPQmjgV9FF
w6ZGOtfKUTizpRU2q5KO/VFefygvDIs2zcnzqO8jf4ha4HVnXyncC8vuKQbix7QQ
Dcq7VR2UOTyRKNI5d3r0yzwFw+ZK3vdc6pMQ0H3Wb7WeqTKiE2XuP/6OnFyurdRF
FPriC5PSdvfWxIqPj3QjTVRgNgq9wuQn17+/gKhRm7qac6pqn3CwlDTiAE5LaV/l
BCtHR5/JqkryRfW1Bkaw9NL66M6uNrbC5vGn/ixMzKQCYj8JpIF9/MDNcUsC7ASJ
WEp/VFro6jQrPDIxHSXTCAT4ErgYFMLMXff6IEBNKtlRv0e6Splqw99ysh/zBLqt
nMTnTxD7vONPCf30k150dvD00/RSjf9DUWNhvvuLVHQY5+9bmOyewjSw2m4uyjfK
b5h7pOBGQbhBSwCsN87hATle6YkAQdBwkqnFgjhIW9eKxHT0vXsz3+WFUL7md9us
WpVGcXD7H/mqS/DphmcvZ4Ju6V4nBkukhoveOwvJQBcRys/gMqz9o3AG9jKDq2ta
VA58dSzj08LwI9YbxapWJZon8XnmOsarlSkJICYMhHTS/cDdsZRFiM0RyOSvzpj5
+CiWFhxxYBXlsJOmWDlR+j0gv1f4nBz4Hvrl3FQQQkresrAlRu1fUgGYLkk+oBm+
OPGmgGIo2UA5nQJ+BfVL7zssGtqobvLc1uzi8PQSkFfBjrVE/GeukNUvN99QHdOr
YxXuAB+gNs+ZuItggjFB0CtDAUpy1FYXdfd/YY6NUn42Ky/CbPMZsIfRCYpW0AQP
6uiw
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,17 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4a012Tmw0eDFuNDg5RkRy
ZEFwYUFuemtyUnE3Vm9uOUxTS0ZxY0NCM2xNCmxPNGRHSUUrdVJ5eHBHcEViTzFq
cE84Ukc2TTcyaU1vYSs4aXBCMTlGWkEKLS0tIENTeVdRdDB3WjJPbmt1eXIwZ1h6
QWt6djl4ZFkybURrTlgyTVpha2JFWVkKyo+uUyWyxfQQKGLzM6KQvAQkBX6Ngt9Z
tNTXE5de6eXW2b35D06RA4KscoBON2YK0FO01klYyjwUAksvk4TruP+Dq8Bhufmf
CnF5MGqGNMKgGp3CbXDtZ7XDxo6UEUKN0pYvRKi40O6PWxtZte6IRD+NPPqSsNrJ
7+/Y1VRHArEZGg15/SNy6IC+UiBzGIAtBXOr4SpV+KK5R1DnwYqJ7Cn/iMFfcH5E
18RF2kaz6X/5i/yoFBHy3dAT0nbl1QiKaLBjU6MmATR+h/gtNx27e3ichwjnl5Zn
xCKDY94SiXVrvydJ6Nwc8gzZIRlnyi6TpCHj2p91z6tAJ01BqHllbjU9P4fTfdNJ
e84OEPBNS6pzZRl30CLPPFULfADwrgiiXshCZmhfSfqXXPLUhnhWXlRvBKRy0Usj
FoJcZiP+hX9I83jv4/X48ZNzeIzrYdfclRYz7omIra92GtLYPLf3lV/KcOMByS7Q
Op8mbT/RxQOdzcqqViZfgkShMHp17WTr1/7cAM9baoSkAmqhiX2NZquw88QA6phO
qz9Dyz8enFncO1+K8uBXrH/VkbBWH74tuxPIJoIie2CULbA4/84A2FVW0lI/iKv4
dHPh85/cvVXjfqgjPMg7RfgfJIOqaQrxfuxD+Omg0lwdU2qsk1sG8jC+n1Crt9By
6mxs58M0sv0zM4TrymTan6LhKaA=
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,197 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJQTVUd1pyR0x2V25uYnNZ
Mi9IWlJIYWx3VTNNaTJmZTljRVNCZ1RiRjFNCld6bE1iN0hZQVVKZ254Y0dINGpV
aGJuZzBDWCs5azRxcEhFaDJpL0hCL2sKLS0tIGJBOTF4TGJUOEhtOTVycm5IT0ls
cmFKU2YxOFdxblRCd0VpLzB0eFFneHcKk1aHDdAVZ5ZW72JujfrnZNmdZs+/mj7f
WmAbyEZUx6CIywgpjfG2zkk+AgujEQEaKKX4qMqZhf7/9C48bkAur6s8ZGxEDjkM
m8cizqrwUtYY5p3HeH3cbEz4gZ+i/SGJ9B4v1dCITNZjESA6tizPZ8CANbxgMiqo
hKYgdI+6P6R3hNyXUBcixAmcLhAlXL13DjEoV1JR4S//c8uQo12Vyq4Sek5yEFBc
8qLqc1QF/vPJ5WkGzSnBl2mNqP8YVcAdHn2xsu/xQblhNDq6zFnaxym3g+5i+ppG
DLGvdeXNhZQzsOjg1MuTtwXdAOQlAiyS/Qdl28jxnE9ANxPKtMa00voqJdF1T/SI
N5RJmJjfza04cI8tJTyS2LyVNREdlYyBtqrR0kF9pY2XbZay4LcNrgI8CHS+NrUX
84E9L4btPFqms+Yi45eegVWz+oFYyKbg+bWwrSSUJja2kmllMw2C69s85MqP5UO4
wuUc4sDlZ34TNpwweaSVTDkNvPpZIvZdXDH5mytU6jNUlLIpG+P1PqcXqKpe4lg3
ygZe8RTMAM5gzCfXbskU7NlDe5Lh+aqOaVjrJF597TSTN6cpTrQubpPw7G+U/Zca
y5c5nn1p9bOvjdaa+rd8cwyBwnQ8Of/rIvMrG0+a6Atn8+pp37l/YfXz4OTiljcX
MqiF6apIlqwjQr/x1gyaVpQcpYDnlR+i6T85/jKiZk2l0Gm3bLfUeu4PUuCs4b26
lMn/AQJC6a1hf5plDw7oARNxYi12VsBc/15bw8DAkwdD7fgU0kLD8NuSfUlKpzHx
vh+1T+HWwPneVTjmtjF93FuxeVkZUBAYsQKacVKNQ9Fu0BET2I0WCE55YokdP3gx
ohL4/prTW8bO+AwTxqXaqPnqNE8/nr3opeEmYeVjX9J9Sudow6MAcmZyZadlZh0n
LiVNwvdqoJTBPfK8AqRVA926OnMII821zkVyoziuewl9E4CemTSn2RHjyCl8zEYN
RZ0MchdGtvSr7JhrZFEysiLJ5s4skj28vhwSHF+HbDqjG3M7S8JIDu9Bi/RvnVbL
afH2mnf0gPv2xVHExLQzkUVBfBHV632lN+jWtSGH4ttoGpzmfj9cHMf1mnhbWrlP
OR9ujcKB9NUDYjmuAZtqNXlY+4ORtHsUlZjlfI2hbCN9LNjOL/hIjZ9UYEmHjp2C
J9xvwNT09wwWIjXDUOjSXrumqlsA0eRQ4D+/aXZTOBdGz0wIeINtfKnBh/dqRn0I
4k50+SBX1y9AsvmpbSPMaQ4UkFweRZnJ2hlIlYQPlUyjflnX/uxm6jp3u1NXmKXH
jstDilCz3oOUl/8cax7y/JzGXHX8GlD0q5CHSBmhe2qY0deuYhyVXpbVmHG4DUVp
nEudxYxzaf7pokjQIiOaQvus/RanK977xFkJEB5qmjLKjjvsxkKM+UB89St0x4zP
rEl7IjMYjdWvL2i6OmRF72AnEyEt1jPC5HoQCuY4vN0ZX3QOfR5zu+qvXYcZJoNO
T/dlpF4cgeSYc75sAOm8kI7ivkP34d01a5BreAinZ9Mx8mfOBe5M3CaEmcK/gLA3
7EENXJlnxBytnKrmY7B2crADL/lu1TmsPflL8uOYzwLllrg3+7l+ng4Xca2G5piC
4gNHBxRWysrdFX1nRIPWKf6XoatVJOYQtPO7KhZ/6swvccFbiZ4spEzOpWnRODAB
r4Pfy2b20qjBlq5PdsHi1HzLXjvLAsu4vemNFAl8WdNpNtfIuL5LCMRCJda+GeI1
9ggBGvcTxHqYNiRTcVj5cLRZXG8vXiwY5bP9/ZlijzOIMvrBPt7Go+Yjju7uAVgt
8phpR5NhFS/tBE7v7ktGKNtA9Axcenz3ld4dT1QoL+ades+iJHUmL9sURJMH85+O
yM+UdBPSgK8L9iEry/XK9k5iU2sQ5fSXones024E0NwhlEHI8doC7AsqTg2LiOjH
YyKWWUGKG2VhmqxYQlGGBkfDooqaYxeR04eBBEWQNa5CUXbUv9udZaWmkHVNCRBb
5vNU2cJHeaN5VcIezQ47+T3gxptkNC+x8UupLKdTzvGC/a/LbWFRHAM8sZpMrqAb
ukEx/NzPx75iGNru5Xi2wy0PYgc+6i8mrCtioQ/xUOjRlEGVQ+DzCuQZ15njO/16
EVzkPukPsZC6nUcrxoVIcjI1Mi4OYiApCwZy6jRkCwFrfaGBCKKjlPIEMViqac03
Wnt+86iCnVQqhXNEvEDzTWdFenv6HVW+bPQ0NSV9RhE34DfsKK10sYGPkYBfyYuT
HCB4EtnwCk3/YE9WYSqQzd6oDK/8aZVi9LohUsHT9RbmjsV+p0tNkF5hmfDe+Gkh
bXOKB1wN2d/Ysxsq/pn+63mETBLSzIeiH3YvPyMXXeVNg1NMqAKoAt1RyLNp4cV1
v2kmWvNoAkw6RWrIpMoyTQ2M+3lCGiH2KFYsY3HC9+/+dnkc7Mj9NtxiqBcGmhPy
14t/H7Pu0/Eg9KB+eiLkJOedSanhuZDcLM3AfOaQcnjy7znIoDQTELmWPocf6zNh
+zc+7L78zycmRkbWygxcfeUt35P3cRkzA5incA1ADXaTEP12hsM8lhdyGXFljS75
DIMnan551mq8IJMnTsUZGkBxC9PSqmjIzv+M1eBTgu76/EBwS7kI2ieryhoXoDqW
tjWe0MzkWnpcCLDqrmlZ1p8q0NsZO3inCUs4IqoE8kADOtrs15jc94GDcKc4vFOi
8fFRJPh83ReUDO07AY7FNxJml9FgL0aZSq275AGyyUyoEBGMtTSLeeErSkboH7+C
7ypoQSbC2FHWKFO3tHtX9Nf42zKKZhhkYg2qqUgcMehNzcuSqRGoddVj7eB9BHC5
QJJjElRG0uK4cXFtaRLPbjgK7NVTmJbPQ8cGCmtKWjLpxUqQxTnkas0AF7L/IEbI
9Ped88B3XBpVqpXK/sHdr84EmdA6aJZCN3+5af8Y5tAsntoffYc8mcorbvb/4BOD
oShTH+YRvQYIwrzHav/5pHjqYx+n7HjvojYx30WdEh/DEhFF0Fxu0Paq5GjAStEQ
0rBG+cJZIBovKqF3sJAMxhviLHjhKWjihX4WcyGK99wR9nPietkPz6bXvtJLUMlI
XsuANtybvoaGl7dG9Tp38Qm1R/f+ASDLSY1CySXR/blIE866ChPD5eA2Faxzo0ZU
5ph8vls6ilmA9t0Edn0GTDZDsTBiewFy2RxbKjBUhqSuv9FZk/UiqyW6zEDEUoEM
cbbiosNsGZ+Ft0FsNZUOQe4TTvGbmyBpZys/EvfuwNrGq1he+UpA5rtIWqKECcLX
6/Pu1Gbzi2PrImuKgGOBP7AuB2kkr+pAAYosVSvS38BPf81v2jQgWdostr0AZUrC
dyoKo/QfHI3hoeQhxPY6r7Sq3tsYMbhuFC3aTYR5pWFp2j6neWbKxTiqPcaAWs28
YvG9orB2IQT9xEwB1AurcaFFKFu/ule3wYbRM79j/OertoQvGCN7jIJ/qbwtgNSe
Q+/F+kEI9CyTrP2ye97dX3t3i7JS+AHrl1RaTtchurdZ8Y3Eslq6JE+ljvy7GN9U
BcyMii6LEOdbwP6vp9eXWaHXF4F2XNvScUnzRy7AT/jFDjKwraJzWoj4XdCweG4f
558DFjsTQ/H6Is14ExSu5Wi4omexP2xaQa3AP42FLgqxQvqIEhH5rqqhXRe826k/
8a3jSIOeJvtJNvFnh5WuCx4rInE2wr+idRLtnv03pwEeotLw/VpEKLePTHkKICY2
yNmO+3D6VlgjtvZnGjN5rvSxYgEsIRPg7OJHyD0NGkQAaD/mcMlVUsOJYr63nAOb
MYmPCirTySzy9id5ptNnczhj2R8BM7gEj4s4VDmv5ohUUhCfceeUqgjJg66/yvWG
XGHdATLKV030ByaNLTWDbNewn5Q3oNF+OkFiv92dRdkx1z8XEme0JwdQUAIl3zH5
wGR/R0oWq7PaqVQ70OUNR4Np3paEpv1vbv2HXMIStNUz14G0bGvYwgp7o3Lg76S1
BDbw77brRJSV9Ze8kJzM/ZIEq8qKIc/B3Z1o/RoPZQq6Vojpt+PGgR+2E2TmxlHR
q4G/KVlW5v21gLPzumKdRck5bsSpXoD9SIF5Y6H41YDJFyvtaf49ZXWsGv0CWE0x
bjnDIIBfbQ2qSCLMMLK3V2nP31qMJsW6iICTj134i1ptxurvPXjwR22k8CleP0zB
xf6myQs+UP+0vRYc2BsQtPEz0sISxpW1xN2Jdd6glm0jZ/FeYs4dzEMjWChM9pUb
Y/ncj2MigTEZj5RcTlMQq8swebWwWoolKanzeV5OIDyKCzGThMYCuRd2DjVKo83W
3A0oOBynRKavtWXCSOigobCnLX5FQRi7JY2hs3QtKv5H5cOji6yHfb0yR7WoDNXj
7tBsn1V6V8KI9x/FSPt2kjeUP47hnQsn84g1x6mElLD8P9yWRjn0FiDzYE8o0xqo
LKEUBo9e54nm2B7kTs9XeEfObvoj0Mcg4Z40/wiqsL0f+afY9ovRE7KqQxEDS0/a
9q3DRIWCcRnyX73KyEuWOHRnmkLpMFMabwDX7FvK9DdE+oN6uQ2LxWTE2L3Gk6Kf
5h0t78FS+obiz8OFxtsXC83FdCzrfs4e8mTvg93/w/XaKpLqJd/TOYTPy/cFcwIa
g++q85lCoW22bn4MAZ3jJDjN4UHQR4sta4t7fgFpAjCk0jY7LyslRgRvITsEpMd3
dNMG76OKkAFMVfDRNbYCS6YNO8iJLTaUI3sBtoBN92S42YcIYap3Sl9g1cN7umPu
HAIN4M9di9966DK0B7XrjWjiewU68vq1xiWUh+6SnnLWhsJ+ZpkEBsUnO6idiT+r
gHNiAUubUyyKL9PX4n+Vae5hmi49ALTnOzWFGxKNqMlDS0uMWcgy475JzuhhokeX
oBmPjCIZPw3eFZPpLxCNxbDcT3S7QqpEyaX7VQTEkJH6SS09WpfBceIuxoStJ4IP
Hx8drz/CUL9dpXdWZx7Z+F267+6YkJeHhIDebMYACQBe6sBs7hTVK0CulnbudQBX
QkWzGoAypErwm0pEo6o8JuVwpJSmmxxClhkulD94jMtwvl9oM3c408V51+YeSA0P
31tBSqdbEKM+UBa+tSuUxdke7el6NKxug6CBy+JaNslhHM5I0RyzRQPXipe/7jZC
LEd7AJktn3ACnpDtWxzYuZm8sKVIxnEQv9kUrDT9Hcfnm/8K6iv3JlJxS0Pb5qTF
pRDAjeRnT4IIP0oMU0mP0BT2biOrURXZr/FbJ8WIhoL9Yf0SgHmnriXNJopd/aT9
sUsCYUDUD30pTz7w+Ip7JnWDJ3pb+t0/iCBg+U6NsK44FugqgLMx34XaNu4T4b67
s/l0m4hiUSkjYXkjvnXYpBoojEzPoJJad/Em5Cggx0bfW8279Ch4x651Kg1HZWq7
8sKydNaULnON/+8JciHcEZM6ihjn9k1Q8QRkDB66vji0lPvkYZFPgFjaw9HiD07a
6ewSW/0Cw+nQQVem3GCX7NAFMz9qepiaXP7GEnn5Th5NDpSPInIrCeEERe0DULVn
9NHsUs4bsaWgIEItLlEbaA0U9VwIhaHYuGiZEgp/aYpoc5/FRK1vMMqm8xI8fr/2
tCPEAY6I1VBrGx4jPvr7Crj/F7WW49agOvTcYR5zpI3d9KISQZScUImCIyO84YgP
F43FWKBNt1dEKELxzaFAENX5e4pRLJ8U60EhtiMp+Eo96nk8GXyEHJaCOWwaeg3m
Kfn0tv0i7VGtjRhoMOPBaKcWsrPEYFuCVyhbjxsRRueBP9BgBknVODFEvnxwvqxV
HbLdqJx4iSvMwJjVIPde+Nf3/6vp5vC3rlmYdqc8psLi6jpDzDkjxynUPNQXpSE2
Q3YxT9Z+sdOlzO4zKk58Y4obxNx1Qt39KibSLtXJMzlA78hfNT6AO6Gu5efxo2hK
SFStJMcJUSf3Fhw6wXdc6JbixRTnYMKEpHuo0v0WO3K917hzPSGoFyMPRX/VotHJ
HKHGa+bUFVHCCMg1EmbSexvI57bmS0+P+A4SQAmu6yIUb8z9nwN6A5WGv8D+K0Gy
rh1Df+IveZiaHpix2Ifr3lmSDaCaS6WmZkHS/DxUBbrNoF8ld+s9qZdcZCG9hx+c
XhPwZC3RUUY6b47Qqm3PzQarv9Cwec5xV6GVrnsrfHHL/wGbMuBtu8XoEXlPd5ok
5Fdiibmc6AL18Nc8pstqSyS6mEfYNi73Pp1DO2FfdFwikhOtueIJ92YmFUt2J0Po
rrdNFoSN31pgPFZOq1n8qJ0piam+bGsomlYq3CoQdzbZ+n0ywdb5ectYBcQD4nfG
jYGfCzOjyljeWGdT1hI3Nf0hzEVeT9YlzhIS5v38InIvymVHdytUbSmio91/6S5s
5ILDP3SAUqrS5kX9s4VtBQQK3v47m41AQmPDMWWdAouWCzabFfyOWsVHZkegbCh3
THnxE97boC3ZsBTtAyLqPhMDtt8LAwKe8mCyLUw+O6af3JK+CvRbRLQOmyr7hEfa
5k6mJ/8v1LrwYht0B5yWmwyMNwSiECLkfGts0PgFiirRhguGj3a3WcUok6711Vqr
mX0orN1eyFZDBSdyjcl73gM/1MVMgL1MGkPfwM3g4br/KkvR9ddiEM8GXna11WTU
X40+Ly1/QOCAkNf1grwIqQXIQyzIVA3ONgmuVOTFOxkbpcbMwr2zIbBgBEiXS7lI
RSirj864021iElPkXyxPDB7dskM0Y0yn9mJoRvaiiUzq0Ohk0ERptEUVZNAuamaZ
Ps2zM0tojwuBjm+CmMwcO9IPd2XyeOZLEH9HeVUJJkfhyrdtTR5vabYxIGeHLFnK
Spoki7QOyLVnmH79JUUksa36tcNFrOl2dy1+68tREBHxOJLqMTMIqpili6JCWF7/
uRd9Spz1niIErJKEMwlRhEp0EnMmRyNaBYM2BS1OkaD1FQQyVv/d72JhCg5iEX3+
NrdsBCuJKae2JNi/DMz9BNWYOmJiO7HZZOTt1OgWatxrR+BNrsBZ5hC7xzMKlbLb
41FxqVwygJk/ofxJ6chKAiyDnz002CtAy7BvFhgd1v8SnL5QtjKmps8IA3pTTIwo
FGhtVTPnPmT3OFV7y/kVRBrkNIDUxWFSRypS4+wQocHULwGtjKO/QtB3zLOZcJjE
74e5OWTNWov61zsy61OoIQsCgbw1DQ0Jq9Hra+HIpKGhyPbQR5Y3v1ppt7UtM1SU
2u1YJRw+xydU6B3q+5QzPC4sgjLJAFMkUU7G/LF2GWiPB5Qb5zX9eQgmhth10ycs
Z7UB1XIEOMbKAjqehhgJUVxAbNgz3pSWIDcRXFxvwJlgg14kAwTguNH8/ATYY5DH
UfZ2HpV/PSBRN/CPwx5sqO8B55Trtey+N/CYwv1tlpA0rRDYqREnpzH7x6b3vD4Y
ze0WOOjNIU1tGIaitpsuxbiidPTqOUaCU7gjDHSyYEy1xlKBhGBBdtk2ngrHtjs1
n5zWJp6EoZulqw6JAT9mPBcGJ49bJcco8WLBm40zEbKb0frJjK/Q86zwYcV0coi2
Sk7rpV0S2SJC/WeWO7AA43f3xvwnY+gKu5wRB+ck6ihmDYVse3WVDlxtU6GZPUnU
Js5jvfXsUeWKgwUU+rT2Ubk2BSHUDxgPa/YCLsa4iKJ1U9WxVq7wGKROQSLicmlx
rPJXsOgMkgnGg40I2B2NREipghlNZtNY6ZTd/MCqkMo5BW+Vtw95yCSUBb6ggvU7
BFRRb7YwdElwEFeGE7mck2eMuiOCHYEsZ6fu5J3Yw8Z/H9QZIS7ysYXUjISW2L90
UgcD+ieNo1zxhWaSZBtaznoWqVyXL2W+ckUZ4Sx2nhq9hgGLRj3TAc3uq34xznb4
QM4z2MHgBI8Ovblb6OSVMk+xyrIP/93ZqKmmpnPs5ai8TEtiOUBbWUUfQ4cEQKKk
YTn631nCiiMeblXJsoIEC4q0DGPonAyhmG/464tp4du8/EYzb+2lZBLCQ2qzLgQO
+xS6DygZEH4iYBQRAjfdzG+HpvfNeLxRMm6+mw0vPnd0/atoHDbcqZsfC0G8APNe
azfGoeHPpHkK1yZoBVzbcERcE5yrsMxgrwyYahN3kmnoJgRE8BhCRe1x9IAmVn2p
ganrocgFHpBxVr6oKx7o8z18VDAtJm8E0EtQLbqqZHtFfjV5lFQI3v5Z3EqL1cwO
HMpz4pam/jRlmcl8C/bVLO5gF018qnETUIbMo0tzHzh7FDyk/S++VFog+QYGaquI
A9prvlCLRBj8wsa9uFQ+DGMuL/8PAF4te1rZAfw9wH0OywIN0BNu6U6gPZAAFbk8
hUO+lCKUkmrj//+1v+OU6QyC4NPr5hiKwWYem2HPjP48fjrHrC0GCynXkolsj4bp
29v/R6ZhnxxH4tuGnNiYr9TZWW6PrQNcNm4rScTSa9i6POX4XPyEhildzFbIK4Gg
tyMe4LBP6PWV4sBsM6ZysJPAzhZk0T7d9UFAhYNwfFH9/RkSKwc/2E5DPgJBhl7c
mxDf0AXJbSMOpwxIcEcYx8CAnZDVBnCqPS/STlaaRLzcocWMeK2X7SnEbpP322N6
QWyewemtF4TQVD+Ryz1xlU36FxBU2AmbEGKBlL8f41cfmgnKTp3MlaKikWrp0WN5
qp1Ji0jMcU4d6kV7mrofDIQO29pW5k2g6vp4VFtwvDncHjvvHxHw4LBftdLneTmW
RJde8ub5r8tGTIYXlVrImrTTj56QO4FZM6KS1pBBkfqGz3jxhHqxbQNKGmSoHujw
4TcN7N9gYLVB+dJ5EpSaCNws7HOTw1EfWvZggnVzQHiBLCZ0f6FTQhz/7FH9LYZg
Y5N7/Ecluz5RXsxpiKBkMRkOR0t2y64vh2ujx7WXDHHGdmLbQscQ1z3R0pwVjRfx
cx2/oft3akCtzu6pWcA16m3M2Vs+ZhVWsaOvKH9WWxdjQFVMKlqnjdCLFReiC32h
OjMB08fxbIuCCor97b9gQGNOJ1Y7vwqidaV5wiN2xroO47d359XZK9CXP4lyszwL
j3IqjV6Lv4gSklzwPBRxHVLLq6aL1NUJjxsuwY4frFPhFmJnFiotmvhEKgO+NAJF
GQ7chbPrM9v7UOhRwn5k1j7qyWeY1vEKbQNYKU1xsPyKfLFs+53tdbJvaBFGbwjr
Ef2JHP0AAkadOMRApvvzQHcAJ1/qmkz6GMT8htK+/BaqT8lqZyEqtnZi39hlDleT
wmPfItgO/STsP0bbRv9EJ7Gd4saqqAQ+LqnG+PJAvWL0kONKowrBgl9LXeIDmWLB
FlBbx+G1tSnYI50+h5keSzUnSdwJ1ptXb5Q7U78uDqhF0myOB5PNukKoo8NDfQ74
cep32axBajq4qXTPlkWwmd/bZ5RsIBtBCRsJVKfQLt/F99eb6hOyGD65xuMqQlcK
efk11cuPLtp3/OF8tKmnGHpRzORWKghzTged7Sj0nj3/d25dyDXejjgnx2FSdV8b
aUZyddMWM2jszVzdYcgDe9ZEnyI6Cub0UWA3mLmy/9x2cC3J1Z5ScbQHJSmhxpX+
5jYZBDUAkwUmYal/JEX4NbFN8FLpSSjq0+LlCWXAweYJEk84NRVAGfsNNOIheAPO
ak1pDWaLMFb49tBtC1Xr4yv7sQVnGMtWzGDGWLahFzh6osaIodxXzcxIhiUEshdR
C1PEC7CTmAHkvgG+MWuAeIT6/uSck4n0DcXpaWjvLVf9YaqnxSGWtMhRa7bta/tw
hId5C/p1Y2IU8ms4CXSojOOweB8lJKXa8WLsQzIxhcdfnqZaYO4OPjjXI94IuGGQ
fK58Jz52ebotflF5LBoiJ92JTf1eEsedC2u2CKr1+YnDv9oeBcMxWod78mZ27scz
nmBnj4vg5KhyyBeH/CNGNKpQqwMEHSLH8I98675okcrqbNkX6IDSvYSHucebkM3J
81uMHkG8Vut5HlvISLIqbMW15q6e8KuaP3eaf6aSjAEeRnfqJnKygXJJmW8ICos7
pmn+lYmlbhqcgfYT/V5udy6qcrWw+XfDj07f5DpgaYAJteRlz2/8Qkr8iGr9O+I4
K8pEFM4rMo68m5Df0k+LJuAaahZGvtDnNURyLmjdTGllUeuL4HlqUZZKxsfm9NXg
ShbA1ZWVR2DR9QjpqZFKJhJA/MOwOkg3O1L0eWM63RZEhZtZQU4IDrYPh1ixwxuu
MLnjTRwjCf5jyfzi8W4hB2si4h9SYb7lXPbNcYgILGmTCoUBn++XCVdg4a58VZx1
DzAGBaEvu2CuvzJthHH56iuvctgBKZjy5xWAt6TkLp5SvqoRVwvnDESx990tXK8E
Rro0z+27rPkJTPjjXtx5RZ7TcETDx8DndcAgVOInZ3ZoSHd1A2l9FBFRwBWNHVg/
3/WNzN+AY4vfyFS/axeepWNUTqEA6b+gGfs6QMqBtR5qVcTuvO7v0MxtwDEGeid2
v0cArv0e8NcFTWBApkpJtWPeGtSWKVNefPJIu60hBaMWTsWhjh9YpfMpRcb7u0qY
qgphyjGF8TkTlwwo8si7MieofCq98UYOyj//SH5XW9INTXwhf1+wx6j5SOxCXCZT
Rv1PlsQmXqsNqgSOB9QzbFYfqm/6GfMYQ+t8Inmqci382Noc05I25v2csgEfU/ri
lyc4WADCNJZa2ttYbohwz0ywdQcohZTDrvNkwdYusKoYhpsx+TpZaQKEhmJaKd8C
aa7lnvozVuXPGkOEIhWUYw50MwUSFgrknPFxAmLgDAMPnG/XMUUKbQotRV9Wz2qx
0WW0RBDNUoGRMcnlKa9JJAlspQQTCJnM/zzpegJennxUe5AERyHxsaXkQgrcqBzv
GeS18e3N3aCtbO0hE/ZYAH9jeB10BJhQBAVU0oQ6LGnpTQ7yRhTXwsY9BJRDBvfA
HQ7ejuL8pf14sUO0LwBenEM8EGah1arbpimecRcBa36sIp8X3SiId6jiEJi1ffAm
myCSFKry6fBTL5C6eutVJYwp5vdWeu4tRPjgLKFiykVRmEBeCR1mDvFeLLbWtekW
90Av7V8a+sCrlkV6L9DK6B8dblG2O+OPKz4oxSEAps/2btu+EQ1lPHMbhz4aysYb
LE7HbPsBA/mTNyYVU1J1nojSUJrYMmZn7BFwJ0QvZtMDdjbod+7/JB0YjAwZugmQ
pnzXFtuaPaif5TGwqMuchJh/XpVYvo7Bdkyf/aOAJQDV4L0hvjQKsgiDA1bnIbaF
1RawyAgpRCm7GoPvUrbrmCIfTA954R6uwPrU+7LtYrTbO7Nh4/npwcAyO3VLgoqD
iPAkZBN1SBy+gx7k0Fy7u2IXn3lEsalS6Z4kTcjJjE+BdH4czufKPiuPKYuqlGL+
2mgbSEoTNr/+13PJXeMeXx235ws3IygMjrmLy4TlK5zQ1EiNHLjfBLPlIgInMhuD
e2HwyApAwCh/bGs648TzQiaRVOvlAEZSqRmvugXa+JxYEkPTnbKS/YOZwQwASu4y
8h4fkv7sWy17TIO0oa1E1vdkoaT8y0f1TNxla/s5PFIoR58D3K81hdjgfntBesEy
qdVoPlubgSSqks66fFeeVfKGIo625/rP4vkUYy3ZG7EbeS7RFYmxW1OawjKGXLqe
6Q7m0FVH2SIN7ouZUioUNcswUKMGzf90pFmlBenAfkDexAdNkcuRuSuQzX69UCOJ
HhXpiKN/wfA+NxrcUkVEB4ZMEDmbK5w6fc0/BAaavLBjRQawKgbZibOBOBkJaZYT
JRuATSbKBfHewY6nnKFfeSLjYbLjU/s/Y3bK9JS3hHrxtCrivByOmVEamR7a21PF
XR31wIg+R+tW6wuBSZzdTdp0byZr/PWGzlbygpXK+j/NdmSFOwco75tCPe2kDJqn
bYBeb2qpKJm5nhwll6nyjPPfzSg45WmaN0hFd+GOPt7HYBP7CXffrg9Vkul/+U+o
qNDzVGRPkspzOnhvqi+zC8+sOnhOj1jHIeAQwP4VH+wu2PpUQ+fRJPHGrsbxJP6E
0Xo2/D+p+QOA2G0OL6jLbGz5q6hBYJIh5kL/HShjglVQhtR8oRg1QvaBGAvmGEv5
r/bp66Z92EBwunbA/8cv5S2REmDpMJY8LiXjnlJXbi07S0Dm7Qa9tn/6+lExKrVh
ySuozHXDH/SXJ5C49sLrH7tAOjrH5+9AM2p/ld7m59mCZ6HtVgyAVJxBy95E66bf
KBxbP/wYi55ywdaolQSIYwaxcb65v/Tct01cydotelkbZrhjUWZvegTy4piAN5QM
ew2uJXe+nmiihQEnW+1+onyp4Q7o5LZq/RokCJg=
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,17 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3NTZxditYS1pZSVR2RE83
MDVjQ0h3ckhZWVJkamZBSkRmTnZsb1RUUEIwCnNjenZveDN1SHN4ekZQZDJYT1p4
MUlsdGRRZHJOWUYxeVdJOTllMXNCbUUKLS0tICs4c1BnbHhxU0huR1RoV25pQjl2
VThjOWRzcDMxMjdHeDFVbnF6dHdKZTgKvQAgEHGs6+6hrmybjFojSOEdy8Yv/5te
qxV6iwzVAPZuqmldMBOC4C9ZO8EGe96sgMnIvstw0klWQgv459GBOsZhxQxtHTPz
MbcsQuMgF1lDMioGg3+JD/jcxjwyejjFcgFyRpiIk8uHrzBB3b19lC6D4oV7DjTk
kwYmn7QLziBNlbfnA4vgNrJ189yDJ9uceEPBZjZzEKgcRT6XgutmZpuK6upVJxCg
9d2S68c5l+dJE4z6oouQ/HpKG7TJC+oUli1zzwCFn0SFWKdl6zbJUzxydcbuBQ3D
zQBKEOZNKXPjW0kdH/IkbjiqOW1Wntzo7aUUanqdeTCSLANkLG6dgrzqiU4a4qWm
USsEprfMFz1/7lquP9YB1YAT4UvVEjo+yBSNNTvZxYjUV3b9aNQK+GVjeMot08PZ
Yy+44HaikmKNjhVA49kxuWd2sVxlyd0BUm6tmcKu7b7hbPdb18Qj2ttd5qtaB8qi
tXTYAw9SpVTZYhIDQWmMiYaUAkgnB1P2Zg1Xa5aLKeVPxdnan6yYo94deSBZ5Fwz
mAXzD027VO1xMhuvEGkWLRZqAdqn34GvoLU5gbxppmNBQOBwhFjOFX7KlDiG6Cj9
Dh5D6ybESi493ejF0WAawzvWM7fMdYjMrcUpkT71bzjegf5PsR6s5KqMIZzeJno1
tnIzaatl4Z7n+7i1cA5o5Yj6J90JHB4Eavc=
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,17 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyVjlINi80N0JPYmZBc1hP
SHBTL1IyVVArQ3NVRzNjTjlUU05BSUI0enhRCk9vcEdDb3VIREdBSldHRVRELzRL
a21QSGxyeGJDeGpERlhxQ01oRnRNd0kKLS0tIGYzeGJ2ZWVYak02M1BCa1A4aUR0
Tm9qc2JGU3hIT3VkbmREVnExY3h1N1UKnR+To5iTiFJmevUrWJzEWVkLkNAvSqzs
c4Stw6W2uZn0O5lIBXn9If1sDzhF1aSlQDsiqLzDJDWS0MQOpI1Mne3Y6U5j8gT8
ihvaSX/pf/sKlOMaB3ajLS9Pl3bkg/Lf6CFV06i8NKUyjwhYmG8T+wHKlKVJg3ba
reggYNxYVFKI0SbUiVsM27+dDiwexuO2e2PVqyrghj5i+TyB5KJwSC0GVWIj/QWx
IrXfjA5a1SFGZr5b9Rva5D/MRT5M6P2Tks5AsFAH+JdDPtYmgxT2ajg/FhE8LmRV
WglTW13hfLop8Xaf1TNZp2wO01gmaB7+9x4eVml2gFqMzDyCVi7c5lX3xpWJoeMx
zXtgYLf296hWtmuESwmIAPkMolt+Zwc0XNZS7BxLteGXxViFwZfw5B3uh+IR45h2
dX5kXdja20S74rF79l79d4yVFsMExkvxl3PbGGGLvRekA2AhHDf/5xX8vEK/UMzE
yQM98A8f4yk/AvfeqECvT6DneEtzV4kZBYDF+KZqwnPCAThkDwJ7D9c2dE25YlT8
ql8Nir51P6FDV4m6YCTzyv5G9qYmXYE1seTBoa73ujgNGzjNCTu+AAWGPXwGUHSV
jqNi8XiXd56NXScwyLTAEy3g927gxD1SMXMdWhWbouqRvxt49p/aWthqtUzfCt1+
+2dNsNHCCkbDgrXegf5cKh2jAC0btO1RWPQ=
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,17 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArOUMyMlpiOS8wRmtHSjlm
Wll1U3BoUnVCeUtWSExBNjhiTTdmWFFUOFdZClRKU2ZiSDNCUjlOa0g1RlgxQ1Ns
UnNYSUN3dVJxYWFPSmg1YTB1QjJ3Tm8KLS0tIEd1SWFraGZaR1VuVVAxdWJpYURs
a002d0pzUU9LTVJHODRXOUlHcHcxbmMKTa0Ze6D1L3p2cLa9VUPPDKROvylKqGCc
U0ut4wLNhNN+WfLawrHyIm7iNKRVt5ULlpRV7n2bbzsbFwu4LIWdKGjB90AQ42Xx
CpjpyKK9oNC1yoPtqBQuBkEkpxgRkeZWo5Zysy7Kz4fVxJuW6EcITNJcKMGhMuu2
YZAZho5ygho2Rwqtjm1eTtOwVpdJD4PQv69Giak2IJxfDaqgZoPULXWmIwsjnwZk
33SgHVV1qBf14WdWZofWqWK1JlvWSaTlLuwA4usxwQx/H9+2IBSY0R8xOmPRpXMF
irmPxMC2Z9EXql7sK7jlmmTXLQWBHTy2IWYRBH64SJ9hXomr+B/J2euIv6qdP8bL
OIgdfxoot0r8ag12n/hMRDcUUtQkGGLL3zDJLt9BQuQqMBHxZFdRboTfbGFP9Ns1
QYVSHfMnRxPy+7TfFLXoVUBBhahevNv/+5Q6DC3NFaqg5mmnUadD0A7dKlgKBO1t
UlwkD2Us3i+jkyEDjb/F6HB92ojCS6qEMSVDdSVAHs7Nv11ltwrM/OlDasVsehzM
08wLi+fJ5lh4oe8yg2QnYZ4mrVZAqe8cNIMSHzn9VbpAXbexJzpPlkMpdZN8BZvb
4ObCS2ido9Zqz6C6C9crWP+jbnSp4vE2IPaWm74JMIrvSow0v4P9pYp5ghl63wF7
h1G/5NgCGn3uCENGd50IqIRnDPmUe36C4eTojA==
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,17 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0REFjVzNsemtpWTZiajBt
VC9STU5ROXc0N2RHOExaTDZRRXoxVG4wcHg0ClczVnpHRXkvbEErV091UWRRa0xp
aFJZVU8rcEVaNUhSQ1FhWGJZQWZQU3MKLS0tIGZYdDhMZzlLd0owQkJWVCtEZTN2
bVQ2M2FwUVdQZENsN1hzWlZlOGwyZU0K9bz6kX4iPkHyojUQnD6vDWLVI5nBRz3Y
vJ/V5XTrqpV9dzbDxnvI0FQsf0vr+KAKc0HyxUEBJ5PNu/u6pNmPOkypEB8z/Ppi
vkWTWycJJUbKeN5gTH+vCMnDEpNeiGLFW6/k2BG4VwyxD5aznWpNTN8NRchiYQkL
P7lTWaYPlsUPLwdnaT8z6hgmWX7Mj1IQLZ7hX1FTOfwPnLEPbjVKl2CgpDEbtKRv
rRjf7+WyCai2jYjShNWZCwWv+400v0s9m9M3OouW5JwuzlmpSY8AIaPwt8cOcxiJ
tbrEWlGX/tXh7F2RmCHUIsomCpfCbBL9v4TgwRZbaM4Wy99dfu5glsVCkzb+my6a
36NJLFiVSnWx2SI8gMh8KNwCm7BTOPT2/ec7U1LPPVWdVFn78Yz4rYchTrpbp4Cs
Te1hBgnF+ncheELa3ndJBJqtHP/Px913sjtxkHLbfxCbPEnNrLout8MoJgsQhagQ
QqdXDo6tVjWiOKwD02AvObcIT9fkiMc8TPmJy1h2uM9+na62AQid8dnTk40SQCOf
jxT3g3CPLv19gEHDcWMxw+lrvsv+g4NZ432NlfuNozaBLiFwXzLed8NM7w0iSRDG
LKQ3fuqnQZ01WMVC81+s2oeSnWhLvblODD36vQhyGFzShEuL/sNInENsP0vfPGmD
JLHMFEUF1vBEP82sWbjanIMihcdR62h2FDgo7Q==
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,17 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGekM1amJlN1pRb0VSNGZS
VWJEbUZPTGF3eFFBejVWVmRVUGhBYUVjSjJrClFNbWwzNEk2OGh2UFptVjBDYWpE
LzhkeDF0eHByUSsrQmFDaHQ5ZGtZUE0KLS0tIDdLMys1NTdZWC9kYTcxa0pZQVNJ
aGpNQkNML0tCc0thaVBsS1VVdTFIRnMKhwcCtPHjI+xCeEmv7e6E6OKP83GtOklV
2dBrQF+JZEpltplKAVb9O1MLj6FgzUusqVMmpfpw12GnNmXflE9ORISWjQL3bbaI
y8Y5Qk2ohbSMmyV+IXMz1gwNrojWphWvJzKSBfVE8ub5FgMyiqRZrDMOT/xfjXbW
R1snvrswMaFzP7TEMkQSKKRNkTwPFnZakDRUBWrxYbGi/QMmdFLXE0QzcvCSFS0j
GQIdVMbbs62brZxmMI/hDjFnb4x9AndGFz8zsBJlZLuzxB7f/4o7mkkOWILjGj/7
l4XFzbGEV+kOlG8Jo6dVP285B9UHNtMtThnHOZwjtHgdXraDFPxEenoXpchaVu7X
3Hmrv3/Fr9GSOCczErGq9sCzMxy8McDxNi1q/2M1XdsxuoydeN3B7y73BsmqTdV7
eMf/Hlin9m+z+E5+BP49OuXS7gOUKX6wUu1iqyVnEIHEIrpBh1FivJdDYCRhlyAK
QO9YCe0vWZfEXmvBdsdjow7sXKePnkkFPjF3wDduWnfwkbepzCqfQKukYkfEA1FM
kRvdKo/ZiVFJvyxOF3OvfG32nAn7s+LSSHjJt/gjnE2eNqse5/WdOlofpjxnkqPs
rZP4WLyemRl9Oxz6c7OfL0FBCJOa62HHxsR8id72RjqlGsXVgN0X4iXEhMyOjWOA
JxAIVFehmoZDaWiM3jk6AG+RjC00W8Kv7InGQhqR3Jw=
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,128 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOR0xnejE0aERuSjZPajNZ
d3N1bTdlZ1U5Sm1KKzE2L0paa1kxdjBGRmc4CjVGU3lxSGdzdVZOT2FFZVpCbCtu
aEtQNmZWTjhXR1RPQmF5a3dGQ2pKVVEKLS0tIGM4dzQrRGwwRlQrVG9yUXBJcTJ6
Qm1nVGVMMUZUV2dKQnpyVVFrelZuRncKi4XIekXL4nIV8ejb/0Pbraq9RIxi8YLt
qIaD0UAcN0kR0SpPdBdu3LjRkN4mwOCjZQ5ESg6LO8c01G2gJIO1s5a22Je36Ojr
4tOjHb0Nnf0GIgWzIdZseiynBVU64sxlfr0F1b32C2GkthAaL+STLGHcRG9KCQqI
dWWsOOYXJwJhOHX/blCpYzh9LWrYdXdiDHayqAqo8aRfjLVgqErgUj/IRFU6XgH/
v3FB+wZHH/siNt7KEpNY0a2vPZRpS70dsPoW+t5T3S+q819NB89UTE1aK0FyTi+x
fTfNU8PigoelP5U0NyogepeiCsniaxJrX76sitXLNyfTejx61/sUj+kVDQqM/JNE
uqVCvtuWKCxmpKCt//GeNKGV/CVOhOgmiG2mvU/V3yDeI+Ywie7pehonrAg/tQOd
XmzyKQK5zyIaZHNhWtSqa3lu86RzSRI7be3VO7mcNh7leriooN2Q5L5TF1JOAKOW
HnB0leOA/Wl4T9Cn+JKKdUWDFCMIcdh9nUHk324810YXawjRz5St3+UW7FvrugS5
XPIB3n02aGqaxBWa8BGYOjCl2MxgOp6dVJ0IhtiTUT5VnhDiJiWCWpRSMbDwmAZU
TirD4aCD5h8+c4JlS8+70ZN0tNZUH2yvmOdk0wg5RV4N7aSRJUZkOa7LwPY4hAGg
QAIg+qCxvHpmgwwgqBYmg1HqUbgyiCVt8eJhES8ElQRkBRYApBaWrxohmXT2WFr9
ecN9EoprzheooRpAYMbQ5H7148XIp9BYrazsF7KmNAW3hR8QlCmwdeo6gYgzYr3Q
jH9ecE4AhyDux18oFrLQa8Mbs00YRzmNrGqTj/3FCSTzmXYOK+QAGQnhCmDn7m1M
7cDqYnnIZCZi0V3DzTsfxliEqbfOSUdAdXdIbukeHwXUbDG4RqC8vbAY2WRxR9d+
ZqitH/RPojxbdVtdj+Rp5EDu4c1Kl8DSljzGmOLV68A87ZnBmL/fGO8TZEetPam+
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
f7q8e+1LIk5JbLFvJRxvHbB++Q==
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,21 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMMDNISFlkV1FJNWljZHdW
a1Z6UWQ4dFVZdWErNVdBUmdMQzVyS09VaEhrClIrbFNWSlcvZUxBQkdhWTFhWml5
Yjd1clFzTHlHQUFpVXhFcUFmOVFiWW8KLS0tIDRWcE9VN1NNK04zRGJ0VUVUTFl1
QmRjN2dWS2d0YlJseXZlK0FLWjU1dkkKaEo5pQ/I3MsvfKVxnLwn8Fj6UuyP3ST2
bw+36CfLo9ANA4My7C8Ux6ISVA01la84EfGnAUC0UPs6joEpgydNLfGhfeBKJ+/4
m2Ef3qqoFIIgaFChgzRhcAfkxXYbOqiIShj8c5b7040pHgQN9mE1a7ZVyy//RGRe
iJYLYhq6MCrTv0uF6qUNGOnZFRa81cJDFKkcpW+xR2NOmCdnPNkCNuMdwmN0U17G
HhVCpnzJINNx7cA072RONN34kI0XIYaE5MxqgHWCBQQO4qMTYqWpezMjA583kzSE
FUt2mb9FKvggWbsDmPqnMJtON9NUIEv93wkzaNnRbOnLarcSMu6J9DBO/GGpk9a9
vIGgAcrM2QB8jom3Ys1g2Y6NYFqaSXzRhgbaG6sSpSJGWakvZFzsu/vmaNlwdJGN
GnYdBlSD25nZGid5Ymk7jEEAP847BhsHON55prggIEiu79xJogt+6vFZkADt0+9d
PGuuHzqoeP1jwvkz5BgKmlq3Dhr3HPLO4DQJinRGm76ol7scVX0wNXs582K5qrLJ
9OLgamMcOBeXRVcR2yx2IjM6fNzp6rVWTJfQA4M7NZP85EQ7eRSPHXbY20sIy910
hMh9XBQaNv7hYvUYHbU11Sun5XlClvKgBNO071aX3pUInGmwhe4/KHqgqq8E8aeR
jyGG4GhxGEceXuido051Gb0UkkTxWDSnQyL+I6a4YBIyHjvWvy/WGlUYozdr3xF3
YmttXVPjcuhRThGGAZhFZ66gVD1JppjvtfB2w91dyK0X4Dh2Bq3jLh/3T1MhC7pU
kh/aGKFfr1r5TYrC9HfkyDEKCoQYk4shLCKarM+uYZBtbNDKb8d6xztzMCauMMxI
Un9Cmgx6u+VvreabQytQLBTA8+OJ/4uXgP23tDzIf7giycQdpn5kfM/en+Qs4rpw
6ZJHQqZNoNJshmD/taQHI0VTIYd8fq/wQSIAHlU=
-----END AGE ENCRYPTED FILE-----

333
dot_vimrc Normal file
View file

@ -0,0 +1,333 @@
" Leader
let mapleader = " "
set nocompatible " Use Vim settings, rather then Vi settings
set backupcopy=yes
set backspace=2
set autoread
set autoindent
set clipboard=unnamed
set directory-=.
set encoding=utf-8
set ignorecase
set list
set listchars=tab:▸\ ,trail:▫
set history=50
set ruler " show the cursor position all the time
set showcmd " display incomplete commands
set incsearch " do incremental searching
set laststatus=2 " Always display the status line
set smartcase
set wildignore=log/**,node_submodules/**,target/**,tmp/**,*.rbc
set wildmenu
set hlsearch
set notimeout
set ttimeout
set ttimeoutlen=50
set noshowmode
set mouse=a
" Switch syntax highlighting on, when the terminal has colors
" Also switch on highlighting the last used search pattern.
if (&t_Co > 2 || has("gui_running")) && !exists("syntax_on")
syntax on
endif
" Declare bundles are handled via Vundle
"set rtp+=~/.vim/bundle/vundle/
"call vundle#rc()
"let g:vundle_default_git_proto = 'http'
"let g:netrw_home=$HOME
" Let Vundle manage Vundle
"Bundle 'gmarik/vundle'
call plug#begin('~/.vim/bundle')
" Define bundles via Github repos
Plug 'kchmck/vim-coffee-script'
"Plug 'nanki/treetop.vim'
"Plug 'timcharper/textile.vim'
Plug 'tpope/vim-cucumber'
Plug 'tpope/vim-endwise'
Plug 'tpope/vim-fugitive'
"Plug 'tpope/vim-haml'
Plug 'tpope/vim-markdown'
Plug 'tpope/vim-rails'
Plug 'tpope/vim-surround'
Plug 'tpope/vim-speeddating'
Plug 'tpope/vim-bundler'
Plug 'raysrashmi/vim-matchit'
"Plug 'vim-scripts/ctags.vim'
Plug 'vim-scripts/greplace.vim'
"Plug 'vim-scripts/tComment'
"Plug 'vim-scripts/taglist.vim'
Plug 'xenoterracide/html.vim'
Plug 'altercation/vim-colors-solarized'
Plug 'lifepillar/vim-solarized8'
Plug 'scrooloose/syntastic'
Plug 'rstacruz/sparkup'
Plug 'scrooloose/nerdtree'
Plug 'kien/ctrlp.vim'
Plug 'airblade/vim-gitgutter'
Plug 'juvenn/mustache.vim'
Plug 'nono/vim-handlebars'
Plug 'austintaylor/vim-indentobject'
Plug 'pangloss/vim-javascript'
Plug 'rmanalan/jshint.vim'
Plug 'vim-scripts/kwbdi.vim'
Plug 'tpope/vim-pastie'
Plug 'uarun/vim-protobuf'
Plug 'tpope/vim-ragtag'
Plug 'tpope/vim-repeat'
Plug 'mileszs/ack.vim'
Plug 'vim-ruby/vim-ruby'
Plug 'msanders/snipmate.vim'
Plug 'majutsushi/tagbar'
Plug 'leafgarland/typescript-vim'
Plug 'tpope/vim-unimpaired'
Plug 'nathanaelkane/vim-indent-guides'
Plug 'slim-template/vim-slim'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'tmux-plugins/vim-tmux-focus-events'
Plug 'tmux-plugins/vim-tmux'
" Plug 'christoomey/vim-tmux-navigator'
Plug 'joshdick/onedark.vim'
Plug 'sheerun/vim-polyglot'
Plug 'dense-analysis/ale'
packadd! dracula_pro
call plug#end()
filetype plugin indent on
augroup vimrcEx
au!
" For all text files set 'textwidth' to 78 characters.
autocmd FileType text setlocal textwidth=78
" When editing a file, always jump to the last known cursor position.
" Don't do it when the position is invalid or when inside an event handler
" (happens when dropping a file on gvim).
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
augroup END
" Softtabs, 2 spaces
set tabstop=2
set shiftwidth=2
set expandtab
" Display extra whitespace
set list listchars=tab:»·,trail:·
" Local config
if filereadable(".vimrc.local")
source .vimrc.local
endif
" Use Ack instead of Grep when available
if executable("ack")
set grepprg=ack\ -H\ --nogroup\ --nocolor
endif
" Color scheme
"
if has('gui_running')
set background=light
else
set background=dark
endif
set term=xterm-256color
if exists('+termguicolors')
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
set termguicolors
endif
"highlight NonText guibg=#060606
"highlight Folded guibg=#0A0A0A guifg=#9090D0
"highlight SignColumn ctermbg=8
let g:indent_guides_auto_colors = 0
autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd ctermbg=10
autocmd VimEnter,Colorscheme * :hi IndentGuidesEven ctermbg=0
" Numbers
set number
set numberwidth=5
" Snippets are activated by Shift+Tab
let g:snippetsEmu_key = "<S-Tab>"
" Tab completion
" will insert tab at beginning of line,
" will use completion if not at beginning
set wildmode=list:longest,list:full
set complete=.,w,t
function! InsertTabWrapper()
let col = col('.') - 1
if !col || getline('.')[col - 1] !~ '\k'
return "\<tab>"
else
return "\<c-p>"
endif
endfunction
inoremap <Tab> <c-r>=InsertTabWrapper()<cr>
" Exclude Javascript files in :Rtags via rails.vim due to warnings when parsing
let g:Tlist_Ctags_Cmd="ctags --exclude='*.js'"
" Index ctags from any project, including those outside Rails
map <Leader>ct :!ctags -R .<CR>
" Cucumber navigation commands
autocmd User Rails Rnavcommand step features/step_definitions -glob=**/* -suffix=_steps.rb
autocmd User Rails Rnavcommand config config -glob=**/* -suffix=.rb -default=routes
" :Cuc my text (no quotes) -> runs cucumber scenarios containing "my text"
command! -nargs=+ Cuc :!ack --no-heading --no-break <q-args> | cut -d':' -f1,2 | xargs bundle exec cucumber --no-color
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif
" Switch between the last two files
nnoremap <leader><leader> <c-^>
" Treat <li> and <p> tags like the block tags they are
let g:html_indent_tags = 'li\|p'
" Markdown files end in .md
au BufRead,BufNewFile *.md set filetype=markdown
" Enable spellchecking for Markdown
au BufRead,BufNewFile *.md setlocal spell
" Automatically wrap at 80 characters for Markdown
au BufRead,BufNewFile *.md setlocal textwidth=80
" rspec mappings
map <Leader>t :call RunCurrentSpecFile()<CR>
map <Leader>s :call RunNearestSpec()<CR>
map <Leader>l :call RunLastSpec()<CR>
function! RunCurrentSpecFile()
if InSpecFile()
let l:command = "s " . @% . " -f documentation"
call SetLastSpecCommand(l:command)
call RunSpecs(l:command)
endif
endfunction
function! RunNearestSpec()
if InSpecFile()
let l:command = "s " . @% . " -l " . line(".") . " -f documentation"
call SetLastSpecCommand(l:command)
call RunSpecs(l:command)
endif
endfunction
function! RunLastSpec()
if exists("t:last_spec_command")
call RunSpecs(t:last_spec_command)
endif
endfunction
function! InSpecFile()
return match(expand("%"), "_spec.rb$") != -1
endfunction
function! SetLastSpecCommand(command)
let t:last_spec_command = a:command
endfunction
function! RunSpecs(command)
execute ":w\|!clear && echo " . a:command . " && echo && " . a:command
endfunction
nmap <leader>I :IndentGuidesToggle<CR><CR>
nmap <leader>d :NERDTreeToggle<CR>
nmap <leader>f :NERDTreeFind<CR>
nmap <leader>b :CtrlPBuffer<CR>
nmap <leader>t :CtrlP<CR>
nmap <leader>T :CtrlPClearCache<CR>:CtrlP<CR><CR>
nmap <leader>] :TagbarToggle<CR>
nmap <leader><space> :call Strip_trailing()<CR>
nmap <leader>g :GitGutterToggle<CR>
nmap <leader>c <Plug>Kwbd
let g:ctrlp_match_window = 'order:ttb,max:20'
let g:NERDSpaceDelims=1
let g:gitgutter_enabled = 1
let g:gitgutter_highlight_lines = 0
let g:gitgutter_realtime = 4000
set signcolumn=yes
let g:airline_symbols = {}
let g:airline_skip_empty_sections = 1
let g:airline_left_sep = ''
let g:airline_left_alt_sep = ''
let g:airline_right_sep = ''
let g:airline_right_alt_sep = ''
let g:airline_symbols.branch = ''
let g:airline_symbols.readonly = ''
let g:airline_symbols.linenr = '☰ '
let g:airline_symbols.maxlinenr = ''
let g:airline_symbols.whitespace = '☲ '
let g:airline_symbols.notexists = ' Ɇ'
let g:airline_symbols.dirty = ' '
let g:airline_symbols.crypt = ''
let g:airline_theme = 'simple'
let g:solarized_termtrans = 1
let g:solarized_extra_hi_groups = 1
let g:indent_guides_guide_size = 1
let g:indent_guides_enable_on_vim_startup = 1
let g:indent_guides_default_mapping = 0
let g:indent_guides_exclude_filetypes = ['help', 'nerdtree']
let g:dracula_colorterm = 1
let g:dracula_bold = 1
let g:dracula_italic = 1
let g:dracula_underline = 1
let g:dracula_undercurl = 1
let g:dracula_inverse = 1
set t_ku=OA
set t_kd=OB
set t_kr=OC
set t_kl=OD
" Use The Silver Searcher https://github.com/ggreer/the_silver_searcher
if executable('ag')
let g:ackprg = 'ag --nogroup --column'
" Use Ag over Grep
set grepprg=ag\ --nogroup\ --nocolor
" Use ag in CtrlP for listing files. Lightning fast and respects .gitignore
let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""'
endif
" thanks to http://vimcasts.org/e/4
function! Strip_trailing()
let previous_search=@/
let previous_cursor_line=line('.')
let previous_cursor_column=col('.')
%s/\s\+$//e
let @/=previous_search
call cursor(previous_cursor_line, previous_cursor_column)
endfunction
" strip trailing whitespace on Ruby buffer saves
augroup whitespace
autocmd BufWritePre *.rb call Strip_trailing()
augroup END
if (has("nvim"))
"For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 >
let $NVIM_TUI_ENABLE_TRUE_COLOR=1
endif
colorscheme dracula_pro_van_helsing

47
dot_zshenv Normal file
View file

@ -0,0 +1,47 @@
# Documentation: https://github.com/romkatv/zsh4humans/blob/v5/README.md.
#
# Do not modify this file unless you know exactly what you are doing.
# It is strongly recommended to keep all shell customization and configuration
# (including exported environment variables such as PATH) in ~/.zshrc or in
# files sourced from ~/.zshrc. If you are certain that you must export some
# environment variables in ~/.zshenv, do it where indicated by comments below.
if [ -n "${ZSH_VERSION-}" ]; then
: ${ZDOTDIR:=~}
setopt no_global_rcs
if [[ -o no_interactive && -z "${Z4H_BOOTSTRAPPING-}" ]]; then
return
fi
setopt no_rcs
unset Z4H_BOOTSTRAPPING
# If you are certain that you must export some environment variables
# in ~/.zshenv (see comments at the top!), do it here:
#
# export GOPATH=$HOME/go
#
# Do not change anything else in this file.
fi
Z4H_URL="https://raw.githubusercontent.com/romkatv/zsh4humans/v5"
: "${Z4H:=${XDG_CACHE_HOME:-$HOME/.cache}/zsh4humans/v5}"
umask o-w
if [ ! -e "$Z4H"/z4h.zsh ]; then
mkdir -p -- "$Z4H" || return
>&2 printf '\033[33mz4h\033[0m: fetching \033[4mz4h.zsh\033[0m\n'
if command -v curl >/dev/null 2>&1; then
curl -fsSL -- "$Z4H_URL"/z4h.zsh >"$Z4H"/z4h.zsh.$$ || return
elif command -v wget >/dev/null 2>&1; then
wget -O- -- "$Z4H_URL"/z4h.zsh >"$Z4H"/z4h.zsh.$$ || return
else
>&2 printf '\033[33mz4h\033[0m: please install \033[32mcurl\033[0m or \033[32mwget\033[0m\n'
return 1
fi
mv -- "$Z4H"/z4h.zsh.$$ "$Z4H"/z4h.zsh || return
fi
. "$Z4H"/z4h.zsh || return
setopt rcs

189
dot_zshrc Normal file
View file

@ -0,0 +1,189 @@
# Personal Zsh configuration file. It is strongly recommended to keep all
# shell customization and configuration (including exported environment
# variables such as PATH) in this file or in files sourced from it.
#
# Documentation: https://github.com/romkatv/zsh4humans/blob/v5/README.md.
# Periodic auto-update on Zsh startup: 'ask' or 'no'.
# You can manually run `z4h update` to update everything.
zstyle ':z4h:' auto-update 'yes'
# Ask whether to auto-update this often; has no effect if auto-update is 'no'.
zstyle ':z4h:' auto-update-days '28'
# Move prompt to the bottom when zsh starts and on Ctrl+L.
zstyle ':z4h:' prompt-at-bottom 'yes'
# Keyboard type: 'mac' or 'pc'.
zstyle ':z4h:bindkey' keyboard 'mac'
# Mark up shell's output with semantic information.
zstyle ':z4h:' term-shell-integration 'no'
# Right-arrow key accepts one character ('partial-accept') from
# command autosuggestions or the whole thing ('accept')?
zstyle ':z4h:autosuggestions' forward-char 'accept'
# Recursively traverse directories when TAB-completing files.
zstyle ':z4h:fzf-complete' recurse-dirs 'no'
# Enable direnv to automatically source .envrc files.
zstyle ':z4h:direnv' enable 'yes'
# Show "loading" and "unloading" notifications from direnv.
zstyle ':z4h:direnv:success' notify 'yes'
# Enable ('yes') or disable ('no') automatic teleportation of z4h over
# SSH when connecting to these hosts.
zstyle ':z4h:ssh:example-hostname1' enable 'yes'
zstyle ':z4h:ssh:*.example-hostname2' enable 'no'
# The default value if none of the overrides above match the hostname.
zstyle ':z4h:ssh:*' enable 'no'
# Send these files over to the remote host when connecting over SSH to the
# enabled hosts.
zstyle ':z4h:ssh:*' send-extra-files '~/.nanorc' '~/.env.zsh'
# Move the cursor to the end when Up/Down fetches a command from history?
zstyle ':zle:up-line-or-beginning-search' leave-cursor 'yes'
zstyle ':zle:down-line-or-beginning-search' leave-cursor 'yes'
# Clone additional Git repositories from GitHub.
#
# This doesn't do anything apart from cloning the repository and keeping it
# up-to-date. Cloned files can be used after `z4h init`. This is just an
# example. If you don't plan to use Oh My Zsh, delete this line.
z4h install ohmyzsh/ohmyzsh || return
z4h source $Z4H/ohmyzsh/plugins/gpg-agent/gpg-agent.plugin.zsh
export GPG_AGENT_INFO="~/.gnupg/S.gpg-agent:$(pgrep gpg-agent):1"
#unset SSH_AUTH_SOCK
zstyle :omz:plugins:ssh-agent agent-forwarding on
zstyle :omz:plugins:ssh-agent identities id_ed25519 id_ed25519_sk_5c1 id_ed25519_sk_5cnfc1 id_ed25519_sk_5cnfc2
# Install or update core components (fzf, zsh-autosuggestions, etc.) and
# initialize Zsh. After this point console I/O is unavailable until Zsh
# is fully initialized. Everything that requires user interaction or can
# perform network I/O must be done above. Everything else is best done below.
z4h init || return
# Export environment variables.
export ZSH_CUSTOM=~/.credentials
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
# Extend PATH.
path=(~/bin /usr/local/opt/python@3.9/bin /opt/homebrew/opt/curl/bin /opt/homebrew/bin $path)
# Export environment variables.
export GPG_TTY=$TTY
# Source additional local files if they exist.
z4h source ~/.env.zsh
# Use additional Git repositories pulled in with `z4h install`.
#
# This is just an example that you should delete. It does nothing useful.
#z4h source $Z4H/ohmyzsh/ohmyzsh/lib/diagnostics.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/lib/clipboard.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/lib/functions.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/lib/directories.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/lib/grep.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/ansible/ansible.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/aws/aws.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/brew/brew.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/common-aliases/common-aliases.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/colorize/colorize.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/copybuffer/copybuffer.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/copydir/copydir.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/copyfile/copyfile.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/cp/cp.plugin.zsh
# z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/debian/debian.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/direnv/direnv.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/docker/docker.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/doctl/doctl.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/encode64/encode64.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/extract/extract.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/gem/gem.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/git/git.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/git-extras/git-extras.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/git-lfs/git-lfs.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/helm/helm.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/httpie/httpie.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/jsontools/jsontools.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/jump/jump.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/kubectl/kubectl.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/mosh/mosh.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/nmap/nmap.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/macos/macos.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/perms/perms.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/profiles/profiles.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/rvm/rvm.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/ssh-agent/ssh-agent.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/singlechar/singlechar.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/sudo/sudo.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/systemadmin/systemadmin.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/tmux/tmux.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/vscode/vscode.plugin.zsh
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/web-search/web-search.plugin.zsh
# Define key bindings.
z4h bindkey z4h-backward-kill-word Ctrl+Backspace Ctrl+H
z4h bindkey z4h-backward-kill-zword Ctrl+Alt+Backspace
z4h bindkey undo Ctrl+/ Shift+Tab # undo the last command line change
z4h bindkey redo Alt+/ # redo the last undone command line change
z4h bindkey z4h-cd-back Alt+Left # cd into the previous directory
z4h bindkey z4h-cd-forward Alt+Right # cd into the next directory
z4h bindkey z4h-cd-up Alt+Up # cd into the parent directory
z4h bindkey z4h-cd-down Alt+Down # cd into a child directory
# Autoload functions.
autoload -Uz zmv
# Define functions and completions.
function md() { [[ $# == 1 ]] && mkdir -p -- "$1" && cd -- "$1" }
compdef _directories md
# Define named directories: ~w <=> Windows home directory on WSL.
[[ -z $z4h_win_home ]] || hash -d w=$z4h_win_home
# Define aliases.
alias tree='tree -a -I .git'
# Add flags to existing aliases.
# alias ls="${aliases[ls]:-ls} -A"
# Set shell options: http://zsh.sourceforge.net/Doc/Release/Options.html.
setopt glob_dots # no special treatment for file names with a leading dot
setopt no_auto_menu # require an extra TAB press to open the completion menu
# aliases
if [ -e "$HOME/.aliases" ]; then
source "$HOME/.aliases"
fi
# Add flags to existing aliases.
alias ls="${aliases[ls]:-ls} -g"
# look for ey config in project dirs
export EYRC=./.eyrc
source "$HOME/.zshsyntax"
#ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=red'
#ZSH_HIGHLIGHT_STYLES[path]='fg=7'
#ZSH_HIGHLIGHT_STYLES[single-hyphen-option]='fg=magenta'
#ZSH_HIGHLIGHT_STYLES[double-hyphen-option]='fg=magenta'
if [ -e "$HOME/.rvm/scripts/rvm" ]; then
source "$HOME/.rvm/scripts/rvm"
fi
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"
eval $(thefuck --alias)
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="$HOME/.sdkman"
[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"

4
yt-dlp.conf Normal file
View file

@ -0,0 +1,4 @@
# Lines starting with # are comments
# Do not copy the mtime
--no-mtime