text:
@base          <http://trith.org/lang/> .
@prefix trith: <http://trith.org/lang/> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix dc:    <http://purl.org/dc/terms/> .
@prefix foaf:  <http://xmlns.com/foaf/0.1/> .
@prefix doap:  <http://usefulinc.com/ns/doap#> .

<> a owl:Ontology ;
  rdfs:label         "Trith" ;
  rdfs:comment       "Trith vocabulary."@en ;
  rdfs:seeAlso       <http://datagraph.org/bendiken/foaf> ;
  foaf:maker         <http://ar.to/#self> ;
  dc:creator         "Arto Bendiken" ;
  dc:modified        "2010-05-23" .

trith:Operator a owl:Class, rdfs:Class ;
  rdfs:isDefinedBy   <> ;
  rdfs:subClassOf    rdfs:Resource ;
  rdfs:label         "Operator" ;
  rdfs:comment       ""@en .

trith:Primitive a owl:Class, rdfs:Class ;
  rdfs:isDefinedBy   <> ;
  rdfs:subClassOf    trith:Operator ;
  rdfs:label         "Primitive" ;
  rdfs:comment       ""@en .

trith:Function a owl:Class, rdfs:Class ;
  rdfs:isDefinedBy   <> ;
  rdfs:subClassOf    trith:Operator ;
  rdfs:label         "Function" ;
  rdfs:comment       ""@en .

trith:arity a owl:DatatypeProperty, rdf:Property ;
  rdfs:isDefinedBy   <> ;
  rdfs:domain        trith:Operator ;
  rdfs:range         xsd:integer ;
  rdfs:label         "label" ;
  rdfs:comment       ""@en .

trith:code a owl:ObjectProperty, rdf:Property ;
  rdfs:isDefinedBy   <> ;
  rdfs:domain        trith:Operator ;
  rdfs:range         rdf:List ;
  rdfs:label         "code" ;
  rdfs:comment       ""@en .

repo_name: trith/trith

repo_language: Ruby

mime_type: text/plain


text:
Some background reading materials for understanding Trith.

General
=======

Books
-----

* [Thinking Forth: A Language and Philosophy for Solving Problems][Brodie] by Leo Brodie
* [Lambda-Calculus and Combinators: An Introduction][HindleySeldin] by Roger Hindley and Jonathan P. Seldin
* [Purely Functional Data Structures][Okasaki] by Chris Okasaki

[Brodie]:         http://thinking-forth.sourceforge.net/
  "Brodie, L. 'Thinking Forth: A Language and Philosophy for Solving Problems' (1984)"
[HindleySeldin]:  http://www.cambridge.org/catalogue/catalogue.asp?isbn=9780521898850
  "Hindley, J. R., and Seldin, J. P. 'Lambda-Calculus and Combinators: An Introduction' (2008)"
[Okasaki]:        http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf
  "Okasaki, C. 'Purely Functional Data Structures' (1996)"

Papers
------

* [Why Functional Programming Matters][WhyFP] by John Hughes
* [Mathematical Foundations of Joy][JoyMath] by Manfred von Thun
* [Linear Logic and Permutation Stacks -- The Forth Shall Be First][ForthStack] by Henry Baker
* [Lively Linear Lisp -- 'Look Ma, No Garbage!'][LinearLisp] by Henry Baker
* ['Use-Once' Variables and Linear Objects][Use1Var] by Henry Baker

[WhyFP]:          http://www.cs.chalmers.se/~rjmh/Papers/whyfp.html
  "Hughes, J. 'Why Functional Programming Matters' (1989)"
[JoyMath]:        http://www.latrobe.edu.au/philosophy/phimvt/joy/j02maf.html
  "von Thun, M. 'Mathematical Foundations of Joy' (2002)"
[Use1Var]:        http://www.pipeline.com/~hbaker1/Use1Var.html
  "Baker, H.G. 'Use-Once Variables and Linear Objects -- Storage Management, Reflection and Multi-Threading' (Jan 1995)"
[ForthStack]:     http://www.pipeline.com/~hbaker1/ForthStack.html
  "Baker, H.G. 'Linear Logic and Permutation Stacks -- The Forth Shall Be First' (Mar 1994)"
[LQsort]:         http://www.pipeline.com/~hbaker1/LQsort.html
  "Barke, H.G. 'A Linear Logic Quicksort' (Feb 1994)"
[ObjectIdentity]: http://www.pipeline.com/~hbaker1/ObjectIdentity.html
  "Baker, H.G. 'Equal Rights for Functional Objects or, The More Things Change, The More They Are the Same' (Oct 1993)"
[LinearLisp]:     http://www.pipeline.com/~hbaker1/LinearLisp.html
  "Baker, H.G. 'Lively Linear Lisp -- Look Ma, No Garbage!' (Aug 1992)"
[LazyAlloc]:      http://www.pipeline.com/~hbaker1/LazyAlloc.html
  "Baker, H.G. 'CONS Should not CONS its Arguments, or, a Lazy Alloc is a Smart Alloc' (Mar 1992)"

Articles
--------

* [A Conversation with Manfred von Thun](http://www.nsl.com/papers/interview.htm)

JVM
===

LLVM
====

Tutorials
---------

* [Stacker: An Example Of Using LLVM](http://llvm.org/releases/2.3/docs/Stacker.html)


text: SUBDIRS = man


text:
man_MANS   = man1/3th.1 man1/3sh.1 man1/3vm.1 man1/3cc.1 man3/libtrith.3 man7/trith.7
EXTRA_DIST = $(man_MANS)


text:
.TH 3VM 1 "December 2010" "Trith" "Trith Manual"
.SH NAME
\fB3vm\fP \-\- the Trith virtual machine runtime
.SH SYNOPSIS
\fB3vm\fP [options] [\fIfile\fR...]
.SH DESCRIPTION
TODO
.SH OPTIONS
TODO
.SH EXIT STATUS
The \fB3vm\fP program exits with 0 on success, and with >0 if an error
occurs.
.SH ENVIRONMENT
TODO
.SH FILES
TODO
.SH NOTES
TODO
.SH BUGS
TODO
.SH EXAMPLES
TODO
.SH SEE ALSO
.BR 3th (1),
.BR 3sh (1),
.BR 3cc (1),
.BR trith (7)


text:
.TH 3TH 1 "December 2010" "Trith" "Trith Manual"
.SH NAME
\fB3th\fP \-\- the Trith package manager
.SH SYNOPSIS
\fB3th\fP [\fB\-\-version\fR] [\fB\-\-help\fR] \fIcommand\fR [\fIargs\fR...]
.SH DESCRIPTION
TODO
.SH OPTIONS
TODO
.SH EXIT STATUS
The \fB3th\fP program exits with 0 on success, and with >0 if an error
occurs.
.SH ENVIRONMENT
TODO
.SH FILES
TODO
.SH NOTES
TODO
.SH BUGS
TODO
.SH EXAMPLES
TODO
.SH SEE ALSO
.BR 3sh (1),
.BR 3vm (1),
.BR 3cc (1),
.BR trith (7)


text:
.TH 3CC 1 "December 2010" "Trith" "Trith Manual"
.SH NAME
\fB3cc\fP \-\- the Trith compiler
.SH SYNOPSIS
\fB3cc\fP [options] [\fIfile\fR...]
.SH DESCRIPTION
TODO
.SH OPTIONS
TODO
.SH EXIT STATUS
The \fB3cc\fP program exits with 0 on success, and with >0 if an error
occurs.
.SH ENVIRONMENT
TODO
.SH FILES
TODO
.SH NOTES
TODO
.SH BUGS
TODO
.SH EXAMPLES
TODO
.SH SEE ALSO
.BR 3th (1),
.BR 3sh (1),
.BR 3vm (1),
.BR trith (7)


text:
.TH 3SH 1 "December 2010" "Trith" "Trith Manual"
.SH NAME
\fB3sh\fP \-\- the Trith interactive shell and interpreter
.SH SYNOPSIS
\fB3sh\fP [options] [\fIfile\fR...]
.SH DESCRIPTION
TODO
.SH OPTIONS
TODO
.SH EXIT STATUS
The \fB3sh\fP program exits with 0 on success, and with >0 if an error
occurs.
.SH ENVIRONMENT
TODO
.SH FILES
TODO
.SH NOTES
TODO
.SH BUGS
TODO
.SH EXAMPLES
TODO
.SH SEE ALSO
.BR 3th (1),
.BR 3vm (1),
.BR 3cc (1),
.BR trith (7)


text:
.TH TRITH 7 "December 2010" "Trith" "Trith Manual"
.SH NAME
\fBtrith\fP \-\- an experimental concatenative programming language
.SH SYNOPSIS
\fB3th\fP [\fB\-\-version\fR] [\fB\-\-help\fR] \fIcommand\fR [\fIargs\fR...]
.br
\fB3cc\fP [options] [\fIfile\fR...]
.br
\fB3sh\fP [options] [\fIfile\fR...]
.br
\fB3vm\fP [options] [\fIfile\fR...]
.SH DESCRIPTION
TODO
.SH OPERATORS
TODO
.SS Core Operators
TODO
.SS Sequence Operators
TODO
.SS Math Operators
TODO
.SH ENVIRONMENT
TODO
.SH FILES
TODO
.SH NOTES
TODO
.SH BUGS
Please report bugs to the mailing list at \fB<trith@googlegroups.com>\fP
.SH AUTHOR
Arto Bendiken <arto@bendiken.net>
.SH SEE ALSO
.BR 3th (1),
.BR 3sh (1),
.BR 3vm (1),
.BR 3cc (1),
.BR libtrith (3)


text:
.TH LIBTRITH 3 "December 2010" "Trith" "Trith Manual"
.SH NAME
\fBlibtrith\fP \-\- the Trith embeddable runtime library
.SH LIBRARY
Trith (libtrith, \-ltrith)
.SH SYNOPSIS
.B #include <trith.h>
.SH DESCRIPTION
TODO
.SH ERRORS
TODO
.SH NOTES
TODO
.SH BUGS
TODO
.SH EXAMPLES
TODO
.SH SEE ALSO
.BR trith (7)


text:
#!/usr/bin/env 3vm
stack print


text:
#!/usr/bin/env 3vm
stack [num] map 0 [+] foldl print


text:
#!/usr/bin/env 3vm
"Hello, world!" print


text:
# Mercari Engineering Ladder

The Engineering Ladder was created for Mercari engineers to have a consistent culture and overall alignment as an engineering organization.

This is a framework for visualizing and evaluating the behavior and competency of engineers.

The Mercari Engineering Ladder is only one piece of a larger initiative to promote Mercari engineer's continuous improvement and career development. It should be used as a support tool in addition to regular management practices like 1:1s between engineers and their managers, regular feedback and conversations about alignment and growth, quarterly goal setting and bi-annual performance reviews.

## Purpose

1. Have a holistic and objective framework for performance reviews and feedback.
2. Give engineers a career perspective and a clear guideline for growth.
3. Achieve consistency on engineering culture and standards, not only inside Mercari but also in our hiring process.

## How to read and interpret the ladder

The expectations described in this ladder should be the basis for self-assessment, feedback, and calibration. Using ladder as a basis, managers and members can be on the same page.

Engineers are able to tell which competencies they possess, or not, based on the ladder. This should be helpful to make improvement plan or to demonstrate their competencies.

Some expectations won't fit 100% for all engineering roles. For example, SRE engineers may not necessarily deal with CS inquiries directly; not every engineer will be placed in on-call tasks to handle incidents. Therefore the ladder should not be taken literally, and instead members should consider only parts that are applicable to their work. The most important thing is to align the expectations with your manager or counterpart.

## Grades

The Engineering Ladder describes the expectations with regards to an engineer’s competencies and behaviors for an assigned grade. There are 8 grades of expectations (however, we have only 6 grade descriptions so far)

We understand that growth is not linear or streamlined, and we don't expect everyone will grow in the same ways or at the same pace. We celebrate and encourage diversity.
It's expected that engineers will demonstrate appropriate competencies at different grades.

### Competencies and scaling

Competencies scale through scope of influence / impact (from impacting only your own work to impacting your team, multiple teams, the whole engineering organization or the whole company)
Competencies also scale through increased frequency or consistency (from "sometimes" to "usually" to "consistently" demonstrating the competency)
Some competencies only scale through a limited number of grades, e.g. because they hit a growth limit at certain points. In these cases, the same description may be used across several grades.

## Contribution

This repository is provided READ ONLY and no contribution is accepted.

To Mercari members
This repository is maintained by the Engineering Office. If you have any requests for changes, please contact the Engineering Office

## License

WIP

repo_name: mercari/mercari-engineering-ladder


text:
# MG5
###### Mercari Engineering Career Ladder

 * [Bold Challenges](#bold-challenges)
 * [Vision](#vision)
 * [Priorities / Direction](#priorities--direction)
 * [Teamwork](#teamwork)
 * [Ownership](#ownership)
 * [Expertise](#expertise)

## Bold Challenges
Creates innovative solutions **that impact the product or organization.**

**Encourages everyone in their company to act without fear of risks, trying something first and having the result inform the next decision.**

**Exerts wide influence throughout their company, communicates the importance of taking action even in new and difficult situations, and leads the way in taking on new challenges.**

### [Engineering Manager Skills]

Identifies issues **within their company** and thinks of and implements methods to drive solutions.

**Helps set challenging goals for the company to solve organizational issues, as well as boosts the company's performance,** taking into account **the situation across the organization.**

**Helps foster** a culture that welcomes new challenges **without fear of failure across their company.**

## Vision
**Uses data and reliable facts to make decisions that positively impact the business as part of company-level development.**

**Thinks about what actions their company should take in order to achieve the company’s goals and encourages teams and projects to execute them.**

**Leads the way to ensure that engineers understand and agree on the company’s organizational strategy and works to earn the cooperation of all engineers in the company in working toward the company's goals.**

### [Engineering Manager Skills]

**Designs the best metrics (time/cost/effort) to guide company-wide technical decisions, bringing the most value to our end users.**

**Sets goals and roadmaps for their company and helps other EMs to understand the strategy and set their own goals.**

## Priorities / Direction
**Participates in deciding technical policies and specifications involving the entire product and enhances the value of the product in company-level development.**

Understands thoroughly **their company’s entire product and participates in discussing the roles of and interactions between domains with market impact in mind.**

Possesses strong skills and experience **to boost productivity in the long term and helps** increase productivity **across their company by leveraging and sharing that knowledge with others.**

### [Engineering Manager Skills]

**Comprehends and promotes understanding of work and business decisions made across the company and how they might impact value delivery to end users.**

**Helps other EMs with quality management across the company. Implements cross-company** practices to continuously deliver business value while maintaining or increasing quality.

**In company-level development, achieves greater results by considering the balance between results and costs.**

## Teamwork
**Resolves conflicts between development teams in their company** and finds solutions that satisfy the concerns of stakeholders **in company-level development.**

**Encourages other engineers within their company to grow through praise and constructive feedback, and acts as a role model for delivering effective feedback.**

Is accountable for **company-level development, gains** understanding and cooperation from those around them, **and builds trust.**
**Works to gather a wide range of individuals who share belief in the company’s mission, to help create a diverse, strong company.**

### [Engineering Manager Skills]

Encourages members **across** their **company** to value different opinions and diverse ideas.

Mentors their team members **and other EMs** in an open and respectful manner; improves onboarding for engineers **on the company level.**

Connects different members and projects across their entire **company** to solve issues.

## Ownership
**Promotes documentation and process standardization**, information and knowledge sharing, and **fosters a culture of applying these practices across the company.**
**Examples: Proposes and implements best practices for the entire company and contributes to the projects and committees related to them**

Investigates risks, coordinates with relevant teams **across their company**, and takes necessary measures.

Investigates and **proposes** ways to improve **development efficiency and practices at the company level; Leads the implementation of improvements & best practices across the company.**

### [Engineering Manager Skills]

Contributes to standardization of information-sharing processes and promotes knowledge sharing, to create an environment where knowledge is effectively utilized **within the company.**

Encourages engineers across **their company** to take ownership of their work.

Encourages **their entire company** to conduct failure analysis focused on the process, not on individuals.

## Expertise
Learns and applies new knowledge **even outside of the scope of** their role, **in addition to highly-specialized technical knowledge.**
**Encourages engineers across the company to share** technical information and **acts as a role model for said sharing.**

**Acts as a role model for how to write code.**
**Sets standards for how to do code reviews and systematic debugging and acts as an advisor on how to solve issues in coding and perform difficult releases.**

**Known as an expert in** programming languages, frameworks, libraries, design patterns, Mercari’s infrastructure domains, and more.
**Designs code for** expected use cases **and operation and** leads design for development **on a company level.**

### [Engineering Manager Skills]

**Strategically manages stakeholders and deadlines to ensure** time for self-improvement **for engineers across the company, thereby fostering a culture of learning.**

Learns and applies **upper-management skills**, such as **strategic planning, long-term** goal setting, **management of managers, and efficient coaching.**


text:
# MG6
###### Mercari Engineering Career Ladder

 * [Bold Challenges](#bold-challenges)
 * [Vision](#vision)
 * [Priorities / Direction](#priorities--direction)
 * [Teamwork](#teamwork)
 * [Ownership](#ownership)
 * [Expertise](#expertise)

## Bold Challenges
**Comes up with unprecedented solutions and ideas in specific areas and innovates with new products/features.**

**Encourages all, even those outside of their company, to take calculated risks and to learn from mistakes.**

**Takes on technical challenges across companies and contributes to creating an environment that encourages engineers across the group to** step out of their comfort zones.

### [Engineering Manager Skills]

Identifies issues **involving multiple companies** and thinks of and implements methods to drive solutions.

**Sets** challenging goals for the company **that are recognized even outside of the company and helps boost the group’s performance.**

Helps foster a culture that welcomes new challenges without fear of failure across **the group.**

## Vision
**Makes decisions positively impacting the business, based on data and reliable facts, in development across companies.**

**Understands the goals and strategies of both their company and others and encourages organizations across companies to take action to help achieve the group’s goals.**

Leads the way to ensure that **all companies** understand and agree on the **group’s** organizational strategy and works to earn the cooperation of all engineers in **the group** in working toward the **group’s** goals.

### [Engineering Manager Skills]

Designs **and applies** the best metrics (time/cost/effort) to guide company-wide technical decisions, bringing the most value to our end users.

**Understands long-term group goals and the strategies and reasoning behind them; is an opinion leader when it comes to defining goals and milestones for development across companies.**

**Works with engineering leaders and comes up with major strategies for the future.**

## Priorities / Direction
**Decides** technical policies and specifications **for development across companies that** enhance the value of the product in **the long term, as well as leads the company to achieve business goals.**

**Known by those around them as an expert in domain knowledge, using that knowledge to participate in creating business strategies for large-scale market impact.**

**Helps create a highly productive organization and product and is recognized for those contributions by engineers both in their company and in others.**

### [Engineering Manager Skills]

**Fosters a culture that encourages engineers across the group to understand the user perspective and works across the group to deliver high-quality products.**

**Recognized as an expert in their field in quality management and release management.**

**In development across companies**, achieves greater results by considering the balance between results and costs.

## Teamwork
Resolves conflicts between **companies in development across companies and creates mechanisms to prevent disputes between teams.**

**Encourages engineers both in** their company **and in others to give** constructive feedback and **fosters a culture in which engineers leverage each other’s strengths to help each other grow.**

**Trusted by even those in other companies.**
**Builds trust with a wide range of people both inside and outside of the company and contributes to creating a strong engineering organization through recruiting and other activities.**

### [Engineering Manager Skills]

Encourages **engineers across the group** to value different opinions and diverse ideas **and comes up with solutions incorporating the opinions of members within the group.**

**Works to train new mentors across the organization and provides other EMs with opportunities to grow their career and learn new skills.**

**Communicates appropriately to achieve goals in development across companies.**

## Ownership
Promotes documentation and standardization, information and knowledge sharing, and fosters a culture of applying these practices across the **group.**

Investigates risks **in development across companies and is recognized as a risk management expert in the group.**

**Encourages engineers across the group to focus on the process, not on individual responsibilities, and leads efforts to solve issues involving multiple companies.**

### [Engineering Manager Skills]

Contributes to standardization of information-sharing processes and promotes knowledge sharing, to create an environment where knowledge is effectively utilized  within the **group.**

Encourages engineers across **the entire group** to take ownership of their work.

**Helps foster a culture of psychological safety across the group by ensuring that analysis of issues is** focused on the process and not on individuals.

## Expertise
Learns and applies new knowledge even outside of the scope of their role, **such as expert-level technology and cutting-edge research.**
Encourages engineers across **the group** to share technical information and acts as a role model for such sharing.

**Recognized by those around them as an expert in coding in certain domains.**
Sets standards for how to do code reviews and systematic debugging and acts as an advisor on how to solve issues for coding and perform difficult releases **across companies.**

**Recognized throughout the group as an architect and is an expert in software design.**
Leads design **and improvements** for development **across companies with their broad knowledge and outlook.**

### [Engineering Manager Skills]

**Ensures that** self-improvement **is part of engineering culture within Mercari Group.**

Learns and applies **executive-level** management skills, such as **long-term vision setting,** strategic planning, long-term goal setting, management of managers, and coaching.

**Shows strong leadership, inspiring engineers both inside and outside the company to challenge themselves and grow.**


text:
# MG2
###### Mercari Engineering Career Ladder

 * [Bold Challenges](#bold-challenges)
 * [Vision](#vision)
 * [Priorities / Direction](#priorities--direction)
 * [Teamwork](#teamwork)
 * [Ownership](#ownership)
 * [Expertise](#expertise)

## Bold Challenges
**Thinks outside the box and proposes solutions to technical challenges and ongoing feature development.**

**Thinks of approaches to testing based on hypotheses and proposes them to their team in order to test new ideas.**

**Accepts uncertainty and challenges themself to take on seemingly difficult tasks in order to grow and achieve results.**

## Vision
**When making decisions, lists the pros and cons of multiple solutions based on data and facts to determine which one is the most suitable.**

**Takes action in accordance with** their team’s goals, the company’s values, and the organizational vision.

**Autonomously considers how they can contribute to achieving their team or project’s goals and sets their own goals to do so.**

## Priorities / Direction
**Understands the value their team provides to end users and gives their team feedback about their work’s impact on the user experience.**

Explains how their team’s domain **contributes to** the product **and how the product impacts the industry.**

**Prioritizes and breaks down their tasks,** utilizing **various** methods to improve their productivity.
**Examples: Reusing existing resources, using tools, automation**

## Teamwork
**Handles disagreements with proper consideration and respect towards the** other members **involved; is open to changing their mind.**

**Delivers** praise and **constructive feedback.**

Listens to others, **pays attention to nonverbal communication, and builds** strong relationships with their teammates, manager, **and product counterparts.**

## Ownership
**Not only creating documentation for their team, but improves the team's documentation as needed.**
**Understands and explains the importance of sharing knowledge and information.**

**Investigates risks discovered and escalates issues to senior members.**

**Proactively makes efforts** to improve their work **based on investigations and discussions.**

## Expertise
**Selects,** learns, and applies new technical knowledge/skills relevant to their work.

**Resolves bugs or issues with minimal guidance.**
**Actively participates in** code reviews and can follow release procedures with **no guidance.**

Knows the programming languages, frameworks, libraries, and domain of their platform and develops minor functions **on their own.**


text:
# MG3
###### Mercari Engineering Career Ladder

 * [Bold Challenges](#bold-challenges)
 * [Vision](#vision)
 * [Priorities / Direction](#priorities--direction)
 * [Teamwork](#teamwork)
 * [Ownership](#ownership)
 * [Expertise](#expertise)

## Bold Challenges
Thinks outside the box and **creates** solutions **with little or no guidance.**

**Goes beyond just discussions to take the lead in using technical approaches with a focus on incremental delivery as necessary;**
**analyzes the results and uses them to make future decisions.**

**Knows the importance of going out of one’s comfort zone and how to deal with uncertainty, and helps engineers around them step out of their comfort zones.**

### [Engineering Manager Skills]

Identifies issues within their team and thinks of and implements methods to drive solutions.

Knows their team members’ capabilities and sets challenging goals for the team accordingly; balances risks, bold challenges, and results to boost their team’s performance.

Fosters a blameless team culture that welcomes new challenges.

## Vision
**Predicts results and formulates hypotheses** based on data and **credible evidence to lead decision-making within their team or project.**

**Actively communicates** the team’s goals and **supports engineers around them to help achieve the team’s goals.**

**Involves themselves in creating team/project goals and formulating technical strategies.**

### [Engineering Manager Skills]

Considers necessary trade-offs between requirements, timelines, and technical approaches when making decisions.

Understands the division’s goals, the company’s values, and the organizational vision, helping to move the team toward those goals.

## Priorities / Direction
**Understands thoroughly how the product is being used, works as a counterpart of the PM, decides on technical specifications in line with their business goals, and contributes to enhancing the value of the product.**

**Understands thoroughly the role of** their team’s domain, **how it is connected to related domains, and its importance to the business, and helps those around them deepen their understanding of the domain as well.**

**Possesses productivity-boosting skills and experience, which they share with their fellow members to help increase the productivity of the entire team.**
**Examples: Knowledge of performance optimization and memory management**

### [Engineering Manager Skills]

Knows the impact their team's work has on end users and the industry, shares the user’s perspective with their team, and creates an environment where members can continuously communicate with PMs to align goals.

Applies their deep knowledge of quality management to implementing practices that enable their team to continuously deliver business value while maintaining or increasing quality.

Defines the resources the team needs to solve issues while making sure results are appropriate to the costs.

## Teamwork
**Turns disagreements within their team/project into constructive discussions and guides these discussions to better conclusions.**

**Actively seeks feedback from those around them, utilizes** praise and constructive feedback, **and mentors new team members.**

**Makes sure that they are accountable for development and consistently earns understanding and cooperation from others.**
**Builds trust with people both inside and outside the company, and works to gather others to join them.**

### [Engineering Manager Skills]

Values different opinions and diverse ideas, and encourages everyone in their team to do the same in order to maintain high psychological safety.

Delegates tasks to promote skill growth and takes responsibility for onboarding new members.

Connects different members and projects across teams to solve issues.

## Ownership
**Uses appropriate processes, methods, and tools to share relevant and useful information about their team and related projects with other members.**
**Examples: Leverages methods such as post-incident analysis (post-mortem), pros/cons lists, decision matrices, etc.**

Investigates risks **and creates and carries out contingency plans for the future.**

**Continuously makes improvements by investigating and discussing ways** to improve their **team’s** work.
**Addresses failures or discovered issues by making improvements focused on the process, not on individual responsibilities.**

### [Engineering Manager Skills]

Contributes to standardization of information-sharing processes and promotes knowledge sharing, to create an environment where knowledge is effectively utilized within the team.

Encourages everyone in the team to take ownership of their work.

Encourages failure analysis focused on the process, not on individuals.

## Expertise
**Shares knowledge with and teaches techniques to engineers around them. Knows the importance of tech outreach and shares useful information inside and outside the company.**

**Has deep knowledge of the code and uses that knowledge in actively doing** code reviews **for the team.**
**Suggests new guidelines and ways to improve systematic debugging; resolves technical issues and bugs with large impact.**

**Has deep knowledge of** the programming languages, frameworks, libraries, and domain of their platform; **appropriately carries out abstractions and code isolation.**
**Takes charge of designing new development projects and suggests ways to improve existing code/features.**

### [Engineering Manager Skills]

Encourages members to create personal growth OKRs and makes sure the team workload allows members to use some time for self-improvement (study groups, conferences, reading, etc.).

Learns and applies management skills such as communication skills, goal setting, and one-on-one/performance review frameworks.


text:
# MG4
###### Mercari Engineering Career Ladder

 * [Bold Challenges](#bold-challenges)
 * [Vision](#vision)
 * [Priorities / Direction](#priorities--direction)
 * [Teamwork](#teamwork)
 * [Ownership](#ownership)
 * [Expertise](#expertise)

## Bold Challenges
**In development involving multiple teams**, thinks outside the box and creates **innovative solutions.**

**In a development involving multiple teams, leads in taking on challenging issues and techniques by** using technical approaches with a focus on incremental delivery.

**Consistently takes on new challenges, doesn’t fear high levels of** uncertainty, and helps engineers around them **and on other teams** step out of their comfort zones.

### [Engineering Manager Skills]

Identifies issues **across multiple teams** and thinks of and implements methods to drive solutions.

**Boosts their team’s performance by collaborating with other teams to achieve goals, taking into account other teams' situations.**

Fosters a blameless culture that welcomes new challenges **across multiple teams.**

## Vision
**Seeks data-backed evidence through proofs of concept (POC), tests, and external research and leads fact-based decision-making in development involving multiple teams.**

**Works with other teams to help achieve goals based on the organizational strategy, considering the interests of both their own team and teams around them.**

**Leads consensus among development teams regarding product direction and prioritization while consulting stakeholders across multiple job types and teams.**

### [Engineering Manager Skills]

Considers necessary trade-offs between requirements, timelines, and technical approaches.

Understands the division’s goals, the company’s values, and the organizational vision, helping to move **multiple teams** toward those goals.

**Makes long-term team goals and a roadmap to illustrate the organizational strategy.**

## Priorities / Direction
**Understands product status, issues, and the backlog of teams around them and leads product improvements accordingly.**

**Understands thoroughly the domains of their team and related teams and leads specification design discussions that require complex domain knowledge.**

Possesses **strong** productivity-boosting skills and experience, which they **use** to help increase the productivity of **members from other teams they work with.**
**Examples: Iterative/autonomous development, scalable development, experience in infrastructure domains**

### [Engineering Manager Skills]

Knows the impact their team’s **and other team’s** work has on end users and the industry **and applies and** shares the user perspective **across teams.**

**Balances quality and delivery across teams and implements cross-team practices** to continuously deliver business value while maintaining or increasing quality.

**Makes** sure results are appropriate to the costs **for development involving multiple teams.**

## Teamwork
**Encourages engineers on their own team and others to have** constructive discussions and **finds solutions that satisfy the concerns of stakeholders on multiple teams.**

**Utilizes feedback to guide members of their own team and of other teams, encouraging those member’s growth.**

**Is** accountable for development **involving multiple teams and** earns understanding and cooperation from **those around them.**
**Always focuses on building** trust with people both inside and outside the company, and works to gather **other talented individuals.**

### [Engineering Manager Skills]

**Encourages members beyond their team to** value different opinions and diverse ideas; **mediates disagreements and finds an agreeable solution for each party.**

**Mentors their team members in an open and respectful manner; goes beyond their team to improve onboarding for engineers.**

Connects different members and projects across **their entire division** to solve issues.

## Ownership
**Contributes to standardization of information-sharing processes, or uses them to document and share high-impact information that is used across multiple teams or projects.**
**Examples: Proposing improvements, presenting at meetings, and creating tools, documents or guidelines for their division**

Investigates risks, **coordinates with relevant teams, and takes necessary measures.**
**Boosts risk management awareness among their team.**

**Investigates and discusses** ways to improve their team **and other teams, taking the lead to implement work/process improvements & best practices in projects involving multiple teams.**

### [Engineering Manager Skills]

Contributes to standardization of information-sharing processes and promotes knowledge sharing, to create an environment where knowledge is effectively utilized **across multiple teams or projects.**

Encourages **engineers across multiple teams** to take ownership of their work.

Encourages **multiple teams to conduct** failure analysis focused on the process, not on individuals.

## Expertise
**Learns and applies new knowledge relevant to their role, such as specialized domain skills and architecture.**
**Communicates high-quality technical information and encourages others to do the same.**

Has deep knowledge of the code and **takes responsibility for** doing code reviews for **teams or projects.**
**Knows how to read and understand difficult coding and existing code with large impact to assist the understanding and growth of engineers across teams.**

Has deep knowledge of **and experience using** programming languages, frameworks, libraries, **design patterns, Mercari’s infrastructure domains, and more.**
**Based on expected use cases, designs code in a way that minimizes the cost of future changes/investigations; leads design for development involving multiple teams.**

### [Engineering Manager Skills]

Encourages members to create personal growth OKRs and makes sure the team workload allows members to use some time for self-improvement (study groups, conferences, reading, etc.).

Learns and applies **high-level** management skills such as **inclusive** communication skills **for diverse teams,** goal setting **according to each member's level**, and **effective** one-on-one/performance review frameworks.


text:
# MG1
###### Mercari Engineering Career Ladder

 * [Bold Challenges](#bold-challenges)
 * [Vision](#vision)
 * [Priorities / Direction](#priorities--direction)
 * [Teamwork](#teamwork)
 * [Ownership](#ownership)
 * [Expertise](#expertise)

## Bold Challenges
Explains that there are always multiple solutions for a given problem.

Explains that even when they don’t have enough data to realize an idea, they can test it by creating proofs of concept (POC) and other methods.

Takes on work outside of their comfort zone with help from those around them, even in uncertain situations.

## Vision
Explains how to gather information necessary for making decisions.
Some examples are: logging data, A/B tests.

Explains their team’s goals, the company’s values, and the organizational vision.

Explains the objective and reasons behind the problems they are solving or the features they are developing.

## Priorities / Direction
Understands the basic usage of the product and can explain the value their work provides to end users.

Explains how their team’s domain and the company’s product make a profit and provide value to users as a business.

Completes small, defined engineering tasks within a reasonable amount of time, utilizing methods to improve their productivity while receiving help from those around them.
Examples: Source control, editors, the build system, best practices for testing

## Teamwork
Explains their ideas and opinions to other members clearly and respectfully.

Explains that praise and feedback are useful when delivered in a kind manner.

Listens to others and makes their best effort to understand them, in order to build strong relationships with their teammates and manager.

## Ownership
Can find and leverage the knowledge required for their work.
Creates documents relevant to their team for information sharing.

Explains the importance of security and risk management.

Listens to suggestions from others and utilizes them to improve their work.

## Expertise
Learns new technical knowledge/skills relevant to their work and applies them with help from those around them.
Examples: Programming languages, frameworks, testing, debugging, writing readable code

Writes code with help from those around them, following their team’s guidelines while paying attention to the organization of the code, testability, readability, edge cases, and errors.
Understands other members’ code reviews and can follow release procedures with some guidance.

Knows the basics of the programming languages, frameworks, libraries, and domain of their platform and, with help from those around them, designs minor functions taking into account interface compatibility and scalability.


text:
# MG5
###### Mercari Engineering Career Ladder

 * [Bold Challenges](#bold-challenges)
 * [Vision](#vision)
 * [Priorities / Direction](#priorities--direction)
 * [Teamwork](#teamwork)
 * [Ownership](#ownership)
 * [Expertise](#expertise)

## Bold Challenges
**プロダクトや組織に影響を与える**、革新的なソリューション**を生み出している。**

**リスクを恐れて行動しない状況から抜け出し、まず実行して次の判断に繋げることをカンパニー全体に後押ししている。**

**カンパニーに広く影響し、前例がなく難易度の高い状況でも、行動することの重要性を発信しチャレンジをリードしている。**

### [Engineering Manager Skills]

**カンパニー**の課題を発見し、解決を推進する方法を考えて実施している。

**組織課題のためのチャレンジングなカンパニーの目標設定に影響力を持っており、組織全体**の状況を考慮しながら**カンパニーのパフォーマンスを加速できる。**

**カンパニー全体で失敗を恐れずチャレンジする文化の醸成に貢献している。**

## Vision
**カンパニー規模の開発で、データや信頼できる事実に基づき、事業に良い影響を与えるための**意思決定**をしている。**

**カンパニーの目標を達成するため、カンパニー全体で取り組むべきアクションを考え、実行に向けて各チームやPJに働きかけている。**

**カンパニーの組織戦略をエンジニアが理解し合意できるようにリードしたり、目標へ向かってカンパニー内のエンジニアが協力できるように取り組んでいる。**

### [Engineering Manager Skills]

**お客さまへ最大の価値を提供するような会社規模の技術的な意思決定を導くため、最も良い指標（時間・コスト・工数）を設定できる。**

**カンパニーの目標とロードマップを設定し、他のEMが戦略を理解し目標設定を行うことをサポートしている。**

## Priorities / Direction
**カンパニー規模の開発で、プロダクト全体に関わる技術方針や仕様の決定に関わり、プロダクトの価値を向上させている。**

**カンパニーのプロダクト全体について**深く理解し、**それらが市場へ与えるインパクトを見据えて、ドメイン同士の関わり方や役割の検討に関わっている。**

**長期的に**生産性を高めるための深い知識と経験を持ち、**それらを踏まえた開発や発信をすることで、カンパニー全体の**生産性向上に貢献している。

### [Engineering Manager Skills]

**会社規模での業務やビジネス上の意思決定、それらがお客さまへの価値提供にどのような影響を与えうるかを把握し、また周囲の理解を促進している。**

**会社全体で他のEMに対してクオリティマネジメントのサポートをしている。**
品質の維持・向上に努めながら、企業価値を常に提供するために**会社**横断的な行動を起こしている。

**カンパニー規模の開発で**、成果とコストのバランス**を考慮したうえで大きな成果をだしている。**

## Teamwork
**カンパニー内の開発チーム間のコンフリクトを解決したり、カンパニー規模の開発で**ステークホルダーが抱える懸念を考慮した解決策に導いている。

**カンパニー内のエンジニアに対し、建設的なフィードバックや称賛によって成長を促進しており、フィードバックの仕方においてロールモデルといえるような人物である。**

**カンパニー規模の開発で**説明責任を果たし、周囲の理解と協力を得る**中で、信頼関係を構築している**。
**ミッションに共感できる仲間を幅広く**集めるための行動をし、**多様性があり強い会社をつくるために貢献している。**

### [Engineering Manager Skills]

**カンパニー内で**、自分と異なる意見や多様な考え方を尊重することを促している。

オープンで相手を尊重する姿勢でメンバー**や他のEMを**指導しており、**カンパニー規模で**エンジニアのオンボーディング改善を行なっている。

課題解決のために、**カンパニー**全体のさまざまなメンバーやプロジェクトを繋げられる。

## Ownership
**カンパニー内の文書化やプロセスの標準化**、情報・知識共有の促進に貢献し、**それらを文化として醸成している。**
**例：カンパニー全体へベストプラクティスを提案して実行したり、これらを実行および改善するプロジェクトや委員会を主導して貢献する**

リスク調査を行い、関係するチームと**カンパニー内で**連携し必要な対応ができている。

**カンパニー規模の開発で開発効率の向上や改善の**ため調査や**提案**を行い、**カンパニー全体で**改善やベストプラクティスとしてまとめるための取り組みをリードしている。

### [Engineering Manager Skills]

情報共有プロセスの標準化に貢献し、情報・知識の共有を促進することで、**カンパニー内**で知識が効果的に活用される環境を整えている。

**カンパニーの**エンジニアがそれぞれの業務に対してオーナーシップを持つよう促している。

個人ではなくプロセスに対して課題分析することを**カンパニー全体へ**促している。

## Expertise
**高度な専門技術に関する知識に加え**、自分の役割**の範囲に限らず、新しいことを**学び実践している。
**カンパニー全体のエンジニアに技術情報の発信を促進し、その模範となる行動をしている。**

**他のエンジニアの模範となるようなコードを書ける。**
**コードレビューや体系的なデバッグに関する基準を定めたり、コーディングの問題解決や難易度の高いリリースに関して助言をしている。**

開発言語やフレームワーク、ライブラリー、デザインパターン、社内の基盤ドメインなどの**エキスパートである。**
期待されているユースケースや**運用を見据えた設計ができ、カンパニー規模の開発で**設計をリードしている。

### [Engineering Manager Skills]

**ステークホルダーや期限を戦略的に管理し、エンジニアの自己研鑽のために、カンパニー全体で時間を確保するなど学習の文化を醸成している。**

**戦略策定、長期のゴール設定、マネージャー達のマネジメント、効果的なコーチングといったものに関する、上級管理職としての**スキルを学び実践している。


text:
# MG6
###### Mercari Engineering Career Ladder

 * [Bold Challenges](#bold-challenges)
 * [Vision](#vision)
 * [Priorities / Direction](#priorities--direction)
 * [Teamwork](#teamwork)
 * [Ownership](#ownership)
 * [Expertise](#expertise)

## Bold Challenges
**特定の領域において、前例がないようなソリューションやアイデアを考え、新しいプロダクトや機能で変革を起こせる。**

**リスクを踏まえた上で、立ち止まらずに行動することの重要性や、失敗から学ぶ姿勢を、カンパニーを超えて促進している。**

**カンパニーを超えた技術的チャレンジを推進しており、グループ内のエンジニアがコンフォートゾーンを抜け出すための環境作りに貢献している。**

### [Engineering Manager Skills]

**複数カンパニーに関わる**課題を発見し、解決を推進する方法を考えて実施している。

**社外でも認知されうるような、会社のための**チャレンジングな**目標を設定し、グループのパフォーマンス向上に貢献している。**

**グループ**全体で失敗を恐れずチャレンジする文化の醸成に貢献している。

## Vision
**複数カンパニーをまたぐ**開発で、データや信頼できる事実に基づき、事業に良い影響を与えるための意思決定をしている。

**グループの**目標を達成するため、**カンパニー内外の目標や戦略を理解し、カンパニーを超えて各組織へ働きかけることで目標達成に貢献している。**

**グループ**の組織戦略を**各カンパニー**が理解し合意できるようにリードしたり、目標へ向かって**グループ**内のエンジニアが協力できるように取り組んでいる。

### [Engineering Manager Skills]

お客さまへ最大の価値を提供するような会社規模の技術的な意思決定を導くため、最も良い指標（時間・コスト・工数）を設定**し活用している。**

**グループの長期目標および戦略と背景を理解しており、複数のカンパニーが関わる開発のゴールやマイルストーンの設定における、オピニオンリーダーである。**

**エンジニアリングにおけるリーダー達と協力し、将来的な大きな戦略を考えている。**

## Priorities / Direction
**複数カンパニーをまたぐ開発で、プロダクトの長期的な価値向上を見据え**、技術方針や仕様の決定**を行い、ビジネスゴールの達成をリードしている。**

**ドメイン知識のエキスパートとして周囲から認められており、その知識を使って市場へ大きなインパクトを与えるためのビジネス戦略に関っている。**

**生産性が高い組織、プロダクトを作るために貢献しており、カンパニー内外のエンジニアにその貢献が認知されている。**

### [Engineering Manager Skills]

**グループ全体のエンジニアへ対して、顧客視点を理解しようとする文化の醸成をしており、グループを通してハイクオリティなプロダクトを提供できるよう努めている。**

**クオリティマネジメントや、リリースマネジメントにおいて、その分野で認知されている第一人者である。**

**複数カンパニーをまたぐ**開発で、成果とコストのバランスを考慮したうえで大きな成果をだしている。

## Teamwork
**複数のカンパニーをまたぐ開発でカンパニー間の**コンフリクトを解決したり、**部門間の対立が起きないような仕組みを構築している。**

カンパニー**内外のエンジニアへ**建設的なフィードバック**を促進したり、エンジニアがお互いの強みを活かし高め合う文化を醸成している。**

カンパニー**を超えて信頼されるエンジニアである。**
**社内外問わず、幅広い**信頼関係を構築**し、採用などを通して強いエンジニア組織の構築に**貢献している。

### [Engineering Manager Skills]

**グループのエンジニアに**自分と異なる意見や多様な考え方を尊重することを促して**おり、グループ内でメンバーの意見を取り入れて解決策を考えられる。**

**複数のカンパニーを横断して新しいメンターの育成に取り組み、他のEMに対して、キャリア成長の環境やスキルを学ぶ機会を提供できる。**

**複数カンパニーをまたぐ開発で、目標達成に向けて適切なコミュニケーションをしている。**

## Ownership
**カンパニーを超えて**文書化やプロセスの標準化、情報・知識共有の促進に貢献し、それらを文化として醸成している。

**複数のカンパニーをまたぐ開発で**リスク調査を行**っており、グループにおけるリスクマネジメントの専門家だと認知されている。**

**個人の責任ではなくプロセスにフォーカスすることをグループ内のエンジニアへ促進したり、複数カンパニーに関わる課題に対して**改善への取り組みをリードしている。

### [Engineering Manager Skills]

情報共有プロセスの標準化に貢献し、情報・知識の共有を促進することで、**グループ内**で知識が効果的に活用される環境を整えている。

**グループ全体**のエンジニアが、それぞれの業務に対してオーナーシップを持つよう促している。

個人ではなくプロセスに対して課題分析することで、**グループ全体で心理的安全性の保たれた文化の醸成に貢献している。**

## Expertise
**専門家レベルの技術や最先端の研究など**、自分の役割の範囲に限らず、新しいことを学び実践している。
**グループの**エンジニアに技術情報の発信を促進し、その模範となる行動をしている。

**特定の分野のコーディングにおいて、エキスパートとして周囲から認められている。**
**カンパニーを超えて**コードレビューや体系的なデバッグに関する基準を定めたり、コーディングの問題解決や難易度の高いリリースに関して助言をしている。

**アーキテクトとしてグループ内で幅広く認知されており、ソフトウェアデザインの**エキスパートである。
**幅広い知識と視野をもち、複数グループをまたぐ開発の設計や改善**をリードしている。

### [Engineering Manager Skills]

**自己研鑽の時間をグループ内のエンジニアの文化として確保している。**

**長期のビジョン設定や**、戦略策定、長期ゴール設定、マネージャー達のマネジメント、コーチング**といった経営レベルの**スキルを学び実践している。

**社内外でエンジニアの成長を促すための環境を作るために、強いリーダーシップを見せている。**


text:
# MG2
###### Mercari Engineering Career Ladder

 * [Bold Challenges](#bold-challenges)
 * [Vision](#vision)
 * [Priorities / Direction](#priorities--direction)
 * [Teamwork](#teamwork)
 * [Ownership](#ownership)
 * [Expertise](#expertise)

## Bold Challenges
**既存の考え方に縛られず、進行中の機能開発や技術的課題を解決する方法を提案している。**

**新しいアイデアを試すために、仮説を元に検証する方法を考え、チームに提案している。**

**不確実性を許容でき、自分には難しいと感じる仕事に対しても、成長機会や成果のためにチャレンジしている。**

## Vision
**意思決定の際にソリューションの長所・短所をデータや事実を元に挙げ、どれが最適か判断している。**

チームの目標、会社のバリュー、組織のビジョン**に従って行動している。**

**チームや担当するPJの目標達成に対し、自分がどう貢献できるかを自律的に考え、目標を設定している。**

## Priorities / Direction
**自分のチーム**がお客さまに提供する価値を理解し**ており、ユーザ体験への影響を考慮し、チームに意見を伝えられる。**

チームのドメイン**がプロダクトにどのように貢献しているか、そしてプロダクトが業界に与える影響**を理解し、説明できる。

**自分が担当するタスクの優先順位づけや分解ができ、生産性向上の手法を理解して実践している。**
**例：リソースの再利用、ツールの利用、自動化**

## Teamwork
**他のメンバーと意見の相違がある場合も健全な方法で解決している。意見を変更することに対してオープンである。**

称賛や**建設的な**フィードバックを**行う方法を理解し、実践している。**

**周りの意見に耳を傾け、非言語的なコミュニケーションに注意を払い**、チームメンバー、マネージャー、**プロダクト側のカウンターパートと**強い信頼関係を構築**している。**

## Ownership
**チームのドキュメントの作成だけでなく、必要に応じてドキュメントの改善をしている。**
**知識や情報を共有することの重要性を理解し、説明できる。**

**リスク調査を行い、発見した課題をシニアメンバーにエスカレーションできる。**

**調査や議論に基づき、積極的に自身の業務改善に取り組んでいる。**

## Expertise
業務に関連する技術的な知識やスキルを、**自ら選択して**学び実践している。

**最小限のアドバイスで、バグや技術的課題を解決している。**
**率先してコードレビューを行い、アドバイスなしで**リリースプロセスを理解・実行している。

自分のプラットフォームの開発言語、フレームワーク、ライブラリ、ドメインに関する**知識を持ち**、小さい機能の**開発を一人で行っている。**


text:
# MG3
###### Mercari Engineering Career Ladder

 * [Bold Challenges](#bold-challenges)
 * [Vision](#vision)
 * [Priorities / Direction](#priorities--direction)
 * [Teamwork](#teamwork)
 * [Ownership](#ownership)
 * [Expertise](#expertise)

## Bold Challenges
**アドバイスがほとんどない、もしくは全くない状況でも**、既存の考え方に縛られず**ソリューションを創出している。**

**議論を重ねるだけでなく、必要に応じてインクリメンタルな開発を意識した技術的アプローチを行うことをリードしている。その結果を分析し、次の判断に活かしている。**

**コンフォートゾーンを抜け出すことの重要性や不確実性への対処法を理解しており、周りのエンジニアがコンフォートゾーンを抜け出すための手助けをしている。**

### [Engineering Manager Skills]

チームの課題を発見し、解決を推進する方法を考えて実施している。

メンバーの能力を把握してチャレンジングなチーム目標を設定し、チームのリスク、チャレンジ、成果のバランスを管理し、パフォーマンスを向上させている。

個人に対する非難のない、チャレンジしやすいチーム文化を醸成している。

## Vision
**データや信頼できる根拠をもとに結果や仮説を予想し、チームや関わるPJで意思決定をリードしている。**

チームの目標**を積極的に発信したり、周りのエンジニアをサポートすることでチームの目標達成のために貢献している。**

チームや担当するPJの**目標作成や技術的な戦略策定に関わっている。**

### [Engineering Manager Skills]

要件、スケジュール、技術的アプローチのトレードオフに基づいて意思決定している。

Divisionの目標、会社のバリュー、組織のビジョンを理解し、チーム全体が目的達成に向かって進むことを手助けしている。

## Priorities / Direction
**プロダクトがどう使われているかを深く理解した上で、PMと共にビジネスゴールを達成するための技術仕様を決定し、プロダクトの価値向上に貢献している。**

チームのドメイン**の役割や、関連ドメインとの関わり方、それらのビジネス上の重要性を深く理解しており、周囲のドメイン理解を深める手助けをしている。**

**生産性向上のために、自分なりのスキル、経験を持ち、それを周りのメンバーに共有することで、チーム全体の生産性向上に貢献している。**
**例：パフォーマンス最適化やメモリ管理の知識**

### [Engineering Manager Skills]

チームの業務がお客さまや業界にどのような影響を与えるかを理解し、お客さま視点をチームに共有したり、目標のためにPMと継続的に協力できる環境を作っている。

品質管理への深い知識に基づき、品質の維持・向上に努めながら、企業価値を常に提供するためにチームで行動を起こしている。

課題解決に必要なリソースを明確にし、成果とコストのバランスを取っている。

## Teamwork
**チームや関連するPJ内で**意見の相違が**あっても、建設的な議論を経てより良い解決策に導いている。**

**周りからのフィードバックを積極的に求め**、称賛や建設的なフィードバックを**活用して、新しいチームメンバーを指導できる。**

**開発のために説明責任を果たし、理解と協力を得ることを意識している。社内外問わず信頼関係を築き、仲間を集めるための行動をしている。**

### [Engineering Manager Skills]

自分と異なる意見や多様な考え方を尊重し、チームの全員にも同じことを促すことで、心理的安全性を維持している。

メンバーにタスクを任せてスキル向上を促したり、責任を持って新メンバーのオンボーディングに取り組んでいる。

課題解決のために、さまざまなチームのメンバーやプロジェクトを繋げられる。

## Ownership
**チームや関連するPJ内の情報を、適切なプロセスや方法、ツールを活用して他のメンバーと共有している。**
**例：インシデント時の事後分析（ポストモーテム）、Pros/Consの評価、意思決定マトリクスなどの活用**

リスク調査を行い、**将来的なコンティンジェンシープランを考えて実行できる。**

**チームの課題を把握し、改善のため**調査や議論**を行い、改善への取り組みをリードしている。失敗や課題発見を元に、個人の責任ではなくプロセスにフォーカスして改善している。**

### [Engineering Manager Skills]

情報共有プロセスの標準化に貢献し、情報・知識の共有を促進することで、チーム内で知識が効果的に活用される環境を整えている。

チームの全員にそれぞれの業務に対してオーナーシップを持つよう促している。

個人ではなくプロセスに対する課題分析を奨励している。

## Expertise
**学んだ知識や技術を周りのエンジニアに教えたり共有している。技術発信の重要性を意識し、社内外問わず有益な情報を発信している。**

**コードに対する深い知識を持ち、その知識をもって積極的にチームのコードレビューを行っている。**
**新しいガイドラインや体系的なデバッグ手法の改善提案ができ、影響範囲の大きい**バグや技術的課題を解決している。

自分のプラットフォームの開発言語、フレームワーク、ライブラリ、ドメイン**に関して深い知識があり、抽象化や、コードの責務分けを適切に行っている。**
**新規開発の設計を担当したり、既存のコードや機能に対して改善提案をしている。**

### [Engineering Manager Skills]
個人の成長に繋がるOKR設定をメンバーに促し、チームの業務量を管理・調整し、メンバーが自己成長（勉強会、カンファレンス、読書など）に時間を使える環境を作れる。

コミュニケーションスキル、目標設定、1on1やパフォーマンス面談の実施方法などのマネジメントスキルを学び実践している。


text:
# MG4
###### Mercari Engineering Career Ladder

 * [Bold Challenges](#bold-challenges)
 * [Vision](#vision)
 * [Priorities / Direction](#priorities--direction)
 * [Teamwork](#teamwork)
 * [Ownership](#ownership)
 * [Expertise](#expertise)

## Bold Challenges
**複数のチームが関わる開発において**、既存の考え方に縛られず、**革新的な**ソリューションを創出している。

**複数のチームが関わる開発で**、インクリメンタルな開発を意識した技術的アプローチを行う**など、難しい課題や手法へのチャレンジをリードしている。**

**未知へのチャレンジを常に行い、不確実性が高いことを厭わず、チームを超えて**エンジニアがコンフォートゾーンを抜け出すための手助けをしている。

### [Engineering Manager Skills]

**複数**チームの課題を発見し、解決を推進する方法を考えて実施している。

**目標を達成するために他のチームと協力し、他のチームの状況を考慮しながら**パフォーマンスを向上させている。

**複数のチームに対して**、個人に対する非難のないチャレンジしやすい文化を醸成している。

## Vision
**概念実証（PoC）、テスト、外部調査を通してデータに裏付けされたエビデンスを探し、複数のチームが関わる開発で、事実を根拠にした**意思決定をリードしている。

**組織戦略に基づき、自分のチームの利益だけなく周りのチームの利益も踏まえた上で、他チームと協力して目標達成に貢献している。**

**職種やチームを超えたステークホルダーと相談しながら、プロダクトの方向性や優先順位に関する開発チーム間の合意をリードしている。**

### [Engineering Manager Skills]

要件、スケジュール、技術的アプローチのトレードオフに基づいて意思決定している。

Divisionの目標、会社のバリュー、組織のビジョンを理解し、**複数の**チームが目的達成に向かって進むことを手助けしている。

**組織戦略を明らかにするために、長期的なチーム目標や、ロードマップを作成している。**

## Priorities / Direction
**自分のチームだけでなく、周りのチームに関連するプロダクトの状況や課題、バックログを理解したうえで、プロダクトの改善をリードしている。**

**チームおよび関連するチームのドメインについて深く理解しており、複雑なドメイン知識を要する仕様設計の議論をリードしている。**

**生産性を高めるための深い知識と経験を持ち、チームを超えて、一緒に働くメンバーの**生産性向上に貢献している。
**例：反復型・自律的開発、将来のスケールを見越した開発、基盤ドメインの経験**

### [Engineering Manager Skills]

**自分のチームだけでなく他のチームがお客さまや業界に与える影響を理解し、お客さま視点をさまざまなチームに適用および共有できる。**

**複数のチームにおいて品質とデリバリーのバランスを確保することができ**、品質の維持・向上に努めながら企業価値を常に提供するために**チーム横断的な**行動を起こしている。

**複数のチームが関わる開発で**、成果とコストのバランスを取っている。

## Teamwork
建設的な議論を**自分や他のチームのエンジニアに促したり、複数のチームのステークホルダーが抱える懸念を考慮した**解決策に導いている。

フィードバックを活用して**自分のチームメンバーや他チームのメンバーを**指導**し、成長を促せる。**

**複数のチームが関わる開発で**説明責任を果たし、**周囲の**理解と協力を得られる。
社内外問わず信頼関係**の構築を常に意識し、優秀な**仲間を集めるための行動をしている。

### [Engineering Manager Skills]

**チームの垣根を超えて**、自分と異なる意見や多様な考え方を尊重**することを促し、もし意見の相違があっても各当事者が納得できる解決策を見つけられる。**

**オープンで相手を尊重する姿勢でメンバーを指導しており、チームを超えてエンジニアのオンボーディング改善を行なっている。**

課題解決のために、**Divison全体の**さまざまなメンバーやプロジェクトを繋げられる。

## Ownership
**情報共有プロセスの標準化に貢献したり、複数のチームやプロジェクトで影響力の大きい情報を文書化して共有している。**
**例：所属組織へのプロポーザル作成、会議での発表、ツールやガイドライン、文書の作成など**

リスク調査を行い、**関係するチームと連携して必要な対応ができている。チーム内のリスクマネジメントに対する意識を向上させている。**

**自分のチームに限らず、課題解決**のため調査や議論を行い、改善**やベストプラクティスとしてまとめるため**の取り組みをリードしている。

### [Engineering Manager Skills]

情報共有プロセスの標準化に貢献し、情報・知識の共有を促進することで、**複数のチームやプロジェクト**で知識が効果的に活用される環境を整えている。

**チームの垣根を超えて、エンジニアが**それぞれの業務に対してオーナーシップを持つよう促している。

個人ではなくプロセスに**対して課題分析することを複数のチームへ促している。**

## Expertise
**専門領域のスキルやアーキテクチャなど、自分の役割に関連する新しい知識を学び実践している。**
**質の高い技術情報を発信し、周りにも同様の姿勢を促せる。**

コードに対する深い知識を持ち、**チームやPJのコードレビューに責任をもっている。**
**難易度が高いコーディングや**、影響範囲の大きい**既存コードの読み解きを行うことができ、チームを超えてエンジニアの理解と成長を助けている。**

開発言語やフレームワーク、ライブラリー、**デザインパターン、社内の基盤ドメインなどの**深い知識**と経験を持っている。**
**期待されているユースケースを元に修正コストや調査コストを抑えた設計ができ、複数のチームが関わる開発で設計をリードしている。**

### [Engineering Manager Skills]

個人の成長に繋がるOKR設定をメンバーに促し、チームの業務量を管理・調整し、メンバーが自己成長（勉強会、カンファレンス、読書など）に時間を使える環境を作れる。

**多様なチームに必要なインクルーシブな**コミュニケーションスキル、**チームメンバーのレベルに合った**目標設定、1on1やパフォーマンス面談**の効果的な**実施方法など、**高度な**マネジメントスキルを学び実践している。


text:
# MG1
###### Mercari Engineering Career Ladder

 * [Bold Challenges](#bold-challenges)
 * [Vision](#vision)
 * [Priorities / Direction](#priorities--direction)
 * [Teamwork](#teamwork)
 * [Ownership](#ownership)
 * [Expertise](#expertise)

## Bold Challenges
課題に対する解決策は、常に複数存在しうることを理解し、説明できる。

アイデアの実現に向けて十分なデータが集まらない時でも、概念実証（PoC）などを実施して試す方法があることを理解し、説明できる。

不確実性が高い状況でも、周囲の手助けを得ながら、自分のコンフォートゾーンの範囲外の仕事に取り組んでいる。

## Vision
意思決定に必要な情報を集める方法を理解し、説明できる。
例：ロギングデータの活用, A/Bテストを実行するコード

チームの目標、会社のバリュー、組織のビジョンを理解し、説明できる。

課題解決や機能開発において、目的や開発の理由を理解し、説明できる。

## Priorities / Direction
プロダクトの基本的な使い方を理解しており、担当している仕事がお客さまに提供する価値を理解し、説明できる。

チームのドメイン及び会社のプロダクトが、どのように利益をあげ、どのような価値を提供しているビジネスなのかを理解し、説明できる。

周囲の手助けを得ながら、生産性を向上する方法を活用し、適当な期間内に定義された小規模のエンジニアリングタスクを遂行している。
例：ソースコントロール、エディタ、ビルドシステム、テストの手法

## Teamwork
意見やアイデアを、相手に敬意を払いながら、理解しやすく説明している。

称賛やフィードバックを丁寧に行うことの有用性を理解し、説明できる。

チームメンバーやマネージャーと強い信頼関係を構築するため、周りの意見に耳を傾け、他者理解に努めている。

## Ownership
自分の業務に必要な情報を探し、活用できる。
情報共有のために自分のチームに関連するドキュメントを作成している。

セキュリティやリスクマネジメントの重要性を理解し、説明できる。

周囲からのアドバイスを受け入れて、業務改善に活かせる。

## Expertise
業務に関連する技術的な知識やスキルを、周囲の手助けを得ながら学び実践している。
例：開発言語、フレームワーク、テスト、デバッグ、可読性の高いコードの書き方など

周囲の手助けを得ながら、チームのコーディングガイドラインや基準に従い、テスト容易性、可読性、エッジケース、エラーを意識しながらコードを書いている。
コードレビューで指摘された内容を理解し、リリースプロセスを理解・実行している。

自分のプラットフォームの開発言語、フレームワーク、ライブラリ、ドメインに関する基礎知識があり、周りの手助けを得ながら、インターフェースの互換性や拡張性を考慮した上で小さい機能の設計をしている。


text:
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at klaben.szabolcs@gmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]

[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

repo_name: thpatch/Universal-THCRAP-Launcher

repo_language: C#


text:
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29009.5
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Universal THCRAP Launcher", "Universal THCRAP Launcher\Universal THCRAP Launcher.csproj", "{E8802A2F-80F1-4727-A97D-78DED7F24E92}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Any CPU = Debug|Any CPU
		Release|Any CPU = Release|Any CPU
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{E8802A2F-80F1-4727-A97D-78DED7F24E92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{E8802A2F-80F1-4727-A97D-78DED7F24E92}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{E8802A2F-80F1-4727-A97D-78DED7F24E92}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{E8802A2F-80F1-4727-A97D-78DED7F24E92}.Release|Any CPU.Build.0 = Release|Any CPU
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
	GlobalSection(ExtensibilityGlobals) = postSolution
		SolutionGuid = {11E950BE-AC02-40FA-AEF8-9BF933741D14}
	EndGlobalSection
EndGlobal


text:
# Universal THCRAP Launcher (UTL)
[![Build status](https://ci.appveyor.com/api/projects/status/fyrq8utgva8b1e8o?svg=true)](https://ci.appveyor.com/project/Tudi20/universal-thcrap-launcher)
[![CodeFactor](https://www.codefactor.io/repository/github/thpatch/universal-thcrap-launcher/badge)](https://www.codefactor.io/repository/github/thpatch/universal-thcrap-launcher)
[![GitHub release](https://img.shields.io/github/release/thpatch/Universal-THCRAP-Launcher.svg)](https://github.com/thpatch/Universal-THCRAP-Launcher/releases)
[![GitHub stars](https://img.shields.io/github/stars/thpatch/Universal-THCRAP-Launcher.svg)](https://github.com/thpatch/Universal-THCRAP-Launcher)
[![GitHub license](https://img.shields.io/github/license/thpatch/Universal-THCRAP-Launcher.svg)](https://github.com/thpatch/Universal-THCRAP-Launcher/blob/master/UNLICENSE.txt)

## What is UTL?
UTL is a third-party program that replaces the clutter of shortcuts that [THCRAP](https://github.com/thpatch/thcrap) creates by being a program that allows you to choose a patch configuration (list of mods and translations on top of each other) and an executable file (game or custom.exe) to run trough THCRAP.

## Installation
 - If your Windows version is lesser than Win 10 (but above WinXP), make sure to have at least [.NET Framework 4.6](https://dotnet.microsoft.com/download/dotnet-framework/thank-you/net46-web-installer).
 - Download UTL from [here](https://github.com/thpatch/Universal-THCRAP-Launcher/releases).
 - Extract the files.
 - Place the files next to `thcrap_configure.exe` and `thcrap_loader.exe` in the `bin` folder.
 - (If you JUST UPGRADED from before the restructurization of thcrap run `restructure_utl.bat` FROM THE MAIN THCRAP FOLDER. This will move your previous utl files to their right place.)
 - Run `Universal THCRAP Launcher.exe` in the `bin` folder.
 - The program will create a launcher in the main thcrap directory for you.
 - You can delete any other shortcut in the main directory. While the two exes in the main directory of thcrap have some extra functionality in them with installing redistributes (fancy word for common requirements by programs), you will usually won't need that functionality more than once and the ones in the `bin` folder can be executed from the launcher.

## Images
 - Screenshot of program:
 ![Screenshot of program](https://i.imgur.com/8QuWJ8l.png)
 - Settings:
 ![Settings](https://i.imgur.com/8HnnRnY.png)
 - Language Tab:
 ![Language Tab](https://i.imgur.com/FAfylHl.png)
 - Supported Languages:
 ![Supported Languages](https://i.imgur.com/BozBook.png)

## Adding/Updating Languages
The language files are in the [langs folder](https://github.com/thpatch/Universal-THCRAP-Launcher/tree/master/langs).
Just send a push request, and I will have a look-trough and will accept the push request.

## Licensing
JSON.Net is licensed under the MIT license


text:
# These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: tudi20
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']


text:
---
name: Bug report
about: Create a report to help us improve
title: "[BUG]"
labels: bug
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
 - OS: [e.g. Windows 10]
 - Version [e.g. 22]

**Additional context**
Add any other context about the problem here.


text:
using System.ComponentModel;
using System.Windows.Forms;

namespace Universal_THCRAP_Launcher
{
    partial class MainForm
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
            this.patchListBox = new System.Windows.Forms.ListBox();
            this.splitContainer1 = new System.Windows.Forms.SplitContainer();
            this.gameListBox = new System.Windows.Forms.ListBox();
            this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
            this.btn_filterFav2 = new System.Windows.Forms.Button();
            this.btn_filterFav1 = new System.Windows.Forms.Button();
            this.btn_sortAZ2 = new System.Windows.Forms.Button();
            this.btn_sortAZ1 = new System.Windows.Forms.Button();
            this.startButton = new System.Windows.Forms.Button();
            this.btn_filterByType = new System.Windows.Forms.Button();
            this.btn_AddFavorite0 = new System.Windows.Forms.Button();
            this.btn_AddFavorite1 = new System.Windows.Forms.Button();
            this.btn_Random1 = new System.Windows.Forms.Button();
            this.btn_Random2 = new System.Windows.Forms.Button();
            this.btnDeletePatch = new System.Windows.Forms.Button();
            this.menuStrip1 = new System.Windows.Forms.MenuStrip();
            this.appTS = new System.Windows.Forms.ToolStripMenuItem();
            this.createShortcutDesktopTS = new System.Windows.Forms.ToolStripMenuItem();
            this.createShortcutStartMenuTS = new System.Windows.Forms.ToolStripMenuItem();
            this.settingsTS = new System.Windows.Forms.ToolStripMenuItem();
            this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
            this.restartTS = new System.Windows.Forms.ToolStripMenuItem();
            this.exitTS = new System.Windows.Forms.ToolStripMenuItem();
            this.thcrapTS = new System.Windows.Forms.ToolStripMenuItem();
            this.openConfigureTS = new System.Windows.Forms.ToolStripMenuItem();
            this.openMenuTS = new System.Windows.Forms.ToolStripMenuItem();
            this.openFolderTS = new System.Windows.Forms.ToolStripMenuItem();
            this.openGamesListTS = new System.Windows.Forms.ToolStripMenuItem();
            this.openSelectedPatchConfigurationTS = new System.Windows.Forms.ToolStripMenuItem();
            this.gitHubTS = new System.Windows.Forms.ToolStripMenuItem();
            this.gitHubPageTS = new System.Windows.Forms.ToolStripMenuItem();
            this.feedbackTS = new System.Windows.Forms.ToolStripMenuItem();
            this.bugReportTS = new System.Windows.Forms.ToolStripMenuItem();
            this.otherTS = new System.Windows.Forms.ToolStripMenuItem();
            this.donateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
            this.helpTS = new System.Windows.Forms.ToolStripMenuItem();
            this.keyboardShortcutsTS = new System.Windows.Forms.ToolStripMenuItem();
            this.reportBugTS = new System.Windows.Forms.ToolStripMenuItem();
            this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);
            this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
            ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
            this.splitContainer1.Panel1.SuspendLayout();
            this.splitContainer1.Panel2.SuspendLayout();
            this.splitContainer1.SuspendLayout();
            this.menuStrip1.SuspendLayout();
            this.SuspendLayout();
            //
            // patchListBox
            //
            this.patchListBox.BackColor = System.Drawing.SystemColors.ControlDarkDark;
            this.patchListBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
            this.patchListBox.ForeColor = System.Drawing.SystemColors.Control;
            this.patchListBox.FormattingEnabled = true;
            this.patchListBox.Location = new System.Drawing.Point(0, 1);
            this.patchListBox.Name = "patchListBox";
            this.patchListBox.Size = new System.Drawing.Size(153, 301);
            this.patchListBox.TabIndex = 12;
            this.toolTip1.SetToolTip(this.patchListBox, "Choose the run configuration (patch stack)");
            this.patchListBox.SelectedIndexChanged += new System.EventHandler(this.SelectedIndexChanged);
            this.patchListBox.KeyUp += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyUp);
            //
            // splitContainer1
            //
            this.splitContainer1.Location = new System.Drawing.Point(11, 117);
            this.splitContainer1.Name = "splitContainer1";
            //
            // splitContainer1.Panel1
            //
            this.splitContainer1.Panel1.Controls.Add(this.patchListBox);
            //
            // splitContainer1.Panel2
            //
            this.splitContainer1.Panel2.Controls.Add(this.gameListBox);
            this.splitContainer1.Size = new System.Drawing.Size(312, 306);
            this.splitContainer1.SplitterDistance = 154;
            this.splitContainer1.TabIndex = 1;
            this.splitContainer1.SplitterMoving += new System.Windows.Forms.SplitterCancelEventHandler(this.SplitContainer1_SplitterMoving);
            this.splitContainer1.SplitterMoved += new System.Windows.Forms.SplitterEventHandler(this.SplitContainer1_SplitterMoved);
            //
            // gameListBox
            //
            this.gameListBox.BackColor = System.Drawing.SystemColors.ControlDarkDark;
            this.gameListBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
            this.gameListBox.ForeColor = System.Drawing.SystemColors.Control;
            this.gameListBox.FormattingEnabled = true;
            this.gameListBox.Location = new System.Drawing.Point(0, 1);
            this.gameListBox.Name = "gameListBox";
            this.gameListBox.Size = new System.Drawing.Size(152, 301);
            this.gameListBox.TabIndex = 13;
            this.toolTip1.SetToolTip(this.gameListBox, "Choose the game (executable)");
            this.gameListBox.SelectedIndexChanged += new System.EventHandler(this.SelectedIndexChanged);
            this.gameListBox.KeyUp += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyUp);
            //
            // btn_filterFav2
            //
            this.btn_filterFav2.BackgroundImage = global::Universal_THCRAP_Launcher.Properties.Resources.Star_Hollow;
            this.btn_filterFav2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
            this.btn_filterFav2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
            this.btn_filterFav2.Location = new System.Drawing.Point(200, 85);
            this.btn_filterFav2.Name = "btn_filterFav2";
            this.btn_filterFav2.Size = new System.Drawing.Size(25, 25);
            this.btn_filterFav2.TabIndex = 8;
            this.toolTip1.SetToolTip(this.btn_filterFav2, "Filter for favourites");
            this.btn_filterFav2.UseVisualStyleBackColor = true;
            this.btn_filterFav2.Click += new System.EventHandler(this.filterButton2_Click);
            //
            // btn_filterFav1
            //
            this.btn_filterFav1.BackgroundImage = global::Universal_THCRAP_Launcher.Properties.Resources.Star_Hollow;
            this.btn_filterFav1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
            this.btn_filterFav1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
            this.btn_filterFav1.Location = new System.Drawing.Point(42, 85);
            this.btn_filterFav1.Name = "btn_filterFav1";
            this.btn_filterFav1.Size = new System.Drawing.Size(25, 25);
            this.btn_filterFav1.TabIndex = 4;
            this.toolTip1.SetToolTip(this.btn_filterFav1, "Filter for favourites");
            this.btn_filterFav1.UseVisualStyleBackColor = true;
            this.btn_filterFav1.Click += new System.EventHandler(this.filterButton1_Click);
            //
            // btn_sortAZ2
            //
            this.btn_sortAZ2.BackgroundImage = global::Universal_THCRAP_Launcher.Properties.Resources.Sort_Ascending;
            this.btn_sortAZ2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
            this.btn_sortAZ2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
            this.btn_sortAZ2.Location = new System.Drawing.Point(169, 85);
            this.btn_sortAZ2.Name = "btn_sortAZ2";
            this.btn_sortAZ2.Size = new System.Drawing.Size(25, 25);
            this.btn_sortAZ2.TabIndex = 7;
            this.toolTip1.SetToolTip(this.btn_sortAZ2, "Sort in alphabetical order");
            this.btn_sortAZ2.UseVisualStyleBackColor = true;
            this.btn_sortAZ2.Click += new System.EventHandler(this.sortAZButton2_Click);
            //
            // btn_sortAZ1
            //
            this.btn_sortAZ1.BackgroundImage = global::Universal_THCRAP_Launcher.Properties.Resources.Sort_Ascending;
            this.btn_sortAZ1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
            this.btn_sortAZ1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
            this.btn_sortAZ1.Location = new System.Drawing.Point(11, 85);
            this.btn_sortAZ1.Name = "btn_sortAZ1";
            this.btn_sortAZ1.Size = new System.Drawing.Size(25, 25);
            this.btn_sortAZ1.TabIndex = 3;
            this.toolTip1.SetToolTip(this.btn_sortAZ1, "Sort in alphabetical order");
            this.btn_sortAZ1.UseVisualStyleBackColor = true;
            this.btn_sortAZ1.Click += new System.EventHandler(this.sortAZButton1_Click);
            //
            // startButton
            //
            this.startButton.BackColor = System.Drawing.SystemColors.MenuHighlight;
            this.startButton.BackgroundImage = global::Universal_THCRAP_Launcher.Properties.Resources.Shinmera_Banner_5_mini_size;
            this.startButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
            this.startButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold);
            this.startButton.ForeColor = System.Drawing.Color.Red;
            this.startButton.Location = new System.Drawing.Point(11, 40);
            this.startButton.Name = "startButton";
            this.startButton.Size = new System.Drawing.Size(312, 38);
            this.startButton.TabIndex = 2;
            this.toolTip1.SetToolTip(this.startButton, "Start thcrap with the selected settings");
            this.startButton.UseVisualStyleBackColor = false;
            this.startButton.Click += new System.EventHandler(this.startButton_Click);
            this.startButton.MouseLeave += new System.EventHandler(this.startButton_MouseLeave);
            this.startButton.MouseHover += new System.EventHandler(this.startButton_MouseHover);
            //
            // btn_filterByType
            //
            this.btn_filterByType.BackgroundImage = global::Universal_THCRAP_Launcher.Properties.Resources.GameAndCustom;
            this.btn_filterByType.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
            this.btn_filterByType.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
            this.btn_filterByType.Location = new System.Drawing.Point(231, 85);
            this.btn_filterByType.Name = "btn_filterByType";
            this.btn_filterByType.Size = new System.Drawing.Size(25, 25);
            this.btn_filterByType.TabIndex = 9;
            this.toolTip1.SetToolTip(this.btn_filterByType, "Filter by Type");
            this.btn_filterByType.UseVisualStyleBackColor = true;
            this.btn_filterByType.Click += new System.EventHandler(this.filterByType_button_Click);
            //
            // btn_AddFavorite0
            //
            this.btn_AddFavorite0.BackgroundImage = global::Universal_THCRAP_Launcher.Properties.Resources.Favorite;
            this.btn_AddFavorite0.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
            this.btn_AddFavorite0.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
            this.btn_AddFavorite0.Location = new System.Drawing.Point(73, 85);
            this.btn_AddFavorite0.Name = "btn_AddFavorite0";
            this.btn_AddFavorite0.Size = new System.Drawing.Size(25, 25);
            this.btn_AddFavorite0.TabIndex = 5;
            this.toolTip1.SetToolTip(this.btn_AddFavorite0, "Add patch to favourites");
            this.btn_AddFavorite0.UseVisualStyleBackColor = true;
            this.btn_AddFavorite0.Click += new System.EventHandler(this.Btn_AddFavorite0_Click);
            //
            // btn_AddFavorite1
            //
            this.btn_AddFavorite1.BackgroundImage = global::Universal_THCRAP_Launcher.Properties.Resources.Favorite;
            this.btn_AddFavorite1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
            this.btn_AddFavorite1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
            this.btn_AddFavorite1.Location = new System.Drawing.Point(262, 85);
            this.btn_AddFavorite1.Name = "btn_AddFavorite1";
            this.btn_AddFavorite1.Size = new System.Drawing.Size(25, 25);
            this.btn_AddFavorite1.TabIndex = 10;
            this.toolTip1.SetToolTip(this.btn_AddFavorite1, "Add game or exe to favourites");
            this.btn_AddFavorite1.UseVisualStyleBackColor = true;
            this.btn_AddFavorite1.Click += new System.EventHandler(this.Btn_AddFavorite1_Click);
            //
            // btn_Random1
            //
            this.btn_Random1.BackgroundImage = global::Universal_THCRAP_Launcher.Properties.Resources.Dice;
            this.btn_Random1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
            this.btn_Random1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
            this.btn_Random1.Location = new System.Drawing.Point(104, 85);
            this.btn_Random1.Name = "btn_Random1";
            this.btn_Random1.Size = new System.Drawing.Size(25, 25);
            this.btn_Random1.TabIndex = 6;
            this.toolTip1.SetToolTip(this.btn_Random1, "Select a random element");
            this.btn_Random1.UseVisualStyleBackColor = true;
            this.btn_Random1.Click += new System.EventHandler(this.Btn_Random1_Click);
            //
            // btn_Random2
            //
            this.btn_Random2.BackgroundImage = global::Universal_THCRAP_Launcher.Properties.Resources.Dice;
            this.btn_Random2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
            this.btn_Random2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
            this.btn_Random2.Location = new System.Drawing.Point(293, 85);
            this.btn_Random2.Name = "btn_Random2";
            this.btn_Random2.Size = new System.Drawing.Size(25, 25);
            this.btn_Random2.TabIndex = 11;
            this.toolTip1.SetToolTip(this.btn_Random2, "Select something randomly");
            this.btn_Random2.UseVisualStyleBackColor = true;
            this.btn_Random2.Click += new System.EventHandler(this.Btn_Random2_Click);
            //
            // btnDeletePatch
            //
            this.btnDeletePatch.BackgroundImage = global::Universal_THCRAP_Launcher.Properties.Resources.Trash;
            this.btnDeletePatch.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
            this.btnDeletePatch.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
            this.btnDeletePatch.Location = new System.Drawing.Point(135, 85);
            this.btnDeletePatch.Name = "btnDeletePatch";
            this.btnDeletePatch.Size = new System.Drawing.Size(25, 25);
            this.btnDeletePatch.TabIndex = 12;
            this.toolTip1.SetToolTip(this.btnDeletePatch, "Delete selected patch");
            this.btnDeletePatch.UseVisualStyleBackColor = true;
            this.btnDeletePatch.Click += new System.EventHandler(this.BtnDeletePatch_Click);
            //
            // menuStrip1
            //
            this.menuStrip1.BackColor = System.Drawing.SystemColors.ControlDarkDark;
            this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.appTS,
            this.thcrapTS,
            this.gitHubTS,
            this.helpTS});
            this.menuStrip1.Location = new System.Drawing.Point(0, 0);
            this.menuStrip1.Name = "menuStrip1";
            this.menuStrip1.Size = new System.Drawing.Size(334, 24);
            this.menuStrip1.TabIndex = 1;
            this.menuStrip1.TabStop = true;
            this.menuStrip1.Text = "menuStrip1";
            //
            // appTS
            //
            this.appTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.appTS.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.createShortcutDesktopTS,
            this.createShortcutStartMenuTS,
            this.settingsTS,
            this.toolStripSeparator1,
            this.restartTS,
            this.exitTS});
            this.appTS.Name = "appTS";
            this.appTS.Size = new System.Drawing.Size(41, 20);
            this.appTS.Text = "App";
            //
            // createShortcutDesktopTS
            //
            this.createShortcutDesktopTS.BackColor = System.Drawing.SystemColors.ControlDark;
            this.createShortcutDesktopTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.createShortcutDesktopTS.Name = "createShortcutDesktopTS";
            this.createShortcutDesktopTS.Size = new System.Drawing.Size(231, 22);
            this.createShortcutDesktopTS.Text = "Create Shortcut to Desktop";
            this.createShortcutDesktopTS.Click += new System.EventHandler(this.CreateShortcutDesktopTS_Click);
            //
            // createShortcutStartMenuTS
            //
            this.createShortcutStartMenuTS.BackColor = System.Drawing.SystemColors.ControlDark;
            this.createShortcutStartMenuTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.createShortcutStartMenuTS.Name = "createShortcutStartMenuTS";
            this.createShortcutStartMenuTS.Size = new System.Drawing.Size(231, 22);
            this.createShortcutStartMenuTS.Text = "Create Shortcut to Start Menu";
            this.createShortcutStartMenuTS.Click += new System.EventHandler(this.CreateShortcutStartMenuTS_Click);
            //
            // settingsTS
            //
            this.settingsTS.BackColor = System.Drawing.SystemColors.ControlDark;
            this.settingsTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.settingsTS.Name = "settingsTS";
            this.settingsTS.Size = new System.Drawing.Size(231, 22);
            this.settingsTS.Text = "Settings...";
            this.settingsTS.Click += new System.EventHandler(this.settingsTS_Click);
            //
            // toolStripSeparator1
            //
            this.toolStripSeparator1.BackColor = System.Drawing.SystemColors.ControlDarkDark;
            this.toolStripSeparator1.Name = "toolStripSeparator1";
            this.toolStripSeparator1.Size = new System.Drawing.Size(228, 6);
            //
            // restartTS
            //
            this.restartTS.BackColor = System.Drawing.SystemColors.ControlDark;
            this.restartTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.restartTS.Name = "restartTS";
            this.restartTS.ShortcutKeyDisplayString = "Ctrl+R";
            this.restartTS.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R)));
            this.restartTS.Size = new System.Drawing.Size(231, 22);
            this.restartTS.Text = "Restart";
            this.restartTS.Click += new System.EventHandler(this.restartTS_Click);
            //
            // exitTS
            //
            this.exitTS.BackColor = System.Drawing.SystemColors.ControlDark;
            this.exitTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.exitTS.Name = "exitTS";
            this.exitTS.ShortcutKeyDisplayString = "Alt+F4";
            this.exitTS.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4)));
            this.exitTS.Size = new System.Drawing.Size(231, 22);
            this.exitTS.Text = "Exit";
            this.exitTS.Click += new System.EventHandler(this.exitTS_Click);
            //
            // thcrapTS
            //
            this.thcrapTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.thcrapTS.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.openConfigureTS,
            this.openMenuTS});
            this.thcrapTS.Name = "thcrapTS";
            this.thcrapTS.Size = new System.Drawing.Size(65, 20);
            this.thcrapTS.Text = "THCRAP";
            //
            // openConfigureTS
            //
            this.openConfigureTS.BackColor = System.Drawing.SystemColors.ControlDark;
            this.openConfigureTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.openConfigureTS.Name = "openConfigureTS";
            this.openConfigureTS.Size = new System.Drawing.Size(208, 22);
            this.openConfigureTS.Text = "Open THCRAP Configure";
            this.openConfigureTS.Click += new System.EventHandler(this.openConfigureTS_Click);
            //
            // openMenuTS
            //
            this.openMenuTS.BackColor = System.Drawing.SystemColors.ControlDark;
            this.openMenuTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.openMenuTS.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.openFolderTS,
            this.openGamesListTS,
            this.openSelectedPatchConfigurationTS});
            this.openMenuTS.Name = "openMenuTS";
            this.openMenuTS.Size = new System.Drawing.Size(208, 22);
            this.openMenuTS.Text = "Open...";
            //
            // openFolderTS
            //
            this.openFolderTS.BackColor = System.Drawing.SystemColors.ControlDark;
            this.openFolderTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.openFolderTS.Name = "openFolderTS";
            this.openFolderTS.Size = new System.Drawing.Size(309, 22);
            this.openFolderTS.Text = "Open Folder";
            this.openFolderTS.Click += new System.EventHandler(this.openFolderTS_Click);
            //
            // openGamesListTS
            //
            this.openGamesListTS.BackColor = System.Drawing.SystemColors.ControlDark;
            this.openGamesListTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.openGamesListTS.Name = "openGamesListTS";
            this.openGamesListTS.Size = new System.Drawing.Size(309, 22);
            this.openGamesListTS.Text = "Open Games List";
            this.openGamesListTS.Click += new System.EventHandler(this.openGamesListTS_Click);
            //
            // openSelectedPatchConfigurationTS
            //
            this.openSelectedPatchConfigurationTS.BackColor = System.Drawing.SystemColors.ControlDark;
            this.openSelectedPatchConfigurationTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.openSelectedPatchConfigurationTS.Name = "openSelectedPatchConfigurationTS";
            this.openSelectedPatchConfigurationTS.ShortcutKeyDisplayString = "Ctrl + O";
            this.openSelectedPatchConfigurationTS.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
            this.openSelectedPatchConfigurationTS.Size = new System.Drawing.Size(309, 22);
            this.openSelectedPatchConfigurationTS.Text = "Open Selected Patch Configuration";
            this.openSelectedPatchConfigurationTS.Click += new System.EventHandler(this.openSelectedPatchConfigurationTS_Click);
            //
            // gitHubTS
            //
            this.gitHubTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.gitHubTS.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.gitHubPageTS,
            this.feedbackTS,
            this.donateToolStripMenuItem});
            this.gitHubTS.Name = "gitHubTS";
            this.gitHubTS.Size = new System.Drawing.Size(57, 20);
            this.gitHubTS.Text = "GitHub";
            //
            // gitHubPageTS
            //
            this.gitHubPageTS.BackColor = System.Drawing.SystemColors.ControlDark;
            this.gitHubPageTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.gitHubPageTS.Name = "gitHubPageTS";
            this.gitHubPageTS.Size = new System.Drawing.Size(180, 22);
            this.gitHubPageTS.Text = "GitHub Page";
            this.gitHubPageTS.Click += new System.EventHandler(this.gitHubPageTS_Click);
            //
            // feedbackTS
            //
            this.feedbackTS.BackColor = System.Drawing.SystemColors.ControlDark;
            this.feedbackTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.feedbackTS.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.bugReportTS,
            this.otherTS});
            this.feedbackTS.Name = "feedbackTS";
            this.feedbackTS.Size = new System.Drawing.Size(180, 22);
            this.feedbackTS.Text = "Feedback...";
            //
            // bugReportTS
            //
            this.bugReportTS.BackColor = System.Drawing.SystemColors.ControlDark;
            this.bugReportTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.bugReportTS.Name = "bugReportTS";
            this.bugReportTS.Size = new System.Drawing.Size(180, 22);
            this.bugReportTS.Text = "Bug Report";
            this.bugReportTS.Click += new System.EventHandler(this.bugReportTS_Click);
            //
            // otherTS
            //
            this.otherTS.BackColor = System.Drawing.SystemColors.ControlDark;
            this.otherTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.otherTS.Name = "otherTS";
            this.otherTS.Size = new System.Drawing.Size(180, 22);
            this.otherTS.Text = "Other";
            this.otherTS.Click += new System.EventHandler(this.otherTS_Click);
            //
            // donateToolStripMenuItem
            //
            this.donateToolStripMenuItem.BackColor = System.Drawing.SystemColors.ControlDark;
            this.donateToolStripMenuItem.Name = "donateToolStripMenuItem";
            this.donateToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
            this.donateToolStripMenuItem.Text = "Donate";
            this.donateToolStripMenuItem.Click += new System.EventHandler(this.DonateToolStripMenuItem_Click);
            //
            // helpTS
            //
            this.helpTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.helpTS.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.keyboardShortcutsTS});
            this.helpTS.Name = "helpTS";
            this.helpTS.ShortcutKeyDisplayString = "F1";
            this.helpTS.ShortcutKeys = System.Windows.Forms.Keys.F1;
            this.helpTS.Size = new System.Drawing.Size(44, 20);
            this.helpTS.Text = "Help";
            //
            // keyboardShortcutsTS
            //
            this.keyboardShortcutsTS.BackColor = System.Drawing.SystemColors.ControlDark;
            this.keyboardShortcutsTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.keyboardShortcutsTS.Name = "keyboardShortcutsTS";
            this.keyboardShortcutsTS.ShortcutKeyDisplayString = "F1";
            this.keyboardShortcutsTS.ShortcutKeys = System.Windows.Forms.Keys.F1;
            this.keyboardShortcutsTS.Size = new System.Drawing.Size(196, 22);
            this.keyboardShortcutsTS.Text = "Keyboard Shortcuts";
            this.keyboardShortcutsTS.Click += new System.EventHandler(this.keyboardShortcutsTS_Click);
            //
            // reportBugTS
            //
            this.reportBugTS.Name = "reportBugTS";
            this.reportBugTS.Size = new System.Drawing.Size(32, 19);
            //
            // notifyIcon1
            //
            this.notifyIcon1.ContextMenuStrip = this.contextMenuStrip1;
            this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon")));
            this.notifyIcon1.Text = "Universal THCRAP Launcher";
            this.notifyIcon1.Visible = true;
            this.notifyIcon1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.NotifyIcon1_MouseClick);
            //
            // contextMenuStrip1
            //
            this.contextMenuStrip1.Name = "contextMenuStrip1";
            this.contextMenuStrip1.Size = new System.Drawing.Size(61, 4);
            //
            // MainForm
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.BackColor = System.Drawing.SystemColors.GrayText;
            this.ClientSize = new System.Drawing.Size(334, 431);
            this.Controls.Add(this.btnDeletePatch);
            this.Controls.Add(this.btn_Random2);
            this.Controls.Add(this.btn_Random1);
            this.Controls.Add(this.btn_AddFavorite1);
            this.Controls.Add(this.btn_AddFavorite0);
            this.Controls.Add(this.btn_filterByType);
            this.Controls.Add(this.btn_filterFav2);
            this.Controls.Add(this.btn_filterFav1);
            this.Controls.Add(this.btn_sortAZ2);
            this.Controls.Add(this.btn_sortAZ1);
            this.Controls.Add(this.startButton);
            this.Controls.Add(this.splitContainer1);
            this.Controls.Add(this.menuStrip1);
            this.ForeColor = System.Drawing.SystemColors.ControlDark;
            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
            this.KeyPreview = true;
            this.MainMenuStrip = this.menuStrip1;
            this.MinimumSize = new System.Drawing.Size(350, 300);
            this.Name = "MainForm";
            this.Text = "Universal THCRAP Launcher";
            this.Activated += new System.EventHandler(this.MainForm_Activated);
            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_Closing);
            this.Load += new System.EventHandler(this.Form1_Load);
            this.Shown += new System.EventHandler(this.Form1_Shown);
            this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyUp);
            this.Resize += new System.EventHandler(this.Form1_Resize);
            this.splitContainer1.Panel1.ResumeLayout(false);
            this.splitContainer1.Panel2.ResumeLayout(false);
            ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
            this.splitContainer1.ResumeLayout(false);
            this.menuStrip1.ResumeLayout(false);
            this.menuStrip1.PerformLayout();
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        #endregion
        private SplitContainer splitContainer1;
        private ListBox gameListBox;
        private Button startButton;
        private ToolTip toolTip1;
        private Button btn_sortAZ1;
        private Button btn_sortAZ2;
        private Button btn_filterFav1;
        private Button btn_filterFav2;
        private Button btn_filterByType;
        private MenuStrip menuStrip1;
        private ToolStripMenuItem appTS;
        private ToolStripMenuItem restartTS;
        private ToolStripMenuItem exitTS;
        private ToolStripMenuItem helpTS;
        private ToolStripMenuItem gitHubTS;
        private ToolStripMenuItem reportBugTS;
        private ToolStripMenuItem thcrapTS;
        private ToolStripMenuItem openConfigureTS;
        private ToolStripMenuItem openGamesListTS;
        private ToolStripMenuItem openFolderTS;
        private ToolStripMenuItem createShortcutDesktopTS;
        private ToolStripSeparator toolStripSeparator1;
        private ToolStripMenuItem openMenuTS;
        private ToolStripMenuItem openSelectedPatchConfigurationTS;
        private ToolStripMenuItem keyboardShortcutsTS;
        private ToolStripMenuItem settingsTS;
        private ToolStripMenuItem gitHubPageTS;
        private ToolStripMenuItem feedbackTS;
        private ToolStripMenuItem bugReportTS;
        private ToolStripMenuItem otherTS;
        private ListBox patchListBox;
        private Button btn_AddFavorite0;
        private Button btn_AddFavorite1;
        private Button btn_Random1;
        private Button btn_Random2;
        private NotifyIcon notifyIcon1;
        private ContextMenuStrip contextMenuStrip1;
        private ToolStripMenuItem createShortcutStartMenuTS;
        private ToolStripMenuItem donateToolStripMenuItem;
        private Button btnDeletePatch;
    }
}