tor-commits
Threads by month
- ----- 2025 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
August 2019
- 19 participants
- 2737 discussions

[translation-tools/master] Add Code of Conduct branch for translation.
by emmapeel@torproject.org 28 Aug '19
by emmapeel@torproject.org 28 Aug '19
28 Aug '19
commit 896dff2022d8f09e538c9be3aa6bada707ef5371
Author: emma peel <emma.peel(a)riseup.net>
Date: Wed Aug 28 15:26:00 2019 +0000
Add Code of Conduct branch for translation.
This translation template was generated from policies.git file
---
config | 1 +
1 file changed, 1 insertion(+)
diff --git a/config b/config
index f2ac4f8..092c016 100644
--- a/config
+++ b/config
@@ -18,6 +18,7 @@ https_everywhere https_everywhere_completed
liveusb-creator liveusb-creator_completed
mat-gui mat-gui_completed
orfox-stringsxml orfox-stringsxml_completed
+policies-code_of_conducttxtpot policies-code_of_conducttxtpot_completed
snowflakeaddon-messages.json snowflakeaddon-messages.json_completed
snowflake-website-indexhtml snowflake-website-indexhtml_completed
tails-misc tails-misc_completed tails-misc_release
1
0

[translation/policies-code_of_conducttxtpot_completed] pulling translations from transifex
by translation@torproject.org 28 Aug '19
by translation@torproject.org 28 Aug '19
28 Aug '19
commit e9586783fd7b5c2614a20891fb07b7b21ba28438
Author: Translation commit bot <translation(a)torproject.org>
Date: Wed Aug 28 15:02:23 2019 +0000
pulling translations from transifex
---
code_of_conduct+es.po | 815 ++++++++++++++++++++++++++++++++++++++++++++++++++
code_of_conduct+tr.po | 799 +++++++++++++++++++++++++++++++++++++++++++++++++
code_of_conduct.pot | 790 ++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 2404 insertions(+)
diff --git a/code_of_conduct+es.po b/code_of_conduct+es.po
new file mode 100644
index 000000000..663358971
--- /dev/null
+++ b/code_of_conduct+es.po
@@ -0,0 +1,815 @@
+# Code of conduct of the tor project
+# Copyright (C) 2019 tor project.
+# This Code of Conduct is licensed under a Creative Commons CC-BY-SA 4.0
+# International license.e.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+# Translators:
+# Emma Peel, 2019
+# Alfredo Duro <AlfredoDuroexplota(a)protonmail.com>, 2019
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Code of conduct of the Tor Project\n"
+"POT-Creation-Date: 2019-08-02 12:00+0000\n"
+"PO-Revision-Date: 2019-08-27 18:54+0000\n"
+"Last-Translator: Alfredo Duro <AlfredoDuroexplota(a)protonmail.com>, 2019\n"
+"Language-Team: Spanish (https://www.transifex.com/otf/teams/1519/es/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: es\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:1 ../code_of_conduct.txt:24
+#: ../code_of_conduct.txt:51 ../code_of_conduct.txt:75
+#: ../code_of_conduct.txt:104 ../code_of_conduct.txt:180
+#: ../code_of_conduct.txt:193 ../code_of_conduct.txt:213
+#: ../code_of_conduct.txt:231 ../code_of_conduct.txt:243
+#: ../code_of_conduct.txt:253 ../code_of_conduct.txt:278
+#, no-wrap
+msgid "============================================================\n"
+msgstr "============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:3
+#, no-wrap
+msgid ""
+"Tor Project Code of Conduct\n"
+"============================================================\n"
+msgstr ""
+"Código de conducta del Proyecto Tor\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:6
+msgid "Statement of Intent:"
+msgstr "Declaración de intenciones:"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:10
+msgid ""
+"The Tor Project is committed to fostering an inclusive environment and "
+"community. Tor is a place where people should feel safe to engage, share "
+"their point of view, and participate."
+msgstr ""
+"El proyecto Tor está decidido a fomentar una comunidad y ambiente "
+"inclusivos. Tor es un espacio en donde las personas deben sentirse seguras, "
+"compartir su punto de vista, y participar."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:15
+msgid ""
+"This code of conduct applies to The Tor Project as a whole. It is intended "
+"to provide guidelines for contributors. Employees and contractors of The Tor"
+" Project, Inc. (TPI) are also subject to company policies and procedures. "
+"Those people should feel free to contact HR with questions or concerns."
+msgstr ""
+"Este código de conducta se aplica al proyecto Tor como un todo. Su intención"
+" es proveer lineamientos para sus contribuidores. Lxs empleadxs y "
+"contratistas de The Tor Project, Inc. (TPI) también están sujetos a las "
+"políticas y procedimientos de la compañía. Estas personas pueden contactar a"
+" RH para preguntas o inquietudes de cualquier tipo."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:23
+msgid ""
+"This code of conduct is not exhaustive or complete. It is an ongoing effort "
+"to summarize our shared understanding. We want to provide a welcoming, safe "
+"environment, so we can work together to pursue powerful solutions. We "
+"reserve the right to deviate from strictly enforcing this code. Any "
+"deviations must produce an outcome which is fairer, and aligned with our "
+"values. We understand that keeping a living document relevant and “patched” "
+"involves sustained effort."
+msgstr ""
+" Este código de conducta no es exhaustivo o completo, sino un esfuerzo "
+"continuo de resumir nuestro entendimiento compartido. Queremos proveer un "
+"ambiente seguro y acogedor, de modo que podamos trabajar juntos para "
+"alcanzar soluciones poderosas. Nos reservamos el derecho de desviarnos de "
+"aplicar estrictamente este código. Cualquier desviación debe producir un "
+"resultado más justo, y alineado con nuestros valores. Entendemos que "
+"mantener un documento relevante y actualizado requiere un esfuerzo continuo."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:26
+#, no-wrap
+msgid ""
+"0. Summary: Don't be a jerk. Be awesome instead.\n"
+"============================================================\n"
+msgstr "Resumen: No sea un idiota. Sea impresionante en su lugar.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:29
+msgid "The Tor community should be a good place where people are glad to be."
+msgstr ""
+"La comunidad Tor debería ser un buen espacio donde las personas estén "
+"contentas de estar."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:31
+#, no-wrap
+msgid " DO: Be kind, thoughtful, and considerate.\n"
+msgstr "Qué hacer: Sé amable, atentx, y consideradx\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:33
+#, no-wrap
+msgid " DO: Make Tor a place where people are happy and comfortable.\n"
+msgstr ""
+"Qué hacer: Haz de Tor un espacio donde las personas estén felices y "
+"cómodas\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:36
+#, no-wrap
+msgid ""
+" DO: Remember: We are all contributing; we are all learning. Nobody was born\n"
+" an expert.\n"
+msgstr ""
+"Qué hacer: Recuerda: Todxs estamos contribuyendo; todxs estamos aprendiendo."
+" Nadie nació siendo expertx\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:38
+#, no-wrap
+msgid " DO: Yield the floor. Listen. Make sure everyone gets heard.\n"
+msgstr ""
+"Qué hacer: Cede la palabra. Escucha. Asegúrate de que todxs sean "
+"escuchadxs.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:40
+#, no-wrap
+msgid " DON'T: Insult, harass, intimidate, or be a jerk.\n"
+msgstr "Qué no hacer: Insultar, acosar, intimidar o ser idiota.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:43
+#, no-wrap
+msgid ""
+" DON'T: Treat honest mistakes as an excuse to hassle people. Mistakes are for\n"
+" learning.\n"
+msgstr ""
+"Qué no hacer: Tratar los errores como una excusa para molestar a las "
+"personas. Los errores son para aprender.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:46
+#, no-wrap
+msgid ""
+" DON'T: Hunt for ways to uphold the letter of this code while violating its\n"
+" spirit.\n"
+msgstr ""
+"Qué no hacer: Buscar formas de cumplir con este código mientras se viola su "
+"espíritu.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:50
+#, no-wrap
+msgid ""
+" AND DO: Eagerly email: tor-community-council(a)lists.torproject.org with\n"
+" questions or concerns. Public key:\n"
+" https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil#Contact\n"
+msgstr ""
+
+#. type: Plain text
+#: ../code_of_conduct.txt:53
+#, no-wrap
+msgid ""
+"1. Purpose\n"
+"============================================================\n"
+msgstr " Propósito\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:63
+msgid ""
+"A primary goal of the Tor community is to be inclusive of many different "
+"contributors. We want to include contributors from the most varied and "
+"diverse backgrounds possible. As such, we are committed to providing a "
+"friendly, safe and welcoming environment for all, regardless of their "
+"experience, gender identity or expression, sexual orientation, family, "
+"relationships, ability (whether bodily or mental), personal appearance, "
+"socioeconomic status, body size, race, ethnicity, age, religion, "
+"nationality, or membership in a disadvantaged and/or underrepresented group."
+msgstr ""
+"Un objetivo primordial de la comunidad Tor es ser inclusiva con sus "
+"distintxs contribuidorxs. Queremos incluir contribuidorxs con un historial "
+"tan variado y diverso como sea posible. De modo que estamos decididxs a "
+"proveer para todxs un ambiente amigable, seguro y acogedor, sin importar su "
+"experiencia, identidad o expresión de género, orientación sexual, familia, "
+"relaciones, habilidades (sean corporales o mentales), apariencia personal, "
+"estatus socioeconómico, complexión, raza, etnia, edad, religión, "
+"nacionalidad, o pertenencia a un grupo desfavorecido y/o infrarrepresentado."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:68
+msgid ""
+"A safe environment means one free from abuse, whether isolated or systemic. "
+"We explicitly acknowledge that tolerating abuse is a security problem. "
+"Allowing abusers and malicious people to disrupt our community puts our "
+"software, developers, and users at risk."
+msgstr ""
+"Un ambiente seguro significa libre de abuso, aislado o sistemático. "
+"Reconocemos explícitamente que tolerar el abuso es un problema de seguridad."
+" Permitir que abusadores y personas malintencionadas irrumpan en nuestra "
+"comunidad pone en riesgo nuestro software, y a nuestrxs desarrolladorxs y "
+"usuarixs."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:71
+msgid ""
+"This code of conduct outlines our expectations for all those who participate"
+" in our community, as well as the consequences for unacceptable behavior."
+msgstr ""
+"Este código de conducta describe nuestras expectativas para todxs lxs que "
+"participan en nuestra comunidad, así como las consecuencias de un "
+"comportamiento inaceptable."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:74
+msgid ""
+"We invite all those who participate in The Tor Project to help us create "
+"safe and positive experiences for everyone."
+msgstr ""
+"Invitamos a todxs los que participan en el Proyecto Tor a ayudarnos a crear "
+"una experiencia segura y positiva para todxs."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:77
+#, no-wrap
+msgid ""
+"2. Be your best self\n"
+"============================================================\n"
+msgstr ""
+"2. Se lo mejor que puedas\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:80
+msgid ""
+"The following behaviors are expected and requested of all community members:"
+msgstr ""
+" Las siguientes actitudes se esperan y requieren de todxs lxs miembros de la"
+" comunidad: "
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:83
+msgid ""
+"Participate in an honest and active way. In doing so, you contribute to the "
+"health and longevity of this community."
+msgstr ""
+"Participar de forma honesta y activa. Al hacerlo, contribuyes a la salud y "
+"longevidad de esta comunidad"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:85
+msgid "Exercise consideration and respect in your speech and actions."
+msgstr "Ejercer en tus palabras y acciones el respeto y la consideración."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:87
+msgid "Attempt collaboration and dialog before engaging in conflict."
+msgstr "Intentar la colaboración y el diálogo antes de entrar en conflicto."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:89
+msgid ""
+"Refrain from demeaning, discriminatory, or harassing behavior and speech."
+msgstr ""
+"Abstenerse de comportamientos y expresiones degradantes, discriminatorias o "
+"acosadoras."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:92
+msgid ""
+"Be mindful of your surroundings and of your fellow participants. Alert "
+"community leaders if you notice:"
+msgstr ""
+"Se consciente de tu entorno y tus compañerxs participantes. Notifica a lxs "
+"líderes de la comunidad si detectas:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:94
+msgid "a dangerous situation"
+msgstr "una situación peligrosa"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:96
+msgid "someone in distress"
+msgstr "a alguien en apuros"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:98
+msgid "violations of this code of conduct, even if they seem minor"
+msgstr "violaciones a este código de conducta, incluso si parecen ser mínimas"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:101
+msgid ""
+"Remember that community event venues may be shared with members of the "
+"public. Please be respectful to everyone using these locations."
+msgstr ""
+"Recuerda que los lugares de eventos comunitarios pueden ser compartidos al "
+"público. Por favor se respetuosx con todxs lxs que usan estos lugares."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:103
+msgid "Respect the privacy of your fellow community members."
+msgstr "Respeta la privacidad de los demás miembros de la comunidad."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:106
+#, no-wrap
+msgid ""
+"3. Unacceptable behaviors\n"
+"============================================================\n"
+msgstr ""
+"3. Actitudes inaceptables\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:109
+msgid "The following behaviors are unacceptable within our community:"
+msgstr "Las siguientes actitudes son inaceptables en nuestra comunidad:"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:114
+msgid ""
+"Violence, sexual assault, threats of violence, or violent language directed "
+"against another person, especially violence against a person or group based "
+"on a protected characteristic. (Display of weapons may constitute "
+"intimidation or a threat of violence.)"
+msgstr ""
+"Violencia, acoso sexual, amenazas violentas o lenguaje violento hacia otra "
+"persona, especialmente violencia en contra de una persona o grupo basada en "
+"una característica protegida. (Exhibir armas puede considerarse intimidación"
+" o una amenaza de violencia)"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:117
+msgid ""
+"Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory"
+" jokes and language."
+msgstr ""
+"Lenguaje y bromas sexistas, racistas homofóbicas, transfóbicas, o "
+"discriminatorias de otro tipo."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:122
+msgid ""
+"Spontaneously posting or displaying sexually explicit or violent material. "
+"(If it is necessary to share such material when working on Tor's mission, do"
+" so with sensitivity. Be aware that many people don't want to see it.)"
+msgstr ""
+"Mostrar o publicar material violento o sexualmente explícito. (si es "
+"necesario compartir tal material cuando se trabaja en la misión de Tor, "
+"hacerlo de forma discreta. Ten en cuenta que muchas personas no quieren "
+"verlo.)"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:125
+msgid ""
+"Posting or threatening to post other people’s personally identifying "
+"information (\"doxing\") without their consent."
+msgstr ""
+"Publicar o amenazar con publicar la información personal de otras personas "
+"(“doxing”) sin su consentimiento."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:127
+msgid "Personal insults or attacks, particularly those related to:"
+msgstr "insultos personales o ataques, particularmente relacionados con:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:129
+msgid "experience"
+msgstr "experiencia"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:131
+msgid "gender identity or expression"
+msgstr "identidad o expresión de género"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:133
+msgid "sexual orientation"
+msgstr "orientación sexual"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:135
+msgid "family"
+msgstr "familia"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:137
+msgid "relationships"
+msgstr "relaciones"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:139
+msgid "ability (whether bodily or mental)"
+msgstr "habilidades (mentales o corporales)"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:141
+msgid "personal appearance"
+msgstr "apariencia personal"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:143
+msgid "socioeconomic status"
+msgstr "estatus socioeconómico"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:145
+msgid "body size"
+msgstr "complexión"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:147
+msgid "race"
+msgstr "raza"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:149
+msgid "ethnicity"
+msgstr "etnia"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:151
+msgid "age"
+msgstr "edad"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:153
+msgid "religion"
+msgstr "religión"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:155
+msgid "nationality"
+msgstr "nacionalidad"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:157
+msgid "membership in a disadvantaged and/or underrepresented group"
+msgstr "pertenencia a un grupo desfavorecido y/o infrarrepresentado"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:161
+msgid ""
+"Inappropriate photography, audio recording, or recording of personal "
+"information. You should have someone's consent before recording these "
+"things, and before posting them publicly."
+msgstr ""
+"Fotografías inapropiadas, grabaciones de audio, o registro de información "
+"personal. Debes tener el consentimiento de una persona antes de recabar "
+"tales cosas, y antes de hacerlas públicas."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:164
+msgid ""
+"Inappropriate physical contact. You should have someone’s consent before "
+"touching them."
+msgstr ""
+"Contacto físico inapropiado. Debes tener el consentimiento de alguien antes "
+"de tocarle."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:167
+msgid ""
+"Unwelcome sexual attention: this includes sexualized comments or jokes, "
+"inappropriate touching, groping, and unwelcome sexual advances."
+msgstr ""
+"Acercamiento sexual no deseado: esto incluye comentarios o bromas sexuales, "
+"contacto inapropiado, tentar, y acercamientos sexuales no deseados."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:169
+msgid "Deliberate intimidation, stalking or following (online or in person)."
+msgstr "Intimidación deliberada, acoso o seguimiento (en línea o en persona)."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:172
+msgid ""
+"Deliberately undermining the spirit of this code while following the letter."
+msgstr ""
+"Quebrantar deliberadamente el espíritu de este código a pesar de seguir el "
+"reglamento al pie de la letra."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:175
+msgid ""
+"Sustained disruption of any community events, including talks, "
+"presentations, and online conversations."
+msgstr ""
+"Interrumpir prolongadamente cualquier evento de la comunidad, incluyendo "
+"charlas, presentaciones y conversaciones en línea."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:177
+msgid "Deliberately pushing against someone's stated boundaries."
+msgstr ""
+"Molestar deliberadamente en contra de los límites establecidos de alguien."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:179
+msgid "Advocating for, or encouraging, any of the above behavior."
+msgstr "Abogar o alentar cualquiera de las actitudes anteriores."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:182
+#, no-wrap
+msgid ""
+"4. Unacceptable behavior has consequences\n"
+"============================================================\n"
+msgstr ""
+"4. El comportamiento inaceptable tiene consecuencias "
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:188
+msgid ""
+"We will not tolerate unacceptable behavior from any community member. We "
+"will not make exceptions for sponsors and those with decision-making "
+"authority. People in formal or informal leadership roles must model the "
+"highest standards of behavior."
+msgstr ""
+"No toleraremos el comportamiento inaceptable de ningún miembro de la "
+"comunidad. No haremos excepciones a patrocinadores ni autoridades tomadorxs "
+"de decisiones. Personas con roles de liderazgo formales o informales deben "
+"establecer el estándar más alto de comportamiento."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:192
+msgid ""
+"Anyone asked by another community member to stop unacceptable behavior is "
+"expected to comply immediately. Please don't step in on someone else's "
+"behalf without their consent."
+msgstr ""
+"Cualquiera a quien le sea solicitado por otro miembro de la comunidad "
+"detener un comportamiento inaceptable, debe hacerlo inmediatamente. Por "
+"favor, no actúes en nombre de otra persona sin su consentimiento."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:195
+#, no-wrap
+msgid ""
+"5. Where to go for help\n"
+"============================================================\n"
+msgstr ""
+"5. ¿Dónde acudir por ayuda?\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:201
+msgid ""
+"The Community Council is an elected body of Tor Core Contributors who can "
+"assist with intra-community conflict resolution. Community Council policies "
+"and information can be found on the Community Council wiki [1]. You can "
+"contact the whole Community council:"
+msgstr ""
+" El Consejo de la Comunidad es una grupo electo de colaboradores principales"
+" de Tor que pueden ayudar en la resolución de conflictos dentro de la "
+"comunidad. Las políticas e información del Consejo de la Comunidad pueden "
+"ser consultadas en la wiki del Consejo de la Comunidad [1]. Puedes contactar"
+" al Consejo de la Comunidad:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:203
+msgid "if you have questions or concerns about the code of conduct, or"
+msgstr "si tienes preguntas o inquietudes sobre el código de conducta, o "
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:205
+msgid "if you feel that you have witnessed a code of conduct violation"
+msgstr "si crees que has presenciado una violación al código de conducta."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:212
+msgid ""
+"However, if you feel that there is a conflict of interest with any council "
+"member, you may contact members individually. Council members' GPG keys are "
+"listed on the Community Council wiki. If there is a conflict of interest, "
+"the affected council member will recuse themselves. They will not be "
+"involved in any discussion or documentation of the incident. More about the "
+"Community Council can be found in the guidelines [2]."
+msgstr ""
+"Sin embargo, si crees que hay un conflicto de intereses con algún miembro "
+"del consejo, puedes contactar a los miembros individualmente. Las llaves GPG"
+" de los miembros del Consejo de la Comunidad están listadas en la wiki del "
+"Consejo de la Comunidad. Si hay un conflicto de intereses, el miembro del "
+"consejo que esté afectado no participará. No estarán involucradxs en ninguna"
+" discusión o documentación del incidente. Más sobre el Consejo de la "
+"Comunidad puede ser encontrado en los lineamientos [2]. "
+
+#. type: Plain text
+#: ../code_of_conduct.txt:215
+#, no-wrap
+msgid ""
+"6. What to do if you witness unacceptable behavior\n"
+"============================================================\n"
+msgstr ""
+"¿Qué hacer si presencias un comportamiento inaceptable?\n"
+"============================================================\n"
+"\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:230
+msgid ""
+"If you are subject to or witness unacceptable behavior, or have any other "
+"concerns, please notify the Community Council as soon as possible. You can "
+"contact the community council in person, or at tor-community-"
+"council(a)lists.torproject.org. Current councilmembers are listed on the wiki "
+"[1]. The Community Council's incident response will vary on a case-by-case "
+"basis. The council will make every effort to respond to the incident "
+"immediately. The council will prioritize the safety of the person who has "
+"been harmed, or is at risk of harm. Person(s) who have been harmed or are at"
+" risk of harm can withdraw the incident report at any time. We will never do"
+" anything without the consent of the person who has been harmed or is at "
+"risk of harm, except in situations where there is a threat of imminent "
+"danger or harm to anyone. More information about the Community Council's "
+"incident reporting and response policies can be found on their wiki [1]."
+msgstr ""
+"Si presencias o eres víctima de una conducta inaceptable, o tienes alguna "
+"otra inquietud, por favor notifica al Consejo de la Comunidad tan pronto "
+"como sea posible. Puedes contactar al consejo de la comunidad en persona, o "
+"por correo a tor-community council@…. Los actuales miembros del consejo "
+"están listados en la wiki [1]. La respuesta del Consejo de la Comunidad a un"
+" incidente puede variar de caso en caso. El consejo hará un esfuerzo para "
+"responder al incidente inmediatamente. El consejo priorizará la seguridad de"
+" la persona que haya sido afectada, o que esté en riesgo de estarlo. Las "
+"personas que hayan sido afectadas o estén en riesgo de estarlo pueden anular"
+" el reporte del incidente en cualquier momento. Nunca haremos algo sin el "
+"consentimiento de la persona que haya sido afectada o esté en riesgo de "
+"estarlo, excepto en situaciones donde exista una amenaza de peligro "
+"inminente o de lastimar a alguien. Más información sobre el reporte de "
+"incidentes del Consejo de la Comunidad y las políticas de respuesta pueden "
+"ser encontradas en su wiki [1]. "
+
+#. type: Plain text
+#: ../code_of_conduct.txt:233
+#, no-wrap
+msgid ""
+"7. What the person reporting a violation can expect\n"
+"============================================================\n"
+msgstr ""
+"¿Qué puede esperar una persona que reporta una violación del Código de conducta?\n"
+"============================================================\n"
+"\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:242
+msgid ""
+"The Community Council prioritizes the safety and well-being of any person "
+"who feels that they have been harmed or may be in danger of being harmed. "
+"Anyone reporting an issue to the Community Council can expect that their "
+"report will be taken seriously. Initial reports can be taken in written or "
+"verbal form. If the incident does not require an immediate resolution, then "
+"a written report can be shared with the Community Council in an encrypted "
+"format. The next steps in an incident response will vary on a case-by-case "
+"basis."
+msgstr ""
+" El Consejo de la Comunidad prioriza la seguridad y el bienestar de "
+"cualquier persona que se sienta afectada o en riesgo de estarlo. Cualquiera "
+"que reporte un incidente al Concejo de la Comunidad puede esperar que su "
+"reporte sea tomando en serio. Los reportes iniciales pueden ser presentados "
+"en forma escrita u oral. Si el incidente no requiere de una resolución "
+"inmediata, puede presentarse un reporte escrito al Consejo de la Comunidad "
+"en un formato encriptado. Los pasos siguientes de la respuesta a un "
+"incidente pueden variar de caso en caso."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:245
+#, no-wrap
+msgid ""
+"8. How the Community Council responds to incidents\n"
+"============================================================\n"
+msgstr ""
+"8. ¿Cómo responde a los incidentes el Consejo de la Comunidad?\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:252
+msgid ""
+"If a community member engages in unacceptable behavior, the Community "
+"Council may take any action they deem appropriate, including but not limited"
+" to a warning, informal mediation, temporary ban or permanent expulsion from"
+" the community. Any actions and decisions by the Community Council may be "
+"appealed by following the appeals process in the Community Council "
+"Guidelines [1]."
+msgstr ""
+"Si un miembro de la comunidad tiene un comportamiento inaceptable, el "
+"Consejo de la Comunidad puede tomar la acción que considere apropiada, "
+"incluyendo pero no limitándose a realizar una advertencia, mediación "
+"informal, suspensión temporal o expulsión permanente de la comunidad. "
+"Cualquier acción y decisión del Consejo de la Comunidad puede ser apelado "
+"siguiendo el proceso de apelación ubicado en los lineamientos del Consejo de"
+" la Comunidad [1]."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:255
+#, no-wrap
+msgid ""
+"9. Scope of this document\n"
+"============================================================\n"
+msgstr ""
+"9. Alcance de este documento\n"
+"============================================================\n"
+"\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:258
+msgid "This code of conduct covers all community participants:"
+msgstr ""
+" Este código de conducta contempla a todxs lxs participantes de la "
+"comunidad:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:260
+msgid "paid and unpaid contributors"
+msgstr "Contribuidores remunerados y no remunerados"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:262
+msgid "sponsors"
+msgstr "Patrocinadores"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:264
+msgid "other guests"
+msgstr "Otros invitados"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:266
+msgid "when interacting:"
+msgstr "Cuando se interactúe:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:268
+msgid "in all online and in-person community venues"
+msgstr "en todos los espacios de la comunidad, en línea y en persona"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:270
+msgid "in one-on-one communications that relate to community work"
+msgstr ""
+"en comunicaciones uno a uno que se relacionen con el trabajo de la comunidad"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:277
+msgid ""
+"This code of conduct and its related procedures also applies to unacceptable"
+" behavior occurring outside the scope of community activities when such "
+"behavior has the potential to adversely affect the safety and well-being of "
+"community members. As members of the Tor community, we support and follow "
+"this Code while we are working on Tor, and take care not to undermine it in "
+"the rest of our time."
+msgstr ""
+"Este código de conducta y sus procedimientos relacionados también aplica a "
+"comportamientos inaceptables que ocurran fuera del alcance de las "
+"actividades de la comunidad, cuando dicho comportamiento puede afectar "
+"negativamente la seguridad y el bienestar de los miembros de la comunidad. "
+"Como miembros de la comunidad Tor apoyamos y seguimos este código mientras "
+"trabajamos en Tor, y tendremos cuidado de no quebrantarlo en el resto de "
+"nuestro tiempo."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:280
+#, no-wrap
+msgid ""
+"10. License and attribution\n"
+"============================================================\n"
+msgstr ""
+"10. Licencia y atribución\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:284
+msgid ""
+"This code of conduct is shared under a Creative Commons CC-BY-SA 4.0 "
+"International license."
+msgstr ""
+"Este código de conducta es compartido bajo una licencia Creative Commons CC-"
+"BY-SA 4.0 International license."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:287
+msgid ""
+"This code of conduct uses some language and framing from the Citizen Code of"
+" Conduct, which is shared under a CC-BY-SA license: citizencodeofconduct.org"
+msgstr ""
+"Este código de conducta utiliza parte del lenguaje y enfoque del Citizen "
+"Code of Conduct, que es compartido bajo una licencia CC-BY-SA license: "
+"citizencodeofconduct.org"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:289
+msgid ""
+"[1] https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil [2] "
+"https://gitweb.torproject.org/community/policies.git/tree/community_council…"
+msgstr ""
+"[1] https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil [2] "
+"https://gitweb.torproject.org/community/policies.git/tree/community_council…"
diff --git a/code_of_conduct+tr.po b/code_of_conduct+tr.po
new file mode 100644
index 000000000..07e735182
--- /dev/null
+++ b/code_of_conduct+tr.po
@@ -0,0 +1,799 @@
+# Code of conduct of the tor project
+# Copyright (C) 2019 tor project.
+# This Code of Conduct is licensed under a Creative Commons CC-BY-SA 4.0
+# International license.e.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+# Translators:
+# T. E. Kalayci <tekrei(a)gmail.com>, 2019
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Code of conduct of the Tor Project\n"
+"POT-Creation-Date: 2019-08-02 12:00+0000\n"
+"PO-Revision-Date: 2019-08-27 18:54+0000\n"
+"Last-Translator: T. E. Kalayci <tekrei(a)gmail.com>, 2019\n"
+"Language-Team: Turkish (https://www.transifex.com/otf/teams/1519/tr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: tr\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:1 ../code_of_conduct.txt:24
+#: ../code_of_conduct.txt:51 ../code_of_conduct.txt:75
+#: ../code_of_conduct.txt:104 ../code_of_conduct.txt:180
+#: ../code_of_conduct.txt:193 ../code_of_conduct.txt:213
+#: ../code_of_conduct.txt:231 ../code_of_conduct.txt:243
+#: ../code_of_conduct.txt:253 ../code_of_conduct.txt:278
+#, no-wrap
+msgid "============================================================\n"
+msgstr "============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:3
+#, no-wrap
+msgid ""
+"Tor Project Code of Conduct\n"
+"============================================================\n"
+msgstr ""
+"Tor Projesi Davranış Kuralları\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:6
+msgid "Statement of Intent:"
+msgstr "Niyet Beyanı:"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:10
+msgid ""
+"The Tor Project is committed to fostering an inclusive environment and "
+"community. Tor is a place where people should feel safe to engage, share "
+"their point of view, and participate."
+msgstr ""
+"Tor Projesi kapsayıcı bir ortam ve topluluk geliştirmeyi hedefler. Tor "
+"insanların uğraşırken, görüş paylaşırken ve katılım gösterirken güvenli "
+"hissetmeleri gereken bir yerdir. "
+
+#. type: Plain text
+#: ../code_of_conduct.txt:15
+msgid ""
+"This code of conduct applies to The Tor Project as a whole. It is intended "
+"to provide guidelines for contributors. Employees and contractors of The Tor"
+" Project, Inc. (TPI) are also subject to company policies and procedures. "
+"Those people should feel free to contact HR with questions or concerns."
+msgstr ""
+"Bu davranış kuralları bir bütün olarak Tor Projesini kapsar. Katkı "
+"sağlayanlar için bir yol gösterici olarak işlev görmesi amaçlanmıştır. Tor "
+"Projesi Şirketi (TPI) çalışanları ve yüklenicileri ayrıca şirket "
+"politikaları ve usullerine tabidir. Bu kişiler soru ve kaygıları için İK'yla"
+" bağlantı kurabilirler."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:23
+msgid ""
+"This code of conduct is not exhaustive or complete. It is an ongoing effort "
+"to summarize our shared understanding. We want to provide a welcoming, safe "
+"environment, so we can work together to pursue powerful solutions. We "
+"reserve the right to deviate from strictly enforcing this code. Any "
+"deviations must produce an outcome which is fairer, and aligned with our "
+"values. We understand that keeping a living document relevant and “patched” "
+"involves sustained effort."
+msgstr ""
+"Bu davranış kuralları ne kapsamlı ne de eksiksizdir. Ortak anlayışımızı "
+"özetlemeye ilişkin süregiden bir çabadır. Daha güçlü çözümler arayışında "
+"birlikte çalışabilmek için samimi ve güvenli bir ortam sağlamak istiyoruz. "
+"Bu kuralları katı bir şekilde uygulamadan sapma hakkımızı saklı tutuyoruz. "
+"Herhangi bir sapma daha adil ve değerlerimizle uyumlu bir sonuç üretmek "
+"zorundadır. Yaşayan bir belgeyi güncel ve \"yamalı\" tutmanın sürdürülebilir"
+" bir çaba gerektirdiğinin farkındayız."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:26
+#, no-wrap
+msgid ""
+"0. Summary: Don't be a jerk. Be awesome instead.\n"
+"============================================================\n"
+msgstr ""
+"0. Özet: Bir pislik olma. Aksine harika ol.\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:29
+msgid "The Tor community should be a good place where people are glad to be."
+msgstr ""
+"Tor topluluğu insanların yer almaktan memnun olduğu iyi bir yer olmalıdır."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:31
+#, no-wrap
+msgid " DO: Be kind, thoughtful, and considerate.\n"
+msgstr "YAP: İyi, düşünceli ve nazik ol.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:33
+#, no-wrap
+msgid " DO: Make Tor a place where people are happy and comfortable.\n"
+msgstr "YAP: Tor'u insanların mutlu ve rahat olduğu bir yer kıl.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:36
+#, no-wrap
+msgid ""
+" DO: Remember: We are all contributing; we are all learning. Nobody was born\n"
+" an expert.\n"
+msgstr ""
+"YAP: Unutma: Hepimiz katkı sağlıyoruz; hepimiz öğreniyoruz. Hiç kimse bir "
+"uzman olarak doğmadı.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:38
+#, no-wrap
+msgid " DO: Yield the floor. Listen. Make sure everyone gets heard.\n"
+msgstr "YAP: Başkasına söz ver. Dinle. Herkesin duyulduğundan emin ol.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:40
+#, no-wrap
+msgid " DON'T: Insult, harass, intimidate, or be a jerk.\n"
+msgstr "YAPMA: Hakaret, taciz, yıldırma veya pislik olma.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:43
+#, no-wrap
+msgid ""
+" DON'T: Treat honest mistakes as an excuse to hassle people. Mistakes are for\n"
+" learning.\n"
+msgstr ""
+"YAPMA: Dürüst hataları insanların rahatını kaçırmak için bir bahane olarak "
+"kullanma. Hatalar öğrenmek içindir.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:46
+#, no-wrap
+msgid ""
+" DON'T: Hunt for ways to uphold the letter of this code while violating its\n"
+" spirit.\n"
+msgstr ""
+"YAPMA: Bu davranış kurallarını özünü ihlal ederek korumanın yollarını "
+"arama.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:50
+#, no-wrap
+msgid ""
+" AND DO: Eagerly email: tor-community-council(a)lists.torproject.org with\n"
+" questions or concerns. Public key:\n"
+" https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil#Contact\n"
+msgstr ""
+" VE YAP: tor-community-council(a)lists.torproject.org e-posta\n"
+" adresine soru ve kaygılarını mutlaka gönder. Açık anahtar:\n"
+" https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil#Contact\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:53
+#, no-wrap
+msgid ""
+"1. Purpose\n"
+"============================================================\n"
+msgstr ""
+"1. Amaç\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:63
+msgid ""
+"A primary goal of the Tor community is to be inclusive of many different "
+"contributors. We want to include contributors from the most varied and "
+"diverse backgrounds possible. As such, we are committed to providing a "
+"friendly, safe and welcoming environment for all, regardless of their "
+"experience, gender identity or expression, sexual orientation, family, "
+"relationships, ability (whether bodily or mental), personal appearance, "
+"socioeconomic status, body size, race, ethnicity, age, religion, "
+"nationality, or membership in a disadvantaged and/or underrepresented group."
+msgstr ""
+"Tor topluluğunun birincil amacı bir çok farklı katkı sağlayanı kapsayıcı "
+"olmasıdır. Mümkün olduğunca çeşitli ve değişik geçmişlere sahip katkı "
+"sağlayanları kapsamak istiyoruz. Bu nedenle deneyimi, cinsiyet kimliği veya "
+"ifadesi, cinsel yönelimi, ailesi, ilişkileri, (zihinsel veya bedensel) "
+"yetenekleri, kişisel görünüşü, sosyoekonomik konumu, beden ölçüsü, ırkı, "
+"etnik kökeni, yaşı, dini, milliyeti, veya herhangi bir dezavantajlı ve/veya "
+"yetersiz temsiliyete sahip bir grup üyesi olması gözetilmeksizin herkes için"
+" nazik, güvenli ve samimi bir ortam sağlamayı amaçlıyoruz."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:68
+msgid ""
+"A safe environment means one free from abuse, whether isolated or systemic. "
+"We explicitly acknowledge that tolerating abuse is a security problem. "
+"Allowing abusers and malicious people to disrupt our community puts our "
+"software, developers, and users at risk."
+msgstr ""
+"Güvenli bir ortam, ister yalıtılmış isterse de sistemsel olsun, suistimalin "
+"olmadığı bir ortam anlamına gelir. İstismara müsamaha etmenin bir güvenlik "
+"problemi olduğunu açıkça kabul ediyoruz. İstismarcıların ve kötü insanların "
+"topluluğumuzu rahatsız etmelerine izin vermek yazılımlarımızı, "
+"geliştiricilerimizi ve kullanıcılarımızı tehlikeye sokar."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:71
+msgid ""
+"This code of conduct outlines our expectations for all those who participate"
+" in our community, as well as the consequences for unacceptable behavior."
+msgstr ""
+"Bu davranış kuralları toplulukta katılım gösteren herkesten "
+"beklentilerimizin yanında kabul edilemez davranışların sonuçlarını "
+"özetliyor. "
+
+#. type: Plain text
+#: ../code_of_conduct.txt:74
+msgid ""
+"We invite all those who participate in The Tor Project to help us create "
+"safe and positive experiences for everyone."
+msgstr ""
+"Tor Projesine katılan herkesi, herkes için güvenli ve olumlu deneyimler "
+"yaratmak üzere yardımcı olmaya çağırıyoruz."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:77
+#, no-wrap
+msgid ""
+"2. Be your best self\n"
+"============================================================\n"
+msgstr ""
+"2. En iyi kendiniz olun\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:80
+msgid ""
+"The following behaviors are expected and requested of all community members:"
+msgstr ""
+"Bütün topluluk üyelerinden beklenen ve istenen davranışlar aşağıdadır:"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:83
+msgid ""
+"Participate in an honest and active way. In doing so, you contribute to the "
+"health and longevity of this community."
+msgstr ""
+"Dürüst ve etkin bir şekilde katılım gösterin. Böylece bu topluluğun sağlık "
+"ve uzun ömrüne katkıda bulunmuş olursunuz."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:85
+msgid "Exercise consideration and respect in your speech and actions."
+msgstr "Konuşma ve eylemlerinizde düşünceli ve saygılı olun."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:87
+msgid "Attempt collaboration and dialog before engaging in conflict."
+msgstr "Çatışmaya kalkışmadan önce işbirliği ve diyaloga girişin. "
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:89
+msgid ""
+"Refrain from demeaning, discriminatory, or harassing behavior and speech."
+msgstr "Alçaltıcı, ayrımcı veya taciz edici davranış ve konuşmadan kaçının."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:92
+msgid ""
+"Be mindful of your surroundings and of your fellow participants. Alert "
+"community leaders if you notice:"
+msgstr ""
+"Çevrenizi ve katılımcı arkadaşlarınızı önemseyin. Şu olaylarla "
+"karşılaşırsanız topluluk liderlerini uyarın:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:94
+msgid "a dangerous situation"
+msgstr "tehlikeli bir durum"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:96
+msgid "someone in distress"
+msgstr "tehlike içerisindeki biri"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:98
+msgid "violations of this code of conduct, even if they seem minor"
+msgstr "önemsiz gözükse bile bu davranış kurallarının ihlali"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:101
+msgid ""
+"Remember that community event venues may be shared with members of the "
+"public. Please be respectful to everyone using these locations."
+msgstr ""
+"Unutmayın, topluluk etkinliklerinin gerçekleştiği mekanlar toplum üyeleriyle"
+" paylaşılabilir. Lütfen bu konumları kullanan herkese saygılı olun."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:103
+msgid "Respect the privacy of your fellow community members."
+msgstr "Topluluk üyesi arkadaşlarınızın mahremiyetine saygı gösterin."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:106
+#, no-wrap
+msgid ""
+"3. Unacceptable behaviors\n"
+"============================================================\n"
+msgstr ""
+"3. Kabul edilemez davranışlar\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:109
+msgid "The following behaviors are unacceptable within our community:"
+msgstr "Topluluğumuz içerisindeki kabul edilemez davranışlar aşağıdadır:"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:114
+msgid ""
+"Violence, sexual assault, threats of violence, or violent language directed "
+"against another person, especially violence against a person or group based "
+"on a protected characteristic. (Display of weapons may constitute "
+"intimidation or a threat of violence.)"
+msgstr ""
+"Başka bir kişiye yönelmiş şddet, cinsel saldırı, şiddet tehdidi veya şiddet "
+"dili, özellikle korunmalı bir niteliğe sahip bir grup veya kişiye yönelik "
+"şiddet. (Silahların gösterilmesi yıldırma veya şiddet tehdidi "
+"oluşturabilir.)"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:117
+msgid ""
+"Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory"
+" jokes and language."
+msgstr ""
+"Cinsiyetçi, ırkçı, homofobik, transfobik, engellilere karşı veya başka "
+"ayrımcı şakalar ve dil."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:122
+msgid ""
+"Spontaneously posting or displaying sexually explicit or violent material. "
+"(If it is necessary to share such material when working on Tor's mission, do"
+" so with sensitivity. Be aware that many people don't want to see it.)"
+msgstr ""
+"Kendiliğinden cinsel içerikli veya şiddet malzemesi gönderme veya gönderme. "
+"(Tor'un görevleriyle ilgili olarak bu tür bir malzeme paylaşmak gerekliyse, "
+"hassas bir şekilde yapın. Çoğu insanın onları görmek istemeyeceğini "
+"unutmayın.)"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:125
+msgid ""
+"Posting or threatening to post other people’s personally identifying "
+"information (\"doxing\") without their consent."
+msgstr ""
+"Başka kişiler hakkındaki, onları kişi olarak tanımlayabilecek bilgiyi "
+"(\"doxing\"), onların rızası olmadan göndermek veya göndermekle tehdit "
+"etmek."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:127
+msgid "Personal insults or attacks, particularly those related to:"
+msgstr ""
+"Kişisel hakaretler veya saldırılar, özellikle aşağıdakilerle ilgiliyle:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:129
+msgid "experience"
+msgstr "deneyim"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:131
+msgid "gender identity or expression"
+msgstr "cinsiyet kimliği veya ifadesi"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:133
+msgid "sexual orientation"
+msgstr "cinsel yönelim"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:135
+msgid "family"
+msgstr "aile"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:137
+msgid "relationships"
+msgstr "ilişkiler"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:139
+msgid "ability (whether bodily or mental)"
+msgstr "(zihinsel veya bedensel) yetenek"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:141
+msgid "personal appearance"
+msgstr "kişisel görünüş"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:143
+msgid "socioeconomic status"
+msgstr "sosyoekonomik konum"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:145
+msgid "body size"
+msgstr "beden ölçüsü"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:147
+msgid "race"
+msgstr "ırk"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:149
+msgid "ethnicity"
+msgstr "etnik kökeni"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:151
+msgid "age"
+msgstr "yaş"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:153
+msgid "religion"
+msgstr "din"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:155
+msgid "nationality"
+msgstr "milliyet"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:157
+msgid "membership in a disadvantaged and/or underrepresented group"
+msgstr "dezavantajlı ve/veya yetersiz temsiliyete sahip bir grup üyeliği"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:161
+msgid ""
+"Inappropriate photography, audio recording, or recording of personal "
+"information. You should have someone's consent before recording these "
+"things, and before posting them publicly."
+msgstr ""
+"Uygun olmayan fotoğraf, ses veya kişisel bilginin kaydı. Bu kayıtları "
+"almadan ve kamuya açık bir şekilde göndermeden önce kişinin rızasını almanız"
+" gerekmektedir."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:164
+msgid ""
+"Inappropriate physical contact. You should have someone’s consent before "
+"touching them."
+msgstr ""
+"Uygun olmayan fiziksel temas. İnsanlara dokunmadan önce onların rızasını "
+"almanız gerekmektedir."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:167
+msgid ""
+"Unwelcome sexual attention: this includes sexualized comments or jokes, "
+"inappropriate touching, groping, and unwelcome sexual advances."
+msgstr ""
+"İstenmeyen cinsel ilgi: bu cinsellik içeren yorumları veya şakaları, uygun "
+"olmayan dokunmayı, elle tacizi ve istenmeyen cinsel kuru içerir."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:169
+msgid "Deliberate intimidation, stalking or following (online or in person)."
+msgstr "Kasti gözdağı, takip etme veya izleme (çevrimiçi veya şahsen)."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:172
+msgid ""
+"Deliberately undermining the spirit of this code while following the letter."
+msgstr "Kasti olarak bu kuralları özünü yok ederek uygulamaya çalışmak."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:175
+msgid ""
+"Sustained disruption of any community events, including talks, "
+"presentations, and online conversations."
+msgstr ""
+"Konuşmaları, sunumları ve çevrimiçi sohbetleri de içeren herhangi bir "
+"topluluk etkinliğini aralıksız aksatma."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:177
+msgid "Deliberately pushing against someone's stated boundaries."
+msgstr "Kasti olarak bir kişinin belirtilen sınırlarını zorlama."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:179
+msgid "Advocating for, or encouraging, any of the above behavior."
+msgstr "Yukarıdaki herhangi bir davranışı savunma veya teşvik etme."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:182
+#, no-wrap
+msgid ""
+"4. Unacceptable behavior has consequences\n"
+"============================================================\n"
+msgstr ""
+"4. Kabul edilemez davranışın sonuçları var\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:188
+msgid ""
+"We will not tolerate unacceptable behavior from any community member. We "
+"will not make exceptions for sponsors and those with decision-making "
+"authority. People in formal or informal leadership roles must model the "
+"highest standards of behavior."
+msgstr ""
+"Herhangi bir topluluk üyesinin kabul edilemez bir davranış sergilemesine "
+"müsamaha göstermeyeceğiz. Destekçiler veya karar alıcı yetkisi olanlara "
+"istisna yapmayacağız. Resmi veya gayrı resmi lider rolündeki insanlar en "
+"yüksek davranış standartı için model olmalıdır."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:192
+msgid ""
+"Anyone asked by another community member to stop unacceptable behavior is "
+"expected to comply immediately. Please don't step in on someone else's "
+"behalf without their consent."
+msgstr ""
+"Başka bir topluluk üyesinin kabul edilemez davranışın durdurulması istenen "
+"herhangi bir kişi hemen buna uymak zorundadır. Lütfen, onların rızası "
+"olmadan başkasının adına karışmayın."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:195
+#, no-wrap
+msgid ""
+"5. Where to go for help\n"
+"============================================================\n"
+msgstr ""
+"5. Nereden yardım alınmalı\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:201
+msgid ""
+"The Community Council is an elected body of Tor Core Contributors who can "
+"assist with intra-community conflict resolution. Community Council policies "
+"and information can be found on the Community Council wiki [1]. You can "
+"contact the whole Community council:"
+msgstr ""
+"Topluluk içi uyuşmazlık konusunda destek verebilecek olan Topluluk Konseyi, "
+"Tor Çekirdek Katılımcılarınn seçilmiş bir organıdır. Topluluk Konseyi "
+"politikaları ve bilgi Topluluk Konseyi viki sayfasında bulunabilir [1]. "
+"Bütün Topluluk konseyi ile bağlantıl kurabileceğiniz durumlar:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:203
+msgid "if you have questions or concerns about the code of conduct, or"
+msgstr "davranış kuralları hakkında soru veya kaygılarınız varsa, veya"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:205
+msgid "if you feel that you have witnessed a code of conduct violation"
+msgstr "eğer bir davranış kuralı ihlaliyle karşılaştığınızı düşünüyorsanız"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:212
+msgid ""
+"However, if you feel that there is a conflict of interest with any council "
+"member, you may contact members individually. Council members' GPG keys are "
+"listed on the Community Council wiki. If there is a conflict of interest, "
+"the affected council member will recuse themselves. They will not be "
+"involved in any discussion or documentation of the incident. More about the "
+"Community Council can be found in the guidelines [2]."
+msgstr ""
+"Bununla birlikte, eğer herhangi bir konsey üyesiyle çıkar çatışması olduğunu"
+" düşünüyorsanız, üyelerle teker teker de iletişim kurabilirsiniz. Konsey "
+"üyelerinin GPG anahtarları Topluluk Konseyi vikisinde listelenmiştir. Eğer "
+"bir çıkar çatışması varsa, etkilenen konseyi üyesi konudan çekilebilir. "
+"Olayla ilgili hiç tartışma veya belgeye katılmayacaklardır. Topluluk Konseyi"
+" hakkında daha fazla bilgiye kılavuzdan ulaşabilirsiniz [2]."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:215
+#, no-wrap
+msgid ""
+"6. What to do if you witness unacceptable behavior\n"
+"============================================================\n"
+msgstr ""
+"6. Kabul edilemez bir davranışla karşılaşınca ne yapmalısınız\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:230
+msgid ""
+"If you are subject to or witness unacceptable behavior, or have any other "
+"concerns, please notify the Community Council as soon as possible. You can "
+"contact the community council in person, or at tor-community-"
+"council(a)lists.torproject.org. Current councilmembers are listed on the wiki "
+"[1]. The Community Council's incident response will vary on a case-by-case "
+"basis. The council will make every effort to respond to the incident "
+"immediately. The council will prioritize the safety of the person who has "
+"been harmed, or is at risk of harm. Person(s) who have been harmed or are at"
+" risk of harm can withdraw the incident report at any time. We will never do"
+" anything without the consent of the person who has been harmed or is at "
+"risk of harm, except in situations where there is a threat of imminent "
+"danger or harm to anyone. More information about the Community Council's "
+"incident reporting and response policies can be found on their wiki [1]."
+msgstr ""
+"Eğer kabul edilemez bir davranışa maruz kalır veya tanık olursanız veya "
+"başka kaygılarınız varsa, lütfen Topluluk Konseyi'ne en kısa sürede "
+"bildirin. Topluluk konseyi ile şahsen veya tor-community-"
+"council(a)lists.torproject.org e-posta adresiyle iletişim kurabilirsiniz. "
+"Mevcut konsey üyeleri vikide listelenmiştir [1]. Topluluk Konseyi'nin "
+"olaylara verdiği tepkiler duruma göre değişecektir. Konsey olaya hızlıca "
+"yanıt vermek için her türlü çabayı gösterecktir. Zarar gören veya zarar "
+"görme tehlikesindeki kişinin güvenliği Konseyin önceliğidir. Zarar gören "
+"veya zarar görme tehlikesindeki kişi(ler) olay raporunu her zaman geri "
+"çekebilirler. Başka birine olası bir tehlike veya zarar durumları dışında, "
+"zarar gören veya zarar görme tehlikesindeki kişilerin rızası olmadan hiç bir"
+" şey yapmayacağız. Topluluk Konseyi'nin olayları raporlama ve tepki "
+"politikaları hakkında daha fazla bilgiye vikiden ulaşılabilir [1]."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:233
+#, no-wrap
+msgid ""
+"7. What the person reporting a violation can expect\n"
+"============================================================\n"
+msgstr ""
+"7. İhlal bildiren kişi ne beklemelidir\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:242
+msgid ""
+"The Community Council prioritizes the safety and well-being of any person "
+"who feels that they have been harmed or may be in danger of being harmed. "
+"Anyone reporting an issue to the Community Council can expect that their "
+"report will be taken seriously. Initial reports can be taken in written or "
+"verbal form. If the incident does not require an immediate resolution, then "
+"a written report can be shared with the Community Council in an encrypted "
+"format. The next steps in an incident response will vary on a case-by-case "
+"basis."
+msgstr ""
+"Zarar gördüğünü veya zarar görme tehlikesi altında olduğunu düşünen her "
+"kişinin güvenliğini ve sağlığı Topluluk Konseyi'nin önceliğidir. Topluluk "
+"Konseyine bir hususu bildiren herkes raporunun ciddiye alınacağını "
+"bilmelidir. İlk raporlar yazılı veya sözlü biçimde olabilir. Eğer olay "
+"doğrudan bir çözüm gerektirmiyorsa yazılı bir rapor Topluluk Konseyi ile "
+"şifreli bir biçimde paylaşılabilir. Bir olaya tepkiyle ilgili sonraki "
+"adımlar duruma göre değişecektir. "
+
+#. type: Plain text
+#: ../code_of_conduct.txt:245
+#, no-wrap
+msgid ""
+"8. How the Community Council responds to incidents\n"
+"============================================================\n"
+msgstr ""
+"8. Topluluk Konseyi olaylara nasıl karşılık verir\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:252
+msgid ""
+"If a community member engages in unacceptable behavior, the Community "
+"Council may take any action they deem appropriate, including but not limited"
+" to a warning, informal mediation, temporary ban or permanent expulsion from"
+" the community. Any actions and decisions by the Community Council may be "
+"appealed by following the appeals process in the Community Council "
+"Guidelines [1]."
+msgstr ""
+"Eğer bir topluluk üyesi kabul edilemez bir davranışta bulunursa, Topluluk "
+"Konseyi uygun gördüğü uyarı, gayrı resmi arabuluculuk, toplulukta geçici "
+"yasaklama veya topluluktan kalıcı ihracı da içeren ama bunlarla sınırlı "
+"olmayan bir eylem gerçekleştirebilir. Topluluk Konseyinin herhangi bir "
+"eylemi ve kararına, Topluluk Konseyi Kılavuzundaki [1] temyiz süreçleri "
+"izlenerek itiraz edilebilir."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:255
+#, no-wrap
+msgid ""
+"9. Scope of this document\n"
+"============================================================\n"
+msgstr ""
+"9. Bu belgenin kapsamı\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:258
+msgid "This code of conduct covers all community participants:"
+msgstr "Bu davranış kuralları bütün topluluk katılımcılarını kapsar:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:260
+msgid "paid and unpaid contributors"
+msgstr "ücretli veya ücretsiz katkı sağlayanlar"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:262
+msgid "sponsors"
+msgstr "destekçiler"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:264
+msgid "other guests"
+msgstr "diğer misafirler"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:266
+msgid "when interacting:"
+msgstr "etkileşim kurarken:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:268
+msgid "in all online and in-person community venues"
+msgstr "bütün çevrimiçi ve yüz yüze topluluk ortamlarında"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:270
+msgid "in one-on-one communications that relate to community work"
+msgstr "topluluk çalışmasına ilişkin bire bir iletişimde"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:277
+msgid ""
+"This code of conduct and its related procedures also applies to unacceptable"
+" behavior occurring outside the scope of community activities when such "
+"behavior has the potential to adversely affect the safety and well-being of "
+"community members. As members of the Tor community, we support and follow "
+"this Code while we are working on Tor, and take care not to undermine it in "
+"the rest of our time."
+msgstr ""
+"Bu davranış kuralları ve ilişkili yöntemler topluluk faaliyetlerinin kapsamı"
+" dışında gerçekleşen, ancak topluluk üyelerinin güvenlik ve sağlığını kötü "
+"yönde etkileme potansiyeli içeren kabul edilemez davranışlar için de "
+"geçerlidir. Tor topluluğu üyeleri olarak, Tor için çalışırken bu Kuralları "
+"destekliyor ve onlara uyuyoruz ve kalan zamanımızda da onlara zarar vermemek"
+" için dikkat ediyoruz."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:280
+#, no-wrap
+msgid ""
+"10. License and attribution\n"
+"============================================================\n"
+msgstr ""
+"10. Lisans ve atıflar\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:284
+msgid ""
+"This code of conduct is shared under a Creative Commons CC-BY-SA 4.0 "
+"International license."
+msgstr ""
+"Bu davranış kuralları Creative Commons CC-BY-SA 4.0 Uluslararası lisansıyla "
+"paylaşılmıştır."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:287
+msgid ""
+"This code of conduct uses some language and framing from the Citizen Code of"
+" Conduct, which is shared under a CC-BY-SA license: citizencodeofconduct.org"
+msgstr ""
+"Bu davranış kuralları, CC-BY-SA lisansı altında şu adreste paylaşılmış olan "
+"Yurttaş Davranış Kuralları'ndan birtakım dil ve çerçeveyi kullanmaktadır: "
+"citizencodeofconduct.org"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:289
+msgid ""
+"[1] https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil [2] "
+"https://gitweb.torproject.org/community/policies.git/tree/community_council…"
+msgstr ""
+"[1] https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil [2] "
+"https://gitweb.torproject.org/community/policies.git/tree/community_council…"
diff --git a/code_of_conduct.pot b/code_of_conduct.pot
new file mode 100644
index 000000000..7150231ad
--- /dev/null
+++ b/code_of_conduct.pot
@@ -0,0 +1,790 @@
+# Code of conduct of the tor project
+# Copyright (C) 2019 tor project.
+# This Code of Conduct is licensed under a Creative Commons CC-BY-SA 4.0
+# International license.e.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Code of conduct of the Tor Project\n"
+"POT-Creation-Date: 2019-08-02 12:00+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL(a)li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: \n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:1 ../code_of_conduct.txt:24
+#: ../code_of_conduct.txt:51 ../code_of_conduct.txt:75
+#: ../code_of_conduct.txt:104 ../code_of_conduct.txt:180
+#: ../code_of_conduct.txt:193 ../code_of_conduct.txt:213
+#: ../code_of_conduct.txt:231 ../code_of_conduct.txt:243
+#: ../code_of_conduct.txt:253 ../code_of_conduct.txt:278
+#, no-wrap
+msgid "============================================================\n"
+msgstr "============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:3
+#, no-wrap
+msgid ""
+"Tor Project Code of Conduct\n"
+"============================================================\n"
+msgstr ""
+"Tor Project Code of Conduct\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:6
+msgid "Statement of Intent:"
+msgstr "Statement of Intent:"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:10
+msgid ""
+"The Tor Project is committed to fostering an inclusive environment and "
+"community. Tor is a place where people should feel safe to engage, share "
+"their point of view, and participate."
+msgstr ""
+"The Tor Project is committed to fostering an inclusive environment and "
+"community. Tor is a place where people should feel safe to engage, share "
+"their point of view, and participate."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:15
+msgid ""
+"This code of conduct applies to The Tor Project as a whole. It is intended "
+"to provide guidelines for contributors. Employees and contractors of The Tor"
+" Project, Inc. (TPI) are also subject to company policies and procedures. "
+"Those people should feel free to contact HR with questions or concerns."
+msgstr ""
+"This code of conduct applies to The Tor Project as a whole. It is intended "
+"to provide guidelines for contributors. Employees and contractors of The Tor"
+" Project, Inc. (TPI) are also subject to company policies and procedures. "
+"Those people should feel free to contact HR with questions or concerns."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:23
+msgid ""
+"This code of conduct is not exhaustive or complete. It is an ongoing effort "
+"to summarize our shared understanding. We want to provide a welcoming, safe "
+"environment, so we can work together to pursue powerful solutions. We "
+"reserve the right to deviate from strictly enforcing this code. Any "
+"deviations must produce an outcome which is fairer, and aligned with our "
+"values. We understand that keeping a living document relevant and “patched” "
+"involves sustained effort."
+msgstr ""
+"This code of conduct is not exhaustive or complete. It is an ongoing effort "
+"to summarize our shared understanding. We want to provide a welcoming, safe "
+"environment, so we can work together to pursue powerful solutions. We "
+"reserve the right to deviate from strictly enforcing this code. Any "
+"deviations must produce an outcome which is fairer, and aligned with our "
+"values. We understand that keeping a living document relevant and “patched” "
+"involves sustained effort."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:26
+#, no-wrap
+msgid ""
+"0. Summary: Don't be a jerk. Be awesome instead.\n"
+"============================================================\n"
+msgstr ""
+"0. Summary: Don't be a jerk. Be awesome instead.\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:29
+msgid "The Tor community should be a good place where people are glad to be."
+msgstr "The Tor community should be a good place where people are glad to be."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:31
+#, no-wrap
+msgid " DO: Be kind, thoughtful, and considerate.\n"
+msgstr " DO: Be kind, thoughtful, and considerate.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:33
+#, no-wrap
+msgid " DO: Make Tor a place where people are happy and comfortable.\n"
+msgstr " DO: Make Tor a place where people are happy and comfortable.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:36
+#, no-wrap
+msgid ""
+" DO: Remember: We are all contributing; we are all learning. Nobody was born\n"
+" an expert.\n"
+msgstr ""
+" DO: Remember: We are all contributing; we are all learning. Nobody was born\n"
+" an expert.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:38
+#, no-wrap
+msgid " DO: Yield the floor. Listen. Make sure everyone gets heard.\n"
+msgstr " DO: Yield the floor. Listen. Make sure everyone gets heard.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:40
+#, no-wrap
+msgid " DON'T: Insult, harass, intimidate, or be a jerk.\n"
+msgstr " DON'T: Insult, harass, intimidate, or be a jerk.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:43
+#, no-wrap
+msgid ""
+" DON'T: Treat honest mistakes as an excuse to hassle people. Mistakes are for\n"
+" learning.\n"
+msgstr ""
+" DON'T: Treat honest mistakes as an excuse to hassle people. Mistakes are for\n"
+" learning.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:46
+#, no-wrap
+msgid ""
+" DON'T: Hunt for ways to uphold the letter of this code while violating its\n"
+" spirit.\n"
+msgstr ""
+" DON'T: Hunt for ways to uphold the letter of this code while violating its\n"
+" spirit.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:50
+#, no-wrap
+msgid ""
+" AND DO: Eagerly email: tor-community-council(a)lists.torproject.org with\n"
+" questions or concerns. Public key:\n"
+" https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil#Contact\n"
+msgstr ""
+" AND DO: Eagerly email: tor-community-council(a)lists.torproject.org with\n"
+" questions or concerns. Public key:\n"
+" https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil#Contact\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:53
+#, no-wrap
+msgid ""
+"1. Purpose\n"
+"============================================================\n"
+msgstr ""
+"1. Purpose\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:63
+msgid ""
+"A primary goal of the Tor community is to be inclusive of many different "
+"contributors. We want to include contributors from the most varied and "
+"diverse backgrounds possible. As such, we are committed to providing a "
+"friendly, safe and welcoming environment for all, regardless of their "
+"experience, gender identity or expression, sexual orientation, family, "
+"relationships, ability (whether bodily or mental), personal appearance, "
+"socioeconomic status, body size, race, ethnicity, age, religion, "
+"nationality, or membership in a disadvantaged and/or underrepresented group."
+msgstr ""
+"A primary goal of the Tor community is to be inclusive of many different "
+"contributors. We want to include contributors from the most varied and "
+"diverse backgrounds possible. As such, we are committed to providing a "
+"friendly, safe and welcoming environment for all, regardless of their "
+"experience, gender identity or expression, sexual orientation, family, "
+"relationships, ability (whether bodily or mental), personal appearance, "
+"socioeconomic status, body size, race, ethnicity, age, religion, "
+"nationality, or membership in a disadvantaged and/or underrepresented group."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:68
+msgid ""
+"A safe environment means one free from abuse, whether isolated or systemic. "
+"We explicitly acknowledge that tolerating abuse is a security problem. "
+"Allowing abusers and malicious people to disrupt our community puts our "
+"software, developers, and users at risk."
+msgstr ""
+"A safe environment means one free from abuse, whether isolated or systemic. "
+"We explicitly acknowledge that tolerating abuse is a security problem. "
+"Allowing abusers and malicious people to disrupt our community puts our "
+"software, developers, and users at risk."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:71
+msgid ""
+"This code of conduct outlines our expectations for all those who participate"
+" in our community, as well as the consequences for unacceptable behavior."
+msgstr ""
+"This code of conduct outlines our expectations for all those who participate"
+" in our community, as well as the consequences for unacceptable behavior."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:74
+msgid ""
+"We invite all those who participate in The Tor Project to help us create "
+"safe and positive experiences for everyone."
+msgstr ""
+"We invite all those who participate in The Tor Project to help us create "
+"safe and positive experiences for everyone."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:77
+#, no-wrap
+msgid ""
+"2. Be your best self\n"
+"============================================================\n"
+msgstr ""
+"2. Be your best self\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:80
+msgid ""
+"The following behaviors are expected and requested of all community members:"
+msgstr ""
+"The following behaviors are expected and requested of all community members:"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:83
+msgid ""
+"Participate in an honest and active way. In doing so, you contribute to the "
+"health and longevity of this community."
+msgstr ""
+"Participate in an honest and active way. In doing so, you contribute to the "
+"health and longevity of this community."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:85
+msgid "Exercise consideration and respect in your speech and actions."
+msgstr "Exercise consideration and respect in your speech and actions."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:87
+msgid "Attempt collaboration and dialog before engaging in conflict."
+msgstr "Attempt collaboration and dialog before engaging in conflict."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:89
+msgid ""
+"Refrain from demeaning, discriminatory, or harassing behavior and speech."
+msgstr ""
+"Refrain from demeaning, discriminatory, or harassing behavior and speech."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:92
+msgid ""
+"Be mindful of your surroundings and of your fellow participants. Alert "
+"community leaders if you notice:"
+msgstr ""
+"Be mindful of your surroundings and of your fellow participants. Alert "
+"community leaders if you notice:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:94
+msgid "a dangerous situation"
+msgstr "a dangerous situation"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:96
+msgid "someone in distress"
+msgstr "someone in distress"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:98
+msgid "violations of this code of conduct, even if they seem minor"
+msgstr "violations of this code of conduct, even if they seem minor"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:101
+msgid ""
+"Remember that community event venues may be shared with members of the "
+"public. Please be respectful to everyone using these locations."
+msgstr ""
+"Remember that community event venues may be shared with members of the "
+"public. Please be respectful to everyone using these locations."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:103
+msgid "Respect the privacy of your fellow community members."
+msgstr "Respect the privacy of your fellow community members."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:106
+#, no-wrap
+msgid ""
+"3. Unacceptable behaviors\n"
+"============================================================\n"
+msgstr ""
+"3. Unacceptable behaviors\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:109
+msgid "The following behaviors are unacceptable within our community:"
+msgstr "The following behaviors are unacceptable within our community:"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:114
+msgid ""
+"Violence, sexual assault, threats of violence, or violent language directed "
+"against another person, especially violence against a person or group based "
+"on a protected characteristic. (Display of weapons may constitute "
+"intimidation or a threat of violence.)"
+msgstr ""
+"Violence, sexual assault, threats of violence, or violent language directed "
+"against another person, especially violence against a person or group based "
+"on a protected characteristic. (Display of weapons may constitute "
+"intimidation or a threat of violence.)"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:117
+msgid ""
+"Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory"
+" jokes and language."
+msgstr ""
+"Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory"
+" jokes and language."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:122
+msgid ""
+"Spontaneously posting or displaying sexually explicit or violent material. "
+"(If it is necessary to share such material when working on Tor's mission, do"
+" so with sensitivity. Be aware that many people don't want to see it.)"
+msgstr ""
+"Spontaneously posting or displaying sexually explicit or violent material. "
+"(If it is necessary to share such material when working on Tor's mission, do"
+" so with sensitivity. Be aware that many people don't want to see it.)"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:125
+msgid ""
+"Posting or threatening to post other people’s personally identifying "
+"information (\"doxing\") without their consent."
+msgstr ""
+"Posting or threatening to post other people’s personally identifying "
+"information (\"doxing\") without their consent."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:127
+msgid "Personal insults or attacks, particularly those related to:"
+msgstr "Personal insults or attacks, particularly those related to:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:129
+msgid "experience"
+msgstr "experience"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:131
+msgid "gender identity or expression"
+msgstr "gender identity or expression"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:133
+msgid "sexual orientation"
+msgstr "sexual orientation"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:135
+msgid "family"
+msgstr "family"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:137
+msgid "relationships"
+msgstr "relationships"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:139
+msgid "ability (whether bodily or mental)"
+msgstr "ability (whether bodily or mental)"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:141
+msgid "personal appearance"
+msgstr "personal appearance"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:143
+msgid "socioeconomic status"
+msgstr "socioeconomic status"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:145
+msgid "body size"
+msgstr "body size"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:147
+msgid "race"
+msgstr "race"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:149
+msgid "ethnicity"
+msgstr "ethnicity"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:151
+msgid "age"
+msgstr "age"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:153
+msgid "religion"
+msgstr "religion"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:155
+msgid "nationality"
+msgstr "nationality"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:157
+msgid "membership in a disadvantaged and/or underrepresented group"
+msgstr "membership in a disadvantaged and/or underrepresented group"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:161
+msgid ""
+"Inappropriate photography, audio recording, or recording of personal "
+"information. You should have someone's consent before recording these "
+"things, and before posting them publicly."
+msgstr ""
+"Inappropriate photography, audio recording, or recording of personal "
+"information. You should have someone's consent before recording these "
+"things, and before posting them publicly."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:164
+msgid ""
+"Inappropriate physical contact. You should have someone’s consent before "
+"touching them."
+msgstr ""
+"Inappropriate physical contact. You should have someone’s consent before "
+"touching them."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:167
+msgid ""
+"Unwelcome sexual attention: this includes sexualized comments or jokes, "
+"inappropriate touching, groping, and unwelcome sexual advances."
+msgstr ""
+"Unwelcome sexual attention: this includes sexualized comments or jokes, "
+"inappropriate touching, groping, and unwelcome sexual advances."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:169
+msgid "Deliberate intimidation, stalking or following (online or in person)."
+msgstr "Deliberate intimidation, stalking or following (online or in person)."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:172
+msgid ""
+"Deliberately undermining the spirit of this code while following the letter."
+msgstr ""
+"Deliberately undermining the spirit of this code while following the letter."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:175
+msgid ""
+"Sustained disruption of any community events, including talks, "
+"presentations, and online conversations."
+msgstr ""
+"Sustained disruption of any community events, including talks, "
+"presentations, and online conversations."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:177
+msgid "Deliberately pushing against someone's stated boundaries."
+msgstr "Deliberately pushing against someone's stated boundaries."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:179
+msgid "Advocating for, or encouraging, any of the above behavior."
+msgstr "Advocating for, or encouraging, any of the above behavior."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:182
+#, no-wrap
+msgid ""
+"4. Unacceptable behavior has consequences\n"
+"============================================================\n"
+msgstr ""
+"4. Unacceptable behavior has consequences\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:188
+msgid ""
+"We will not tolerate unacceptable behavior from any community member. We "
+"will not make exceptions for sponsors and those with decision-making "
+"authority. People in formal or informal leadership roles must model the "
+"highest standards of behavior."
+msgstr ""
+"We will not tolerate unacceptable behavior from any community member. We "
+"will not make exceptions for sponsors and those with decision-making "
+"authority. People in formal or informal leadership roles must model the "
+"highest standards of behavior."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:192
+msgid ""
+"Anyone asked by another community member to stop unacceptable behavior is "
+"expected to comply immediately. Please don't step in on someone else's "
+"behalf without their consent."
+msgstr ""
+"Anyone asked by another community member to stop unacceptable behavior is "
+"expected to comply immediately. Please don't step in on someone else's "
+"behalf without their consent."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:195
+#, no-wrap
+msgid ""
+"5. Where to go for help\n"
+"============================================================\n"
+msgstr ""
+"5. Where to go for help\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:201
+msgid ""
+"The Community Council is an elected body of Tor Core Contributors who can "
+"assist with intra-community conflict resolution. Community Council policies "
+"and information can be found on the Community Council wiki [1]. You can "
+"contact the whole Community council:"
+msgstr ""
+"The Community Council is an elected body of Tor Core Contributors who can "
+"assist with intra-community conflict resolution. Community Council policies "
+"and information can be found on the Community Council wiki [1]. You can "
+"contact the whole Community council:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:203
+msgid "if you have questions or concerns about the code of conduct, or"
+msgstr "if you have questions or concerns about the code of conduct, or"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:205
+msgid "if you feel that you have witnessed a code of conduct violation"
+msgstr "if you feel that you have witnessed a code of conduct violation"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:212
+msgid ""
+"However, if you feel that there is a conflict of interest with any council "
+"member, you may contact members individually. Council members' GPG keys are "
+"listed on the Community Council wiki. If there is a conflict of interest, "
+"the affected council member will recuse themselves. They will not be "
+"involved in any discussion or documentation of the incident. More about the "
+"Community Council can be found in the guidelines [2]."
+msgstr ""
+"However, if you feel that there is a conflict of interest with any council "
+"member, you may contact members individually. Council members' GPG keys are "
+"listed on the Community Council wiki. If there is a conflict of interest, "
+"the affected council member will recuse themselves. They will not be "
+"involved in any discussion or documentation of the incident. More about the "
+"Community Council can be found in the guidelines [2]."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:215
+#, no-wrap
+msgid ""
+"6. What to do if you witness unacceptable behavior\n"
+"============================================================\n"
+msgstr ""
+"6. What to do if you witness unacceptable behavior\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:230
+msgid ""
+"If you are subject to or witness unacceptable behavior, or have any other "
+"concerns, please notify the Community Council as soon as possible. You can "
+"contact the community council in person, or at tor-community-"
+"council(a)lists.torproject.org. Current councilmembers are listed on the wiki "
+"[1]. The Community Council's incident response will vary on a case-by-case "
+"basis. The council will make every effort to respond to the incident "
+"immediately. The council will prioritize the safety of the person who has "
+"been harmed, or is at risk of harm. Person(s) who have been harmed or are at"
+" risk of harm can withdraw the incident report at any time. We will never do"
+" anything without the consent of the person who has been harmed or is at "
+"risk of harm, except in situations where there is a threat of imminent "
+"danger or harm to anyone. More information about the Community Council's "
+"incident reporting and response policies can be found on their wiki [1]."
+msgstr ""
+"If you are subject to or witness unacceptable behavior, or have any other "
+"concerns, please notify the Community Council as soon as possible. You can "
+"contact the community council in person, or at tor-community-"
+"council(a)lists.torproject.org. Current councilmembers are listed on the wiki "
+"[1]. The Community Council's incident response will vary on a case-by-case "
+"basis. The council will make every effort to respond to the incident "
+"immediately. The council will prioritize the safety of the person who has "
+"been harmed, or is at risk of harm. Person(s) who have been harmed or are at"
+" risk of harm can withdraw the incident report at any time. We will never do"
+" anything without the consent of the person who has been harmed or is at "
+"risk of harm, except in situations where there is a threat of imminent "
+"danger or harm to anyone. More information about the Community Council's "
+"incident reporting and response policies can be found on their wiki [1]."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:233
+#, no-wrap
+msgid ""
+"7. What the person reporting a violation can expect\n"
+"============================================================\n"
+msgstr ""
+"7. What the person reporting a violation can expect\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:242
+msgid ""
+"The Community Council prioritizes the safety and well-being of any person "
+"who feels that they have been harmed or may be in danger of being harmed. "
+"Anyone reporting an issue to the Community Council can expect that their "
+"report will be taken seriously. Initial reports can be taken in written or "
+"verbal form. If the incident does not require an immediate resolution, then "
+"a written report can be shared with the Community Council in an encrypted "
+"format. The next steps in an incident response will vary on a case-by-case "
+"basis."
+msgstr ""
+"The Community Council prioritizes the safety and well-being of any person "
+"who feels that they have been harmed or may be in danger of being harmed. "
+"Anyone reporting an issue to the Community Council can expect that their "
+"report will be taken seriously. Initial reports can be taken in written or "
+"verbal form. If the incident does not require an immediate resolution, then "
+"a written report can be shared with the Community Council in an encrypted "
+"format. The next steps in an incident response will vary on a case-by-case "
+"basis."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:245
+#, no-wrap
+msgid ""
+"8. How the Community Council responds to incidents\n"
+"============================================================\n"
+msgstr ""
+"8. How the Community Council responds to incidents\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:252
+msgid ""
+"If a community member engages in unacceptable behavior, the Community "
+"Council may take any action they deem appropriate, including but not limited"
+" to a warning, informal mediation, temporary ban or permanent expulsion from"
+" the community. Any actions and decisions by the Community Council may be "
+"appealed by following the appeals process in the Community Council "
+"Guidelines [1]."
+msgstr ""
+"If a community member engages in unacceptable behavior, the Community "
+"Council may take any action they deem appropriate, including but not limited"
+" to a warning, informal mediation, temporary ban or permanent expulsion from"
+" the community. Any actions and decisions by the Community Council may be "
+"appealed by following the appeals process in the Community Council "
+"Guidelines [1]."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:255
+#, no-wrap
+msgid ""
+"9. Scope of this document\n"
+"============================================================\n"
+msgstr ""
+"9. Scope of this document\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:258
+msgid "This code of conduct covers all community participants:"
+msgstr "This code of conduct covers all community participants:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:260
+msgid "paid and unpaid contributors"
+msgstr "paid and unpaid contributors"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:262
+msgid "sponsors"
+msgstr "sponsors"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:264
+msgid "other guests"
+msgstr "other guests"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:266
+msgid "when interacting:"
+msgstr "when interacting:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:268
+msgid "in all online and in-person community venues"
+msgstr "in all online and in-person community venues"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:270
+msgid "in one-on-one communications that relate to community work"
+msgstr "in one-on-one communications that relate to community work"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:277
+msgid ""
+"This code of conduct and its related procedures also applies to unacceptable"
+" behavior occurring outside the scope of community activities when such "
+"behavior has the potential to adversely affect the safety and well-being of "
+"community members. As members of the Tor community, we support and follow "
+"this Code while we are working on Tor, and take care not to undermine it in "
+"the rest of our time."
+msgstr ""
+"This code of conduct and its related procedures also applies to unacceptable"
+" behavior occurring outside the scope of community activities when such "
+"behavior has the potential to adversely affect the safety and well-being of "
+"community members. As members of the Tor community, we support and follow "
+"this Code while we are working on Tor, and take care not to undermine it in "
+"the rest of our time."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:280
+#, no-wrap
+msgid ""
+"10. License and attribution\n"
+"============================================================\n"
+msgstr ""
+"10. License and attribution\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:284
+msgid ""
+"This code of conduct is shared under a Creative Commons CC-BY-SA 4.0 "
+"International license."
+msgstr ""
+"This code of conduct is shared under a Creative Commons CC-BY-SA 4.0 "
+"International license."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:287
+msgid ""
+"This code of conduct uses some language and framing from the Citizen Code of"
+" Conduct, which is shared under a CC-BY-SA license: citizencodeofconduct.org"
+msgstr ""
+"This code of conduct uses some language and framing from the Citizen Code of"
+" Conduct, which is shared under a CC-BY-SA license: citizencodeofconduct.org"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:289
+msgid ""
+"[1] https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil [2] "
+"https://gitweb.torproject.org/community/policies.git/tree/community_council…"
+msgstr ""
+"[1] https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil [2] "
+"https://gitweb.torproject.org/community/policies.git/tree/community_council…"
1
0

[translation/policies-code_of_conducttxtpot] pulling translations from transifex
by translation@torproject.org 28 Aug '19
by translation@torproject.org 28 Aug '19
28 Aug '19
commit 55290a761125cde6eddab997cc4caa7493f2e306
Author: Translation commit bot <translation(a)torproject.org>
Date: Wed Aug 28 15:02:17 2019 +0000
pulling translations from transifex
---
code_of_conduct+es.po | 815 ++++++++++++++++++++++++++++++++++++++++++++++++++
code_of_conduct+tr.po | 799 +++++++++++++++++++++++++++++++++++++++++++++++++
code_of_conduct.pot | 790 ++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 2404 insertions(+)
diff --git a/code_of_conduct+es.po b/code_of_conduct+es.po
new file mode 100644
index 000000000..663358971
--- /dev/null
+++ b/code_of_conduct+es.po
@@ -0,0 +1,815 @@
+# Code of conduct of the tor project
+# Copyright (C) 2019 tor project.
+# This Code of Conduct is licensed under a Creative Commons CC-BY-SA 4.0
+# International license.e.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+# Translators:
+# Emma Peel, 2019
+# Alfredo Duro <AlfredoDuroexplota(a)protonmail.com>, 2019
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Code of conduct of the Tor Project\n"
+"POT-Creation-Date: 2019-08-02 12:00+0000\n"
+"PO-Revision-Date: 2019-08-27 18:54+0000\n"
+"Last-Translator: Alfredo Duro <AlfredoDuroexplota(a)protonmail.com>, 2019\n"
+"Language-Team: Spanish (https://www.transifex.com/otf/teams/1519/es/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: es\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:1 ../code_of_conduct.txt:24
+#: ../code_of_conduct.txt:51 ../code_of_conduct.txt:75
+#: ../code_of_conduct.txt:104 ../code_of_conduct.txt:180
+#: ../code_of_conduct.txt:193 ../code_of_conduct.txt:213
+#: ../code_of_conduct.txt:231 ../code_of_conduct.txt:243
+#: ../code_of_conduct.txt:253 ../code_of_conduct.txt:278
+#, no-wrap
+msgid "============================================================\n"
+msgstr "============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:3
+#, no-wrap
+msgid ""
+"Tor Project Code of Conduct\n"
+"============================================================\n"
+msgstr ""
+"Código de conducta del Proyecto Tor\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:6
+msgid "Statement of Intent:"
+msgstr "Declaración de intenciones:"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:10
+msgid ""
+"The Tor Project is committed to fostering an inclusive environment and "
+"community. Tor is a place where people should feel safe to engage, share "
+"their point of view, and participate."
+msgstr ""
+"El proyecto Tor está decidido a fomentar una comunidad y ambiente "
+"inclusivos. Tor es un espacio en donde las personas deben sentirse seguras, "
+"compartir su punto de vista, y participar."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:15
+msgid ""
+"This code of conduct applies to The Tor Project as a whole. It is intended "
+"to provide guidelines for contributors. Employees and contractors of The Tor"
+" Project, Inc. (TPI) are also subject to company policies and procedures. "
+"Those people should feel free to contact HR with questions or concerns."
+msgstr ""
+"Este código de conducta se aplica al proyecto Tor como un todo. Su intención"
+" es proveer lineamientos para sus contribuidores. Lxs empleadxs y "
+"contratistas de The Tor Project, Inc. (TPI) también están sujetos a las "
+"políticas y procedimientos de la compañía. Estas personas pueden contactar a"
+" RH para preguntas o inquietudes de cualquier tipo."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:23
+msgid ""
+"This code of conduct is not exhaustive or complete. It is an ongoing effort "
+"to summarize our shared understanding. We want to provide a welcoming, safe "
+"environment, so we can work together to pursue powerful solutions. We "
+"reserve the right to deviate from strictly enforcing this code. Any "
+"deviations must produce an outcome which is fairer, and aligned with our "
+"values. We understand that keeping a living document relevant and “patched” "
+"involves sustained effort."
+msgstr ""
+" Este código de conducta no es exhaustivo o completo, sino un esfuerzo "
+"continuo de resumir nuestro entendimiento compartido. Queremos proveer un "
+"ambiente seguro y acogedor, de modo que podamos trabajar juntos para "
+"alcanzar soluciones poderosas. Nos reservamos el derecho de desviarnos de "
+"aplicar estrictamente este código. Cualquier desviación debe producir un "
+"resultado más justo, y alineado con nuestros valores. Entendemos que "
+"mantener un documento relevante y actualizado requiere un esfuerzo continuo."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:26
+#, no-wrap
+msgid ""
+"0. Summary: Don't be a jerk. Be awesome instead.\n"
+"============================================================\n"
+msgstr "Resumen: No sea un idiota. Sea impresionante en su lugar.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:29
+msgid "The Tor community should be a good place where people are glad to be."
+msgstr ""
+"La comunidad Tor debería ser un buen espacio donde las personas estén "
+"contentas de estar."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:31
+#, no-wrap
+msgid " DO: Be kind, thoughtful, and considerate.\n"
+msgstr "Qué hacer: Sé amable, atentx, y consideradx\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:33
+#, no-wrap
+msgid " DO: Make Tor a place where people are happy and comfortable.\n"
+msgstr ""
+"Qué hacer: Haz de Tor un espacio donde las personas estén felices y "
+"cómodas\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:36
+#, no-wrap
+msgid ""
+" DO: Remember: We are all contributing; we are all learning. Nobody was born\n"
+" an expert.\n"
+msgstr ""
+"Qué hacer: Recuerda: Todxs estamos contribuyendo; todxs estamos aprendiendo."
+" Nadie nació siendo expertx\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:38
+#, no-wrap
+msgid " DO: Yield the floor. Listen. Make sure everyone gets heard.\n"
+msgstr ""
+"Qué hacer: Cede la palabra. Escucha. Asegúrate de que todxs sean "
+"escuchadxs.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:40
+#, no-wrap
+msgid " DON'T: Insult, harass, intimidate, or be a jerk.\n"
+msgstr "Qué no hacer: Insultar, acosar, intimidar o ser idiota.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:43
+#, no-wrap
+msgid ""
+" DON'T: Treat honest mistakes as an excuse to hassle people. Mistakes are for\n"
+" learning.\n"
+msgstr ""
+"Qué no hacer: Tratar los errores como una excusa para molestar a las "
+"personas. Los errores son para aprender.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:46
+#, no-wrap
+msgid ""
+" DON'T: Hunt for ways to uphold the letter of this code while violating its\n"
+" spirit.\n"
+msgstr ""
+"Qué no hacer: Buscar formas de cumplir con este código mientras se viola su "
+"espíritu.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:50
+#, no-wrap
+msgid ""
+" AND DO: Eagerly email: tor-community-council(a)lists.torproject.org with\n"
+" questions or concerns. Public key:\n"
+" https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil#Contact\n"
+msgstr ""
+
+#. type: Plain text
+#: ../code_of_conduct.txt:53
+#, no-wrap
+msgid ""
+"1. Purpose\n"
+"============================================================\n"
+msgstr " Propósito\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:63
+msgid ""
+"A primary goal of the Tor community is to be inclusive of many different "
+"contributors. We want to include contributors from the most varied and "
+"diverse backgrounds possible. As such, we are committed to providing a "
+"friendly, safe and welcoming environment for all, regardless of their "
+"experience, gender identity or expression, sexual orientation, family, "
+"relationships, ability (whether bodily or mental), personal appearance, "
+"socioeconomic status, body size, race, ethnicity, age, religion, "
+"nationality, or membership in a disadvantaged and/or underrepresented group."
+msgstr ""
+"Un objetivo primordial de la comunidad Tor es ser inclusiva con sus "
+"distintxs contribuidorxs. Queremos incluir contribuidorxs con un historial "
+"tan variado y diverso como sea posible. De modo que estamos decididxs a "
+"proveer para todxs un ambiente amigable, seguro y acogedor, sin importar su "
+"experiencia, identidad o expresión de género, orientación sexual, familia, "
+"relaciones, habilidades (sean corporales o mentales), apariencia personal, "
+"estatus socioeconómico, complexión, raza, etnia, edad, religión, "
+"nacionalidad, o pertenencia a un grupo desfavorecido y/o infrarrepresentado."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:68
+msgid ""
+"A safe environment means one free from abuse, whether isolated or systemic. "
+"We explicitly acknowledge that tolerating abuse is a security problem. "
+"Allowing abusers and malicious people to disrupt our community puts our "
+"software, developers, and users at risk."
+msgstr ""
+"Un ambiente seguro significa libre de abuso, aislado o sistemático. "
+"Reconocemos explícitamente que tolerar el abuso es un problema de seguridad."
+" Permitir que abusadores y personas malintencionadas irrumpan en nuestra "
+"comunidad pone en riesgo nuestro software, y a nuestrxs desarrolladorxs y "
+"usuarixs."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:71
+msgid ""
+"This code of conduct outlines our expectations for all those who participate"
+" in our community, as well as the consequences for unacceptable behavior."
+msgstr ""
+"Este código de conducta describe nuestras expectativas para todxs lxs que "
+"participan en nuestra comunidad, así como las consecuencias de un "
+"comportamiento inaceptable."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:74
+msgid ""
+"We invite all those who participate in The Tor Project to help us create "
+"safe and positive experiences for everyone."
+msgstr ""
+"Invitamos a todxs los que participan en el Proyecto Tor a ayudarnos a crear "
+"una experiencia segura y positiva para todxs."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:77
+#, no-wrap
+msgid ""
+"2. Be your best self\n"
+"============================================================\n"
+msgstr ""
+"2. Se lo mejor que puedas\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:80
+msgid ""
+"The following behaviors are expected and requested of all community members:"
+msgstr ""
+" Las siguientes actitudes se esperan y requieren de todxs lxs miembros de la"
+" comunidad: "
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:83
+msgid ""
+"Participate in an honest and active way. In doing so, you contribute to the "
+"health and longevity of this community."
+msgstr ""
+"Participar de forma honesta y activa. Al hacerlo, contribuyes a la salud y "
+"longevidad de esta comunidad"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:85
+msgid "Exercise consideration and respect in your speech and actions."
+msgstr "Ejercer en tus palabras y acciones el respeto y la consideración."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:87
+msgid "Attempt collaboration and dialog before engaging in conflict."
+msgstr "Intentar la colaboración y el diálogo antes de entrar en conflicto."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:89
+msgid ""
+"Refrain from demeaning, discriminatory, or harassing behavior and speech."
+msgstr ""
+"Abstenerse de comportamientos y expresiones degradantes, discriminatorias o "
+"acosadoras."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:92
+msgid ""
+"Be mindful of your surroundings and of your fellow participants. Alert "
+"community leaders if you notice:"
+msgstr ""
+"Se consciente de tu entorno y tus compañerxs participantes. Notifica a lxs "
+"líderes de la comunidad si detectas:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:94
+msgid "a dangerous situation"
+msgstr "una situación peligrosa"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:96
+msgid "someone in distress"
+msgstr "a alguien en apuros"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:98
+msgid "violations of this code of conduct, even if they seem minor"
+msgstr "violaciones a este código de conducta, incluso si parecen ser mínimas"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:101
+msgid ""
+"Remember that community event venues may be shared with members of the "
+"public. Please be respectful to everyone using these locations."
+msgstr ""
+"Recuerda que los lugares de eventos comunitarios pueden ser compartidos al "
+"público. Por favor se respetuosx con todxs lxs que usan estos lugares."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:103
+msgid "Respect the privacy of your fellow community members."
+msgstr "Respeta la privacidad de los demás miembros de la comunidad."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:106
+#, no-wrap
+msgid ""
+"3. Unacceptable behaviors\n"
+"============================================================\n"
+msgstr ""
+"3. Actitudes inaceptables\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:109
+msgid "The following behaviors are unacceptable within our community:"
+msgstr "Las siguientes actitudes son inaceptables en nuestra comunidad:"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:114
+msgid ""
+"Violence, sexual assault, threats of violence, or violent language directed "
+"against another person, especially violence against a person or group based "
+"on a protected characteristic. (Display of weapons may constitute "
+"intimidation or a threat of violence.)"
+msgstr ""
+"Violencia, acoso sexual, amenazas violentas o lenguaje violento hacia otra "
+"persona, especialmente violencia en contra de una persona o grupo basada en "
+"una característica protegida. (Exhibir armas puede considerarse intimidación"
+" o una amenaza de violencia)"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:117
+msgid ""
+"Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory"
+" jokes and language."
+msgstr ""
+"Lenguaje y bromas sexistas, racistas homofóbicas, transfóbicas, o "
+"discriminatorias de otro tipo."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:122
+msgid ""
+"Spontaneously posting or displaying sexually explicit or violent material. "
+"(If it is necessary to share such material when working on Tor's mission, do"
+" so with sensitivity. Be aware that many people don't want to see it.)"
+msgstr ""
+"Mostrar o publicar material violento o sexualmente explícito. (si es "
+"necesario compartir tal material cuando se trabaja en la misión de Tor, "
+"hacerlo de forma discreta. Ten en cuenta que muchas personas no quieren "
+"verlo.)"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:125
+msgid ""
+"Posting or threatening to post other people’s personally identifying "
+"information (\"doxing\") without their consent."
+msgstr ""
+"Publicar o amenazar con publicar la información personal de otras personas "
+"(“doxing”) sin su consentimiento."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:127
+msgid "Personal insults or attacks, particularly those related to:"
+msgstr "insultos personales o ataques, particularmente relacionados con:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:129
+msgid "experience"
+msgstr "experiencia"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:131
+msgid "gender identity or expression"
+msgstr "identidad o expresión de género"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:133
+msgid "sexual orientation"
+msgstr "orientación sexual"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:135
+msgid "family"
+msgstr "familia"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:137
+msgid "relationships"
+msgstr "relaciones"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:139
+msgid "ability (whether bodily or mental)"
+msgstr "habilidades (mentales o corporales)"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:141
+msgid "personal appearance"
+msgstr "apariencia personal"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:143
+msgid "socioeconomic status"
+msgstr "estatus socioeconómico"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:145
+msgid "body size"
+msgstr "complexión"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:147
+msgid "race"
+msgstr "raza"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:149
+msgid "ethnicity"
+msgstr "etnia"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:151
+msgid "age"
+msgstr "edad"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:153
+msgid "religion"
+msgstr "religión"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:155
+msgid "nationality"
+msgstr "nacionalidad"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:157
+msgid "membership in a disadvantaged and/or underrepresented group"
+msgstr "pertenencia a un grupo desfavorecido y/o infrarrepresentado"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:161
+msgid ""
+"Inappropriate photography, audio recording, or recording of personal "
+"information. You should have someone's consent before recording these "
+"things, and before posting them publicly."
+msgstr ""
+"Fotografías inapropiadas, grabaciones de audio, o registro de información "
+"personal. Debes tener el consentimiento de una persona antes de recabar "
+"tales cosas, y antes de hacerlas públicas."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:164
+msgid ""
+"Inappropriate physical contact. You should have someone’s consent before "
+"touching them."
+msgstr ""
+"Contacto físico inapropiado. Debes tener el consentimiento de alguien antes "
+"de tocarle."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:167
+msgid ""
+"Unwelcome sexual attention: this includes sexualized comments or jokes, "
+"inappropriate touching, groping, and unwelcome sexual advances."
+msgstr ""
+"Acercamiento sexual no deseado: esto incluye comentarios o bromas sexuales, "
+"contacto inapropiado, tentar, y acercamientos sexuales no deseados."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:169
+msgid "Deliberate intimidation, stalking or following (online or in person)."
+msgstr "Intimidación deliberada, acoso o seguimiento (en línea o en persona)."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:172
+msgid ""
+"Deliberately undermining the spirit of this code while following the letter."
+msgstr ""
+"Quebrantar deliberadamente el espíritu de este código a pesar de seguir el "
+"reglamento al pie de la letra."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:175
+msgid ""
+"Sustained disruption of any community events, including talks, "
+"presentations, and online conversations."
+msgstr ""
+"Interrumpir prolongadamente cualquier evento de la comunidad, incluyendo "
+"charlas, presentaciones y conversaciones en línea."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:177
+msgid "Deliberately pushing against someone's stated boundaries."
+msgstr ""
+"Molestar deliberadamente en contra de los límites establecidos de alguien."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:179
+msgid "Advocating for, or encouraging, any of the above behavior."
+msgstr "Abogar o alentar cualquiera de las actitudes anteriores."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:182
+#, no-wrap
+msgid ""
+"4. Unacceptable behavior has consequences\n"
+"============================================================\n"
+msgstr ""
+"4. El comportamiento inaceptable tiene consecuencias "
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:188
+msgid ""
+"We will not tolerate unacceptable behavior from any community member. We "
+"will not make exceptions for sponsors and those with decision-making "
+"authority. People in formal or informal leadership roles must model the "
+"highest standards of behavior."
+msgstr ""
+"No toleraremos el comportamiento inaceptable de ningún miembro de la "
+"comunidad. No haremos excepciones a patrocinadores ni autoridades tomadorxs "
+"de decisiones. Personas con roles de liderazgo formales o informales deben "
+"establecer el estándar más alto de comportamiento."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:192
+msgid ""
+"Anyone asked by another community member to stop unacceptable behavior is "
+"expected to comply immediately. Please don't step in on someone else's "
+"behalf without their consent."
+msgstr ""
+"Cualquiera a quien le sea solicitado por otro miembro de la comunidad "
+"detener un comportamiento inaceptable, debe hacerlo inmediatamente. Por "
+"favor, no actúes en nombre de otra persona sin su consentimiento."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:195
+#, no-wrap
+msgid ""
+"5. Where to go for help\n"
+"============================================================\n"
+msgstr ""
+"5. ¿Dónde acudir por ayuda?\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:201
+msgid ""
+"The Community Council is an elected body of Tor Core Contributors who can "
+"assist with intra-community conflict resolution. Community Council policies "
+"and information can be found on the Community Council wiki [1]. You can "
+"contact the whole Community council:"
+msgstr ""
+" El Consejo de la Comunidad es una grupo electo de colaboradores principales"
+" de Tor que pueden ayudar en la resolución de conflictos dentro de la "
+"comunidad. Las políticas e información del Consejo de la Comunidad pueden "
+"ser consultadas en la wiki del Consejo de la Comunidad [1]. Puedes contactar"
+" al Consejo de la Comunidad:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:203
+msgid "if you have questions or concerns about the code of conduct, or"
+msgstr "si tienes preguntas o inquietudes sobre el código de conducta, o "
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:205
+msgid "if you feel that you have witnessed a code of conduct violation"
+msgstr "si crees que has presenciado una violación al código de conducta."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:212
+msgid ""
+"However, if you feel that there is a conflict of interest with any council "
+"member, you may contact members individually. Council members' GPG keys are "
+"listed on the Community Council wiki. If there is a conflict of interest, "
+"the affected council member will recuse themselves. They will not be "
+"involved in any discussion or documentation of the incident. More about the "
+"Community Council can be found in the guidelines [2]."
+msgstr ""
+"Sin embargo, si crees que hay un conflicto de intereses con algún miembro "
+"del consejo, puedes contactar a los miembros individualmente. Las llaves GPG"
+" de los miembros del Consejo de la Comunidad están listadas en la wiki del "
+"Consejo de la Comunidad. Si hay un conflicto de intereses, el miembro del "
+"consejo que esté afectado no participará. No estarán involucradxs en ninguna"
+" discusión o documentación del incidente. Más sobre el Consejo de la "
+"Comunidad puede ser encontrado en los lineamientos [2]. "
+
+#. type: Plain text
+#: ../code_of_conduct.txt:215
+#, no-wrap
+msgid ""
+"6. What to do if you witness unacceptable behavior\n"
+"============================================================\n"
+msgstr ""
+"¿Qué hacer si presencias un comportamiento inaceptable?\n"
+"============================================================\n"
+"\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:230
+msgid ""
+"If you are subject to or witness unacceptable behavior, or have any other "
+"concerns, please notify the Community Council as soon as possible. You can "
+"contact the community council in person, or at tor-community-"
+"council(a)lists.torproject.org. Current councilmembers are listed on the wiki "
+"[1]. The Community Council's incident response will vary on a case-by-case "
+"basis. The council will make every effort to respond to the incident "
+"immediately. The council will prioritize the safety of the person who has "
+"been harmed, or is at risk of harm. Person(s) who have been harmed or are at"
+" risk of harm can withdraw the incident report at any time. We will never do"
+" anything without the consent of the person who has been harmed or is at "
+"risk of harm, except in situations where there is a threat of imminent "
+"danger or harm to anyone. More information about the Community Council's "
+"incident reporting and response policies can be found on their wiki [1]."
+msgstr ""
+"Si presencias o eres víctima de una conducta inaceptable, o tienes alguna "
+"otra inquietud, por favor notifica al Consejo de la Comunidad tan pronto "
+"como sea posible. Puedes contactar al consejo de la comunidad en persona, o "
+"por correo a tor-community council@…. Los actuales miembros del consejo "
+"están listados en la wiki [1]. La respuesta del Consejo de la Comunidad a un"
+" incidente puede variar de caso en caso. El consejo hará un esfuerzo para "
+"responder al incidente inmediatamente. El consejo priorizará la seguridad de"
+" la persona que haya sido afectada, o que esté en riesgo de estarlo. Las "
+"personas que hayan sido afectadas o estén en riesgo de estarlo pueden anular"
+" el reporte del incidente en cualquier momento. Nunca haremos algo sin el "
+"consentimiento de la persona que haya sido afectada o esté en riesgo de "
+"estarlo, excepto en situaciones donde exista una amenaza de peligro "
+"inminente o de lastimar a alguien. Más información sobre el reporte de "
+"incidentes del Consejo de la Comunidad y las políticas de respuesta pueden "
+"ser encontradas en su wiki [1]. "
+
+#. type: Plain text
+#: ../code_of_conduct.txt:233
+#, no-wrap
+msgid ""
+"7. What the person reporting a violation can expect\n"
+"============================================================\n"
+msgstr ""
+"¿Qué puede esperar una persona que reporta una violación del Código de conducta?\n"
+"============================================================\n"
+"\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:242
+msgid ""
+"The Community Council prioritizes the safety and well-being of any person "
+"who feels that they have been harmed or may be in danger of being harmed. "
+"Anyone reporting an issue to the Community Council can expect that their "
+"report will be taken seriously. Initial reports can be taken in written or "
+"verbal form. If the incident does not require an immediate resolution, then "
+"a written report can be shared with the Community Council in an encrypted "
+"format. The next steps in an incident response will vary on a case-by-case "
+"basis."
+msgstr ""
+" El Consejo de la Comunidad prioriza la seguridad y el bienestar de "
+"cualquier persona que se sienta afectada o en riesgo de estarlo. Cualquiera "
+"que reporte un incidente al Concejo de la Comunidad puede esperar que su "
+"reporte sea tomando en serio. Los reportes iniciales pueden ser presentados "
+"en forma escrita u oral. Si el incidente no requiere de una resolución "
+"inmediata, puede presentarse un reporte escrito al Consejo de la Comunidad "
+"en un formato encriptado. Los pasos siguientes de la respuesta a un "
+"incidente pueden variar de caso en caso."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:245
+#, no-wrap
+msgid ""
+"8. How the Community Council responds to incidents\n"
+"============================================================\n"
+msgstr ""
+"8. ¿Cómo responde a los incidentes el Consejo de la Comunidad?\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:252
+msgid ""
+"If a community member engages in unacceptable behavior, the Community "
+"Council may take any action they deem appropriate, including but not limited"
+" to a warning, informal mediation, temporary ban or permanent expulsion from"
+" the community. Any actions and decisions by the Community Council may be "
+"appealed by following the appeals process in the Community Council "
+"Guidelines [1]."
+msgstr ""
+"Si un miembro de la comunidad tiene un comportamiento inaceptable, el "
+"Consejo de la Comunidad puede tomar la acción que considere apropiada, "
+"incluyendo pero no limitándose a realizar una advertencia, mediación "
+"informal, suspensión temporal o expulsión permanente de la comunidad. "
+"Cualquier acción y decisión del Consejo de la Comunidad puede ser apelado "
+"siguiendo el proceso de apelación ubicado en los lineamientos del Consejo de"
+" la Comunidad [1]."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:255
+#, no-wrap
+msgid ""
+"9. Scope of this document\n"
+"============================================================\n"
+msgstr ""
+"9. Alcance de este documento\n"
+"============================================================\n"
+"\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:258
+msgid "This code of conduct covers all community participants:"
+msgstr ""
+" Este código de conducta contempla a todxs lxs participantes de la "
+"comunidad:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:260
+msgid "paid and unpaid contributors"
+msgstr "Contribuidores remunerados y no remunerados"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:262
+msgid "sponsors"
+msgstr "Patrocinadores"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:264
+msgid "other guests"
+msgstr "Otros invitados"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:266
+msgid "when interacting:"
+msgstr "Cuando se interactúe:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:268
+msgid "in all online and in-person community venues"
+msgstr "en todos los espacios de la comunidad, en línea y en persona"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:270
+msgid "in one-on-one communications that relate to community work"
+msgstr ""
+"en comunicaciones uno a uno que se relacionen con el trabajo de la comunidad"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:277
+msgid ""
+"This code of conduct and its related procedures also applies to unacceptable"
+" behavior occurring outside the scope of community activities when such "
+"behavior has the potential to adversely affect the safety and well-being of "
+"community members. As members of the Tor community, we support and follow "
+"this Code while we are working on Tor, and take care not to undermine it in "
+"the rest of our time."
+msgstr ""
+"Este código de conducta y sus procedimientos relacionados también aplica a "
+"comportamientos inaceptables que ocurran fuera del alcance de las "
+"actividades de la comunidad, cuando dicho comportamiento puede afectar "
+"negativamente la seguridad y el bienestar de los miembros de la comunidad. "
+"Como miembros de la comunidad Tor apoyamos y seguimos este código mientras "
+"trabajamos en Tor, y tendremos cuidado de no quebrantarlo en el resto de "
+"nuestro tiempo."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:280
+#, no-wrap
+msgid ""
+"10. License and attribution\n"
+"============================================================\n"
+msgstr ""
+"10. Licencia y atribución\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:284
+msgid ""
+"This code of conduct is shared under a Creative Commons CC-BY-SA 4.0 "
+"International license."
+msgstr ""
+"Este código de conducta es compartido bajo una licencia Creative Commons CC-"
+"BY-SA 4.0 International license."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:287
+msgid ""
+"This code of conduct uses some language and framing from the Citizen Code of"
+" Conduct, which is shared under a CC-BY-SA license: citizencodeofconduct.org"
+msgstr ""
+"Este código de conducta utiliza parte del lenguaje y enfoque del Citizen "
+"Code of Conduct, que es compartido bajo una licencia CC-BY-SA license: "
+"citizencodeofconduct.org"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:289
+msgid ""
+"[1] https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil [2] "
+"https://gitweb.torproject.org/community/policies.git/tree/community_council…"
+msgstr ""
+"[1] https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil [2] "
+"https://gitweb.torproject.org/community/policies.git/tree/community_council…"
diff --git a/code_of_conduct+tr.po b/code_of_conduct+tr.po
new file mode 100644
index 000000000..07e735182
--- /dev/null
+++ b/code_of_conduct+tr.po
@@ -0,0 +1,799 @@
+# Code of conduct of the tor project
+# Copyright (C) 2019 tor project.
+# This Code of Conduct is licensed under a Creative Commons CC-BY-SA 4.0
+# International license.e.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+# Translators:
+# T. E. Kalayci <tekrei(a)gmail.com>, 2019
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Code of conduct of the Tor Project\n"
+"POT-Creation-Date: 2019-08-02 12:00+0000\n"
+"PO-Revision-Date: 2019-08-27 18:54+0000\n"
+"Last-Translator: T. E. Kalayci <tekrei(a)gmail.com>, 2019\n"
+"Language-Team: Turkish (https://www.transifex.com/otf/teams/1519/tr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: tr\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:1 ../code_of_conduct.txt:24
+#: ../code_of_conduct.txt:51 ../code_of_conduct.txt:75
+#: ../code_of_conduct.txt:104 ../code_of_conduct.txt:180
+#: ../code_of_conduct.txt:193 ../code_of_conduct.txt:213
+#: ../code_of_conduct.txt:231 ../code_of_conduct.txt:243
+#: ../code_of_conduct.txt:253 ../code_of_conduct.txt:278
+#, no-wrap
+msgid "============================================================\n"
+msgstr "============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:3
+#, no-wrap
+msgid ""
+"Tor Project Code of Conduct\n"
+"============================================================\n"
+msgstr ""
+"Tor Projesi Davranış Kuralları\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:6
+msgid "Statement of Intent:"
+msgstr "Niyet Beyanı:"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:10
+msgid ""
+"The Tor Project is committed to fostering an inclusive environment and "
+"community. Tor is a place where people should feel safe to engage, share "
+"their point of view, and participate."
+msgstr ""
+"Tor Projesi kapsayıcı bir ortam ve topluluk geliştirmeyi hedefler. Tor "
+"insanların uğraşırken, görüş paylaşırken ve katılım gösterirken güvenli "
+"hissetmeleri gereken bir yerdir. "
+
+#. type: Plain text
+#: ../code_of_conduct.txt:15
+msgid ""
+"This code of conduct applies to The Tor Project as a whole. It is intended "
+"to provide guidelines for contributors. Employees and contractors of The Tor"
+" Project, Inc. (TPI) are also subject to company policies and procedures. "
+"Those people should feel free to contact HR with questions or concerns."
+msgstr ""
+"Bu davranış kuralları bir bütün olarak Tor Projesini kapsar. Katkı "
+"sağlayanlar için bir yol gösterici olarak işlev görmesi amaçlanmıştır. Tor "
+"Projesi Şirketi (TPI) çalışanları ve yüklenicileri ayrıca şirket "
+"politikaları ve usullerine tabidir. Bu kişiler soru ve kaygıları için İK'yla"
+" bağlantı kurabilirler."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:23
+msgid ""
+"This code of conduct is not exhaustive or complete. It is an ongoing effort "
+"to summarize our shared understanding. We want to provide a welcoming, safe "
+"environment, so we can work together to pursue powerful solutions. We "
+"reserve the right to deviate from strictly enforcing this code. Any "
+"deviations must produce an outcome which is fairer, and aligned with our "
+"values. We understand that keeping a living document relevant and “patched” "
+"involves sustained effort."
+msgstr ""
+"Bu davranış kuralları ne kapsamlı ne de eksiksizdir. Ortak anlayışımızı "
+"özetlemeye ilişkin süregiden bir çabadır. Daha güçlü çözümler arayışında "
+"birlikte çalışabilmek için samimi ve güvenli bir ortam sağlamak istiyoruz. "
+"Bu kuralları katı bir şekilde uygulamadan sapma hakkımızı saklı tutuyoruz. "
+"Herhangi bir sapma daha adil ve değerlerimizle uyumlu bir sonuç üretmek "
+"zorundadır. Yaşayan bir belgeyi güncel ve \"yamalı\" tutmanın sürdürülebilir"
+" bir çaba gerektirdiğinin farkındayız."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:26
+#, no-wrap
+msgid ""
+"0. Summary: Don't be a jerk. Be awesome instead.\n"
+"============================================================\n"
+msgstr ""
+"0. Özet: Bir pislik olma. Aksine harika ol.\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:29
+msgid "The Tor community should be a good place where people are glad to be."
+msgstr ""
+"Tor topluluğu insanların yer almaktan memnun olduğu iyi bir yer olmalıdır."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:31
+#, no-wrap
+msgid " DO: Be kind, thoughtful, and considerate.\n"
+msgstr "YAP: İyi, düşünceli ve nazik ol.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:33
+#, no-wrap
+msgid " DO: Make Tor a place where people are happy and comfortable.\n"
+msgstr "YAP: Tor'u insanların mutlu ve rahat olduğu bir yer kıl.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:36
+#, no-wrap
+msgid ""
+" DO: Remember: We are all contributing; we are all learning. Nobody was born\n"
+" an expert.\n"
+msgstr ""
+"YAP: Unutma: Hepimiz katkı sağlıyoruz; hepimiz öğreniyoruz. Hiç kimse bir "
+"uzman olarak doğmadı.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:38
+#, no-wrap
+msgid " DO: Yield the floor. Listen. Make sure everyone gets heard.\n"
+msgstr "YAP: Başkasına söz ver. Dinle. Herkesin duyulduğundan emin ol.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:40
+#, no-wrap
+msgid " DON'T: Insult, harass, intimidate, or be a jerk.\n"
+msgstr "YAPMA: Hakaret, taciz, yıldırma veya pislik olma.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:43
+#, no-wrap
+msgid ""
+" DON'T: Treat honest mistakes as an excuse to hassle people. Mistakes are for\n"
+" learning.\n"
+msgstr ""
+"YAPMA: Dürüst hataları insanların rahatını kaçırmak için bir bahane olarak "
+"kullanma. Hatalar öğrenmek içindir.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:46
+#, no-wrap
+msgid ""
+" DON'T: Hunt for ways to uphold the letter of this code while violating its\n"
+" spirit.\n"
+msgstr ""
+"YAPMA: Bu davranış kurallarını özünü ihlal ederek korumanın yollarını "
+"arama.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:50
+#, no-wrap
+msgid ""
+" AND DO: Eagerly email: tor-community-council(a)lists.torproject.org with\n"
+" questions or concerns. Public key:\n"
+" https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil#Contact\n"
+msgstr ""
+" VE YAP: tor-community-council(a)lists.torproject.org e-posta\n"
+" adresine soru ve kaygılarını mutlaka gönder. Açık anahtar:\n"
+" https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil#Contact\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:53
+#, no-wrap
+msgid ""
+"1. Purpose\n"
+"============================================================\n"
+msgstr ""
+"1. Amaç\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:63
+msgid ""
+"A primary goal of the Tor community is to be inclusive of many different "
+"contributors. We want to include contributors from the most varied and "
+"diverse backgrounds possible. As such, we are committed to providing a "
+"friendly, safe and welcoming environment for all, regardless of their "
+"experience, gender identity or expression, sexual orientation, family, "
+"relationships, ability (whether bodily or mental), personal appearance, "
+"socioeconomic status, body size, race, ethnicity, age, religion, "
+"nationality, or membership in a disadvantaged and/or underrepresented group."
+msgstr ""
+"Tor topluluğunun birincil amacı bir çok farklı katkı sağlayanı kapsayıcı "
+"olmasıdır. Mümkün olduğunca çeşitli ve değişik geçmişlere sahip katkı "
+"sağlayanları kapsamak istiyoruz. Bu nedenle deneyimi, cinsiyet kimliği veya "
+"ifadesi, cinsel yönelimi, ailesi, ilişkileri, (zihinsel veya bedensel) "
+"yetenekleri, kişisel görünüşü, sosyoekonomik konumu, beden ölçüsü, ırkı, "
+"etnik kökeni, yaşı, dini, milliyeti, veya herhangi bir dezavantajlı ve/veya "
+"yetersiz temsiliyete sahip bir grup üyesi olması gözetilmeksizin herkes için"
+" nazik, güvenli ve samimi bir ortam sağlamayı amaçlıyoruz."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:68
+msgid ""
+"A safe environment means one free from abuse, whether isolated or systemic. "
+"We explicitly acknowledge that tolerating abuse is a security problem. "
+"Allowing abusers and malicious people to disrupt our community puts our "
+"software, developers, and users at risk."
+msgstr ""
+"Güvenli bir ortam, ister yalıtılmış isterse de sistemsel olsun, suistimalin "
+"olmadığı bir ortam anlamına gelir. İstismara müsamaha etmenin bir güvenlik "
+"problemi olduğunu açıkça kabul ediyoruz. İstismarcıların ve kötü insanların "
+"topluluğumuzu rahatsız etmelerine izin vermek yazılımlarımızı, "
+"geliştiricilerimizi ve kullanıcılarımızı tehlikeye sokar."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:71
+msgid ""
+"This code of conduct outlines our expectations for all those who participate"
+" in our community, as well as the consequences for unacceptable behavior."
+msgstr ""
+"Bu davranış kuralları toplulukta katılım gösteren herkesten "
+"beklentilerimizin yanında kabul edilemez davranışların sonuçlarını "
+"özetliyor. "
+
+#. type: Plain text
+#: ../code_of_conduct.txt:74
+msgid ""
+"We invite all those who participate in The Tor Project to help us create "
+"safe and positive experiences for everyone."
+msgstr ""
+"Tor Projesine katılan herkesi, herkes için güvenli ve olumlu deneyimler "
+"yaratmak üzere yardımcı olmaya çağırıyoruz."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:77
+#, no-wrap
+msgid ""
+"2. Be your best self\n"
+"============================================================\n"
+msgstr ""
+"2. En iyi kendiniz olun\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:80
+msgid ""
+"The following behaviors are expected and requested of all community members:"
+msgstr ""
+"Bütün topluluk üyelerinden beklenen ve istenen davranışlar aşağıdadır:"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:83
+msgid ""
+"Participate in an honest and active way. In doing so, you contribute to the "
+"health and longevity of this community."
+msgstr ""
+"Dürüst ve etkin bir şekilde katılım gösterin. Böylece bu topluluğun sağlık "
+"ve uzun ömrüne katkıda bulunmuş olursunuz."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:85
+msgid "Exercise consideration and respect in your speech and actions."
+msgstr "Konuşma ve eylemlerinizde düşünceli ve saygılı olun."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:87
+msgid "Attempt collaboration and dialog before engaging in conflict."
+msgstr "Çatışmaya kalkışmadan önce işbirliği ve diyaloga girişin. "
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:89
+msgid ""
+"Refrain from demeaning, discriminatory, or harassing behavior and speech."
+msgstr "Alçaltıcı, ayrımcı veya taciz edici davranış ve konuşmadan kaçının."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:92
+msgid ""
+"Be mindful of your surroundings and of your fellow participants. Alert "
+"community leaders if you notice:"
+msgstr ""
+"Çevrenizi ve katılımcı arkadaşlarınızı önemseyin. Şu olaylarla "
+"karşılaşırsanız topluluk liderlerini uyarın:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:94
+msgid "a dangerous situation"
+msgstr "tehlikeli bir durum"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:96
+msgid "someone in distress"
+msgstr "tehlike içerisindeki biri"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:98
+msgid "violations of this code of conduct, even if they seem minor"
+msgstr "önemsiz gözükse bile bu davranış kurallarının ihlali"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:101
+msgid ""
+"Remember that community event venues may be shared with members of the "
+"public. Please be respectful to everyone using these locations."
+msgstr ""
+"Unutmayın, topluluk etkinliklerinin gerçekleştiği mekanlar toplum üyeleriyle"
+" paylaşılabilir. Lütfen bu konumları kullanan herkese saygılı olun."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:103
+msgid "Respect the privacy of your fellow community members."
+msgstr "Topluluk üyesi arkadaşlarınızın mahremiyetine saygı gösterin."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:106
+#, no-wrap
+msgid ""
+"3. Unacceptable behaviors\n"
+"============================================================\n"
+msgstr ""
+"3. Kabul edilemez davranışlar\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:109
+msgid "The following behaviors are unacceptable within our community:"
+msgstr "Topluluğumuz içerisindeki kabul edilemez davranışlar aşağıdadır:"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:114
+msgid ""
+"Violence, sexual assault, threats of violence, or violent language directed "
+"against another person, especially violence against a person or group based "
+"on a protected characteristic. (Display of weapons may constitute "
+"intimidation or a threat of violence.)"
+msgstr ""
+"Başka bir kişiye yönelmiş şddet, cinsel saldırı, şiddet tehdidi veya şiddet "
+"dili, özellikle korunmalı bir niteliğe sahip bir grup veya kişiye yönelik "
+"şiddet. (Silahların gösterilmesi yıldırma veya şiddet tehdidi "
+"oluşturabilir.)"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:117
+msgid ""
+"Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory"
+" jokes and language."
+msgstr ""
+"Cinsiyetçi, ırkçı, homofobik, transfobik, engellilere karşı veya başka "
+"ayrımcı şakalar ve dil."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:122
+msgid ""
+"Spontaneously posting or displaying sexually explicit or violent material. "
+"(If it is necessary to share such material when working on Tor's mission, do"
+" so with sensitivity. Be aware that many people don't want to see it.)"
+msgstr ""
+"Kendiliğinden cinsel içerikli veya şiddet malzemesi gönderme veya gönderme. "
+"(Tor'un görevleriyle ilgili olarak bu tür bir malzeme paylaşmak gerekliyse, "
+"hassas bir şekilde yapın. Çoğu insanın onları görmek istemeyeceğini "
+"unutmayın.)"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:125
+msgid ""
+"Posting or threatening to post other people’s personally identifying "
+"information (\"doxing\") without their consent."
+msgstr ""
+"Başka kişiler hakkındaki, onları kişi olarak tanımlayabilecek bilgiyi "
+"(\"doxing\"), onların rızası olmadan göndermek veya göndermekle tehdit "
+"etmek."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:127
+msgid "Personal insults or attacks, particularly those related to:"
+msgstr ""
+"Kişisel hakaretler veya saldırılar, özellikle aşağıdakilerle ilgiliyle:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:129
+msgid "experience"
+msgstr "deneyim"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:131
+msgid "gender identity or expression"
+msgstr "cinsiyet kimliği veya ifadesi"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:133
+msgid "sexual orientation"
+msgstr "cinsel yönelim"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:135
+msgid "family"
+msgstr "aile"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:137
+msgid "relationships"
+msgstr "ilişkiler"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:139
+msgid "ability (whether bodily or mental)"
+msgstr "(zihinsel veya bedensel) yetenek"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:141
+msgid "personal appearance"
+msgstr "kişisel görünüş"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:143
+msgid "socioeconomic status"
+msgstr "sosyoekonomik konum"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:145
+msgid "body size"
+msgstr "beden ölçüsü"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:147
+msgid "race"
+msgstr "ırk"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:149
+msgid "ethnicity"
+msgstr "etnik kökeni"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:151
+msgid "age"
+msgstr "yaş"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:153
+msgid "religion"
+msgstr "din"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:155
+msgid "nationality"
+msgstr "milliyet"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:157
+msgid "membership in a disadvantaged and/or underrepresented group"
+msgstr "dezavantajlı ve/veya yetersiz temsiliyete sahip bir grup üyeliği"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:161
+msgid ""
+"Inappropriate photography, audio recording, or recording of personal "
+"information. You should have someone's consent before recording these "
+"things, and before posting them publicly."
+msgstr ""
+"Uygun olmayan fotoğraf, ses veya kişisel bilginin kaydı. Bu kayıtları "
+"almadan ve kamuya açık bir şekilde göndermeden önce kişinin rızasını almanız"
+" gerekmektedir."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:164
+msgid ""
+"Inappropriate physical contact. You should have someone’s consent before "
+"touching them."
+msgstr ""
+"Uygun olmayan fiziksel temas. İnsanlara dokunmadan önce onların rızasını "
+"almanız gerekmektedir."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:167
+msgid ""
+"Unwelcome sexual attention: this includes sexualized comments or jokes, "
+"inappropriate touching, groping, and unwelcome sexual advances."
+msgstr ""
+"İstenmeyen cinsel ilgi: bu cinsellik içeren yorumları veya şakaları, uygun "
+"olmayan dokunmayı, elle tacizi ve istenmeyen cinsel kuru içerir."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:169
+msgid "Deliberate intimidation, stalking or following (online or in person)."
+msgstr "Kasti gözdağı, takip etme veya izleme (çevrimiçi veya şahsen)."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:172
+msgid ""
+"Deliberately undermining the spirit of this code while following the letter."
+msgstr "Kasti olarak bu kuralları özünü yok ederek uygulamaya çalışmak."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:175
+msgid ""
+"Sustained disruption of any community events, including talks, "
+"presentations, and online conversations."
+msgstr ""
+"Konuşmaları, sunumları ve çevrimiçi sohbetleri de içeren herhangi bir "
+"topluluk etkinliğini aralıksız aksatma."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:177
+msgid "Deliberately pushing against someone's stated boundaries."
+msgstr "Kasti olarak bir kişinin belirtilen sınırlarını zorlama."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:179
+msgid "Advocating for, or encouraging, any of the above behavior."
+msgstr "Yukarıdaki herhangi bir davranışı savunma veya teşvik etme."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:182
+#, no-wrap
+msgid ""
+"4. Unacceptable behavior has consequences\n"
+"============================================================\n"
+msgstr ""
+"4. Kabul edilemez davranışın sonuçları var\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:188
+msgid ""
+"We will not tolerate unacceptable behavior from any community member. We "
+"will not make exceptions for sponsors and those with decision-making "
+"authority. People in formal or informal leadership roles must model the "
+"highest standards of behavior."
+msgstr ""
+"Herhangi bir topluluk üyesinin kabul edilemez bir davranış sergilemesine "
+"müsamaha göstermeyeceğiz. Destekçiler veya karar alıcı yetkisi olanlara "
+"istisna yapmayacağız. Resmi veya gayrı resmi lider rolündeki insanlar en "
+"yüksek davranış standartı için model olmalıdır."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:192
+msgid ""
+"Anyone asked by another community member to stop unacceptable behavior is "
+"expected to comply immediately. Please don't step in on someone else's "
+"behalf without their consent."
+msgstr ""
+"Başka bir topluluk üyesinin kabul edilemez davranışın durdurulması istenen "
+"herhangi bir kişi hemen buna uymak zorundadır. Lütfen, onların rızası "
+"olmadan başkasının adına karışmayın."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:195
+#, no-wrap
+msgid ""
+"5. Where to go for help\n"
+"============================================================\n"
+msgstr ""
+"5. Nereden yardım alınmalı\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:201
+msgid ""
+"The Community Council is an elected body of Tor Core Contributors who can "
+"assist with intra-community conflict resolution. Community Council policies "
+"and information can be found on the Community Council wiki [1]. You can "
+"contact the whole Community council:"
+msgstr ""
+"Topluluk içi uyuşmazlık konusunda destek verebilecek olan Topluluk Konseyi, "
+"Tor Çekirdek Katılımcılarınn seçilmiş bir organıdır. Topluluk Konseyi "
+"politikaları ve bilgi Topluluk Konseyi viki sayfasında bulunabilir [1]. "
+"Bütün Topluluk konseyi ile bağlantıl kurabileceğiniz durumlar:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:203
+msgid "if you have questions or concerns about the code of conduct, or"
+msgstr "davranış kuralları hakkında soru veya kaygılarınız varsa, veya"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:205
+msgid "if you feel that you have witnessed a code of conduct violation"
+msgstr "eğer bir davranış kuralı ihlaliyle karşılaştığınızı düşünüyorsanız"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:212
+msgid ""
+"However, if you feel that there is a conflict of interest with any council "
+"member, you may contact members individually. Council members' GPG keys are "
+"listed on the Community Council wiki. If there is a conflict of interest, "
+"the affected council member will recuse themselves. They will not be "
+"involved in any discussion or documentation of the incident. More about the "
+"Community Council can be found in the guidelines [2]."
+msgstr ""
+"Bununla birlikte, eğer herhangi bir konsey üyesiyle çıkar çatışması olduğunu"
+" düşünüyorsanız, üyelerle teker teker de iletişim kurabilirsiniz. Konsey "
+"üyelerinin GPG anahtarları Topluluk Konseyi vikisinde listelenmiştir. Eğer "
+"bir çıkar çatışması varsa, etkilenen konseyi üyesi konudan çekilebilir. "
+"Olayla ilgili hiç tartışma veya belgeye katılmayacaklardır. Topluluk Konseyi"
+" hakkında daha fazla bilgiye kılavuzdan ulaşabilirsiniz [2]."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:215
+#, no-wrap
+msgid ""
+"6. What to do if you witness unacceptable behavior\n"
+"============================================================\n"
+msgstr ""
+"6. Kabul edilemez bir davranışla karşılaşınca ne yapmalısınız\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:230
+msgid ""
+"If you are subject to or witness unacceptable behavior, or have any other "
+"concerns, please notify the Community Council as soon as possible. You can "
+"contact the community council in person, or at tor-community-"
+"council(a)lists.torproject.org. Current councilmembers are listed on the wiki "
+"[1]. The Community Council's incident response will vary on a case-by-case "
+"basis. The council will make every effort to respond to the incident "
+"immediately. The council will prioritize the safety of the person who has "
+"been harmed, or is at risk of harm. Person(s) who have been harmed or are at"
+" risk of harm can withdraw the incident report at any time. We will never do"
+" anything without the consent of the person who has been harmed or is at "
+"risk of harm, except in situations where there is a threat of imminent "
+"danger or harm to anyone. More information about the Community Council's "
+"incident reporting and response policies can be found on their wiki [1]."
+msgstr ""
+"Eğer kabul edilemez bir davranışa maruz kalır veya tanık olursanız veya "
+"başka kaygılarınız varsa, lütfen Topluluk Konseyi'ne en kısa sürede "
+"bildirin. Topluluk konseyi ile şahsen veya tor-community-"
+"council(a)lists.torproject.org e-posta adresiyle iletişim kurabilirsiniz. "
+"Mevcut konsey üyeleri vikide listelenmiştir [1]. Topluluk Konseyi'nin "
+"olaylara verdiği tepkiler duruma göre değişecektir. Konsey olaya hızlıca "
+"yanıt vermek için her türlü çabayı gösterecktir. Zarar gören veya zarar "
+"görme tehlikesindeki kişinin güvenliği Konseyin önceliğidir. Zarar gören "
+"veya zarar görme tehlikesindeki kişi(ler) olay raporunu her zaman geri "
+"çekebilirler. Başka birine olası bir tehlike veya zarar durumları dışında, "
+"zarar gören veya zarar görme tehlikesindeki kişilerin rızası olmadan hiç bir"
+" şey yapmayacağız. Topluluk Konseyi'nin olayları raporlama ve tepki "
+"politikaları hakkında daha fazla bilgiye vikiden ulaşılabilir [1]."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:233
+#, no-wrap
+msgid ""
+"7. What the person reporting a violation can expect\n"
+"============================================================\n"
+msgstr ""
+"7. İhlal bildiren kişi ne beklemelidir\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:242
+msgid ""
+"The Community Council prioritizes the safety and well-being of any person "
+"who feels that they have been harmed or may be in danger of being harmed. "
+"Anyone reporting an issue to the Community Council can expect that their "
+"report will be taken seriously. Initial reports can be taken in written or "
+"verbal form. If the incident does not require an immediate resolution, then "
+"a written report can be shared with the Community Council in an encrypted "
+"format. The next steps in an incident response will vary on a case-by-case "
+"basis."
+msgstr ""
+"Zarar gördüğünü veya zarar görme tehlikesi altında olduğunu düşünen her "
+"kişinin güvenliğini ve sağlığı Topluluk Konseyi'nin önceliğidir. Topluluk "
+"Konseyine bir hususu bildiren herkes raporunun ciddiye alınacağını "
+"bilmelidir. İlk raporlar yazılı veya sözlü biçimde olabilir. Eğer olay "
+"doğrudan bir çözüm gerektirmiyorsa yazılı bir rapor Topluluk Konseyi ile "
+"şifreli bir biçimde paylaşılabilir. Bir olaya tepkiyle ilgili sonraki "
+"adımlar duruma göre değişecektir. "
+
+#. type: Plain text
+#: ../code_of_conduct.txt:245
+#, no-wrap
+msgid ""
+"8. How the Community Council responds to incidents\n"
+"============================================================\n"
+msgstr ""
+"8. Topluluk Konseyi olaylara nasıl karşılık verir\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:252
+msgid ""
+"If a community member engages in unacceptable behavior, the Community "
+"Council may take any action they deem appropriate, including but not limited"
+" to a warning, informal mediation, temporary ban or permanent expulsion from"
+" the community. Any actions and decisions by the Community Council may be "
+"appealed by following the appeals process in the Community Council "
+"Guidelines [1]."
+msgstr ""
+"Eğer bir topluluk üyesi kabul edilemez bir davranışta bulunursa, Topluluk "
+"Konseyi uygun gördüğü uyarı, gayrı resmi arabuluculuk, toplulukta geçici "
+"yasaklama veya topluluktan kalıcı ihracı da içeren ama bunlarla sınırlı "
+"olmayan bir eylem gerçekleştirebilir. Topluluk Konseyinin herhangi bir "
+"eylemi ve kararına, Topluluk Konseyi Kılavuzundaki [1] temyiz süreçleri "
+"izlenerek itiraz edilebilir."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:255
+#, no-wrap
+msgid ""
+"9. Scope of this document\n"
+"============================================================\n"
+msgstr ""
+"9. Bu belgenin kapsamı\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:258
+msgid "This code of conduct covers all community participants:"
+msgstr "Bu davranış kuralları bütün topluluk katılımcılarını kapsar:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:260
+msgid "paid and unpaid contributors"
+msgstr "ücretli veya ücretsiz katkı sağlayanlar"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:262
+msgid "sponsors"
+msgstr "destekçiler"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:264
+msgid "other guests"
+msgstr "diğer misafirler"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:266
+msgid "when interacting:"
+msgstr "etkileşim kurarken:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:268
+msgid "in all online and in-person community venues"
+msgstr "bütün çevrimiçi ve yüz yüze topluluk ortamlarında"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:270
+msgid "in one-on-one communications that relate to community work"
+msgstr "topluluk çalışmasına ilişkin bire bir iletişimde"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:277
+msgid ""
+"This code of conduct and its related procedures also applies to unacceptable"
+" behavior occurring outside the scope of community activities when such "
+"behavior has the potential to adversely affect the safety and well-being of "
+"community members. As members of the Tor community, we support and follow "
+"this Code while we are working on Tor, and take care not to undermine it in "
+"the rest of our time."
+msgstr ""
+"Bu davranış kuralları ve ilişkili yöntemler topluluk faaliyetlerinin kapsamı"
+" dışında gerçekleşen, ancak topluluk üyelerinin güvenlik ve sağlığını kötü "
+"yönde etkileme potansiyeli içeren kabul edilemez davranışlar için de "
+"geçerlidir. Tor topluluğu üyeleri olarak, Tor için çalışırken bu Kuralları "
+"destekliyor ve onlara uyuyoruz ve kalan zamanımızda da onlara zarar vermemek"
+" için dikkat ediyoruz."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:280
+#, no-wrap
+msgid ""
+"10. License and attribution\n"
+"============================================================\n"
+msgstr ""
+"10. Lisans ve atıflar\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:284
+msgid ""
+"This code of conduct is shared under a Creative Commons CC-BY-SA 4.0 "
+"International license."
+msgstr ""
+"Bu davranış kuralları Creative Commons CC-BY-SA 4.0 Uluslararası lisansıyla "
+"paylaşılmıştır."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:287
+msgid ""
+"This code of conduct uses some language and framing from the Citizen Code of"
+" Conduct, which is shared under a CC-BY-SA license: citizencodeofconduct.org"
+msgstr ""
+"Bu davranış kuralları, CC-BY-SA lisansı altında şu adreste paylaşılmış olan "
+"Yurttaş Davranış Kuralları'ndan birtakım dil ve çerçeveyi kullanmaktadır: "
+"citizencodeofconduct.org"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:289
+msgid ""
+"[1] https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil [2] "
+"https://gitweb.torproject.org/community/policies.git/tree/community_council…"
+msgstr ""
+"[1] https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil [2] "
+"https://gitweb.torproject.org/community/policies.git/tree/community_council…"
diff --git a/code_of_conduct.pot b/code_of_conduct.pot
new file mode 100644
index 000000000..7150231ad
--- /dev/null
+++ b/code_of_conduct.pot
@@ -0,0 +1,790 @@
+# Code of conduct of the tor project
+# Copyright (C) 2019 tor project.
+# This Code of Conduct is licensed under a Creative Commons CC-BY-SA 4.0
+# International license.e.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Code of conduct of the Tor Project\n"
+"POT-Creation-Date: 2019-08-02 12:00+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL(a)li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: \n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:1 ../code_of_conduct.txt:24
+#: ../code_of_conduct.txt:51 ../code_of_conduct.txt:75
+#: ../code_of_conduct.txt:104 ../code_of_conduct.txt:180
+#: ../code_of_conduct.txt:193 ../code_of_conduct.txt:213
+#: ../code_of_conduct.txt:231 ../code_of_conduct.txt:243
+#: ../code_of_conduct.txt:253 ../code_of_conduct.txt:278
+#, no-wrap
+msgid "============================================================\n"
+msgstr "============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:3
+#, no-wrap
+msgid ""
+"Tor Project Code of Conduct\n"
+"============================================================\n"
+msgstr ""
+"Tor Project Code of Conduct\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:6
+msgid "Statement of Intent:"
+msgstr "Statement of Intent:"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:10
+msgid ""
+"The Tor Project is committed to fostering an inclusive environment and "
+"community. Tor is a place where people should feel safe to engage, share "
+"their point of view, and participate."
+msgstr ""
+"The Tor Project is committed to fostering an inclusive environment and "
+"community. Tor is a place where people should feel safe to engage, share "
+"their point of view, and participate."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:15
+msgid ""
+"This code of conduct applies to The Tor Project as a whole. It is intended "
+"to provide guidelines for contributors. Employees and contractors of The Tor"
+" Project, Inc. (TPI) are also subject to company policies and procedures. "
+"Those people should feel free to contact HR with questions or concerns."
+msgstr ""
+"This code of conduct applies to The Tor Project as a whole. It is intended "
+"to provide guidelines for contributors. Employees and contractors of The Tor"
+" Project, Inc. (TPI) are also subject to company policies and procedures. "
+"Those people should feel free to contact HR with questions or concerns."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:23
+msgid ""
+"This code of conduct is not exhaustive or complete. It is an ongoing effort "
+"to summarize our shared understanding. We want to provide a welcoming, safe "
+"environment, so we can work together to pursue powerful solutions. We "
+"reserve the right to deviate from strictly enforcing this code. Any "
+"deviations must produce an outcome which is fairer, and aligned with our "
+"values. We understand that keeping a living document relevant and “patched” "
+"involves sustained effort."
+msgstr ""
+"This code of conduct is not exhaustive or complete. It is an ongoing effort "
+"to summarize our shared understanding. We want to provide a welcoming, safe "
+"environment, so we can work together to pursue powerful solutions. We "
+"reserve the right to deviate from strictly enforcing this code. Any "
+"deviations must produce an outcome which is fairer, and aligned with our "
+"values. We understand that keeping a living document relevant and “patched” "
+"involves sustained effort."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:26
+#, no-wrap
+msgid ""
+"0. Summary: Don't be a jerk. Be awesome instead.\n"
+"============================================================\n"
+msgstr ""
+"0. Summary: Don't be a jerk. Be awesome instead.\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:29
+msgid "The Tor community should be a good place where people are glad to be."
+msgstr "The Tor community should be a good place where people are glad to be."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:31
+#, no-wrap
+msgid " DO: Be kind, thoughtful, and considerate.\n"
+msgstr " DO: Be kind, thoughtful, and considerate.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:33
+#, no-wrap
+msgid " DO: Make Tor a place where people are happy and comfortable.\n"
+msgstr " DO: Make Tor a place where people are happy and comfortable.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:36
+#, no-wrap
+msgid ""
+" DO: Remember: We are all contributing; we are all learning. Nobody was born\n"
+" an expert.\n"
+msgstr ""
+" DO: Remember: We are all contributing; we are all learning. Nobody was born\n"
+" an expert.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:38
+#, no-wrap
+msgid " DO: Yield the floor. Listen. Make sure everyone gets heard.\n"
+msgstr " DO: Yield the floor. Listen. Make sure everyone gets heard.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:40
+#, no-wrap
+msgid " DON'T: Insult, harass, intimidate, or be a jerk.\n"
+msgstr " DON'T: Insult, harass, intimidate, or be a jerk.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:43
+#, no-wrap
+msgid ""
+" DON'T: Treat honest mistakes as an excuse to hassle people. Mistakes are for\n"
+" learning.\n"
+msgstr ""
+" DON'T: Treat honest mistakes as an excuse to hassle people. Mistakes are for\n"
+" learning.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:46
+#, no-wrap
+msgid ""
+" DON'T: Hunt for ways to uphold the letter of this code while violating its\n"
+" spirit.\n"
+msgstr ""
+" DON'T: Hunt for ways to uphold the letter of this code while violating its\n"
+" spirit.\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:50
+#, no-wrap
+msgid ""
+" AND DO: Eagerly email: tor-community-council(a)lists.torproject.org with\n"
+" questions or concerns. Public key:\n"
+" https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil#Contact\n"
+msgstr ""
+" AND DO: Eagerly email: tor-community-council(a)lists.torproject.org with\n"
+" questions or concerns. Public key:\n"
+" https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil#Contact\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:53
+#, no-wrap
+msgid ""
+"1. Purpose\n"
+"============================================================\n"
+msgstr ""
+"1. Purpose\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:63
+msgid ""
+"A primary goal of the Tor community is to be inclusive of many different "
+"contributors. We want to include contributors from the most varied and "
+"diverse backgrounds possible. As such, we are committed to providing a "
+"friendly, safe and welcoming environment for all, regardless of their "
+"experience, gender identity or expression, sexual orientation, family, "
+"relationships, ability (whether bodily or mental), personal appearance, "
+"socioeconomic status, body size, race, ethnicity, age, religion, "
+"nationality, or membership in a disadvantaged and/or underrepresented group."
+msgstr ""
+"A primary goal of the Tor community is to be inclusive of many different "
+"contributors. We want to include contributors from the most varied and "
+"diverse backgrounds possible. As such, we are committed to providing a "
+"friendly, safe and welcoming environment for all, regardless of their "
+"experience, gender identity or expression, sexual orientation, family, "
+"relationships, ability (whether bodily or mental), personal appearance, "
+"socioeconomic status, body size, race, ethnicity, age, religion, "
+"nationality, or membership in a disadvantaged and/or underrepresented group."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:68
+msgid ""
+"A safe environment means one free from abuse, whether isolated or systemic. "
+"We explicitly acknowledge that tolerating abuse is a security problem. "
+"Allowing abusers and malicious people to disrupt our community puts our "
+"software, developers, and users at risk."
+msgstr ""
+"A safe environment means one free from abuse, whether isolated or systemic. "
+"We explicitly acknowledge that tolerating abuse is a security problem. "
+"Allowing abusers and malicious people to disrupt our community puts our "
+"software, developers, and users at risk."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:71
+msgid ""
+"This code of conduct outlines our expectations for all those who participate"
+" in our community, as well as the consequences for unacceptable behavior."
+msgstr ""
+"This code of conduct outlines our expectations for all those who participate"
+" in our community, as well as the consequences for unacceptable behavior."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:74
+msgid ""
+"We invite all those who participate in The Tor Project to help us create "
+"safe and positive experiences for everyone."
+msgstr ""
+"We invite all those who participate in The Tor Project to help us create "
+"safe and positive experiences for everyone."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:77
+#, no-wrap
+msgid ""
+"2. Be your best self\n"
+"============================================================\n"
+msgstr ""
+"2. Be your best self\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:80
+msgid ""
+"The following behaviors are expected and requested of all community members:"
+msgstr ""
+"The following behaviors are expected and requested of all community members:"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:83
+msgid ""
+"Participate in an honest and active way. In doing so, you contribute to the "
+"health and longevity of this community."
+msgstr ""
+"Participate in an honest and active way. In doing so, you contribute to the "
+"health and longevity of this community."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:85
+msgid "Exercise consideration and respect in your speech and actions."
+msgstr "Exercise consideration and respect in your speech and actions."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:87
+msgid "Attempt collaboration and dialog before engaging in conflict."
+msgstr "Attempt collaboration and dialog before engaging in conflict."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:89
+msgid ""
+"Refrain from demeaning, discriminatory, or harassing behavior and speech."
+msgstr ""
+"Refrain from demeaning, discriminatory, or harassing behavior and speech."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:92
+msgid ""
+"Be mindful of your surroundings and of your fellow participants. Alert "
+"community leaders if you notice:"
+msgstr ""
+"Be mindful of your surroundings and of your fellow participants. Alert "
+"community leaders if you notice:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:94
+msgid "a dangerous situation"
+msgstr "a dangerous situation"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:96
+msgid "someone in distress"
+msgstr "someone in distress"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:98
+msgid "violations of this code of conduct, even if they seem minor"
+msgstr "violations of this code of conduct, even if they seem minor"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:101
+msgid ""
+"Remember that community event venues may be shared with members of the "
+"public. Please be respectful to everyone using these locations."
+msgstr ""
+"Remember that community event venues may be shared with members of the "
+"public. Please be respectful to everyone using these locations."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:103
+msgid "Respect the privacy of your fellow community members."
+msgstr "Respect the privacy of your fellow community members."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:106
+#, no-wrap
+msgid ""
+"3. Unacceptable behaviors\n"
+"============================================================\n"
+msgstr ""
+"3. Unacceptable behaviors\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:109
+msgid "The following behaviors are unacceptable within our community:"
+msgstr "The following behaviors are unacceptable within our community:"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:114
+msgid ""
+"Violence, sexual assault, threats of violence, or violent language directed "
+"against another person, especially violence against a person or group based "
+"on a protected characteristic. (Display of weapons may constitute "
+"intimidation or a threat of violence.)"
+msgstr ""
+"Violence, sexual assault, threats of violence, or violent language directed "
+"against another person, especially violence against a person or group based "
+"on a protected characteristic. (Display of weapons may constitute "
+"intimidation or a threat of violence.)"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:117
+msgid ""
+"Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory"
+" jokes and language."
+msgstr ""
+"Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory"
+" jokes and language."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:122
+msgid ""
+"Spontaneously posting or displaying sexually explicit or violent material. "
+"(If it is necessary to share such material when working on Tor's mission, do"
+" so with sensitivity. Be aware that many people don't want to see it.)"
+msgstr ""
+"Spontaneously posting or displaying sexually explicit or violent material. "
+"(If it is necessary to share such material when working on Tor's mission, do"
+" so with sensitivity. Be aware that many people don't want to see it.)"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:125
+msgid ""
+"Posting or threatening to post other people’s personally identifying "
+"information (\"doxing\") without their consent."
+msgstr ""
+"Posting or threatening to post other people’s personally identifying "
+"information (\"doxing\") without their consent."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:127
+msgid "Personal insults or attacks, particularly those related to:"
+msgstr "Personal insults or attacks, particularly those related to:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:129
+msgid "experience"
+msgstr "experience"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:131
+msgid "gender identity or expression"
+msgstr "gender identity or expression"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:133
+msgid "sexual orientation"
+msgstr "sexual orientation"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:135
+msgid "family"
+msgstr "family"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:137
+msgid "relationships"
+msgstr "relationships"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:139
+msgid "ability (whether bodily or mental)"
+msgstr "ability (whether bodily or mental)"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:141
+msgid "personal appearance"
+msgstr "personal appearance"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:143
+msgid "socioeconomic status"
+msgstr "socioeconomic status"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:145
+msgid "body size"
+msgstr "body size"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:147
+msgid "race"
+msgstr "race"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:149
+msgid "ethnicity"
+msgstr "ethnicity"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:151
+msgid "age"
+msgstr "age"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:153
+msgid "religion"
+msgstr "religion"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:155
+msgid "nationality"
+msgstr "nationality"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:157
+msgid "membership in a disadvantaged and/or underrepresented group"
+msgstr "membership in a disadvantaged and/or underrepresented group"
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:161
+msgid ""
+"Inappropriate photography, audio recording, or recording of personal "
+"information. You should have someone's consent before recording these "
+"things, and before posting them publicly."
+msgstr ""
+"Inappropriate photography, audio recording, or recording of personal "
+"information. You should have someone's consent before recording these "
+"things, and before posting them publicly."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:164
+msgid ""
+"Inappropriate physical contact. You should have someone’s consent before "
+"touching them."
+msgstr ""
+"Inappropriate physical contact. You should have someone’s consent before "
+"touching them."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:167
+msgid ""
+"Unwelcome sexual attention: this includes sexualized comments or jokes, "
+"inappropriate touching, groping, and unwelcome sexual advances."
+msgstr ""
+"Unwelcome sexual attention: this includes sexualized comments or jokes, "
+"inappropriate touching, groping, and unwelcome sexual advances."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:169
+msgid "Deliberate intimidation, stalking or following (online or in person)."
+msgstr "Deliberate intimidation, stalking or following (online or in person)."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:172
+msgid ""
+"Deliberately undermining the spirit of this code while following the letter."
+msgstr ""
+"Deliberately undermining the spirit of this code while following the letter."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:175
+msgid ""
+"Sustained disruption of any community events, including talks, "
+"presentations, and online conversations."
+msgstr ""
+"Sustained disruption of any community events, including talks, "
+"presentations, and online conversations."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:177
+msgid "Deliberately pushing against someone's stated boundaries."
+msgstr "Deliberately pushing against someone's stated boundaries."
+
+#. type: Bullet: ' * '
+#: ../code_of_conduct.txt:179
+msgid "Advocating for, or encouraging, any of the above behavior."
+msgstr "Advocating for, or encouraging, any of the above behavior."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:182
+#, no-wrap
+msgid ""
+"4. Unacceptable behavior has consequences\n"
+"============================================================\n"
+msgstr ""
+"4. Unacceptable behavior has consequences\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:188
+msgid ""
+"We will not tolerate unacceptable behavior from any community member. We "
+"will not make exceptions for sponsors and those with decision-making "
+"authority. People in formal or informal leadership roles must model the "
+"highest standards of behavior."
+msgstr ""
+"We will not tolerate unacceptable behavior from any community member. We "
+"will not make exceptions for sponsors and those with decision-making "
+"authority. People in formal or informal leadership roles must model the "
+"highest standards of behavior."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:192
+msgid ""
+"Anyone asked by another community member to stop unacceptable behavior is "
+"expected to comply immediately. Please don't step in on someone else's "
+"behalf without their consent."
+msgstr ""
+"Anyone asked by another community member to stop unacceptable behavior is "
+"expected to comply immediately. Please don't step in on someone else's "
+"behalf without their consent."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:195
+#, no-wrap
+msgid ""
+"5. Where to go for help\n"
+"============================================================\n"
+msgstr ""
+"5. Where to go for help\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:201
+msgid ""
+"The Community Council is an elected body of Tor Core Contributors who can "
+"assist with intra-community conflict resolution. Community Council policies "
+"and information can be found on the Community Council wiki [1]. You can "
+"contact the whole Community council:"
+msgstr ""
+"The Community Council is an elected body of Tor Core Contributors who can "
+"assist with intra-community conflict resolution. Community Council policies "
+"and information can be found on the Community Council wiki [1]. You can "
+"contact the whole Community council:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:203
+msgid "if you have questions or concerns about the code of conduct, or"
+msgstr "if you have questions or concerns about the code of conduct, or"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:205
+msgid "if you feel that you have witnessed a code of conduct violation"
+msgstr "if you feel that you have witnessed a code of conduct violation"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:212
+msgid ""
+"However, if you feel that there is a conflict of interest with any council "
+"member, you may contact members individually. Council members' GPG keys are "
+"listed on the Community Council wiki. If there is a conflict of interest, "
+"the affected council member will recuse themselves. They will not be "
+"involved in any discussion or documentation of the incident. More about the "
+"Community Council can be found in the guidelines [2]."
+msgstr ""
+"However, if you feel that there is a conflict of interest with any council "
+"member, you may contact members individually. Council members' GPG keys are "
+"listed on the Community Council wiki. If there is a conflict of interest, "
+"the affected council member will recuse themselves. They will not be "
+"involved in any discussion or documentation of the incident. More about the "
+"Community Council can be found in the guidelines [2]."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:215
+#, no-wrap
+msgid ""
+"6. What to do if you witness unacceptable behavior\n"
+"============================================================\n"
+msgstr ""
+"6. What to do if you witness unacceptable behavior\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:230
+msgid ""
+"If you are subject to or witness unacceptable behavior, or have any other "
+"concerns, please notify the Community Council as soon as possible. You can "
+"contact the community council in person, or at tor-community-"
+"council(a)lists.torproject.org. Current councilmembers are listed on the wiki "
+"[1]. The Community Council's incident response will vary on a case-by-case "
+"basis. The council will make every effort to respond to the incident "
+"immediately. The council will prioritize the safety of the person who has "
+"been harmed, or is at risk of harm. Person(s) who have been harmed or are at"
+" risk of harm can withdraw the incident report at any time. We will never do"
+" anything without the consent of the person who has been harmed or is at "
+"risk of harm, except in situations where there is a threat of imminent "
+"danger or harm to anyone. More information about the Community Council's "
+"incident reporting and response policies can be found on their wiki [1]."
+msgstr ""
+"If you are subject to or witness unacceptable behavior, or have any other "
+"concerns, please notify the Community Council as soon as possible. You can "
+"contact the community council in person, or at tor-community-"
+"council(a)lists.torproject.org. Current councilmembers are listed on the wiki "
+"[1]. The Community Council's incident response will vary on a case-by-case "
+"basis. The council will make every effort to respond to the incident "
+"immediately. The council will prioritize the safety of the person who has "
+"been harmed, or is at risk of harm. Person(s) who have been harmed or are at"
+" risk of harm can withdraw the incident report at any time. We will never do"
+" anything without the consent of the person who has been harmed or is at "
+"risk of harm, except in situations where there is a threat of imminent "
+"danger or harm to anyone. More information about the Community Council's "
+"incident reporting and response policies can be found on their wiki [1]."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:233
+#, no-wrap
+msgid ""
+"7. What the person reporting a violation can expect\n"
+"============================================================\n"
+msgstr ""
+"7. What the person reporting a violation can expect\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:242
+msgid ""
+"The Community Council prioritizes the safety and well-being of any person "
+"who feels that they have been harmed or may be in danger of being harmed. "
+"Anyone reporting an issue to the Community Council can expect that their "
+"report will be taken seriously. Initial reports can be taken in written or "
+"verbal form. If the incident does not require an immediate resolution, then "
+"a written report can be shared with the Community Council in an encrypted "
+"format. The next steps in an incident response will vary on a case-by-case "
+"basis."
+msgstr ""
+"The Community Council prioritizes the safety and well-being of any person "
+"who feels that they have been harmed or may be in danger of being harmed. "
+"Anyone reporting an issue to the Community Council can expect that their "
+"report will be taken seriously. Initial reports can be taken in written or "
+"verbal form. If the incident does not require an immediate resolution, then "
+"a written report can be shared with the Community Council in an encrypted "
+"format. The next steps in an incident response will vary on a case-by-case "
+"basis."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:245
+#, no-wrap
+msgid ""
+"8. How the Community Council responds to incidents\n"
+"============================================================\n"
+msgstr ""
+"8. How the Community Council responds to incidents\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:252
+msgid ""
+"If a community member engages in unacceptable behavior, the Community "
+"Council may take any action they deem appropriate, including but not limited"
+" to a warning, informal mediation, temporary ban or permanent expulsion from"
+" the community. Any actions and decisions by the Community Council may be "
+"appealed by following the appeals process in the Community Council "
+"Guidelines [1]."
+msgstr ""
+"If a community member engages in unacceptable behavior, the Community "
+"Council may take any action they deem appropriate, including but not limited"
+" to a warning, informal mediation, temporary ban or permanent expulsion from"
+" the community. Any actions and decisions by the Community Council may be "
+"appealed by following the appeals process in the Community Council "
+"Guidelines [1]."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:255
+#, no-wrap
+msgid ""
+"9. Scope of this document\n"
+"============================================================\n"
+msgstr ""
+"9. Scope of this document\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:258
+msgid "This code of conduct covers all community participants:"
+msgstr "This code of conduct covers all community participants:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:260
+msgid "paid and unpaid contributors"
+msgstr "paid and unpaid contributors"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:262
+msgid "sponsors"
+msgstr "sponsors"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:264
+msgid "other guests"
+msgstr "other guests"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:266
+msgid "when interacting:"
+msgstr "when interacting:"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:268
+msgid "in all online and in-person community venues"
+msgstr "in all online and in-person community venues"
+
+#. type: Bullet: ' - '
+#: ../code_of_conduct.txt:270
+msgid "in one-on-one communications that relate to community work"
+msgstr "in one-on-one communications that relate to community work"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:277
+msgid ""
+"This code of conduct and its related procedures also applies to unacceptable"
+" behavior occurring outside the scope of community activities when such "
+"behavior has the potential to adversely affect the safety and well-being of "
+"community members. As members of the Tor community, we support and follow "
+"this Code while we are working on Tor, and take care not to undermine it in "
+"the rest of our time."
+msgstr ""
+"This code of conduct and its related procedures also applies to unacceptable"
+" behavior occurring outside the scope of community activities when such "
+"behavior has the potential to adversely affect the safety and well-being of "
+"community members. As members of the Tor community, we support and follow "
+"this Code while we are working on Tor, and take care not to undermine it in "
+"the rest of our time."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:280
+#, no-wrap
+msgid ""
+"10. License and attribution\n"
+"============================================================\n"
+msgstr ""
+"10. License and attribution\n"
+"============================================================\n"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:284
+msgid ""
+"This code of conduct is shared under a Creative Commons CC-BY-SA 4.0 "
+"International license."
+msgstr ""
+"This code of conduct is shared under a Creative Commons CC-BY-SA 4.0 "
+"International license."
+
+#. type: Plain text
+#: ../code_of_conduct.txt:287
+msgid ""
+"This code of conduct uses some language and framing from the Citizen Code of"
+" Conduct, which is shared under a CC-BY-SA license: citizencodeofconduct.org"
+msgstr ""
+"This code of conduct uses some language and framing from the Citizen Code of"
+" Conduct, which is shared under a CC-BY-SA license: citizencodeofconduct.org"
+
+#. type: Plain text
+#: ../code_of_conduct.txt:289
+msgid ""
+"[1] https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil [2] "
+"https://gitweb.torproject.org/community/policies.git/tree/community_council…"
+msgstr ""
+"[1] https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil [2] "
+"https://gitweb.torproject.org/community/policies.git/tree/community_council…"
1
0

[translation/tpo-web] https://gitweb.torproject.org/translation.git/commit/?h=tpo-web
by translation@torproject.org 28 Aug '19
by translation@torproject.org 28 Aug '19
28 Aug '19
commit 5b0a602096d90ae6382e0e264ba6da1be3b43e29
Author: Translation commit bot <translation(a)torproject.org>
Date: Wed Aug 28 14:52:46 2019 +0000
https://gitweb.torproject.org/translation.git/commit/?h=tpo-web
---
contents+ka.po | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/contents+ka.po b/contents+ka.po
index b489e4ed3..332d938ac 100644
--- a/contents+ka.po
+++ b/contents+ka.po
@@ -905,7 +905,7 @@ msgstr ""
#: templates/contact.html:67
msgid "Tell us about a bad relay."
-msgstr "მოგვახსენეთ ხარვეზიანი გადამცემის შესახებ."
+msgstr "მოგვახსენეთ გაუმართავი გადამცემის შესახებ."
#: templates/contact.html:68
msgid ""
@@ -918,7 +918,7 @@ msgstr ""
#: templates/contact.html:76
msgid "Report a security issue."
-msgstr "მოგვახსენეთ უსაფრთხოების ხარვეზის შესახებ"
+msgstr "მოგვახსენეთ უსაფრთხოების სისუსტეების შესახებ"
#: templates/contact.html:77
msgid ""
1
0

[tor-browser-build/master] Bug 28238: Adapt firefox project for Windows builds
by boklm@torproject.org 28 Aug '19
by boklm@torproject.org 28 Aug '19
28 Aug '19
commit 023ce30eb3c6082af3353fe6876c202d849cfea8
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Aug 26 21:30:50 2019 +0000
Bug 28238: Adapt firefox project for Windows builds
---
projects/firefox/build | 77 ++++---------------------------
projects/firefox/config | 16 +++----
projects/firefox/mozconfig-windows-i686 | 24 ++++++++--
projects/firefox/mozconfig-windows-x86_64 | 21 +++++++--
4 files changed, 56 insertions(+), 82 deletions(-)
diff --git a/projects/firefox/build b/projects/firefox/build
index 1fb4b58..a4b10b6 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -1,46 +1,15 @@
#!/bin/bash
[% c("var/setarch") -%]
[% c("var/set_default_env") -%]
-[% IF c("var/windows") -%]
- [% pc('gcc', 'var/setup', { compiler_tarfile => c('input_files_by_name/gcc') }) %]
- # We need a link to our GCC, otherwise the system cc gets used which points to
- # /usr/bin/gcc.
- ln -s gcc /var/tmp/dist/gcc/bin/cc
-[% END -%]
[% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
distdir=/var/tmp/dist/[% project %]
mkdir -p /var/tmp/build
mkdir -p [% dest_dir _ '/' _ c('filename') %]
-[% IF c("var/windows") -%]
- mingwdir=/var/tmp/dist/mingw-w64
- mkdir -p $mingwdir/helpers
-
- cat > $mingwdir/helpers/[% c("arch") %]-w64-mingw32-g++ << 'EOF'
-#!/bin/sh
-/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-g++ [% c("var/LDFLAGS") %] [% c("var/CFLAGS") %] "$@"
-EOF
-
- cat > $mingwdir/helpers/[% c("arch") %]-w64-mingw32-gcc << 'EOF'
-#!/bin/sh
-/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-gcc [% c("var/LDFLAGS") %] [% c("var/CFLAGS") %] "$@"
-EOF
-
- cat > $mingwdir/helpers/[% c("arch") %]-w64-mingw32-ld << 'EOF'
-#!/bin/sh
-/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-ld [% c("var/LDFLAGS") %] "$@"
-EOF
-
- chmod +x $mingwdir/helpers/*
- export PATH="$mingwdir/helpers:$PATH"
-[% END -%]
-
[% IF c("var/windows") %]
- # Unpack fxc2.
- mkdir -p /var/tmp/dist
+ # Setting up fxc2
tar -C /var/tmp/dist -xf [% c('input_files_by_name/fxc2') %]
- fxcdir=/var/tmp/dist/fxc2/bin
- export PATH="$fxcdir:$PATH"
+ export PATH="/var/tmp/dist/fxc2/bin:$PATH"
# fxc2 requires Wine.
[% IF c("var/windows-x86_64") %]
export WINEARCH=win64
@@ -51,7 +20,6 @@ EOF
wine wineboot -i
[% END -%]
-mkdir -p /var/tmp/dist
tar -C /var/tmp/dist -xf [% c('input_files_by_name/rust') %]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/cbindgen') %]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/nasm') %]
@@ -113,30 +81,11 @@ then
fi
[% IF c("var/windows") %]
- # FIXME
- # Ideally, using LDFLAGS (and e.g. DLLFLAGS for NSS) would be enough to get
- # all Firefox libraries linked against msvcr100. Alas, this does not hold for
- # NSPR. Without patching it we get a "missing entry points for _strcmpi in
- # msvcr100.dll". Now, this should be fixed in rev>=6179 as the def file there
- # contains a proper patch according to the mingw-w64 developers.
- # However, even with this patch the _strcmpi issue is still popping up,
- # probably due to a bug in our current linking setup. The small patch below
- # is therefore just a workaround which should get fixed but is at least
- # justified as the signature of _strcmpi and _stricmp is the same, see:
- # http://msdn.microsoft.com/en-us/library/k59z8dwe.aspx.
- sed 's/strcmpi/stricmp/' -i nsprpub/pr/src/linking/prlink.c
- export HOST_LDFLAGS=" "
- export LDFLAGS="-specs=/var/tmp/dist/mingw-w64/msvcr100.spec"
- # Our flags don't get passed to NSS. We need to do that manually using an
- # obscure one.
- export DLLFLAGS="-specs=/var/tmp/dist/mingw-w64/msvcr100.spec"
-
# Make sure widl is not inserting random timestamps, see #21837.
export WIDL_TIME_OVERRIDE="0"
-[% END %]
-
-[% IF c("var/windows") %]
patch -p1 < $rootdir/nsis-uninstall.patch
+ # Make sure we link without inserting timestamps in general.
+ export LDFLAGS="-Wl,--no-insert-timestamp"
[% END -%]
# Backporting a sec-high bugfix to ESR 60, but making sure it is only applied to
@@ -203,14 +152,9 @@ rm -f js/src/configure
chmod 755 $distdir/Browser/firefox
[% END %]
-[% IF c("var/windows-x86_64") -%]
- mv $rootdir/msvcr100-x86_64.dll $rootdir/msvcr100.dll
-[% END -%]
[% IF c("var/windows") %]
cp -a obj-*/dist/firefox/* $distdir/Browser/
- cp -a $rootdir/msvcr100.dll $distdir/Browser
- cp -a $gcclibs/libssp-0.dll $distdir/Browser
- cp -a $fxcdir/d3dcompiler_47.dll $distdir/Browser
+ cp -a /var/tmp/dist/fxc2/bin/d3dcompiler_47.dll $distdir/Browser
[% END %]
# Make MAR-based update tools available for use during the bundle phase.
@@ -243,16 +187,15 @@ cp -p obj-*/dist/host/bin/mbsdiff $MARTOOLS/
done
[% END %]
[% IF c("var/windows") %]
- cp -p obj-*/modules/libmar/tool/signmar.exe $MARTOOLS/
- cp -p obj-*/security/nss/cmd/certutil/certutil_certutil/certutil.exe $MARTOOLS/
- cp -p obj-*/security/nss/cmd/modutil/modutil_modutil/modutil.exe $MARTOOLS/
- cp -p obj-*/security/nss/cmd/pk12util/pk12util_pk12util/pk12util.exe $MARTOOLS/
- cp -p obj-*/security/nss/cmd/shlibsign/shlibsign_shlibsign/shlibsign.exe $MARTOOLS/
+ cp -p obj-*/dist/bin/signmar.exe $MARTOOLS/
+ cp -p obj-*/dist/bin/certutil.exe $MARTOOLS/
+ cp -p obj-*/dist/bin/modutil.exe $MARTOOLS/
+ cp -p obj-*/dist/bin/pk12util.exe $MARTOOLS/
+ cp -p obj-*/dist/bin/shlibsign.exe $MARTOOLS/
NSS_LIBS="freebl3.dll mozglue.dll nss3.dll nssckbi.dll nssdbm3.dll softokn3.dll"
for LIB in $NSS_LIBS; do
cp -p obj-*/dist/bin/$LIB $MARTOOLS/
done
- cp -a $rootdir/msvcr100.dll $MARTOOLS/
[% END %]
cd $distdir
diff --git a/projects/firefox/config b/projects/firefox/config
index 2622da6..799861e 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -110,6 +110,13 @@ targets:
var:
arch_deps:
- wine
+ pre_pkginst: |
+ echo 'deb http://ftp.debian.org/debian stretch-backports main' >> /etc/apt/sources.list
+ post_pkginst: |
+ # We need to have at least 3.0.3 which Mozilla is using in the
+ # mingw-w64/clang build process
+ apt-get -y -t stretch-backports install wine
+ compiler: mingw-w64-clang
windows-i686:
var:
@@ -131,15 +138,6 @@ input_files:
enable: '[% c("var/linux") %]'
- filename: fix-info-plist.py
enable: '[% c("var/osx") %]'
- - URL: https://people.torproject.org/~gk/mirrors/sources/msvcr100.dll
- sha256sum: 8793353461826fbd48f25ea8b835be204b758ce7510db2af631b28850355bd18
- enable: '[% c("var/windows-i686") %]'
- - URL: https://people.torproject.org/~boklm/mirrors/sources/msvcr100-x86_64.dll
- sha256sum: ae3cb6c6afba9a4aa5c85f66023c35338ca579b30326dd02918f9d55259503d5
- enable: '[% c("var/windows-x86_64") %]'
- - project: gcc
- name: gcc
- enable: '[% c("var/windows") %]'
- filename: nsis-uninstall.patch
enable: '[% c("var/windows") %]'
- project: rust
diff --git a/projects/firefox/mozconfig-windows-i686 b/projects/firefox/mozconfig-windows-i686
index 3314719..5538bc1 100644
--- a/projects/firefox/mozconfig-windows-i686
+++ b/projects/firefox/mozconfig-windows-i686
@@ -1,5 +1,18 @@
CROSS_COMPILE=1
+HOST_CC="clang"
+HOST_CXX="clang++"
+CC="i686-w64-mingw32-clang"
+CXX="i686-w64-mingw32-clang++"
+CXXFLAGS="-fms-extensions"
+AR=llvm-ar
+RANLIB=llvm-ranlib
+
+clang_path=/var/tmp/dist/mingw-w64-clang
+
+# For Stylo
+BINDGEN_CFLAGS="-I$clang_path/i686-w64-mingw32/include/c++/v1 -I$clang_path/i686-w64-mingw32/include"
+
ac_add_options --enable-application=browser
ac_add_options --target=i686-w64-mingw32
ac_add_options --with-toolchain-prefix=i686-w64-mingw32-
@@ -11,6 +24,9 @@ export MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1
ac_add_options --disable-debug
+# Until we build on a 64bit host we need to hack around linker errors due to
+# memory constraints
+ac_add_options --disable-debug-symbols
ac_add_options --enable-optimize
ac_add_options --enable-strip
ac_add_options --enable-official-branding
@@ -18,12 +34,14 @@ ac_add_options --enable-official-branding
ac_add_options --enable-tor-browser-update
ac_add_options --enable-signmar
ac_add_options --enable-verify-mar
+ac_add_options --disable-bits-download
# Let's make sure no preference is enabling either Adobe's or Google's CDM.
ac_add_options --disable-eme
ac_add_options --disable-crashreporter
ac_add_options --disable-maintenance-service
-ac_add_options --disable-webrtc
+ac_add_options --enable-proxy-bypass-protection
+ac_add_options --disable-webrtc # Bug 1393901
ac_add_options --disable-tests
-ac_add_options --disable-stylo # Bugzilla 1390583
-ac_add_options --disable-jemalloc # Bugzilla 1466192
+ac_add_options --disable-jemalloc # Bug 154751
+ac_add_options --disable-geckodriver # Bug 1489320
diff --git a/projects/firefox/mozconfig-windows-x86_64 b/projects/firefox/mozconfig-windows-x86_64
index 62e32c5..c95525b 100644
--- a/projects/firefox/mozconfig-windows-x86_64
+++ b/projects/firefox/mozconfig-windows-x86_64
@@ -1,5 +1,18 @@
CROSS_COMPILE=1
+HOST_CC="clang"
+HOST_CXX="clang++"
+CC="x86_64-w64-mingw32-clang"
+CXX="x86_64-w64-mingw32-clang++"
+CXXFLAGS="-fms-extensions"
+AR=llvm-ar
+RANLIB=llvm-ranlib
+
+clang_path=/var/tmp/dist/mingw-w64-clang
+
+# For Stylo
+BINDGEN_CFLAGS="-I$clang_path/x86_64-w64-mingw32/include/c++/v1 -I$clang_path/x86_64-w64-mingw32/include"
+
ac_add_options --enable-application=browser
ac_add_options --target=x86_64-w64-mingw32
ac_add_options --with-toolchain-prefix=x86_64-w64-mingw32-
@@ -18,12 +31,14 @@ ac_add_options --enable-official-branding
ac_add_options --enable-tor-browser-update
ac_add_options --enable-signmar
ac_add_options --enable-verify-mar
+ac_add_options --disable-bits-download
# Let's make sure no preference is enabling either Adobe's or Google's CDM.
ac_add_options --disable-eme
ac_add_options --disable-crashreporter
ac_add_options --disable-maintenance-service
-ac_add_options --disable-webrtc
+ac_add_options --enable-proxy-bypass-protection
+ac_add_options --disable-webrtc # Bug 1393901
ac_add_options --disable-tests
-ac_add_options --disable-stylo # Bugzilla 1390583
-ac_add_options --disable-jemalloc # Bugzilla 1466192
+ac_add_options --disable-jemalloc # Bug 1547519
+ac_add_options --disable-geckodriver # Bug 1489320
1
0

[tor-browser-build/master] Bug 28716: Create mingw-w64-clang toolchain
by boklm@torproject.org 28 Aug '19
by boklm@torproject.org 28 Aug '19
28 Aug '19
commit 8aeb04965f9993b7572c7fe98d9ad3e0b2fe4453
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Aug 23 10:10:50 2019 +0000
Bug 28716: Create mingw-w64-clang toolchain
This commit adds a mingw-w64/clang toolchain that is needed for getting
Stylo compiled. The build script follows mostly
https://hg.mozilla.org/releases/mozilla-esr68/file/2f459603370d1d35a56ca4e9…
Exceptions are:
1) We don't build clang in 3 stages but just one like we do for our
macOS cross-compilation toolchain.
2) We are omitting the `DEBUG_FLAGS` (-g -gcodeview) as we plan to
actually ship the resulting build to users, which seems okay (see
bug 1500102).
3) We use a slightly newer libunwind (8.0.0) to better fit to our
clang 8 we deploy.
4) We poke clang harder to compile `i686-w64-mingw32-windres` by
specifying the target explicitly. Using our `var/setarch` trick does not
work anymore for an unknown reason.
Thanks to Martin Storsjö, Jacek Caban, Tom Ritter, and many others for
their help in setting this Windows cross-compilation toolchain up.
---
projects/llvm-mingw/build | 8 +
projects/llvm-mingw/config | 5 +
projects/mingw-w64-clang/build | 233 ++
projects/mingw-w64-clang/config | 38 +
projects/mingw-w64-clang/mingw-winrt.patch | 5525 ++++++++++++++++++++++++++++
5 files changed, 5809 insertions(+)
diff --git a/projects/llvm-mingw/build b/projects/llvm-mingw/build
new file mode 100644
index 0000000..ac0f21b
--- /dev/null
+++ b/projects/llvm-mingw/build
@@ -0,0 +1,8 @@
+#!/bin/bash
+[% c("var/set_default_env") -%]
+tar xf [% project %]-[% c("version") %].tar.gz
+mv [% project %]-[% c("version") %] [% project %]
+[% c('tar', {
+ tar_src => [ project ],
+ tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
+ }) %]
diff --git a/projects/llvm-mingw/config b/projects/llvm-mingw/config
new file mode 100644
index 0000000..b1ebf42
--- /dev/null
+++ b/projects/llvm-mingw/config
@@ -0,0 +1,5 @@
+# vim: filetype=yaml sw=2
+version: '[% c("abbrev") %]'
+git_hash: c3a16814bd26aa6702e1e5b482a3d9044bb0f725
+git_url: https://github.com/mstorsjo/llvm-mingw.git
+filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
diff --git a/projects/mingw-w64-clang/build b/projects/mingw-w64-clang/build
new file mode 100644
index 0000000..4226212
--- /dev/null
+++ b/projects/mingw-w64-clang/build
@@ -0,0 +1,233 @@
+#!/bin/bash
+[% c("var/set_default_env") -%]
+builddir=/var/tmp/build
+distdir=/var/tmp/dist/mingw-w64-clang
+mkdir -p $distdir
+cd /var/tmp/dist
+tar -xf $rootdir/[% c('input_files_by_name/clang') %]
+mv clang/* mingw-w64-clang/
+tar -xf $rootdir/[% c('input_files_by_name/cmake') %]
+mkdir -p $builddir
+cd $builddir
+tar -xf $rootdir/mingw-w64-clang-[% c('version') %].tar.gz
+mv mingw-w64-clang-[% c('version') %] mingw-w64-clang
+tar -xf $rootdir/[% c('input_files_by_name/libcxx') %]
+mv libcxx-* libcxx
+tar -xf $rootdir/[% c('input_files_by_name/libcxxabi') %]
+mv libcxxabi-* libcxxabi
+tar -xf $rootdir/[% c('input_files_by_name/libunwind') %]
+mv libunwind-* libunwind
+tar -xf $rootdir/[% c('input_files_by_name/compiler-rt') %]
+mv compiler-rt-* compiler-rt
+tar -xf $rootdir/[% c('input_files_by_name/llvm-mingw') %]
+
+# Adding the wrappers and symlinks we need
+cd $distdir/bin
+exception_flags=""
+target=""
+[% IF c("var/windows-i686") %]
+ target="--target=i686-linux-gnu"
+ exception_flags="-fsjlj-exceptions"
+[% END -%]
+compiler_flags="--sysroot \$DIR/../[% c("arch") %]-w64-mingw32 -rtlib=compiler-rt -stdlib=libc++ -fuse-ld=lld $exception_flags -fuse-cxa-atexit -Qunused-arguments"
+
+cat <<EOF >[% c("arch") %]-w64-mingw32-clang
+#!/bin/sh
+DIR="\$(cd "\$(dirname "\$0")" && pwd)"
+\$DIR/clang -target [% c("arch") %]-w64-mingw32 $compiler_flags "\$@"
+EOF
+chmod +x [% c("arch") %]-w64-mingw32-clang
+
+cat <<EOF >[% c("arch") %]-w64-mingw32-clang++
+#!/bin/sh
+DIR="\$(cd "\$(dirname "\$0")" && pwd)"
+\$DIR/clang -target [% c("arch") %]-w64-mingw32 --driver-mode=g++ $compiler_flags "\$@"
+EOF
+chmod +x [% c("arch") %]-w64-mingw32-clang++
+
+ln -s llvm-nm [% c("arch") %]-w64-mingw32-nm
+ln -s llvm-strip [% c("arch") %]-w64-mingw32-strip
+ln -s llvm-readobj [% c("arch") %]-w64-mingw32-readobj
+ln -s llvm-objcopy [% c("arch") %]-w64-mingw32-objcopy
+./clang $builddir/llvm-mingw/wrappers/windres-wrapper.c $target -O2 -Wl,-s -o [% c("arch") %]-w64-mingw32-windres
+
+# Building mingw-w64
+export PATH="$distdir/bin:/var/tmp/dist/cmake/bin:$PATH"
+CC="[% c("arch") %]-w64-mingw32-clang"
+CXX="[% c("arch") %]-w64-mingw32-clang++"
+# This is the default value of _WIN32_WINNT. Gecko configure script explicitly
+# sets this, so this is not used to build Gecko itself. We default to 0x601,
+# which is Windows 7.
+default_win32_winnt=0x601
+[% IF c("var/windows-i686") %]
+ crt_flags="--enable-lib32 --disable-lib64"
+ compiler_rt_machine="i386"
+[% ELSE -%]
+ crt_flags="--disable-lib32 --enable-lib64"
+ compiler_rt_machine="x86_64"
+[% END -%]
+
+cd $builddir/mingw-w64-clang
+patch -p1 < $rootdir/mingw-winrt.patch
+cd mingw-w64-headers
+mkdir build && cd build
+../configure --host=[% c("arch") %]-w64-mingw32 \
+ --enable-sdk=all \
+ --enable-secure-api \
+ --enable-idl \
+ --with-default-msvcrt=ucrt \
+ --with-default-win32-winnt=$default_win32_winnt \
+ --prefix=$distdir/[% c("arch") %]-w64-mingw32
+make -j[% c("buildconf/num_procs") %] install
+
+cd $builddir/mingw-w64-clang/mingw-w64-crt
+mkdir build && cd build
+../configure --host=[% c("arch") %]-w64-mingw32 \
+ $crt_flags \
+ --with-default-msvcrt=ucrt \
+ CC="$CC" \
+ AR=llvm-ar \
+ RANLIB=llvm-ranlib \
+ DLLTOOL=llvm-dlltool \
+ --prefix=$distdir/[% c("arch") %]-w64-mingw32
+make -j[% c("buildconf/num_procs") %]
+make -j[% c("buildconf/num_procs") %] install
+
+cd $builddir/mingw-w64-clang/mingw-w64-tools/widl
+mkdir build && cd build
+../configure --target=[% c("arch") %]-w64-mingw32 --prefix=$distdir
+make -j[% c("buildconf/num_procs") %]
+make -j[% c("buildconf/num_procs") %] install
+
+# compiler-rt
+cd $builddir/compiler-rt
+mkdir build && cd build
+CLANG_VERSION=$(basename $(dirname $(dirname $(dirname $($CC --print-libgcc-file-name -rtlib=compiler-rt)))))
+cmake -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_COMPILER=$CC \
+ -DCMAKE_SYSTEM_NAME=Windows \
+ -DCMAKE_AR=$distdir/bin/llvm-ar \
+ -DCMAKE_RANLIB=$distdir/bin/llvm-ranlib \
+ -DCMAKE_C_COMPILER_WORKS=1 \
+ -DCMAKE_C_COMPILER_TARGET=$compiler_rt_machine-windows-gnu \
+ -DCOMPILER_RT_DEFAULT_TARGET_ONLY=TRUE \
+ $builddir/compiler-rt/lib/builtins
+ make -j[% c("buildconf/num_procs") %]
+ mkdir -p $distdir/lib/clang/$CLANG_VERSION/lib/windows
+ cp lib/windows/libclang_rt.builtins-$compiler_rt_machine.a $distdir/lib/clang/$CLANG_VERSION/lib/windows/
+
+# libunwind
+cd $builddir/libunwind
+mkdir build && cd build
+cmake -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=$distdir/[% c("arch") %]-w64-mingw32 \
+ -DCMAKE_C_COMPILER=$CC \
+ -DCMAKE_CXX_COMPILER=$CXX \
+ -DCMAKE_CROSSCOMPILING=TRUE \
+ -DCMAKE_SYSROOT=$distdir/[% c("arch") %]-w64-mingw32 \
+ -DCMAKE_SYSTEM_NAME=Windows \
+ -DCMAKE_C_COMPILER_WORKS=TRUE \
+ -DCMAKE_CXX_COMPILER_WORKS=TRUE \
+ -DLLVM_COMPILER_CHECKED=True \
+ -DCMAKE_AR=$distdir/bin/llvm-ar \
+ -DCMAKE_RANLIB=$distdir/bin/llvm-ranlib \
+ -DLLVM_NO_OLD_LIBSTDCXX=TRUE \
+ -DCXX_SUPPORTS_CXX11=TRUE \
+ -DCXX_SUPPORTS_CXX_STD=True \
+ -DLIBUNWIND_USE_COMPILER_RT=TRUE \
+ -DLIBUNWIND_ENABLE_THREADS=TRUE \
+ -DLIBUNWIND_ENABLE_SHARED=FALSE \
+ -DLIBUNWIND_ENABLE_CROSS_UNWINDING=FALSE \
+ -DCMAKE_CXX_FLAGS="-Wno-dll-attribute-on-redeclaration -nostdinc++ -I$builddir/libcxx/include -DPSAPI_VERSION=2" \
+ -DCMAKE_C_FLAGS="-Wno-dll-attribute-on-redeclaration" \
+ $builddir/libunwind
+make -j[% c("buildconf/num_procs") %]
+make -j[% c("buildconf/num_procs") %] install
+
+# libcxxabi
+cd $builddir/libcxxabi
+mkdir build && cd build
+cmake -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=$distdir/[% c("arch") %]-w64-mingw32 \
+ -DCMAKE_C_COMPILER=$CC \
+ -DCMAKE_CXX_COMPILER=$CXX \
+ -DCMAKE_CROSSCOMPILING=TRUE \
+ -DCMAKE_SYSTEM_NAME=Windows \
+ -DCMAKE_C_COMPILER_WORKS=TRUE \
+ -DCMAKE_CXX_COMPILER_WORKS=TRUE \
+ -DCMAKE_SYSROOT=$distdir/[% c("arch") %]-w64-mingw32 \
+ -DLLVM_COMPILER_CHECKED=True \
+ -DCMAKE_AR=$distdir/bin/llvm-ar \
+ -DCMAKE_RANLIB=$distdir/bin/llvm-ranlib \
+ -DLIBCXXABI_USE_COMPILER_RT=ON \
+ -DLIBCXXABI_ENABLE_EXCEPTIONS=ON \
+ -DLIBCXXABI_ENABLE_THREADS=ON \
+ -DLIBCXXABI_TARGET_TRIPLE=[% c("arch") %]-w64-mingw32 \
+ -DLIBCXXABI_ENABLE_SHARED=OFF \
+ -DLIBCXXABI_LIBCXX_INCLUDES=$builddir/libcxx/include \
+ -DLLVM_NO_OLD_LIBSTDCXX=TRUE \
+ -DCXX_SUPPORTS_CXX11=TRUE \
+ -DCXX_SUPPORTS_CXX_STD=True \
+ -DCMAKE_CXX_FLAGS="-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_HAS_THREAD_API_WIN32" \
+ $builddir/libcxxabi
+make -j[% c("buildconf/num_procs") %] VERBOSE=1
+
+# libcxx
+cd $builddir/libcxx
+mkdir build && cd build
+cmake -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=$distdir/[% c("arch") %]-w64-mingw32 \
+ -DCMAKE_C_COMPILER=$CC \
+ -DCMAKE_CXX_COMPILER=$CXX \
+ -DCMAKE_CROSSCOMPILING=TRUE \
+ -DCMAKE_SYSTEM_NAME=Windows \
+ -DCMAKE_C_COMPILER_WORKS=TRUE \
+ -DCMAKE_CXX_COMPILER_WORKS=TRUE \
+ -DLLVM_COMPILER_CHECKED=True \
+ -DCMAKE_AR=$distdir/bin/llvm-ar \
+ -DCMAKE_RANLIB=$distdir/bin/llvm-ranlib \
+ -DLIBCXX_USE_COMPILER_RT=ON \
+ -DLIBCXX_INSTALL_HEADERS=ON \
+ -DLIBCXX_ENABLE_EXCEPTIONS=ON \
+ -DLIBCXX_ENABLE_THREADS=ON \
+ -DLIBCXX_HAS_WIN32_THREAD_API=ON \
+ -DLIBCXX_ENABLE_MONOTONIC_CLOCK=ON \
+ -DLIBCXX_ENABLE_SHARED=OFF \
+ -DLIBCXX_SUPPORTS_STD_EQ_CXX11_FLAG=TRUE \
+ -DLIBCXX_HAVE_CXX_ATOMICS_WITHOUT_LIB=TRUE \
+ -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF \
+ -DLIBCXX_ENABLE_FILESYSTEM=OFF \
+ -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=TRUE \
+ -DLIBCXX_CXX_ABI=libcxxabi \
+ -DLIBCXX_CXX_ABI_INCLUDE_PATHS=$builddir/libcxxabi/include \
+ -DLIBCXX_CXX_ABI_LIBRARY_PATH=$builddir/libcxxabi/build/lib \
+ -DCMAKE_CXX_FLAGS="-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS" \
+ $builddir/libcxx
+make -j[% c("buildconf/num_procs") %] VERBOSE=1
+make -j[% c("buildconf/num_procs") %] install
+
+# libc++.a depends on libunwind.a. While the linker will automatically link to
+# libc++.a in C++ mode, it won't pick libunwind.a, requiring the caller to
+# explicitly pass -lunwind. To work around that, we merge libunwind.a into
+# libc++.a.
+merge_libs() {
+ cat <<EOF |llvm-ar -M
+CREATE tmp.a
+ADDLIB $1
+ADDLIB $2
+SAVE
+END
+EOF
+ llvm-ranlib tmp.a
+ mv tmp.a $1
+}
+
+merge_libs $distdir/[% c("arch") %]-w64-mingw32/lib/libc++.a $distdir/[% c("arch") %]-w64-mingw32/lib/libunwind.a
+
+# Packaging up everything
+cd $distdir
+cd ..
+[% c('tar', {
+ tar_src => [ project ],
+ tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
+ }) %]
diff --git a/projects/mingw-w64-clang/config b/projects/mingw-w64-clang/config
new file mode 100644
index 0000000..203e12e
--- /dev/null
+++ b/projects/mingw-w64-clang/config
@@ -0,0 +1,38 @@
+# vim: filetype=yaml sw=2
+filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
+git_url: https://git.code.sf.net/p/mingw-w64/mingw-w64
+git_hash: 2d52c4b3433e55b1c454f9567c0ae9adc4b83b41
+version: '[% c("abbrev") %]'
+llvm_version: 8.0.0
+gpg_keyring: clang.gpg
+sig_ext: sig
+
+var:
+ container:
+ use_container: 1
+ setup: |
+ mkdir -p /var/tmp/dist
+ tar -C /var/tmp/dist -xf $rootdir/[% c("compiler_tarfile") %]
+ export PATH="/var/tmp/dist/mingw-w64-clang/bin:$PATH"
+
+input_files:
+ - project: container-image
+ - project: clang
+ name: clang
+ - project: cmake
+ name: cmake
+ - URL: 'https://releases.llvm.org/[% c("llvm_version") %]/libcxx-[% c("llvm_version") %].src.tar.xz'
+ name: libcxx
+ file_gpg_id: 1
+ - URL: 'https://releases.llvm.org/[% c("llvm_version") %]/libcxxabi-[% c("llvm_version") %].src.tar.xz'
+ name: libcxxabi
+ file_gpg_id: 1
+ - URL: 'https://releases.llvm.org/[% c("llvm_version") %]/libunwind-[% c("llvm_version") %].src.tar.xz'
+ name: libunwind
+ file_gpg_id: 1
+ - URL: 'https://releases.llvm.org/[% c("llvm_version") %]/compiler-rt-[% c("llvm_version") %].src.tar.xz'
+ name: compiler-rt
+ file_gpg_id: 1
+ - project: llvm-mingw
+ name: llvm-mingw
+ - filename: mingw-winrt.patch
diff --git a/projects/mingw-w64-clang/mingw-winrt.patch b/projects/mingw-w64-clang/mingw-winrt.patch
new file mode 100644
index 0000000..e7124e1
--- /dev/null
+++ b/projects/mingw-w64-clang/mingw-winrt.patch
@@ -0,0 +1,5525 @@
+commit 07fff0900d668fbd75e0ac0a6382a86d486cee88
+Author: Jacek Caban <jacek(a)codeweavers.com>
+Date: Sun Mar 24 21:20:55 2019 +0100
+
+ winrt headers
+
+diff --git a/mingw-w64-headers/include/intsafe.h b/mingw-w64-headers/include/intsafe.h
+index 701d4cef..daaedb83 100644
+--- a/mingw-w64-headers/include/intsafe.h
++++ b/mingw-w64-headers/include/intsafe.h
+@@ -411,5 +411,8 @@ __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(ULongLongMult, ULONGLONG, mul)
+ __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(LongLongMult, LONGLONG, mul)
+
+ #endif /* __GNUC__ >= 5 */
++
++#define SizeTToUInt32 UIntPtrToUInt
++
+ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
+ #endif /* _INTSAFE_H_INCLUDED_ */
+diff --git a/mingw-w64-headers/include/windows.foundation.h b/mingw-w64-headers/include/windows.foundation.h
+index 6c4d3ec8..59797984 100644
+--- a/mingw-w64-headers/include/windows.foundation.h
++++ b/mingw-w64-headers/include/windows.foundation.h
+@@ -1,11 +1,12 @@
+-/*** Autogenerated by WIDL 1.5.31 from include/windows.foundation.idl - Do not edit ***/
++/*** Autogenerated by WIDL 4.4 from windows.foundation.idl - Do not edit ***/
+
++#ifdef _WIN32
+ #ifndef __REQUIRED_RPCNDR_H_VERSION__
+ #define __REQUIRED_RPCNDR_H_VERSION__ 475
+ #endif
+-
+ #include <rpc.h>
+ #include <rpcndr.h>
++#endif
+
+ #ifndef COM_NO_WINDOWS_H
+ #include <windows.h>
+@@ -17,24 +18,18 @@
+
+ /* Forward declarations */
+
+-#ifndef __IAsyncInfo_FWD_DEFINED__
+-#define __IAsyncInfo_FWD_DEFINED__
+-typedef interface IAsyncInfo IAsyncInfo;
+-#endif
+-
+-#ifndef __IASyncAction_FWD_DEFINED__
+-#define __IASyncAction_FWD_DEFINED__
+-typedef interface IASyncAction IASyncAction;
+-#endif
+-
+-#ifndef __AsyncActionCompletedHandler_FWD_DEFINED__
+-#define __AsyncActionCompletedHandler_FWD_DEFINED__
+-typedef interface AsyncActionCompletedHandler AsyncActionCompletedHandler;
+-#endif
+-
+-#ifndef __IAsyncOperation_FWD_DEFINED__
+-#define __IAsyncOperation_FWD_DEFINED__
+-typedef interface IAsyncOperation IAsyncOperation;
++#ifndef ____x_ABI_CWindows_CFoundation_CIStringable_FWD_DEFINED__
++#define ____x_ABI_CWindows_CFoundation_CIStringable_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CFoundation_CIStringable __x_ABI_CWindows_CFoundation_CIStringable;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace Foundation {
++ interface IStringable;
++ }
++ }
++}
++#endif /* __cplusplus */
+ #endif
+
+ /* Headers for imported files */
+@@ -45,667 +40,331 @@ typedef interface IAsyncOperation IAsyncOperation;
+ extern "C" {
+ #endif
+
+-#ifndef __IAsyncInfo_FWD_DEFINED__
+-#define __IAsyncInfo_FWD_DEFINED__
+-typedef interface IAsyncInfo IAsyncInfo;
+-#endif
+-
+-#ifndef __IAsyncAction_FWD_DEFINED__
+-#define __IAsyncAction_FWD_DEFINED__
+-typedef interface IAsyncAction IAsyncAction;
+-#endif
+-
+-#ifndef __IAsyncOperation_FWD_DEFINED__
+-#define __IAsyncOperation_FWD_DEFINED__
+-typedef interface IAsyncOperation IAsyncOperation;
+-#endif
+-
+-#ifndef __AsyncActionCompletedHandler_FWD_DEFINED__
+-#define __AsyncActionCompletedHandler_FWD_DEFINED__
+-typedef interface AsyncActionCompletedHandler AsyncActionCompletedHandler;
+-#endif
+-
+-#ifndef __TypedEventHandler_FWD_DEFINED__
+-#define __TypedEventHandler_FWD_DEFINED__
+-typedef interface TypedEventHandler TypedEventHandler;
+-#endif
+-
+-struct DateTime;
+-
+-struct EventRegistrationToken;
+-
+-#ifndef __IVectorView_FWD_DEFINED__
+-#define __IVectorView_FWD_DEFINED__
+-typedef interface IVectorView IVectorView;
+-#endif
+-
+-#ifndef __IPropertySet_FWD_DEFINED__
+-#define __IPropertySet_FWD_DEFINED__
+-typedef interface IPropertySet IPropertySet;
+-#endif
+-
+-typedef enum AsyncStatus {
+- Started = 0,
+- Completed = 1,
+- Canceled = 2,
+- Error = 3
+-} AsyncStatus;
+-typedef struct DateTime {
+- UINT64 UniversalTime;
+-} DateTime;
+-typedef struct EventRegistrationToken {
+- UINT64 Value;
+-} EventRegistrationToken;
+-/*****************************************************************************
+- * IAsyncInfo interface
+- */
+-#ifndef __IAsyncInfo_INTERFACE_DEFINED__
+-#define __IAsyncInfo_INTERFACE_DEFINED__
+-
+-DEFINE_GUID(IID_IAsyncInfo, 0x00000036, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
+-#if defined(__cplusplus) && !defined(CINTERFACE)
+-MIDL_INTERFACE("00000036-0000-0000-c000-000000000046")
+-IAsyncInfo : public IInspectable
+-{
+- virtual HRESULT STDMETHODCALLTYPE get_Id(
+- unsigned int *id) = 0;
+-
+- virtual HRESULT STDMETHODCALLTYPE get_Status(
+- AsyncStatus *status) = 0;
+-
+- virtual HRESULT STDMETHODCALLTYPE get_ErrorCode(
+- HRESULT *errorCode) = 0;
+-
+- virtual HRESULT STDMETHODCALLTYPE Cancel(
+- ) = 0;
+-
+- virtual HRESULT STDMETHODCALLTYPE Close(
+- ) = 0;
+-
+-};
+-#ifdef __CRT_UUID_DECL
+-__CRT_UUID_DECL(IAsyncInfo, 0x00000036, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
+-#endif
++#ifdef __cplusplus
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace Foundation {
++ enum PropertyType {
++ PropertyType_Empty = 0,
++ PropertyType_UInt8 = 1,
++ PropertyType_Int16 = 2,
++ PropertyType_UInt16 = 3,
++ PropertyType_Int32 = 4,
++ PropertyType_UInt32 = 5,
++ PropertyType_Int64 = 6,
++ PropertyType_UInt64 = 7,
++ PropertyType_Single = 8,
++ PropertyType_Double = 9,
++ PropertyType_Char16 = 10,
++ PropertyType_Boolean = 11,
++ PropertyType_String = 12,
++ PropertyType_Inspectable = 13,
++ PropertyType_DateTime = 14,
++ PropertyType_TimeSpan = 15,
++ PropertyType_Guid = 16,
++ PropertyType_Point = 17,
++ PropertyType_Size = 18,
++ PropertyType_Rect = 19,
++ PropertyType_OtherType = 20,
++ PropertyType_UInt8Array = 1025,
++ PropertyType_Int16Array = 1026,
++ PropertyType_UInt16Array = 1027,
++ PropertyType_Int32Array = 1028,
++ PropertyType_UInt32Array = 1029,
++ PropertyType_Int64Array = 1030,
++ PropertyType_UInt64Array = 1031,
++ PropertyType_SingleArray = 1032,
++ PropertyType_DoubleArray = 1033,
++ PropertyType_Char16Array = 1034,
++ PropertyType_BooleanArray = 1035,
++ PropertyType_StringArray = 1036,
++ PropertyType_InspectableArray = 1037,
++ PropertyType_DateTimeArray = 1038,
++ PropertyType_TimeSpanArray = 1039,
++ PropertyType_GuidArray = 1040,
++ PropertyType_PointArray = 1041,
++ PropertyType_SizeArray = 1042,
++ PropertyType_RectArray = 1043,
++ PropertyType_OtherTypeArray = 1044
++ };
++ }
++ }
++}
++extern "C" {
+ #else
+-typedef struct IAsyncInfoVtbl {
+- BEGIN_INTERFACE
+-
+- /*** IUnknown methods ***/
+- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+- IAsyncInfo* This,
+- REFIID riid,
+- void **ppvObject);
+-
+- ULONG (STDMETHODCALLTYPE *AddRef)(
+- IAsyncInfo* This);
+-
+- ULONG (STDMETHODCALLTYPE *Release)(
+- IAsyncInfo* This);
+-
+- /*** IInspectable methods ***/
+- HRESULT (STDMETHODCALLTYPE *GetIids)(
+- IAsyncInfo* This,
+- ULONG *iidCount,
+- IID **iids);
+-
+- HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+- IAsyncInfo* This,
+- HSTRING *className);
+-
+- HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+- IAsyncInfo* This,
+- TrustLevel *trustLevel);
+-
+- /*** IAsyncInfo methods ***/
+- HRESULT (STDMETHODCALLTYPE *get_Id)(
+- IAsyncInfo* This,
+- unsigned int *id);
+-
+- HRESULT (STDMETHODCALLTYPE *get_Status)(
+- IAsyncInfo* This,
+- AsyncStatus *status);
+-
+- HRESULT (STDMETHODCALLTYPE *get_ErrorCode)(
+- IAsyncInfo* This,
+- HRESULT *errorCode);
+-
+- HRESULT (STDMETHODCALLTYPE *Cancel)(
+- IAsyncInfo* This);
+-
+- HRESULT (STDMETHODCALLTYPE *Close)(
+- IAsyncInfo* This);
+-
+- END_INTERFACE
+-} IAsyncInfoVtbl;
+-interface IAsyncInfo {
+- CONST_VTBL IAsyncInfoVtbl* lpVtbl;
++enum __x_ABI_CWindows_CFoundation_CPropertyType {
++ PropertyType_Empty = 0,
++ PropertyType_UInt8 = 1,
++ PropertyType_Int16 = 2,
++ PropertyType_UInt16 = 3,
++ PropertyType_Int32 = 4,
++ PropertyType_UInt32 = 5,
++ PropertyType_Int64 = 6,
++ PropertyType_UInt64 = 7,
++ PropertyType_Single = 8,
++ PropertyType_Double = 9,
++ PropertyType_Char16 = 10,
++ PropertyType_Boolean = 11,
++ PropertyType_String = 12,
++ PropertyType_Inspectable = 13,
++ PropertyType_DateTime = 14,
++ PropertyType_TimeSpan = 15,
++ PropertyType_Guid = 16,
++ PropertyType_Point = 17,
++ PropertyType_Size = 18,
++ PropertyType_Rect = 19,
++ PropertyType_OtherType = 20,
++ PropertyType_UInt8Array = 1025,
++ PropertyType_Int16Array = 1026,
++ PropertyType_UInt16Array = 1027,
++ PropertyType_Int32Array = 1028,
++ PropertyType_UInt32Array = 1029,
++ PropertyType_Int64Array = 1030,
++ PropertyType_UInt64Array = 1031,
++ PropertyType_SingleArray = 1032,
++ PropertyType_DoubleArray = 1033,
++ PropertyType_Char16Array = 1034,
++ PropertyType_BooleanArray = 1035,
++ PropertyType_StringArray = 1036,
++ PropertyType_InspectableArray = 1037,
++ PropertyType_DateTimeArray = 1038,
++ PropertyType_TimeSpanArray = 1039,
++ PropertyType_GuidArray = 1040,
++ PropertyType_PointArray = 1041,
++ PropertyType_SizeArray = 1042,
++ PropertyType_RectArray = 1043,
++ PropertyType_OtherTypeArray = 1044
+ };
+-
+-#ifdef COBJMACROS
+-#ifndef WIDL_C_INLINE_WRAPPERS
+-/*** IUnknown methods ***/
+-#define IAsyncInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+-#define IAsyncInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
+-#define IAsyncInfo_Release(This) (This)->lpVtbl->Release(This)
+-/*** IInspectable methods ***/
+-#define IAsyncInfo_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+-#define IAsyncInfo_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+-#define IAsyncInfo_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+-/*** IAsyncInfo methods ***/
+-#define IAsyncInfo_get_Id(This,id) (This)->lpVtbl->get_Id(This,id)
+-#define IAsyncInfo_get_Status(This,status) (This)->lpVtbl->get_Status(This,status)
+-#define IAsyncInfo_get_ErrorCode(This,errorCode) (This)->lpVtbl->get_ErrorCode(This,errorCode)
+-#define IAsyncInfo_Cancel(This) (This)->lpVtbl->Cancel(This)
+-#define IAsyncInfo_Close(This) (This)->lpVtbl->Close(This)
+-#else
+-/*** IUnknown methods ***/
+-static FORCEINLINE HRESULT IAsyncInfo_QueryInterface(IAsyncInfo* This,REFIID riid,void **ppvObject) {
+- return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+-}
+-static FORCEINLINE ULONG IAsyncInfo_AddRef(IAsyncInfo* This) {
+- return This->lpVtbl->AddRef(This);
+-}
+-static FORCEINLINE ULONG IAsyncInfo_Release(IAsyncInfo* This) {
+- return This->lpVtbl->Release(This);
+-}
+-/*** IInspectable methods ***/
+-static FORCEINLINE HRESULT IAsyncInfo_GetIids(IAsyncInfo* This,ULONG *iidCount,IID **iids) {
+- return This->lpVtbl->GetIids(This,iidCount,iids);
+-}
+-static FORCEINLINE HRESULT IAsyncInfo_GetRuntimeClassName(IAsyncInfo* This,HSTRING *className) {
+- return This->lpVtbl->GetRuntimeClassName(This,className);
+-}
+-static FORCEINLINE HRESULT IAsyncInfo_GetTrustLevel(IAsyncInfo* This,TrustLevel *trustLevel) {
+- return This->lpVtbl->GetTrustLevel(This,trustLevel);
+-}
+-/*** IAsyncInfo methods ***/
+-static FORCEINLINE HRESULT IAsyncInfo_get_Id(IAsyncInfo* This,unsigned int *id) {
+- return This->lpVtbl->get_Id(This,id);
+-}
+-static FORCEINLINE HRESULT IAsyncInfo_get_Status(IAsyncInfo* This,AsyncStatus *status) {
+- return This->lpVtbl->get_Status(This,status);
+-}
+-static FORCEINLINE HRESULT IAsyncInfo_get_ErrorCode(IAsyncInfo* This,HRESULT *errorCode) {
+- return This->lpVtbl->get_ErrorCode(This,errorCode);
+-}
+-static FORCEINLINE HRESULT IAsyncInfo_Cancel(IAsyncInfo* This) {
+- return This->lpVtbl->Cancel(This);
+-}
+-static FORCEINLINE HRESULT IAsyncInfo_Close(IAsyncInfo* This) {
+- return This->lpVtbl->Close(This);
+-}
+ #endif
+-#endif
+-
+-#endif
+-
+-HRESULT STDMETHODCALLTYPE IAsyncInfo_get_Id_Proxy(
+- IAsyncInfo* This,
+- unsigned int *id);
+-void __RPC_STUB IAsyncInfo_get_Id_Stub(
+- IRpcStubBuffer* This,
+- IRpcChannelBuffer* pRpcChannelBuffer,
+- PRPC_MESSAGE pRpcMessage,
+- DWORD* pdwStubPhase);
+-HRESULT STDMETHODCALLTYPE IAsyncInfo_get_Status_Proxy(
+- IAsyncInfo* This,
+- AsyncStatus *status);
+-void __RPC_STUB IAsyncInfo_get_Status_Stub(
+- IRpcStubBuffer* This,
+- IRpcChannelBuffer* pRpcChannelBuffer,
+- PRPC_MESSAGE pRpcMessage,
+- DWORD* pdwStubPhase);
+-HRESULT STDMETHODCALLTYPE IAsyncInfo_get_ErrorCode_Proxy(
+- IAsyncInfo* This,
+- HRESULT *errorCode);
+-void __RPC_STUB IAsyncInfo_get_ErrorCode_Stub(
+- IRpcStubBuffer* This,
+- IRpcChannelBuffer* pRpcChannelBuffer,
+- PRPC_MESSAGE pRpcMessage,
+- DWORD* pdwStubPhase);
+-HRESULT STDMETHODCALLTYPE IAsyncInfo_Cancel_Proxy(
+- IAsyncInfo* This);
+-void __RPC_STUB IAsyncInfo_Cancel_Stub(
+- IRpcStubBuffer* This,
+- IRpcChannelBuffer* pRpcChannelBuffer,
+- PRPC_MESSAGE pRpcMessage,
+- DWORD* pdwStubPhase);
+-HRESULT STDMETHODCALLTYPE IAsyncInfo_Close_Proxy(
+- IAsyncInfo* This);
+-void __RPC_STUB IAsyncInfo_Close_Stub(
+- IRpcStubBuffer* This,
+- IRpcChannelBuffer* pRpcChannelBuffer,
+- PRPC_MESSAGE pRpcMessage,
+- DWORD* pdwStubPhase);
+-
+-#endif /* __IAsyncInfo_INTERFACE_DEFINED__ */
+-
+-/*****************************************************************************
+- * IASyncAction interface
+- */
+-#ifndef __IASyncAction_INTERFACE_DEFINED__
+-#define __IASyncAction_INTERFACE_DEFINED__
+-
+-DEFINE_GUID(IID_IASyncAction, 0x5a648006, 0x843a, 0x4da9, 0x86,0x5b, 0x9d,0x26,0xe5,0xdf,0xad,0x7b);
+-#if defined(__cplusplus) && !defined(CINTERFACE)
+-MIDL_INTERFACE("5a648006-843a-4da9-865b-9d26e5dfad7b")
+-IASyncAction : public IInspectable
+-{
+- virtual HRESULT STDMETHODCALLTYPE put_Completed(
+- AsyncActionCompletedHandler *handler) = 0;
+-
+- virtual HRESULT STDMETHODCALLTYPE get_Completed(
+- AsyncActionCompletedHandler **handler) = 0;
+-
+- virtual HRESULT STDMETHODCALLTYPE GetResults(
+- ) = 0;
+
+-};
+-#ifdef __CRT_UUID_DECL
+-__CRT_UUID_DECL(IASyncAction, 0x5a648006, 0x843a, 0x4da9, 0x86,0x5b, 0x9d,0x26,0xe5,0xdf,0xad,0x7b)
+-#endif
++#ifdef __cplusplus
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace Foundation {
++ struct Point {
++ FLOAT X;
++ FLOAT Y;
++ };
++ }
++ }
++}
++extern "C" {
+ #else
+-typedef struct IASyncActionVtbl {
+- BEGIN_INTERFACE
+-
+- /*** IUnknown methods ***/
+- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+- IASyncAction* This,
+- REFIID riid,
+- void **ppvObject);
+-
+- ULONG (STDMETHODCALLTYPE *AddRef)(
+- IASyncAction* This);
+-
+- ULONG (STDMETHODCALLTYPE *Release)(
+- IASyncAction* This);
+-
+- /*** IInspectable methods ***/
+- HRESULT (STDMETHODCALLTYPE *GetIids)(
+- IASyncAction* This,
+- ULONG *iidCount,
+- IID **iids);
+-
+- HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+- IASyncAction* This,
+- HSTRING *className);
+-
+- HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+- IASyncAction* This,
+- TrustLevel *trustLevel);
+-
+- /*** IASyncAction methods ***/
+- HRESULT (STDMETHODCALLTYPE *put_Completed)(
+- IASyncAction* This,
+- AsyncActionCompletedHandler *handler);
+-
+- HRESULT (STDMETHODCALLTYPE *get_Completed)(
+- IASyncAction* This,
+- AsyncActionCompletedHandler **handler);
+-
+- HRESULT (STDMETHODCALLTYPE *GetResults)(
+- IASyncAction* This);
+-
+- END_INTERFACE
+-} IASyncActionVtbl;
+-interface IASyncAction {
+- CONST_VTBL IASyncActionVtbl* lpVtbl;
++struct __x_ABI_CWindows_CFoundation_CPoint {
++ FLOAT X;
++ FLOAT Y;
+ };
+-
+-#ifdef COBJMACROS
+-#ifndef WIDL_C_INLINE_WRAPPERS
+-/*** IUnknown methods ***/
+-#define IASyncAction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+-#define IASyncAction_AddRef(This) (This)->lpVtbl->AddRef(This)
+-#define IASyncAction_Release(This) (This)->lpVtbl->Release(This)
+-/*** IInspectable methods ***/
+-#define IASyncAction_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+-#define IASyncAction_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+-#define IASyncAction_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+-/*** IASyncAction methods ***/
+-#define IASyncAction_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
+-#define IASyncAction_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
+-#define IASyncAction_GetResults(This) (This)->lpVtbl->GetResults(This)
+-#else
+-/*** IUnknown methods ***/
+-static FORCEINLINE HRESULT IASyncAction_QueryInterface(IASyncAction* This,REFIID riid,void **ppvObject) {
+- return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+-}
+-static FORCEINLINE ULONG IASyncAction_AddRef(IASyncAction* This) {
+- return This->lpVtbl->AddRef(This);
+-}
+-static FORCEINLINE ULONG IASyncAction_Release(IASyncAction* This) {
+- return This->lpVtbl->Release(This);
+-}
+-/*** IInspectable methods ***/
+-static FORCEINLINE HRESULT IASyncAction_GetIids(IASyncAction* This,ULONG *iidCount,IID **iids) {
+- return This->lpVtbl->GetIids(This,iidCount,iids);
+-}
+-static FORCEINLINE HRESULT IASyncAction_GetRuntimeClassName(IASyncAction* This,HSTRING *className) {
+- return This->lpVtbl->GetRuntimeClassName(This,className);
+-}
+-static FORCEINLINE HRESULT IASyncAction_GetTrustLevel(IASyncAction* This,TrustLevel *trustLevel) {
+- return This->lpVtbl->GetTrustLevel(This,trustLevel);
+-}
+-/*** IASyncAction methods ***/
+-static FORCEINLINE HRESULT IASyncAction_put_Completed(IASyncAction* This,AsyncActionCompletedHandler *handler) {
+- return This->lpVtbl->put_Completed(This,handler);
+-}
+-static FORCEINLINE HRESULT IASyncAction_get_Completed(IASyncAction* This,AsyncActionCompletedHandler **handler) {
+- return This->lpVtbl->get_Completed(This,handler);
+-}
+-static FORCEINLINE HRESULT IASyncAction_GetResults(IASyncAction* This) {
+- return This->lpVtbl->GetResults(This);
+-}
+-#endif
+ #endif
+
+-#endif
+-
+-HRESULT STDMETHODCALLTYPE IASyncAction_put_Completed_Proxy(
+- IASyncAction* This,
+- AsyncActionCompletedHandler *handler);
+-void __RPC_STUB IASyncAction_put_Completed_Stub(
+- IRpcStubBuffer* This,
+- IRpcChannelBuffer* pRpcChannelBuffer,
+- PRPC_MESSAGE pRpcMessage,
+- DWORD* pdwStubPhase);
+-HRESULT STDMETHODCALLTYPE IASyncAction_get_Completed_Proxy(
+- IASyncAction* This,
+- AsyncActionCompletedHandler **handler);
+-void __RPC_STUB IASyncAction_get_Completed_Stub(
+- IRpcStubBuffer* This,
+- IRpcChannelBuffer* pRpcChannelBuffer,
+- PRPC_MESSAGE pRpcMessage,
+- DWORD* pdwStubPhase);
+-HRESULT STDMETHODCALLTYPE IASyncAction_GetResults_Proxy(
+- IASyncAction* This);
+-void __RPC_STUB IASyncAction_GetResults_Stub(
+- IRpcStubBuffer* This,
+- IRpcChannelBuffer* pRpcChannelBuffer,
+- PRPC_MESSAGE pRpcMessage,
+- DWORD* pdwStubPhase);
+-
+-#endif /* __IASyncAction_INTERFACE_DEFINED__ */
+-
+-/*****************************************************************************
+- * AsyncActionCompletedHandler interface
+- */
+-#ifndef __AsyncActionCompletedHandler_INTERFACE_DEFINED__
+-#define __AsyncActionCompletedHandler_INTERFACE_DEFINED__
+-
+-DEFINE_GUID(IID_AsyncActionCompletedHandler, 0xa4ed5c81, 0x76c9, 0x40bd, 0x8b,0xe6, 0xb1,0xd9,0x0f,0xb2,0x0a,0xe7);
+-#if defined(__cplusplus) && !defined(CINTERFACE)
+-MIDL_INTERFACE("a4ed5c81-76c9-40bd-8be6-b1d90fb20ae7")
+-AsyncActionCompletedHandler : public IUnknown
+-{
+- virtual HRESULT STDMETHODCALLTYPE Invoke(
+- IInspectable *asyncAction,
+- AsyncStatus status) = 0;
+-
++#ifdef __cplusplus
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace Foundation {
++ struct Size {
++ FLOAT Width;
++ FLOAT Height;
++ };
++ }
++ }
++}
++extern "C" {
++#else
++struct __x_ABI_CWindows_CFoundation_CSize {
++ FLOAT Width;
++ FLOAT Height;
+ };
+-#ifdef __CRT_UUID_DECL
+-__CRT_UUID_DECL(AsyncActionCompletedHandler, 0xa4ed5c81, 0x76c9, 0x40bd, 0x8b,0xe6, 0xb1,0xd9,0x0f,0xb2,0x0a,0xe7)
+ #endif
+-#else
+-typedef struct AsyncActionCompletedHandlerVtbl {
+- BEGIN_INTERFACE
+-
+- /*** IUnknown methods ***/
+- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+- AsyncActionCompletedHandler* This,
+- REFIID riid,
+- void **ppvObject);
+-
+- ULONG (STDMETHODCALLTYPE *AddRef)(
+- AsyncActionCompletedHandler* This);
+-
+- ULONG (STDMETHODCALLTYPE *Release)(
+- AsyncActionCompletedHandler* This);
+-
+- /*** AsyncActionCompletedHandler methods ***/
+- HRESULT (STDMETHODCALLTYPE *Invoke)(
+- AsyncActionCompletedHandler* This,
+- IInspectable *asyncAction,
+- AsyncStatus status);
+
+- END_INTERFACE
+-} AsyncActionCompletedHandlerVtbl;
+-interface AsyncActionCompletedHandler {
+- CONST_VTBL AsyncActionCompletedHandlerVtbl* lpVtbl;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace Foundation {
++typedef struct Size Size;
++ }
++ }
++}
++#endif /* __cplusplus */
++#ifdef __cplusplus
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace Foundation {
++ struct Rect {
++ FLOAT X;
++ FLOAT Y;
++ FLOAT Width;
++ FLOAT Height;
++ };
++ }
++ }
++}
++extern "C" {
++#else
++struct __x_ABI_CWindows_CFoundation_CRect {
++ FLOAT X;
++ FLOAT Y;
++ FLOAT Width;
++ FLOAT Height;
+ };
++#endif
+
+-#ifdef COBJMACROS
+-#ifndef WIDL_C_INLINE_WRAPPERS
+-/*** IUnknown methods ***/
+-#define AsyncActionCompletedHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+-#define AsyncActionCompletedHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
+-#define AsyncActionCompletedHandler_Release(This) (This)->lpVtbl->Release(This)
+-/*** AsyncActionCompletedHandler methods ***/
+-#define AsyncActionCompletedHandler_Invoke(This,asyncAction,status) (This)->lpVtbl->Invoke(This,asyncAction,status)
+-#else
+-/*** IUnknown methods ***/
+-static FORCEINLINE HRESULT AsyncActionCompletedHandler_QueryInterface(AsyncActionCompletedHandler* This,REFIID riid,void **ppvObject) {
+- return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+-}
+-static FORCEINLINE ULONG AsyncActionCompletedHandler_AddRef(AsyncActionCompletedHandler* This) {
+- return This->lpVtbl->AddRef(This);
+-}
+-static FORCEINLINE ULONG AsyncActionCompletedHandler_Release(AsyncActionCompletedHandler* This) {
+- return This->lpVtbl->Release(This);
+-}
+-/*** AsyncActionCompletedHandler methods ***/
+-static FORCEINLINE HRESULT AsyncActionCompletedHandler_Invoke(AsyncActionCompletedHandler* This,IInspectable *asyncAction,AsyncStatus status) {
+- return This->lpVtbl->Invoke(This,asyncAction,status);
++#ifdef __cplusplus
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace Foundation {
++ struct DateTime {
++ INT64 UniversalTime;
++ };
++ }
++ }
+ }
+-#endif
++extern "C" {
++#else
++struct __x_ABI_CWindows_CFoundation_CDateTime {
++ INT64 UniversalTime;
++};
+ #endif
+
++#ifdef __cplusplus
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace Foundation {
++ struct TimeSpan {
++ INT64 Duration;
++ };
++ }
++ }
++}
++extern "C" {
++#else
++struct __x_ABI_CWindows_CFoundation_CTimeSpan {
++ INT64 Duration;
++};
+ #endif
+
+-HRESULT STDMETHODCALLTYPE AsyncActionCompletedHandler_Invoke_Proxy(
+- AsyncActionCompletedHandler* This,
+- IInspectable *asyncAction,
+- AsyncStatus status);
+-void __RPC_STUB AsyncActionCompletedHandler_Invoke_Stub(
+- IRpcStubBuffer* This,
+- IRpcChannelBuffer* pRpcChannelBuffer,
+- PRPC_MESSAGE pRpcMessage,
+- DWORD* pdwStubPhase);
+-
+-#endif /* __AsyncActionCompletedHandler_INTERFACE_DEFINED__ */
+-
+ /*****************************************************************************
+- * IAsyncOperation interface
++ * IStringable interface
+ */
+-#ifndef __IAsyncOperation_INTERFACE_DEFINED__
+-#define __IAsyncOperation_INTERFACE_DEFINED__
++#ifndef ____x_ABI_CWindows_CFoundation_CIStringable_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CFoundation_CIStringable_INTERFACE_DEFINED__
+
+-DEFINE_GUID(IID_IAsyncOperation, 0x9fc2b0bb, 0xe446, 0x44e2, 0xaa,0x61, 0x9c,0xab,0x8f,0x63,0x6a,0xf2);
++DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIStringable, 0x96369f54, 0x8eb6, 0x48f0, 0xab,0xce, 0xc1,0xb2,0x11,0xe6,0x27,0xc3);
+ #if defined(__cplusplus) && !defined(CINTERFACE)
+-MIDL_INTERFACE("9fc2b0bb-e446-44e2-aa61-9cab8f636af2")
+-IAsyncOperation : public IAsyncInfo
+-{
+- virtual HRESULT STDMETHODCALLTYPE put_Completed(
+- AsyncActionCompletedHandler *handler) = 0;
+-
+- virtual HRESULT STDMETHODCALLTYPE get_Completed(
+- AsyncActionCompletedHandler **handler) = 0;
+-
+- virtual IInspectable * STDMETHODCALLTYPE GetResults(
+- ) = 0;
+-
+-};
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace Foundation {
++ MIDL_INTERFACE("96369f54-8eb6-48f0-abce-c1b211e627c3")
++ IStringable : public IInspectable
++ {
++ virtual HRESULT STDMETHODCALLTYPE ToString(
++ HSTRING *value) = 0;
++
++ };
++ }
++ }
++}
++extern "C" {
+ #ifdef __CRT_UUID_DECL
+-__CRT_UUID_DECL(IAsyncOperation, 0x9fc2b0bb, 0xe446, 0x44e2, 0xaa,0x61, 0x9c,0xab,0x8f,0x63,0x6a,0xf2)
++__CRT_UUID_DECL(ABI::Windows::Foundation::IStringable, 0x96369f54, 0x8eb6, 0x48f0, 0xab,0xce, 0xc1,0xb2,0x11,0xe6,0x27,0xc3)
+ #endif
+ #else
+-typedef struct IAsyncOperationVtbl {
++typedef struct __x_ABI_CWindows_CFoundation_CIStringableVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+- IAsyncOperation* This,
++ __x_ABI_CWindows_CFoundation_CIStringable *This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+- IAsyncOperation* This);
++ __x_ABI_CWindows_CFoundation_CIStringable *This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+- IAsyncOperation* This);
++ __x_ABI_CWindows_CFoundation_CIStringable *This);
+
+ /*** IInspectable methods ***/
+ HRESULT (STDMETHODCALLTYPE *GetIids)(
+- IAsyncOperation* This,
++ __x_ABI_CWindows_CFoundation_CIStringable *This,
+ ULONG *iidCount,
+ IID **iids);
+
+ HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+- IAsyncOperation* This,
++ __x_ABI_CWindows_CFoundation_CIStringable *This,
+ HSTRING *className);
+
+ HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+- IAsyncOperation* This,
++ __x_ABI_CWindows_CFoundation_CIStringable *This,
+ TrustLevel *trustLevel);
+
+- /*** IAsyncInfo methods ***/
+- HRESULT (STDMETHODCALLTYPE *get_Id)(
+- IAsyncOperation* This,
+- unsigned int *id);
+-
+- HRESULT (STDMETHODCALLTYPE *get_Status)(
+- IAsyncOperation* This,
+- AsyncStatus *status);
+-
+- HRESULT (STDMETHODCALLTYPE *get_ErrorCode)(
+- IAsyncOperation* This,
+- HRESULT *errorCode);
+-
+- HRESULT (STDMETHODCALLTYPE *Cancel)(
+- IAsyncOperation* This);
+-
+- HRESULT (STDMETHODCALLTYPE *Close)(
+- IAsyncOperation* This);
+-
+- /*** IAsyncOperation methods ***/
+- HRESULT (STDMETHODCALLTYPE *put_Completed)(
+- IAsyncOperation* This,
+- AsyncActionCompletedHandler *handler);
+-
+- HRESULT (STDMETHODCALLTYPE *get_Completed)(
+- IAsyncOperation* This,
+- AsyncActionCompletedHandler **handler);
+-
+- IInspectable * (STDMETHODCALLTYPE *GetResults)(
+- IAsyncOperation* This);
++ /*** IStringable methods ***/
++ HRESULT (STDMETHODCALLTYPE *ToString)(
++ __x_ABI_CWindows_CFoundation_CIStringable *This,
++ HSTRING *value);
+
+ END_INTERFACE
+-} IAsyncOperationVtbl;
+-interface IAsyncOperation {
+- CONST_VTBL IAsyncOperationVtbl* lpVtbl;
++} __x_ABI_CWindows_CFoundation_CIStringableVtbl;
++
++interface __x_ABI_CWindows_CFoundation_CIStringable {
++ CONST_VTBL __x_ABI_CWindows_CFoundation_CIStringableVtbl* lpVtbl;
+ };
+
+ #ifdef COBJMACROS
+ #ifndef WIDL_C_INLINE_WRAPPERS
+ /*** IUnknown methods ***/
+-#define IAsyncOperation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+-#define IAsyncOperation_AddRef(This) (This)->lpVtbl->AddRef(This)
+-#define IAsyncOperation_Release(This) (This)->lpVtbl->Release(This)
++#define __x_ABI_CWindows_CFoundation_CIStringable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CFoundation_CIStringable_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CFoundation_CIStringable_Release(This) (This)->lpVtbl->Release(This)
+ /*** IInspectable methods ***/
+-#define IAsyncOperation_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+-#define IAsyncOperation_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+-#define IAsyncOperation_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+-/*** IAsyncInfo methods ***/
+-#define IAsyncOperation_get_Id(This,id) (This)->lpVtbl->get_Id(This,id)
+-#define IAsyncOperation_get_Status(This,status) (This)->lpVtbl->get_Status(This,status)
+-#define IAsyncOperation_get_ErrorCode(This,errorCode) (This)->lpVtbl->get_ErrorCode(This,errorCode)
+-#define IAsyncOperation_Cancel(This) (This)->lpVtbl->Cancel(This)
+-#define IAsyncOperation_Close(This) (This)->lpVtbl->Close(This)
+-/*** IAsyncOperation methods ***/
+-#define IAsyncOperation_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
+-#define IAsyncOperation_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
+-#define IAsyncOperation_GetResults(This) (This)->lpVtbl->GetResults(This)
++#define __x_ABI_CWindows_CFoundation_CIStringable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
++#define __x_ABI_CWindows_CFoundation_CIStringable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
++#define __x_ABI_CWindows_CFoundation_CIStringable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
++/*** IStringable methods ***/
++#define __x_ABI_CWindows_CFoundation_CIStringable_ToString(This,value) (This)->lpVtbl->ToString(This,value)
+ #else
+ /*** IUnknown methods ***/
+-static FORCEINLINE HRESULT IAsyncOperation_QueryInterface(IAsyncOperation* This,REFIID riid,void **ppvObject) {
++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_QueryInterface(__x_ABI_CWindows_CFoundation_CIStringable* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+ }
+-static FORCEINLINE ULONG IAsyncOperation_AddRef(IAsyncOperation* This) {
++static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIStringable_AddRef(__x_ABI_CWindows_CFoundation_CIStringable* This) {
+ return This->lpVtbl->AddRef(This);
+ }
+-static FORCEINLINE ULONG IAsyncOperation_Release(IAsyncOperation* This) {
++static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIStringable_Release(__x_ABI_CWindows_CFoundation_CIStringable* This) {
+ return This->lpVtbl->Release(This);
+ }
+ /*** IInspectable methods ***/
+-static FORCEINLINE HRESULT IAsyncOperation_GetIids(IAsyncOperation* This,ULONG *iidCount,IID **iids) {
++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_GetIids(__x_ABI_CWindows_CFoundation_CIStringable* This,ULONG *iidCount,IID **iids) {
+ return This->lpVtbl->GetIids(This,iidCount,iids);
+ }
+-static FORCEINLINE HRESULT IAsyncOperation_GetRuntimeClassName(IAsyncOperation* This,HSTRING *className) {
++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIStringable* This,HSTRING *className) {
+ return This->lpVtbl->GetRuntimeClassName(This,className);
+ }
+-static FORCEINLINE HRESULT IAsyncOperation_GetTrustLevel(IAsyncOperation* This,TrustLevel *trustLevel) {
++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIStringable* This,TrustLevel *trustLevel) {
+ return This->lpVtbl->GetTrustLevel(This,trustLevel);
+ }
+-/*** IAsyncInfo methods ***/
+-static FORCEINLINE HRESULT IAsyncOperation_get_Id(IAsyncOperation* This,unsigned int *id) {
+- return This->lpVtbl->get_Id(This,id);
+-}
+-static FORCEINLINE HRESULT IAsyncOperation_get_Status(IAsyncOperation* This,AsyncStatus *status) {
+- return This->lpVtbl->get_Status(This,status);
+-}
+-static FORCEINLINE HRESULT IAsyncOperation_get_ErrorCode(IAsyncOperation* This,HRESULT *errorCode) {
+- return This->lpVtbl->get_ErrorCode(This,errorCode);
+-}
+-static FORCEINLINE HRESULT IAsyncOperation_Cancel(IAsyncOperation* This) {
+- return This->lpVtbl->Cancel(This);
+-}
+-static FORCEINLINE HRESULT IAsyncOperation_Close(IAsyncOperation* This) {
+- return This->lpVtbl->Close(This);
+-}
+-/*** IAsyncOperation methods ***/
+-static FORCEINLINE HRESULT IAsyncOperation_put_Completed(IAsyncOperation* This,AsyncActionCompletedHandler *handler) {
+- return This->lpVtbl->put_Completed(This,handler);
+-}
+-static FORCEINLINE HRESULT IAsyncOperation_get_Completed(IAsyncOperation* This,AsyncActionCompletedHandler **handler) {
+- return This->lpVtbl->get_Completed(This,handler);
+-}
+-static FORCEINLINE IInspectable * IAsyncOperation_GetResults(IAsyncOperation* This) {
+- return This->lpVtbl->GetResults(This);
++/*** IStringable methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_ToString(__x_ABI_CWindows_CFoundation_CIStringable* This,HSTRING *value) {
++ return This->lpVtbl->ToString(This,value);
+ }
+ #endif
+ #endif
+
+ #endif
+
+-HRESULT STDMETHODCALLTYPE IAsyncOperation_put_Completed_Proxy(
+- IAsyncOperation* This,
+- AsyncActionCompletedHandler *handler);
+-void __RPC_STUB IAsyncOperation_put_Completed_Stub(
+- IRpcStubBuffer* This,
+- IRpcChannelBuffer* pRpcChannelBuffer,
+- PRPC_MESSAGE pRpcMessage,
+- DWORD* pdwStubPhase);
+-HRESULT STDMETHODCALLTYPE IAsyncOperation_get_Completed_Proxy(
+- IAsyncOperation* This,
+- AsyncActionCompletedHandler **handler);
+-void __RPC_STUB IAsyncOperation_get_Completed_Stub(
+- IRpcStubBuffer* This,
+- IRpcChannelBuffer* pRpcChannelBuffer,
+- PRPC_MESSAGE pRpcMessage,
+- DWORD* pdwStubPhase);
+-IInspectable * STDMETHODCALLTYPE IAsyncOperation_GetResults_Proxy(
+- IAsyncOperation* This);
+-void __RPC_STUB IAsyncOperation_GetResults_Stub(
+- IRpcStubBuffer* This,
+- IRpcChannelBuffer* pRpcChannelBuffer,
+- PRPC_MESSAGE pRpcMessage,
+- DWORD* pdwStubPhase);
+-
+-#endif /* __IAsyncOperation_INTERFACE_DEFINED__ */
++#endif /* ____x_ABI_CWindows_CFoundation_CIStringable_INTERFACE_DEFINED__ */
+
+ /* Begin additional prototypes for all interfaces */
+
++ULONG __RPC_USER HSTRING_UserSize (ULONG *, ULONG, HSTRING *);
++unsigned char * __RPC_USER HSTRING_UserMarshal (ULONG *, unsigned char *, HSTRING *);
++unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *);
++void __RPC_USER HSTRING_UserFree (ULONG *, HSTRING *);
+
+ /* End additional prototypes */
+
+diff --git a/mingw-w64-headers/include/windows.foundation.metadata.h b/mingw-w64-headers/include/windows.foundation.metadata.h
+new file mode 100644
+index 00000000..13262699
+--- /dev/null
++++ b/mingw-w64-headers/include/windows.foundation.metadata.h
+@@ -0,0 +1,315 @@
++/*** Autogenerated by WIDL 4.4 from windows.foundation.metadata.idl - Do not edit ***/
++
++#ifdef _WIN32
++#ifndef __REQUIRED_RPCNDR_H_VERSION__
++#define __REQUIRED_RPCNDR_H_VERSION__ 475
++#endif
++#include <rpc.h>
++#include <rpcndr.h>
++#endif
++
++#ifndef COM_NO_WINDOWS_H
++#include <windows.h>
++#include <ole2.h>
++#endif
++
++#ifndef __windows_foundation_metadata_h__
++#define __windows_foundation_metadata_h__
++
++/* Forward declarations */
++
++#ifndef ____x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_FWD_DEFINED__
++#define ____x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace Foundation {
++ namespace Metadata {
++ interface IApiInformationStatics;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++/* Headers for imported files */
++
++#include <inspectable.h>
++#include <windows.foundation.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++/*****************************************************************************
++ * IApiInformationStatics interface
++ */
++#ifndef ____x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_INTERFACE_DEFINED__
++
++DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics, 0x997439fe, 0xf681, 0x4a11, 0xb4,0x16, 0xc1,0x3a,0x47,0xe8,0xba,0x36);
++#if defined(__cplusplus) && !defined(CINTERFACE)
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace Foundation {
++ namespace Metadata {
++ MIDL_INTERFACE("997439fe-f681-4a11-b416-c13a47e8ba36")
++ IApiInformationStatics : public IInspectable
++ {
++ virtual HRESULT STDMETHODCALLTYPE IsTypePresent(
++ HSTRING typeName,
++ boolean *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE IsMethodPresent(
++ HSTRING typeName,
++ HSTRING methodName,
++ boolean *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE IsMethodPresentWithArity(
++ HSTRING typeName,
++ HSTRING methodName,
++ UINT32 inputParameterCount,
++ boolean *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE IsEventPresent(
++ HSTRING typeName,
++ HSTRING eventName,
++ boolean *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE IsPropertyPresent(
++ HSTRING typeName,
++ HSTRING propertyName,
++ boolean *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE IsReadOnlyPropertyPresent(
++ HSTRING typeName,
++ HSTRING propertyName,
++ boolean *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE IsWriteablePropertyPresent(
++ HSTRING typeName,
++ HSTRING propertyName,
++ boolean *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE IsEnumNamedValuePresent(
++ HSTRING enumTypeName,
++ HSTRING valueName,
++ boolean *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE IsApiContractPresentByMajor(
++ HSTRING contractName,
++ UINT16 majorVersion,
++ boolean *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE IsApiContractPresentByMajorAndMinor(
++ HSTRING contractName,
++ UINT16 majorVersion,
++ UINT16 minorVersion,
++ boolean *value) = 0;
++
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::Foundation::Metadata::IApiInformationStatics, 0x997439fe, 0xf681, 0x4a11, 0xb4,0x16, 0xc1,0x3a,0x47,0xe8,0xba,0x36)
++#endif
++#else
++typedef struct __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStaticsVtbl {
++ BEGIN_INTERFACE
++
++ /*** IUnknown methods ***/
++ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
++ REFIID riid,
++ void **ppvObject);
++
++ ULONG (STDMETHODCALLTYPE *AddRef)(
++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This);
++
++ ULONG (STDMETHODCALLTYPE *Release)(
++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This);
++
++ /*** IInspectable methods ***/
++ HRESULT (STDMETHODCALLTYPE *GetIids)(
++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
++ ULONG *iidCount,
++ IID **iids);
++
++ HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
++ HSTRING *className);
++
++ HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
++ TrustLevel *trustLevel);
++
++ /*** IApiInformationStatics methods ***/
++ HRESULT (STDMETHODCALLTYPE *IsTypePresent)(
++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
++ HSTRING typeName,
++ boolean *value);
++
++ HRESULT (STDMETHODCALLTYPE *IsMethodPresent)(
++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
++ HSTRING typeName,
++ HSTRING methodName,
++ boolean *value);
++
++ HRESULT (STDMETHODCALLTYPE *IsMethodPresentWithArity)(
++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
++ HSTRING typeName,
++ HSTRING methodName,
++ UINT32 inputParameterCount,
++ boolean *value);
++
++ HRESULT (STDMETHODCALLTYPE *IsEventPresent)(
++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
++ HSTRING typeName,
++ HSTRING eventName,
++ boolean *value);
++
++ HRESULT (STDMETHODCALLTYPE *IsPropertyPresent)(
++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
++ HSTRING typeName,
++ HSTRING propertyName,
++ boolean *value);
++
++ HRESULT (STDMETHODCALLTYPE *IsReadOnlyPropertyPresent)(
++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
++ HSTRING typeName,
++ HSTRING propertyName,
++ boolean *value);
++
++ HRESULT (STDMETHODCALLTYPE *IsWriteablePropertyPresent)(
++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
++ HSTRING typeName,
++ HSTRING propertyName,
++ boolean *value);
++
++ HRESULT (STDMETHODCALLTYPE *IsEnumNamedValuePresent)(
++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
++ HSTRING enumTypeName,
++ HSTRING valueName,
++ boolean *value);
++
++ HRESULT (STDMETHODCALLTYPE *IsApiContractPresentByMajor)(
++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
++ HSTRING contractName,
++ UINT16 majorVersion,
++ boolean *value);
++
++ HRESULT (STDMETHODCALLTYPE *IsApiContractPresentByMajorAndMinor)(
++ __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
++ HSTRING contractName,
++ UINT16 majorVersion,
++ UINT16 minorVersion,
++ boolean *value);
++
++ END_INTERFACE
++} __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStaticsVtbl;
++
++interface __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics {
++ CONST_VTBL __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStaticsVtbl* lpVtbl;
++};
++
++#ifdef COBJMACROS
++#ifndef WIDL_C_INLINE_WRAPPERS
++/*** IUnknown methods ***/
++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_Release(This) (This)->lpVtbl->Release(This)
++/*** IInspectable methods ***/
++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
++/*** IApiInformationStatics methods ***/
++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsTypePresent(This,typeName,value) (This)->lpVtbl->IsTypePresent(This,typeName,value)
++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsMethodPresent(This,typeName,methodName,value) (This)->lpVtbl->IsMethodPresent(This,typeName,methodName,value)
++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsMethodPresentWithArity(This,typeName,methodName,inputParameterCount,value) (This)->lpVtbl->IsMethodPresentWithArity(This,typeName,methodName,inputParameterCount,value)
++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsEventPresent(This,typeName,eventName,value) (This)->lpVtbl->IsEventPresent(This,typeName,eventName,value)
++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsPropertyPresent(This,typeName,propertyName,value) (This)->lpVtbl->IsPropertyPresent(This,typeName,propertyName,value)
++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsReadOnlyPropertyPresent(This,typeName,propertyName,value) (This)->lpVtbl->IsReadOnlyPropertyPresent(This,typeName,propertyName,value)
++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsWriteablePropertyPresent(This,typeName,propertyName,value) (This)->lpVtbl->IsWriteablePropertyPresent(This,typeName,propertyName,value)
++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsEnumNamedValuePresent(This,enumTypeName,valueName,value) (This)->lpVtbl->IsEnumNamedValuePresent(This,enumTypeName,valueName,value)
++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsApiContractPresentByMajor(This,contractName,majorVersion,value) (This)->lpVtbl->IsApiContractPresentByMajor(This,contractName,majorVersion,value)
++#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsApiContractPresentByMajorAndMinor(This,contractName,majorVersion,minorVersion,value) (This)->lpVtbl->IsApiContractPresentByMajorAndMinor(This,contractName,majorVersion,minorVersion,value)
++#else
++/*** IUnknown methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_QueryInterface(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,REFIID riid,void **ppvObject) {
++ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_AddRef(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This) {
++ return This->lpVtbl->AddRef(This);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_Release(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This) {
++ return This->lpVtbl->Release(This);
++}
++/*** IInspectable methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_GetIids(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,ULONG *iidCount,IID **iids) {
++ return This->lpVtbl->GetIids(This,iidCount,iids);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING *className) {
++ return This->lpVtbl->GetRuntimeClassName(This,className);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_GetTrustLevel(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,TrustLevel *trustLevel) {
++ return This->lpVtbl->GetTrustLevel(This,trustLevel);
++}
++/*** IApiInformationStatics methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsTypePresent(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING typeName,boolean *value) {
++ return This->lpVtbl->IsTypePresent(This,typeName,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsMethodPresent(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING typeName,HSTRING methodName,boolean *value) {
++ return This->lpVtbl->IsMethodPresent(This,typeName,methodName,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsMethodPresentWithArity(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING typeName,HSTRING methodName,UINT32 inputParameterCount,boolean *value) {
++ return This->lpVtbl->IsMethodPresentWithArity(This,typeName,methodName,inputParameterCount,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsEventPresent(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING typeName,HSTRING eventName,boolean *value) {
++ return This->lpVtbl->IsEventPresent(This,typeName,eventName,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsPropertyPresent(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING typeName,HSTRING propertyName,boolean *value) {
++ return This->lpVtbl->IsPropertyPresent(This,typeName,propertyName,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsReadOnlyPropertyPresent(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING typeName,HSTRING propertyName,boolean *value) {
++ return This->lpVtbl->IsReadOnlyPropertyPresent(This,typeName,propertyName,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsWriteablePropertyPresent(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING typeName,HSTRING propertyName,boolean *value) {
++ return This->lpVtbl->IsWriteablePropertyPresent(This,typeName,propertyName,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsEnumNamedValuePresent(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING enumTypeName,HSTRING valueName,boolean *value) {
++ return This->lpVtbl->IsEnumNamedValuePresent(This,enumTypeName,valueName,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsApiContractPresentByMajor(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING contractName,UINT16 majorVersion,boolean *value) {
++ return This->lpVtbl->IsApiContractPresentByMajor(This,contractName,majorVersion,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsApiContractPresentByMajorAndMinor(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING contractName,UINT16 majorVersion,UINT16 minorVersion,boolean *value) {
++ return This->lpVtbl->IsApiContractPresentByMajorAndMinor(This,contractName,majorVersion,minorVersion,value);
++}
++#endif
++#endif
++
++#endif
++
++#endif /* ____x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_INTERFACE_DEFINED__ */
++
++extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Foundation_Metadata_ApiInformation[] = L"Windows.Foundation.Metadata.ApiInformation";
++/* Begin additional prototypes for all interfaces */
++
++ULONG __RPC_USER HSTRING_UserSize (ULONG *, ULONG, HSTRING *);
++unsigned char * __RPC_USER HSTRING_UserMarshal (ULONG *, unsigned char *, HSTRING *);
++unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *);
++void __RPC_USER HSTRING_UserFree (ULONG *, HSTRING *);
++
++/* End additional prototypes */
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* __windows_foundation_metadata_h__ */
+diff --git a/mingw-w64-headers/include/windows.foundation.numerics.h b/mingw-w64-headers/include/windows.foundation.numerics.h
+new file mode 100644
+index 00000000..e20017ce
+--- /dev/null
++++ b/mingw-w64-headers/include/windows.foundation.numerics.h
+@@ -0,0 +1,204 @@
++/*** Autogenerated by WIDL 4.4 from windows.foundation.numerics.idl - Do not edit ***/
++
++#ifdef _WIN32
++#ifndef __REQUIRED_RPCNDR_H_VERSION__
++#define __REQUIRED_RPCNDR_H_VERSION__ 475
++#endif
++#include <rpc.h>
++#include <rpcndr.h>
++#endif
++
++#ifndef COM_NO_WINDOWS_H
++#include <windows.h>
++#include <ole2.h>
++#endif
++
++#ifndef __windows_foundation_numerics_h__
++#define __windows_foundation_numerics_h__
++
++/* Forward declarations */
++
++/* Headers for imported files */
++
++#include <inspectable.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace Foundation {
++ namespace Numerics {
++typedef struct Vector2 Vector2;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace Foundation {
++ namespace Numerics {
++typedef struct Vector3 Vector3;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace Foundation {
++ namespace Numerics {
++typedef struct Matrix4x4 Matrix4x4;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace Foundation {
++ namespace Numerics {
++typedef struct Quaternion Quaternion;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#ifdef __cplusplus
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace Foundation {
++ namespace Numerics {
++ struct Vector2 {
++ FLOAT X;
++ FLOAT Y;
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#else
++struct __x_ABI_CWindows_CFoundation_CNumerics_CVector2 {
++ FLOAT X;
++ FLOAT Y;
++};
++#endif
++
++#ifdef __cplusplus
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace Foundation {
++ namespace Numerics {
++ struct Vector3 {
++ FLOAT X;
++ FLOAT Y;
++ FLOAT Z;
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#else
++struct __x_ABI_CWindows_CFoundation_CNumerics_CVector3 {
++ FLOAT X;
++ FLOAT Y;
++ FLOAT Z;
++};
++#endif
++
++#ifdef __cplusplus
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace Foundation {
++ namespace Numerics {
++ struct Matrix4x4 {
++ FLOAT M11;
++ FLOAT M12;
++ FLOAT M13;
++ FLOAT M14;
++ FLOAT M21;
++ FLOAT M22;
++ FLOAT M23;
++ FLOAT M24;
++ FLOAT M31;
++ FLOAT M32;
++ FLOAT M33;
++ FLOAT M34;
++ FLOAT M41;
++ FLOAT M42;
++ FLOAT M43;
++ FLOAT M44;
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#else
++struct __x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4 {
++ FLOAT M11;
++ FLOAT M12;
++ FLOAT M13;
++ FLOAT M14;
++ FLOAT M21;
++ FLOAT M22;
++ FLOAT M23;
++ FLOAT M24;
++ FLOAT M31;
++ FLOAT M32;
++ FLOAT M33;
++ FLOAT M34;
++ FLOAT M41;
++ FLOAT M42;
++ FLOAT M43;
++ FLOAT M44;
++};
++#endif
++
++#ifdef __cplusplus
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace Foundation {
++ namespace Numerics {
++ struct Quaternion {
++ FLOAT X;
++ FLOAT Y;
++ FLOAT Z;
++ FLOAT W;
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#else
++struct __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion {
++ FLOAT X;
++ FLOAT Y;
++ FLOAT Z;
++ FLOAT W;
++};
++#endif
++
++/* Begin additional prototypes for all interfaces */
++
++
++/* End additional prototypes */
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* __windows_foundation_numerics_h__ */
+diff --git a/mingw-w64-headers/include/windows.graphics.directx.h b/mingw-w64-headers/include/windows.graphics.directx.h
+new file mode 100644
+index 00000000..4bc4cb44
+--- /dev/null
++++ b/mingw-w64-headers/include/windows.graphics.directx.h
+@@ -0,0 +1,343 @@
++/*** Autogenerated by WIDL 4.4 from windows.graphics.directx.idl - Do not edit ***/
++
++#ifdef _WIN32
++#ifndef __REQUIRED_RPCNDR_H_VERSION__
++#define __REQUIRED_RPCNDR_H_VERSION__ 475
++#endif
++#include <rpc.h>
++#include <rpcndr.h>
++#endif
++
++#ifndef COM_NO_WINDOWS_H
++#include <windows.h>
++#include <ole2.h>
++#endif
++
++#ifndef __windows_graphics_directx_h__
++#define __windows_graphics_directx_h__
++
++/* Forward declarations */
++
++/* Headers for imported files */
++
++#include <inspectable.h>
++#include <windows.foundation.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#ifdef __cplusplus
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace Graphics {
++ namespace DirectX {
++ enum DirectXAlphaMode {
++ DirectXAlphaMode_Unspecified = 0,
++ DirectXAlphaMode_Premultiplied = 1,
++ DirectXAlphaMode_Straight = 2,
++ DirectXAlphaMode_Ignore = 3
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#else
++enum __x_ABI_CWindows_CGraphics_CDirectX_CDirectXAlphaMode {
++ DirectXAlphaMode_Unspecified = 0,
++ DirectXAlphaMode_Premultiplied = 1,
++ DirectXAlphaMode_Straight = 2,
++ DirectXAlphaMode_Ignore = 3
++};
++#endif
++
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace Graphics {
++ namespace DirectX {
++typedef enum DirectXAlphaMode DirectXAlphaMode;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#ifdef __cplusplus
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace Graphics {
++ namespace DirectX {
++ enum DirectXPixelFormat {
++ DirectXPixelFormat_Unknown = 0,
++ DirectXPixelFormat_R32G32B32A32Typeless = 1,
++ DirectXPixelFormat_R32G32B32A32Float = 2,
++ DirectXPixelFormat_R32G32B32A32UInt = 3,
++ DirectXPixelFormat_R32G32B32A32Int = 4,
++ DirectXPixelFormat_R32G32B32Typeless = 5,
++ DirectXPixelFormat_R32G32B32Float = 6,
++ DirectXPixelFormat_R32G32B32UInt = 7,
++ DirectXPixelFormat_R32G32B32Int = 8,
++ DirectXPixelFormat_R16G16B16A16Typeless = 9,
++ DirectXPixelFormat_R16G16B16A16Float = 10,
++ DirectXPixelFormat_R16G16B16A16UIntNormalized = 11,
++ DirectXPixelFormat_R16G16B16A16UInt = 12,
++ DirectXPixelFormat_R16G16B16A16IntNormalized = 13,
++ DirectXPixelFormat_R16G16B16A16Int = 14,
++ DirectXPixelFormat_R32G32Typeless = 15,
++ DirectXPixelFormat_R32G32Float = 16,
++ DirectXPixelFormat_R32G32UInt = 17,
++ DirectXPixelFormat_R32G32Int = 18,
++ DirectXPixelFormat_R32G8X24Typeless = 19,
++ DirectXPixelFormat_D32FloatS8X24UInt = 20,
++ DirectXPixelFormat_R32FloatX8X24Typeless = 21,
++ DirectXPixelFormat_X32TypelessG8X24UInt = 22,
++ DirectXPixelFormat_R10G10B10A2Typeless = 23,
++ DirectXPixelFormat_R10G10B10A2UIntNormalized = 24,
++ DirectXPixelFormat_R10G10B10A2UInt = 25,
++ DirectXPixelFormat_R11G11B10Float = 26,
++ DirectXPixelFormat_R8G8B8A8Typeless = 27,
++ DirectXPixelFormat_R8G8B8A8UIntNormalized = 28,
++ DirectXPixelFormat_R8G8B8A8UIntNormalizedSrgb = 29,
++ DirectXPixelFormat_R8G8B8A8UInt = 30,
++ DirectXPixelFormat_R8G8B8A8IntNormalized = 31,
++ DirectXPixelFormat_R8G8B8A8Int = 32,
++ DirectXPixelFormat_R16G16Typeless = 33,
++ DirectXPixelFormat_R16G16Float = 34,
++ DirectXPixelFormat_R16G16UIntNormalized = 35,
++ DirectXPixelFormat_R16G16UInt = 36,
++ DirectXPixelFormat_R16G16IntNormalized = 37,
++ DirectXPixelFormat_R16G16Int = 38,
++ DirectXPixelFormat_R32Typeless = 39,
++ DirectXPixelFormat_D32Float = 40,
++ DirectXPixelFormat_R32Float = 41,
++ DirectXPixelFormat_R32UInt = 42,
++ DirectXPixelFormat_R32Int = 43,
++ DirectXPixelFormat_R24G8Typeless = 44,
++ DirectXPixelFormat_D24UIntNormalizedS8UInt = 45,
++ DirectXPixelFormat_R24UIntNormalizedX8Typeless = 46,
++ DirectXPixelFormat_X24TypelessG8UInt = 47,
++ DirectXPixelFormat_R8G8Typeless = 48,
++ DirectXPixelFormat_R8G8UIntNormalized = 49,
++ DirectXPixelFormat_R8G8UInt = 50,
++ DirectXPixelFormat_R8G8IntNormalized = 51,
++ DirectXPixelFormat_R8G8Int = 52,
++ DirectXPixelFormat_R16Typeless = 53,
++ DirectXPixelFormat_R16Float = 54,
++ DirectXPixelFormat_D16UIntNormalized = 55,
++ DirectXPixelFormat_R16UIntNormalized = 56,
++ DirectXPixelFormat_R16UInt = 57,
++ DirectXPixelFormat_R16IntNormalized = 58,
++ DirectXPixelFormat_R16Int = 59,
++ DirectXPixelFormat_R8Typeless = 60,
++ DirectXPixelFormat_R8UIntNormalized = 61,
++ DirectXPixelFormat_R8UInt = 62,
++ DirectXPixelFormat_R8IntNormalized = 63,
++ DirectXPixelFormat_R8Int = 64,
++ DirectXPixelFormat_A8UIntNormalized = 65,
++ DirectXPixelFormat_R1UIntNormalized = 66,
++ DirectXPixelFormat_R9G9B9E5SharedExponent = 67,
++ DirectXPixelFormat_R8G8B8G8UIntNormalized = 68,
++ DirectXPixelFormat_G8R8G8B8UIntNormalized = 69,
++ DirectXPixelFormat_BC1Typeless = 70,
++ DirectXPixelFormat_BC1UIntNormalized = 71,
++ DirectXPixelFormat_BC1UIntNormalizedSrgb = 72,
++ DirectXPixelFormat_BC2Typeless = 73,
++ DirectXPixelFormat_BC2UIntNormalized = 74,
++ DirectXPixelFormat_BC2UIntNormalizedSrgb = 75,
++ DirectXPixelFormat_BC3Typeless = 76,
++ DirectXPixelFormat_BC3UIntNormalized = 77,
++ DirectXPixelFormat_BC3UIntNormalizedSrgb = 78,
++ DirectXPixelFormat_BC4Typeless = 79,
++ DirectXPixelFormat_BC4UIntNormalized = 80,
++ DirectXPixelFormat_BC4IntNormalized = 81,
++ DirectXPixelFormat_BC5Typeless = 82,
++ DirectXPixelFormat_BC5UIntNormalized = 83,
++ DirectXPixelFormat_BC5IntNormalized = 84,
++ DirectXPixelFormat_B5G6R5UIntNormalized = 85,
++ DirectXPixelFormat_B5G5R5A1UIntNormalized = 86,
++ DirectXPixelFormat_B8G8R8A8UIntNormalized = 87,
++ DirectXPixelFormat_B8G8R8X8UIntNormalized = 88,
++ DirectXPixelFormat_R10G10B10XRBiasA2UIntNormalized = 89,
++ DirectXPixelFormat_B8G8R8A8Typeless = 90,
++ DirectXPixelFormat_B8G8R8A8UIntNormalizedSrgb = 91,
++ DirectXPixelFormat_B8G8R8X8Typeless = 92,
++ DirectXPixelFormat_B8G8R8X8UIntNormalizedSrgb = 93,
++ DirectXPixelFormat_BC6HTypeless = 94,
++ DirectXPixelFormat_BC6H16UnsignedFloat = 95,
++ DirectXPixelFormat_BC6H16Float = 96,
++ DirectXPixelFormat_BC7Typeless = 97,
++ DirectXPixelFormat_BC7UIntNormalized = 98,
++ DirectXPixelFormat_BC7UIntNormalizedSrgb = 99,
++ DirectXPixelFormat_Ayuv = 100,
++ DirectXPixelFormat_Y410 = 101,
++ DirectXPixelFormat_Y416 = 102,
++ DirectXPixelFormat_NV12 = 103,
++ DirectXPixelFormat_P010 = 104,
++ DirectXPixelFormat_P016 = 105,
++ DirectXPixelFormat_Opaque420 = 106,
++ DirectXPixelFormat_Yuy2 = 107,
++ DirectXPixelFormat_Y210 = 108,
++ DirectXPixelFormat_Y216 = 109,
++ DirectXPixelFormat_NV11 = 110,
++ DirectXPixelFormat_AI44 = 111,
++ DirectXPixelFormat_IA44 = 112,
++ DirectXPixelFormat_P8 = 113,
++ DirectXPixelFormat_A8P8 = 114,
++ DirectXPixelFormat_B4G4R4A4UIntNormalized = 115,
++ DirectXPixelFormat_P208 = 130,
++ DirectXPixelFormat_V208 = 131,
++ DirectXPixelFormat_V408 = 132
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#else
++enum __x_ABI_CWindows_CGraphics_CDirectX_CDirectXPixelFormat {
++ DirectXPixelFormat_Unknown = 0,
++ DirectXPixelFormat_R32G32B32A32Typeless = 1,
++ DirectXPixelFormat_R32G32B32A32Float = 2,
++ DirectXPixelFormat_R32G32B32A32UInt = 3,
++ DirectXPixelFormat_R32G32B32A32Int = 4,
++ DirectXPixelFormat_R32G32B32Typeless = 5,
++ DirectXPixelFormat_R32G32B32Float = 6,
++ DirectXPixelFormat_R32G32B32UInt = 7,
++ DirectXPixelFormat_R32G32B32Int = 8,
++ DirectXPixelFormat_R16G16B16A16Typeless = 9,
++ DirectXPixelFormat_R16G16B16A16Float = 10,
++ DirectXPixelFormat_R16G16B16A16UIntNormalized = 11,
++ DirectXPixelFormat_R16G16B16A16UInt = 12,
++ DirectXPixelFormat_R16G16B16A16IntNormalized = 13,
++ DirectXPixelFormat_R16G16B16A16Int = 14,
++ DirectXPixelFormat_R32G32Typeless = 15,
++ DirectXPixelFormat_R32G32Float = 16,
++ DirectXPixelFormat_R32G32UInt = 17,
++ DirectXPixelFormat_R32G32Int = 18,
++ DirectXPixelFormat_R32G8X24Typeless = 19,
++ DirectXPixelFormat_D32FloatS8X24UInt = 20,
++ DirectXPixelFormat_R32FloatX8X24Typeless = 21,
++ DirectXPixelFormat_X32TypelessG8X24UInt = 22,
++ DirectXPixelFormat_R10G10B10A2Typeless = 23,
++ DirectXPixelFormat_R10G10B10A2UIntNormalized = 24,
++ DirectXPixelFormat_R10G10B10A2UInt = 25,
++ DirectXPixelFormat_R11G11B10Float = 26,
++ DirectXPixelFormat_R8G8B8A8Typeless = 27,
++ DirectXPixelFormat_R8G8B8A8UIntNormalized = 28,
++ DirectXPixelFormat_R8G8B8A8UIntNormalizedSrgb = 29,
++ DirectXPixelFormat_R8G8B8A8UInt = 30,
++ DirectXPixelFormat_R8G8B8A8IntNormalized = 31,
++ DirectXPixelFormat_R8G8B8A8Int = 32,
++ DirectXPixelFormat_R16G16Typeless = 33,
++ DirectXPixelFormat_R16G16Float = 34,
++ DirectXPixelFormat_R16G16UIntNormalized = 35,
++ DirectXPixelFormat_R16G16UInt = 36,
++ DirectXPixelFormat_R16G16IntNormalized = 37,
++ DirectXPixelFormat_R16G16Int = 38,
++ DirectXPixelFormat_R32Typeless = 39,
++ DirectXPixelFormat_D32Float = 40,
++ DirectXPixelFormat_R32Float = 41,
++ DirectXPixelFormat_R32UInt = 42,
++ DirectXPixelFormat_R32Int = 43,
++ DirectXPixelFormat_R24G8Typeless = 44,
++ DirectXPixelFormat_D24UIntNormalizedS8UInt = 45,
++ DirectXPixelFormat_R24UIntNormalizedX8Typeless = 46,
++ DirectXPixelFormat_X24TypelessG8UInt = 47,
++ DirectXPixelFormat_R8G8Typeless = 48,
++ DirectXPixelFormat_R8G8UIntNormalized = 49,
++ DirectXPixelFormat_R8G8UInt = 50,
++ DirectXPixelFormat_R8G8IntNormalized = 51,
++ DirectXPixelFormat_R8G8Int = 52,
++ DirectXPixelFormat_R16Typeless = 53,
++ DirectXPixelFormat_R16Float = 54,
++ DirectXPixelFormat_D16UIntNormalized = 55,
++ DirectXPixelFormat_R16UIntNormalized = 56,
++ DirectXPixelFormat_R16UInt = 57,
++ DirectXPixelFormat_R16IntNormalized = 58,
++ DirectXPixelFormat_R16Int = 59,
++ DirectXPixelFormat_R8Typeless = 60,
++ DirectXPixelFormat_R8UIntNormalized = 61,
++ DirectXPixelFormat_R8UInt = 62,
++ DirectXPixelFormat_R8IntNormalized = 63,
++ DirectXPixelFormat_R8Int = 64,
++ DirectXPixelFormat_A8UIntNormalized = 65,
++ DirectXPixelFormat_R1UIntNormalized = 66,
++ DirectXPixelFormat_R9G9B9E5SharedExponent = 67,
++ DirectXPixelFormat_R8G8B8G8UIntNormalized = 68,
++ DirectXPixelFormat_G8R8G8B8UIntNormalized = 69,
++ DirectXPixelFormat_BC1Typeless = 70,
++ DirectXPixelFormat_BC1UIntNormalized = 71,
++ DirectXPixelFormat_BC1UIntNormalizedSrgb = 72,
++ DirectXPixelFormat_BC2Typeless = 73,
++ DirectXPixelFormat_BC2UIntNormalized = 74,
++ DirectXPixelFormat_BC2UIntNormalizedSrgb = 75,
++ DirectXPixelFormat_BC3Typeless = 76,
++ DirectXPixelFormat_BC3UIntNormalized = 77,
++ DirectXPixelFormat_BC3UIntNormalizedSrgb = 78,
++ DirectXPixelFormat_BC4Typeless = 79,
++ DirectXPixelFormat_BC4UIntNormalized = 80,
++ DirectXPixelFormat_BC4IntNormalized = 81,
++ DirectXPixelFormat_BC5Typeless = 82,
++ DirectXPixelFormat_BC5UIntNormalized = 83,
++ DirectXPixelFormat_BC5IntNormalized = 84,
++ DirectXPixelFormat_B5G6R5UIntNormalized = 85,
++ DirectXPixelFormat_B5G5R5A1UIntNormalized = 86,
++ DirectXPixelFormat_B8G8R8A8UIntNormalized = 87,
++ DirectXPixelFormat_B8G8R8X8UIntNormalized = 88,
++ DirectXPixelFormat_R10G10B10XRBiasA2UIntNormalized = 89,
++ DirectXPixelFormat_B8G8R8A8Typeless = 90,
++ DirectXPixelFormat_B8G8R8A8UIntNormalizedSrgb = 91,
++ DirectXPixelFormat_B8G8R8X8Typeless = 92,
++ DirectXPixelFormat_B8G8R8X8UIntNormalizedSrgb = 93,
++ DirectXPixelFormat_BC6HTypeless = 94,
++ DirectXPixelFormat_BC6H16UnsignedFloat = 95,
++ DirectXPixelFormat_BC6H16Float = 96,
++ DirectXPixelFormat_BC7Typeless = 97,
++ DirectXPixelFormat_BC7UIntNormalized = 98,
++ DirectXPixelFormat_BC7UIntNormalizedSrgb = 99,
++ DirectXPixelFormat_Ayuv = 100,
++ DirectXPixelFormat_Y410 = 101,
++ DirectXPixelFormat_Y416 = 102,
++ DirectXPixelFormat_NV12 = 103,
++ DirectXPixelFormat_P010 = 104,
++ DirectXPixelFormat_P016 = 105,
++ DirectXPixelFormat_Opaque420 = 106,
++ DirectXPixelFormat_Yuy2 = 107,
++ DirectXPixelFormat_Y210 = 108,
++ DirectXPixelFormat_Y216 = 109,
++ DirectXPixelFormat_NV11 = 110,
++ DirectXPixelFormat_AI44 = 111,
++ DirectXPixelFormat_IA44 = 112,
++ DirectXPixelFormat_P8 = 113,
++ DirectXPixelFormat_A8P8 = 114,
++ DirectXPixelFormat_B4G4R4A4UIntNormalized = 115,
++ DirectXPixelFormat_P208 = 130,
++ DirectXPixelFormat_V208 = 131,
++ DirectXPixelFormat_V408 = 132
++};
++#endif
++
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace Graphics {
++ namespace DirectX {
++typedef enum DirectXPixelFormat DirectXPixelFormat;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++/* Begin additional prototypes for all interfaces */
++
++
++/* End additional prototypes */
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* __windows_graphics_directx_h__ */
+diff --git a/mingw-w64-headers/include/windows.graphics.effects.h b/mingw-w64-headers/include/windows.graphics.effects.h
+new file mode 100644
+index 00000000..7c6e62a5
+--- /dev/null
++++ b/mingw-w64-headers/include/windows.graphics.effects.h
+@@ -0,0 +1,184 @@
++/*** Autogenerated by WIDL 4.4 from windows.graphics.effects.idl - Do not edit ***/
++
++#ifdef _WIN32
++#ifndef __REQUIRED_RPCNDR_H_VERSION__
++#define __REQUIRED_RPCNDR_H_VERSION__ 475
++#endif
++#include <rpc.h>
++#include <rpcndr.h>
++#endif
++
++#ifndef COM_NO_WINDOWS_H
++#include <windows.h>
++#include <ole2.h>
++#endif
++
++#ifndef __windows_graphics_effects_h__
++#define __windows_graphics_effects_h__
++
++/* Forward declarations */
++
++#ifndef ____x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_FWD_DEFINED__
++#define ____x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace Graphics {
++ namespace Effects {
++ interface IGraphicsEffect;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++/* Headers for imported files */
++
++#include <inspectable.h>
++#include <windows.foundation.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++/*****************************************************************************
++ * IGraphicsEffect interface
++ */
++#ifndef ____x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_INTERFACE_DEFINED__
++
++DEFINE_GUID(IID___x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect, 0xcb51c0ce, 0x8fe6, 0x4636, 0xb2,0x02, 0x86,0x1f,0xaa,0x07,0xd8,0xf3);
++#if defined(__cplusplus) && !defined(CINTERFACE)
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace Graphics {
++ namespace Effects {
++ MIDL_INTERFACE("cb51c0ce-8fe6-4636-b202-861faa07d8f3")
++ IGraphicsEffect : public IInspectable
++ {
++ virtual HRESULT STDMETHODCALLTYPE get_Name(
++ HSTRING *name) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_Name(
++ HSTRING name) = 0;
++
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::Graphics::Effects::IGraphicsEffect, 0xcb51c0ce, 0x8fe6, 0x4636, 0xb2,0x02, 0x86,0x1f,0xaa,0x07,0xd8,0xf3)
++#endif
++#else
++typedef struct __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffectVtbl {
++ BEGIN_INTERFACE
++
++ /*** IUnknown methods ***/
++ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
++ __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This,
++ REFIID riid,
++ void **ppvObject);
++
++ ULONG (STDMETHODCALLTYPE *AddRef)(
++ __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This);
++
++ ULONG (STDMETHODCALLTYPE *Release)(
++ __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This);
++
++ /*** IInspectable methods ***/
++ HRESULT (STDMETHODCALLTYPE *GetIids)(
++ __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This,
++ ULONG *iidCount,
++ IID **iids);
++
++ HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
++ __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This,
++ HSTRING *className);
++
++ HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
++ __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This,
++ TrustLevel *trustLevel);
++
++ /*** IGraphicsEffect methods ***/
++ HRESULT (STDMETHODCALLTYPE *get_Name)(
++ __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This,
++ HSTRING *name);
++
++ HRESULT (STDMETHODCALLTYPE *put_Name)(
++ __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This,
++ HSTRING name);
++
++ END_INTERFACE
++} __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffectVtbl;
++
++interface __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect {
++ CONST_VTBL __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffectVtbl* lpVtbl;
++};
++
++#ifdef COBJMACROS
++#ifndef WIDL_C_INLINE_WRAPPERS
++/*** IUnknown methods ***/
++#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_Release(This) (This)->lpVtbl->Release(This)
++/*** IInspectable methods ***/
++#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
++#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
++#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
++/*** IGraphicsEffect methods ***/
++#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_get_Name(This,name) (This)->lpVtbl->get_Name(This,name)
++#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_put_Name(This,name) (This)->lpVtbl->put_Name(This,name)
++#else
++/*** IUnknown methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_QueryInterface(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This,REFIID riid,void **ppvObject) {
++ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_AddRef(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This) {
++ return This->lpVtbl->AddRef(This);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_Release(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This) {
++ return This->lpVtbl->Release(This);
++}
++/*** IInspectable methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_GetIids(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This,ULONG *iidCount,IID **iids) {
++ return This->lpVtbl->GetIids(This,iidCount,iids);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_GetRuntimeClassName(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This,HSTRING *className) {
++ return This->lpVtbl->GetRuntimeClassName(This,className);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_GetTrustLevel(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This,TrustLevel *trustLevel) {
++ return This->lpVtbl->GetTrustLevel(This,trustLevel);
++}
++/*** IGraphicsEffect methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_get_Name(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This,HSTRING *name) {
++ return This->lpVtbl->get_Name(This,name);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_put_Name(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This,HSTRING name) {
++ return This->lpVtbl->put_Name(This,name);
++}
++#endif
++#endif
++
++#endif
++
++#endif /* ____x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_INTERFACE_DEFINED__ */
++
++/* Begin additional prototypes for all interfaces */
++
++ULONG __RPC_USER HSTRING_UserSize (ULONG *, ULONG, HSTRING *);
++unsigned char * __RPC_USER HSTRING_UserMarshal (ULONG *, unsigned char *, HSTRING *);
++unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *);
++void __RPC_USER HSTRING_UserFree (ULONG *, HSTRING *);
++
++/* End additional prototypes */
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* __windows_graphics_effects_h__ */
+diff --git a/mingw-w64-headers/include/windows.ui.composition.h b/mingw-w64-headers/include/windows.ui.composition.h
+new file mode 100644
+index 00000000..9410a3ce
+--- /dev/null
++++ b/mingw-w64-headers/include/windows.ui.composition.h
+@@ -0,0 +1,3212 @@
++/*** Autogenerated by WIDL 4.4 from windows.ui.composition.idl - Do not edit ***/
++
++#ifdef _WIN32
++#ifndef __REQUIRED_RPCNDR_H_VERSION__
++#define __REQUIRED_RPCNDR_H_VERSION__ 475
++#endif
++#include <rpc.h>
++#include <rpcndr.h>
++#endif
++
++#ifndef COM_NO_WINDOWS_H
++#include <windows.h>
++#include <ole2.h>
++#endif
++
++#ifndef __windows_ui_composition_h__
++#define __windows_ui_composition_h__
++
++/* Forward declarations */
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionBrush_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CICompositionBrush_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositionBrush __x_ABI_CWindows_CUI_CComposition_CICompositionBrush;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface ICompositionBrush;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionSurface_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CICompositionSurface_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositionSurface __x_ABI_CWindows_CUI_CComposition_CICompositionSurface;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface ICompositionSurface;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface ICompositionSurfaceBrush;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionBrush_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionBrush_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionBrush __x_ABI_CWindows_CUI_CComposition_CCompositionBrush;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface CompositionBrush;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CISpriteVisual_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CISpriteVisual_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CISpriteVisual __x_ABI_CWindows_CUI_CComposition_CISpriteVisual;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface ISpriteVisual;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CSpriteVisual_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CSpriteVisual_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CSpriteVisual __x_ABI_CWindows_CUI_CComposition_CSpriteVisual;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface SpriteVisual;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionClip_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionClip_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionClip __x_ABI_CWindows_CUI_CComposition_CCompositionClip;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface CompositionClip;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CContainerVisual_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CContainerVisual_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CContainerVisual __x_ABI_CWindows_CUI_CComposition_CContainerVisual;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface ContainerVisual;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CIVisual_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CIVisual_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CIVisual __x_ABI_CWindows_CUI_CComposition_CIVisual;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface IVisual;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositor_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CCompositor_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositor __x_ABI_CWindows_CUI_CComposition_CCompositor;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface Compositor;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface CompositionPropertySet;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface CompositionAnimation;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionObject_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CICompositionObject_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositionObject __x_ABI_CWindows_CUI_CComposition_CICompositionObject;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface ICompositionObject;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface ColorKeyFrameAnimation;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface CompositionColorBrush;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface CubicBezierEasingFunction;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositor_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CICompositor_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositor __x_ABI_CWindows_CUI_CComposition_CICompositor;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface ICompositor;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface ICompositionGraphicsDevice;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++/* Headers for imported files */
++
++#include <inspectable.h>
++#include <windows.foundation.h>
++#include <windows.foundation.numerics.h>
++#include <windows.graphics.directx.h>
++#include <windows.graphics.effects.h>
++#include <windows.ui.h>
++#include <windows.ui.core.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#ifdef __cplusplus
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ enum CompositionBitmapInterpolationMode {
++ CompositionBitmapInterpolationMode_NearestNeighbor = 0,
++ CompositionBitmapInterpolationMode_Linear = 1
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#else
++enum __x_ABI_CWindows_CUI_CComposition_CCompositionBitmapInterpolationMode {
++ CompositionBitmapInterpolationMode_NearestNeighbor = 0,
++ CompositionBitmapInterpolationMode_Linear = 1
++};
++#endif
++
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++typedef enum CompositionBitmapInterpolationMode CompositionBitmapInterpolationMode;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#ifdef __cplusplus
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ enum CompositionStretch {
++ CompositionStretch_None = 0,
++ CompositionStretch_Fill = 1,
++ CompositionStretch_Uniform = 2,
++ CompositionStretch_UniformToFill = 3
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#else
++enum __x_ABI_CWindows_CUI_CComposition_CCompositionStretch {
++ CompositionStretch_None = 0,
++ CompositionStretch_Fill = 1,
++ CompositionStretch_Uniform = 2,
++ CompositionStretch_UniformToFill = 3
++};
++#endif
++
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++typedef enum CompositionStretch CompositionStretch;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#ifdef __cplusplus
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ enum CompositionBackfaceVisibility {
++ CompositionBackfaceVisibility_Inherit = 0,
++ CompositionBackfaceVisibility_Visible = 1,
++ CompositionBackfaceVisibility_Hidden = 2
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#else
++enum __x_ABI_CWindows_CUI_CComposition_CCompositionBackfaceVisibility {
++ CompositionBackfaceVisibility_Inherit = 0,
++ CompositionBackfaceVisibility_Visible = 1,
++ CompositionBackfaceVisibility_Hidden = 2
++};
++#endif
++
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++typedef enum CompositionBackfaceVisibility CompositionBackfaceVisibility;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#ifdef __cplusplus
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ enum CompositionBorderMode {
++ CompositionBorderMode_Inherit = 0,
++ CompositionBorderMode_Soft = 1,
++ CompositionBorderMode_Hard = 2
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#else
++enum __x_ABI_CWindows_CUI_CComposition_CCompositionBorderMode {
++ CompositionBorderMode_Inherit = 0,
++ CompositionBorderMode_Soft = 1,
++ CompositionBorderMode_Hard = 2
++};
++#endif
++
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++typedef enum CompositionBorderMode CompositionBorderMode;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#ifdef __cplusplus
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ enum CompositionCompositeMode {
++ CompositionCompositeMode_Inherit = 0,
++ CompositionCompositeMode_SourceOver = 1,
++ CompositionCompositeMode_DestinationInvert = 2,
++ CompositionCompositeMode_MinBlend = 3
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#else
++enum __x_ABI_CWindows_CUI_CComposition_CCompositionCompositeMode {
++ CompositionCompositeMode_Inherit = 0,
++ CompositionCompositeMode_SourceOver = 1,
++ CompositionCompositeMode_DestinationInvert = 2,
++ CompositionCompositeMode_MinBlend = 3
++};
++#endif
++
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++typedef enum CompositionCompositeMode CompositionCompositeMode;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#ifdef __cplusplus
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ enum CompositionBatchTypes {
++ CompositionBatchTypes_None = 0x0,
++ CompositionBatchTypes_Animation = 0x1,
++ CompositionBatchTypes_Effect = 0x2
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#else
++enum __x_ABI_CWindows_CUI_CComposition_CCompositionBatchTypes {
++ CompositionBatchTypes_None = 0x0,
++ CompositionBatchTypes_Animation = 0x1,
++ CompositionBatchTypes_Effect = 0x2
++};
++#endif
++
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++typedef enum CompositionBatchTypes CompositionBatchTypes;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++/*****************************************************************************
++ * ICompositionBrush interface
++ */
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionBrush_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CICompositionBrush_INTERFACE_DEFINED__
++
++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CICompositionBrush, 0xab0d7608, 0x30c0, 0x40e9, 0xb5,0x68, 0xb6,0x0a,0x6b,0xd1,0xfb,0x46);
++#if defined(__cplusplus) && !defined(CINTERFACE)
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ MIDL_INTERFACE("ab0d7608-30c0-40e9-b568-b60a6bd1fb46")
++ ICompositionBrush : public IInspectable
++ {
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::UI::Composition::ICompositionBrush, 0xab0d7608, 0x30c0, 0x40e9, 0xb5,0x68, 0xb6,0x0a,0x6b,0xd1,0xfb,0x46)
++#endif
++#else
++typedef struct __x_ABI_CWindows_CUI_CComposition_CICompositionBrushVtbl {
++ BEGIN_INTERFACE
++
++ /*** IUnknown methods ***/
++ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionBrush *This,
++ REFIID riid,
++ void **ppvObject);
++
++ ULONG (STDMETHODCALLTYPE *AddRef)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionBrush *This);
++
++ ULONG (STDMETHODCALLTYPE *Release)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionBrush *This);
++
++ /*** IInspectable methods ***/
++ HRESULT (STDMETHODCALLTYPE *GetIids)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionBrush *This,
++ ULONG *iidCount,
++ IID **iids);
++
++ HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionBrush *This,
++ HSTRING *className);
++
++ HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionBrush *This,
++ TrustLevel *trustLevel);
++
++ END_INTERFACE
++} __x_ABI_CWindows_CUI_CComposition_CICompositionBrushVtbl;
++
++interface __x_ABI_CWindows_CUI_CComposition_CICompositionBrush {
++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CICompositionBrushVtbl* lpVtbl;
++};
++
++#ifdef COBJMACROS
++#ifndef WIDL_C_INLINE_WRAPPERS
++/*** IUnknown methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_Release(This) (This)->lpVtbl->Release(This)
++/*** IInspectable methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
++#else
++/*** IUnknown methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CICompositionBrush* This,REFIID riid,void **ppvObject) {
++ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_AddRef(__x_ABI_CWindows_CUI_CComposition_CICompositionBrush* This) {
++ return This->lpVtbl->AddRef(This);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_Release(__x_ABI_CWindows_CUI_CComposition_CICompositionBrush* This) {
++ return This->lpVtbl->Release(This);
++}
++/*** IInspectable methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_GetIids(__x_ABI_CWindows_CUI_CComposition_CICompositionBrush* This,ULONG *iidCount,IID **iids) {
++ return This->lpVtbl->GetIids(This,iidCount,iids);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CICompositionBrush* This,HSTRING *className) {
++ return This->lpVtbl->GetRuntimeClassName(This,className);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CICompositionBrush* This,TrustLevel *trustLevel) {
++ return This->lpVtbl->GetTrustLevel(This,trustLevel);
++}
++#endif
++#endif
++
++#endif
++
++#endif /* ____x_ABI_CWindows_CUI_CComposition_CICompositionBrush_INTERFACE_DEFINED__ */
++
++/*****************************************************************************
++ * ICompositionSurface interface
++ */
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionSurface_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CICompositionSurface_INTERFACE_DEFINED__
++
++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CICompositionSurface, 0x1527540d, 0x42c7, 0x47a6, 0xa4,0x08, 0x66,0x8f,0x79,0xa9,0x0d,0xfb);
++#if defined(__cplusplus) && !defined(CINTERFACE)
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ MIDL_INTERFACE("1527540d-42c7-47a6-a408-668f79a90dfb")
++ ICompositionSurface : public IInspectable
++ {
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::UI::Composition::ICompositionSurface, 0x1527540d, 0x42c7, 0x47a6, 0xa4,0x08, 0x66,0x8f,0x79,0xa9,0x0d,0xfb)
++#endif
++#else
++typedef struct __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceVtbl {
++ BEGIN_INTERFACE
++
++ /*** IUnknown methods ***/
++ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *This,
++ REFIID riid,
++ void **ppvObject);
++
++ ULONG (STDMETHODCALLTYPE *AddRef)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *This);
++
++ ULONG (STDMETHODCALLTYPE *Release)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *This);
++
++ /*** IInspectable methods ***/
++ HRESULT (STDMETHODCALLTYPE *GetIids)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *This,
++ ULONG *iidCount,
++ IID **iids);
++
++ HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *This,
++ HSTRING *className);
++
++ HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *This,
++ TrustLevel *trustLevel);
++
++ END_INTERFACE
++} __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceVtbl;
++
++interface __x_ABI_CWindows_CUI_CComposition_CICompositionSurface {
++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceVtbl* lpVtbl;
++};
++
++#ifdef COBJMACROS
++#ifndef WIDL_C_INLINE_WRAPPERS
++/*** IUnknown methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_Release(This) (This)->lpVtbl->Release(This)
++/*** IInspectable methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
++#else
++/*** IUnknown methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CICompositionSurface* This,REFIID riid,void **ppvObject) {
++ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_AddRef(__x_ABI_CWindows_CUI_CComposition_CICompositionSurface* This) {
++ return This->lpVtbl->AddRef(This);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_Release(__x_ABI_CWindows_CUI_CComposition_CICompositionSurface* This) {
++ return This->lpVtbl->Release(This);
++}
++/*** IInspectable methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_GetIids(__x_ABI_CWindows_CUI_CComposition_CICompositionSurface* This,ULONG *iidCount,IID **iids) {
++ return This->lpVtbl->GetIids(This,iidCount,iids);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CICompositionSurface* This,HSTRING *className) {
++ return This->lpVtbl->GetRuntimeClassName(This,className);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CICompositionSurface* This,TrustLevel *trustLevel) {
++ return This->lpVtbl->GetTrustLevel(This,trustLevel);
++}
++#endif
++#endif
++
++#endif
++
++#endif /* ____x_ABI_CWindows_CUI_CComposition_CICompositionSurface_INTERFACE_DEFINED__ */
++
++/*****************************************************************************
++ * ICompositionSurfaceBrush interface
++ */
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_INTERFACE_DEFINED__
++
++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush, 0xad016d79, 0x1e4c, 0x4c0d, 0x9c,0x29, 0x83,0x33,0x8c,0x87,0xc1,0x62);
++#if defined(__cplusplus) && !defined(CINTERFACE)
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ MIDL_INTERFACE("ad016d79-1e4c-4c0d-9c29-83338c87c162")
++ ICompositionSurfaceBrush : public IInspectable
++ {
++ virtual HRESULT STDMETHODCALLTYPE get_BitmapInterpolationMode(
++ ABI::Windows::UI::Composition::CompositionBitmapInterpolationMode *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_BitmapInterpolationMode(
++ ABI::Windows::UI::Composition::CompositionBitmapInterpolationMode value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_HorizontalAlignmentRatio(
++ FLOAT *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_HorizontalAlignmentRatio(
++ FLOAT value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_Stretch(
++ ABI::Windows::UI::Composition::CompositionStretch *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_Stretch(
++ ABI::Windows::UI::Composition::CompositionStretch value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_Surface(
++ ABI::Windows::UI::Composition::ICompositionSurface **value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_Surface(
++ ABI::Windows::UI::Composition::ICompositionSurface *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_VerticalAlignmentRatio(
++ FLOAT *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_VerticalAlignmentRatio(
++ FLOAT value) = 0;
++
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::UI::Composition::ICompositionSurfaceBrush, 0xad016d79, 0x1e4c, 0x4c0d, 0x9c,0x29, 0x83,0x33,0x8c,0x87,0xc1,0x62)
++#endif
++#else
++typedef struct __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrushVtbl {
++ BEGIN_INTERFACE
++
++ /*** IUnknown methods ***/
++ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
++ REFIID riid,
++ void **ppvObject);
++
++ ULONG (STDMETHODCALLTYPE *AddRef)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This);
++
++ ULONG (STDMETHODCALLTYPE *Release)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This);
++
++ /*** IInspectable methods ***/
++ HRESULT (STDMETHODCALLTYPE *GetIids)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
++ ULONG *iidCount,
++ IID **iids);
++
++ HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
++ HSTRING *className);
++
++ HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
++ TrustLevel *trustLevel);
++
++ /*** ICompositionSurfaceBrush methods ***/
++ HRESULT (STDMETHODCALLTYPE *get_BitmapInterpolationMode)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionBitmapInterpolationMode *value);
++
++ HRESULT (STDMETHODCALLTYPE *put_BitmapInterpolationMode)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionBitmapInterpolationMode value);
++
++ HRESULT (STDMETHODCALLTYPE *get_HorizontalAlignmentRatio)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
++ FLOAT *value);
++
++ HRESULT (STDMETHODCALLTYPE *put_HorizontalAlignmentRatio)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
++ FLOAT value);
++
++ HRESULT (STDMETHODCALLTYPE *get_Stretch)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionStretch *value);
++
++ HRESULT (STDMETHODCALLTYPE *put_Stretch)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionStretch value);
++
++ HRESULT (STDMETHODCALLTYPE *get_Surface)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurface **value);
++
++ HRESULT (STDMETHODCALLTYPE *put_Surface)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *value);
++
++ HRESULT (STDMETHODCALLTYPE *get_VerticalAlignmentRatio)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
++ FLOAT *value);
++
++ HRESULT (STDMETHODCALLTYPE *put_VerticalAlignmentRatio)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
++ FLOAT value);
++
++ END_INTERFACE
++} __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrushVtbl;
++
++interface __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush {
++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrushVtbl* lpVtbl;
++};
++
++#ifdef COBJMACROS
++#ifndef WIDL_C_INLINE_WRAPPERS
++/*** IUnknown methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_Release(This) (This)->lpVtbl->Release(This)
++/*** IInspectable methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
++/*** ICompositionSurfaceBrush methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_BitmapInterpolationMode(This,value) (This)->lpVtbl->get_BitmapInterpolationMode(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_BitmapInterpolationMode(This,value) (This)->lpVtbl->put_BitmapInterpolationMode(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_HorizontalAlignmentRatio(This,value) (This)->lpVtbl->get_HorizontalAlignmentRatio(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_HorizontalAlignmentRatio(This,value) (This)->lpVtbl->put_HorizontalAlignmentRatio(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_Stretch(This,value) (This)->lpVtbl->get_Stretch(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_Stretch(This,value) (This)->lpVtbl->put_Stretch(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_Surface(This,value) (This)->lpVtbl->get_Surface(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_Surface(This,value) (This)->lpVtbl->put_Surface(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_VerticalAlignmentRatio(This,value) (This)->lpVtbl->get_VerticalAlignmentRatio(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_VerticalAlignmentRatio(This,value) (This)->lpVtbl->put_VerticalAlignmentRatio(This,value)
++#else
++/*** IUnknown methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,REFIID riid,void **ppvObject) {
++ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_AddRef(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This) {
++ return This->lpVtbl->AddRef(This);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_Release(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This) {
++ return This->lpVtbl->Release(This);
++}
++/*** IInspectable methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_GetIids(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,ULONG *iidCount,IID **iids) {
++ return This->lpVtbl->GetIids(This,iidCount,iids);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,HSTRING *className) {
++ return This->lpVtbl->GetRuntimeClassName(This,className);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,TrustLevel *trustLevel) {
++ return This->lpVtbl->GetTrustLevel(This,trustLevel);
++}
++/*** ICompositionSurfaceBrush methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_BitmapInterpolationMode(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBitmapInterpolationMode *value) {
++ return This->lpVtbl->get_BitmapInterpolationMode(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_BitmapInterpolationMode(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBitmapInterpolationMode value) {
++ return This->lpVtbl->put_BitmapInterpolationMode(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_HorizontalAlignmentRatio(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,FLOAT *value) {
++ return This->lpVtbl->get_HorizontalAlignmentRatio(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_HorizontalAlignmentRatio(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,FLOAT value) {
++ return This->lpVtbl->put_HorizontalAlignmentRatio(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_Stretch(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,__x_ABI_CWindows_CUI_CComposition_CCompositionStretch *value) {
++ return This->lpVtbl->get_Stretch(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_Stretch(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,__x_ABI_CWindows_CUI_CComposition_CCompositionStretch value) {
++ return This->lpVtbl->put_Stretch(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_Surface(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,__x_ABI_CWindows_CUI_CComposition_CICompositionSurface **value) {
++ return This->lpVtbl->get_Surface(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_Surface(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,__x_ABI_CWindows_CUI_CComposition_CICompositionSurface *value) {
++ return This->lpVtbl->put_Surface(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_VerticalAlignmentRatio(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,FLOAT *value) {
++ return This->lpVtbl->get_VerticalAlignmentRatio(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_VerticalAlignmentRatio(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,FLOAT value) {
++ return This->lpVtbl->put_VerticalAlignmentRatio(This,value);
++}
++#endif
++#endif
++
++#endif
++
++#endif /* ____x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_INTERFACE_DEFINED__ */
++
++/*****************************************************************************
++ * CompositionBrush interface
++ */
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionBrush_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionBrush_INTERFACE_DEFINED__
++
++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CCompositionBrush, 0x08e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3c);
++#if defined(__cplusplus) && !defined(CINTERFACE)
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ MIDL_INTERFACE("08e05581-1ad1-4f97-9666-402d76e4233c")
++ CompositionBrush : public IUnknown
++ {
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::UI::Composition::CompositionBrush, 0x08e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3c)
++#endif
++#else
++typedef struct __x_ABI_CWindows_CUI_CComposition_CCompositionBrushVtbl {
++ BEGIN_INTERFACE
++
++ /*** IUnknown methods ***/
++ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
++ __x_ABI_CWindows_CUI_CComposition_CCompositionBrush *This,
++ REFIID riid,
++ void **ppvObject);
++
++ ULONG (STDMETHODCALLTYPE *AddRef)(
++ __x_ABI_CWindows_CUI_CComposition_CCompositionBrush *This);
++
++ ULONG (STDMETHODCALLTYPE *Release)(
++ __x_ABI_CWindows_CUI_CComposition_CCompositionBrush *This);
++
++ END_INTERFACE
++} __x_ABI_CWindows_CUI_CComposition_CCompositionBrushVtbl;
++
++interface __x_ABI_CWindows_CUI_CComposition_CCompositionBrush {
++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CCompositionBrushVtbl* lpVtbl;
++};
++
++#ifdef COBJMACROS
++#ifndef WIDL_C_INLINE_WRAPPERS
++/*** IUnknown methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CCompositionBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CUI_CComposition_CCompositionBrush_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CUI_CComposition_CCompositionBrush_Release(This) (This)->lpVtbl->Release(This)
++#else
++/*** IUnknown methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CCompositionBrush_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CCompositionBrush* This,REFIID riid,void **ppvObject) {
++ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionBrush_AddRef(__x_ABI_CWindows_CUI_CComposition_CCompositionBrush* This) {
++ return This->lpVtbl->AddRef(This);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionBrush_Release(__x_ABI_CWindows_CUI_CComposition_CCompositionBrush* This) {
++ return This->lpVtbl->Release(This);
++}
++#endif
++#endif
++
++#endif
++
++#endif /* ____x_ABI_CWindows_CUI_CComposition_CCompositionBrush_INTERFACE_DEFINED__ */
++
++/*****************************************************************************
++ * ISpriteVisual interface
++ */
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CISpriteVisual_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CISpriteVisual_INTERFACE_DEFINED__
++
++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CISpriteVisual, 0x08e05581, 0x1ad1, 0x4f97, 0x97,0x57, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
++#if defined(__cplusplus) && !defined(CINTERFACE)
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ MIDL_INTERFACE("08e05581-1ad1-4f97-9757-402d76e4233b")
++ ISpriteVisual : public IInspectable
++ {
++ virtual HRESULT STDMETHODCALLTYPE get_Brush(
++ ABI::Windows::UI::Composition::CompositionBrush **value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_Brush(
++ ABI::Windows::UI::Composition::ICompositionBrush *value) = 0;
++
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::UI::Composition::ISpriteVisual, 0x08e05581, 0x1ad1, 0x4f97, 0x97,0x57, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
++#endif
++#else
++typedef struct __x_ABI_CWindows_CUI_CComposition_CISpriteVisualVtbl {
++ BEGIN_INTERFACE
++
++ /*** IUnknown methods ***/
++ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
++ __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This,
++ REFIID riid,
++ void **ppvObject);
++
++ ULONG (STDMETHODCALLTYPE *AddRef)(
++ __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This);
++
++ ULONG (STDMETHODCALLTYPE *Release)(
++ __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This);
++
++ /*** IInspectable methods ***/
++ HRESULT (STDMETHODCALLTYPE *GetIids)(
++ __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This,
++ ULONG *iidCount,
++ IID **iids);
++
++ HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
++ __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This,
++ HSTRING *className);
++
++ HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
++ __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This,
++ TrustLevel *trustLevel);
++
++ /*** ISpriteVisual methods ***/
++ HRESULT (STDMETHODCALLTYPE *get_Brush)(
++ __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionBrush **value);
++
++ HRESULT (STDMETHODCALLTYPE *put_Brush)(
++ __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This,
++ __x_ABI_CWindows_CUI_CComposition_CICompositionBrush *value);
++
++ END_INTERFACE
++} __x_ABI_CWindows_CUI_CComposition_CISpriteVisualVtbl;
++
++interface __x_ABI_CWindows_CUI_CComposition_CISpriteVisual {
++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CISpriteVisualVtbl* lpVtbl;
++};
++
++#ifdef COBJMACROS
++#ifndef WIDL_C_INLINE_WRAPPERS
++/*** IUnknown methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_Release(This) (This)->lpVtbl->Release(This)
++/*** IInspectable methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
++#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
++#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
++/*** ISpriteVisual methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_get_Brush(This,value) (This)->lpVtbl->get_Brush(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_put_Brush(This,value) (This)->lpVtbl->put_Brush(This,value)
++#else
++/*** IUnknown methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This,REFIID riid,void **ppvObject) {
++ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_AddRef(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This) {
++ return This->lpVtbl->AddRef(This);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_Release(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This) {
++ return This->lpVtbl->Release(This);
++}
++/*** IInspectable methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_GetIids(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This,ULONG *iidCount,IID **iids) {
++ return This->lpVtbl->GetIids(This,iidCount,iids);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This,HSTRING *className) {
++ return This->lpVtbl->GetRuntimeClassName(This,className);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This,TrustLevel *trustLevel) {
++ return This->lpVtbl->GetTrustLevel(This,trustLevel);
++}
++/*** ISpriteVisual methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_get_Brush(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBrush **value) {
++ return This->lpVtbl->get_Brush(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_put_Brush(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This,__x_ABI_CWindows_CUI_CComposition_CICompositionBrush *value) {
++ return This->lpVtbl->put_Brush(This,value);
++}
++#endif
++#endif
++
++#endif
++
++#endif /* ____x_ABI_CWindows_CUI_CComposition_CISpriteVisual_INTERFACE_DEFINED__ */
++
++/*****************************************************************************
++ * SpriteVisual interface
++ */
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CSpriteVisual_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CSpriteVisual_INTERFACE_DEFINED__
++
++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CSpriteVisual, 0x08e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
++#if defined(__cplusplus) && !defined(CINTERFACE)
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ MIDL_INTERFACE("08e05581-1ad1-4f97-9666-402d76e4233b")
++ SpriteVisual : public IUnknown
++ {
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::UI::Composition::SpriteVisual, 0x08e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
++#endif
++#else
++typedef struct __x_ABI_CWindows_CUI_CComposition_CSpriteVisualVtbl {
++ BEGIN_INTERFACE
++
++ /*** IUnknown methods ***/
++ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
++ __x_ABI_CWindows_CUI_CComposition_CSpriteVisual *This,
++ REFIID riid,
++ void **ppvObject);
++
++ ULONG (STDMETHODCALLTYPE *AddRef)(
++ __x_ABI_CWindows_CUI_CComposition_CSpriteVisual *This);
++
++ ULONG (STDMETHODCALLTYPE *Release)(
++ __x_ABI_CWindows_CUI_CComposition_CSpriteVisual *This);
++
++ END_INTERFACE
++} __x_ABI_CWindows_CUI_CComposition_CSpriteVisualVtbl;
++
++interface __x_ABI_CWindows_CUI_CComposition_CSpriteVisual {
++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CSpriteVisualVtbl* lpVtbl;
++};
++
++#ifdef COBJMACROS
++#ifndef WIDL_C_INLINE_WRAPPERS
++/*** IUnknown methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CSpriteVisual_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CUI_CComposition_CSpriteVisual_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CUI_CComposition_CSpriteVisual_Release(This) (This)->lpVtbl->Release(This)
++#else
++/*** IUnknown methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CSpriteVisual_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CSpriteVisual* This,REFIID riid,void **ppvObject) {
++ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CSpriteVisual_AddRef(__x_ABI_CWindows_CUI_CComposition_CSpriteVisual* This) {
++ return This->lpVtbl->AddRef(This);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CSpriteVisual_Release(__x_ABI_CWindows_CUI_CComposition_CSpriteVisual* This) {
++ return This->lpVtbl->Release(This);
++}
++#endif
++#endif
++
++#endif
++
++#endif /* ____x_ABI_CWindows_CUI_CComposition_CSpriteVisual_INTERFACE_DEFINED__ */
++
++/*****************************************************************************
++ * CompositionClip interface
++ */
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionClip_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionClip_INTERFACE_DEFINED__
++
++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CCompositionClip, 0x18e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
++#if defined(__cplusplus) && !defined(CINTERFACE)
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ MIDL_INTERFACE("18e05581-1ad1-4f97-9666-402d76e4233b")
++ CompositionClip : public IUnknown
++ {
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::UI::Composition::CompositionClip, 0x18e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
++#endif
++#else
++typedef struct __x_ABI_CWindows_CUI_CComposition_CCompositionClipVtbl {
++ BEGIN_INTERFACE
++
++ /*** IUnknown methods ***/
++ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
++ __x_ABI_CWindows_CUI_CComposition_CCompositionClip *This,
++ REFIID riid,
++ void **ppvObject);
++
++ ULONG (STDMETHODCALLTYPE *AddRef)(
++ __x_ABI_CWindows_CUI_CComposition_CCompositionClip *This);
++
++ ULONG (STDMETHODCALLTYPE *Release)(
++ __x_ABI_CWindows_CUI_CComposition_CCompositionClip *This);
++
++ END_INTERFACE
++} __x_ABI_CWindows_CUI_CComposition_CCompositionClipVtbl;
++
++interface __x_ABI_CWindows_CUI_CComposition_CCompositionClip {
++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CCompositionClipVtbl* lpVtbl;
++};
++
++#ifdef COBJMACROS
++#ifndef WIDL_C_INLINE_WRAPPERS
++/*** IUnknown methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CCompositionClip_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CUI_CComposition_CCompositionClip_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CUI_CComposition_CCompositionClip_Release(This) (This)->lpVtbl->Release(This)
++#else
++/*** IUnknown methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CCompositionClip_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CCompositionClip* This,REFIID riid,void **ppvObject) {
++ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionClip_AddRef(__x_ABI_CWindows_CUI_CComposition_CCompositionClip* This) {
++ return This->lpVtbl->AddRef(This);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionClip_Release(__x_ABI_CWindows_CUI_CComposition_CCompositionClip* This) {
++ return This->lpVtbl->Release(This);
++}
++#endif
++#endif
++
++#endif
++
++#endif /* ____x_ABI_CWindows_CUI_CComposition_CCompositionClip_INTERFACE_DEFINED__ */
++
++/*****************************************************************************
++ * ContainerVisual interface
++ */
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CContainerVisual_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CContainerVisual_INTERFACE_DEFINED__
++
++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CContainerVisual, 0x28e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
++#if defined(__cplusplus) && !defined(CINTERFACE)
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ MIDL_INTERFACE("28e05581-1ad1-4f97-9666-402d76e4233b")
++ ContainerVisual : public IUnknown
++ {
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::UI::Composition::ContainerVisual, 0x28e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
++#endif
++#else
++typedef struct __x_ABI_CWindows_CUI_CComposition_CContainerVisualVtbl {
++ BEGIN_INTERFACE
++
++ /*** IUnknown methods ***/
++ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
++ __x_ABI_CWindows_CUI_CComposition_CContainerVisual *This,
++ REFIID riid,
++ void **ppvObject);
++
++ ULONG (STDMETHODCALLTYPE *AddRef)(
++ __x_ABI_CWindows_CUI_CComposition_CContainerVisual *This);
++
++ ULONG (STDMETHODCALLTYPE *Release)(
++ __x_ABI_CWindows_CUI_CComposition_CContainerVisual *This);
++
++ END_INTERFACE
++} __x_ABI_CWindows_CUI_CComposition_CContainerVisualVtbl;
++
++interface __x_ABI_CWindows_CUI_CComposition_CContainerVisual {
++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CContainerVisualVtbl* lpVtbl;
++};
++
++#ifdef COBJMACROS
++#ifndef WIDL_C_INLINE_WRAPPERS
++/*** IUnknown methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CContainerVisual_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CUI_CComposition_CContainerVisual_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CUI_CComposition_CContainerVisual_Release(This) (This)->lpVtbl->Release(This)
++#else
++/*** IUnknown methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CContainerVisual_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CContainerVisual* This,REFIID riid,void **ppvObject) {
++ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CContainerVisual_AddRef(__x_ABI_CWindows_CUI_CComposition_CContainerVisual* This) {
++ return This->lpVtbl->AddRef(This);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CContainerVisual_Release(__x_ABI_CWindows_CUI_CComposition_CContainerVisual* This) {
++ return This->lpVtbl->Release(This);
++}
++#endif
++#endif
++
++#endif
++
++#endif /* ____x_ABI_CWindows_CUI_CComposition_CContainerVisual_INTERFACE_DEFINED__ */
++
++/*****************************************************************************
++ * IVisual interface
++ */
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CIVisual_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CIVisual_INTERFACE_DEFINED__
++
++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CIVisual, 0x117e202d, 0xa859, 0x4c89, 0x87,0x3b, 0xc2,0xaa,0x56,0x67,0x88,0xe3);
++#if defined(__cplusplus) && !defined(CINTERFACE)
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ MIDL_INTERFACE("117e202d-a859-4c89-873b-c2aa566788e3")
++ IVisual : public IInspectable
++ {
++ virtual HRESULT STDMETHODCALLTYPE get_AnchorPoint(
++ ABI::Windows::Foundation::Numerics::Vector2 *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_AnchorPoint(
++ ABI::Windows::Foundation::Numerics::Vector2 value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_BackfaceVisibility(
++ ABI::Windows::UI::Composition::CompositionBackfaceVisibility *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_BackfaceVisibility(
++ ABI::Windows::UI::Composition::CompositionBackfaceVisibility value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_BorderMode(
++ ABI::Windows::UI::Composition::CompositionBorderMode *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_BorderMode(
++ ABI::Windows::UI::Composition::CompositionBorderMode value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_CenterPoint(
++ ABI::Windows::Foundation::Numerics::Vector3 *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_CenterPoint(
++ ABI::Windows::Foundation::Numerics::Vector3 value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_Clip(
++ ABI::Windows::UI::Composition::CompositionClip **value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_Clip(
++ ABI::Windows::UI::Composition::CompositionClip *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_CompositeMode(
++ ABI::Windows::UI::Composition::CompositionCompositeMode *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_CompositeMode(
++ ABI::Windows::UI::Composition::CompositionCompositeMode value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_IsVisible(
++ boolean *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_IsVisible(
++ boolean value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_Offset(
++ ABI::Windows::Foundation::Numerics::Vector3 *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_Offset(
++ ABI::Windows::Foundation::Numerics::Vector3 value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_Opacity(
++ FLOAT *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_Opacity(
++ FLOAT value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_Orientation(
++ ABI::Windows::Foundation::Numerics::Quaternion *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_Orientation(
++ ABI::Windows::Foundation::Numerics::Quaternion value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_Parent(
++ ABI::Windows::UI::Composition::ContainerVisual **value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_RotationAngle(
++ FLOAT *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_RotationAngle(
++ FLOAT value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_RotationAngleInDegrees(
++ FLOAT *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_RotationAngleInDegrees(
++ FLOAT value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_RotationAxis(
++ ABI::Windows::Foundation::Numerics::Vector3 *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_RotationAxis(
++ ABI::Windows::Foundation::Numerics::Vector3 value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_Scale(
++ ABI::Windows::Foundation::Numerics::Vector3 *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_Scale(
++ ABI::Windows::Foundation::Numerics::Vector3 value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_Size(
++ ABI::Windows::Foundation::Numerics::Vector2 *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_Size(
++ ABI::Windows::Foundation::Numerics::Vector2 value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_TransformMatrix(
++ ABI::Windows::Foundation::Numerics::Matrix4x4 *value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE put_TransformMatrix(
++ ABI::Windows::Foundation::Numerics::Matrix4x4 value) = 0;
++
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::UI::Composition::IVisual, 0x117e202d, 0xa859, 0x4c89, 0x87,0x3b, 0xc2,0xaa,0x56,0x67,0x88,0xe3)
++#endif
++#else
++typedef struct __x_ABI_CWindows_CUI_CComposition_CIVisualVtbl {
++ BEGIN_INTERFACE
++
++ /*** IUnknown methods ***/
++ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ REFIID riid,
++ void **ppvObject);
++
++ ULONG (STDMETHODCALLTYPE *AddRef)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This);
++
++ ULONG (STDMETHODCALLTYPE *Release)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This);
++
++ /*** IInspectable methods ***/
++ HRESULT (STDMETHODCALLTYPE *GetIids)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ ULONG *iidCount,
++ IID **iids);
++
++ HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ HSTRING *className);
++
++ HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ TrustLevel *trustLevel);
++
++ /*** IVisual methods ***/
++ HRESULT (STDMETHODCALLTYPE *get_AnchorPoint)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CFoundation_CNumerics_CVector2 *value);
++
++ HRESULT (STDMETHODCALLTYPE *put_AnchorPoint)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CFoundation_CNumerics_CVector2 value);
++
++ HRESULT (STDMETHODCALLTYPE *get_BackfaceVisibility)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionBackfaceVisibility *value);
++
++ HRESULT (STDMETHODCALLTYPE *put_BackfaceVisibility)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionBackfaceVisibility value);
++
++ HRESULT (STDMETHODCALLTYPE *get_BorderMode)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionBorderMode *value);
++
++ HRESULT (STDMETHODCALLTYPE *put_BorderMode)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionBorderMode value);
++
++ HRESULT (STDMETHODCALLTYPE *get_CenterPoint)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value);
++
++ HRESULT (STDMETHODCALLTYPE *put_CenterPoint)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CFoundation_CNumerics_CVector3 value);
++
++ HRESULT (STDMETHODCALLTYPE *get_Clip)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionClip **value);
++
++ HRESULT (STDMETHODCALLTYPE *put_Clip)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionClip *value);
++
++ HRESULT (STDMETHODCALLTYPE *get_CompositeMode)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionCompositeMode *value);
++
++ HRESULT (STDMETHODCALLTYPE *put_CompositeMode)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionCompositeMode value);
++
++ HRESULT (STDMETHODCALLTYPE *get_IsVisible)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ boolean *value);
++
++ HRESULT (STDMETHODCALLTYPE *put_IsVisible)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ boolean value);
++
++ HRESULT (STDMETHODCALLTYPE *get_Offset)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value);
++
++ HRESULT (STDMETHODCALLTYPE *put_Offset)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CFoundation_CNumerics_CVector3 value);
++
++ HRESULT (STDMETHODCALLTYPE *get_Opacity)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ FLOAT *value);
++
++ HRESULT (STDMETHODCALLTYPE *put_Opacity)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ FLOAT value);
++
++ HRESULT (STDMETHODCALLTYPE *get_Orientation)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion *value);
++
++ HRESULT (STDMETHODCALLTYPE *put_Orientation)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion value);
++
++ HRESULT (STDMETHODCALLTYPE *get_Parent)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CUI_CComposition_CContainerVisual **value);
++
++ HRESULT (STDMETHODCALLTYPE *get_RotationAngle)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ FLOAT *value);
++
++ HRESULT (STDMETHODCALLTYPE *put_RotationAngle)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ FLOAT value);
++
++ HRESULT (STDMETHODCALLTYPE *get_RotationAngleInDegrees)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ FLOAT *value);
++
++ HRESULT (STDMETHODCALLTYPE *put_RotationAngleInDegrees)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ FLOAT value);
++
++ HRESULT (STDMETHODCALLTYPE *get_RotationAxis)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value);
++
++ HRESULT (STDMETHODCALLTYPE *put_RotationAxis)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CFoundation_CNumerics_CVector3 value);
++
++ HRESULT (STDMETHODCALLTYPE *get_Scale)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value);
++
++ HRESULT (STDMETHODCALLTYPE *put_Scale)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CFoundation_CNumerics_CVector3 value);
++
++ HRESULT (STDMETHODCALLTYPE *get_Size)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CFoundation_CNumerics_CVector2 *value);
++
++ HRESULT (STDMETHODCALLTYPE *put_Size)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CFoundation_CNumerics_CVector2 value);
++
++ HRESULT (STDMETHODCALLTYPE *get_TransformMatrix)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4 *value);
++
++ HRESULT (STDMETHODCALLTYPE *put_TransformMatrix)(
++ __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
++ __x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4 value);
++
++ END_INTERFACE
++} __x_ABI_CWindows_CUI_CComposition_CIVisualVtbl;
++
++interface __x_ABI_CWindows_CUI_CComposition_CIVisual {
++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CIVisualVtbl* lpVtbl;
++};
++
++#ifdef COBJMACROS
++#ifndef WIDL_C_INLINE_WRAPPERS
++/*** IUnknown methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_Release(This) (This)->lpVtbl->Release(This)
++/*** IInspectable methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
++/*** IVisual methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_AnchorPoint(This,value) (This)->lpVtbl->get_AnchorPoint(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_AnchorPoint(This,value) (This)->lpVtbl->put_AnchorPoint(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_BackfaceVisibility(This,value) (This)->lpVtbl->get_BackfaceVisibility(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_BackfaceVisibility(This,value) (This)->lpVtbl->put_BackfaceVisibility(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_BorderMode(This,value) (This)->lpVtbl->get_BorderMode(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_BorderMode(This,value) (This)->lpVtbl->put_BorderMode(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_CenterPoint(This,value) (This)->lpVtbl->get_CenterPoint(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_CenterPoint(This,value) (This)->lpVtbl->put_CenterPoint(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Clip(This,value) (This)->lpVtbl->get_Clip(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Clip(This,value) (This)->lpVtbl->put_Clip(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_CompositeMode(This,value) (This)->lpVtbl->get_CompositeMode(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_CompositeMode(This,value) (This)->lpVtbl->put_CompositeMode(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_IsVisible(This,value) (This)->lpVtbl->get_IsVisible(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_IsVisible(This,value) (This)->lpVtbl->put_IsVisible(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Offset(This,value) (This)->lpVtbl->get_Offset(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Offset(This,value) (This)->lpVtbl->put_Offset(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Opacity(This,value) (This)->lpVtbl->get_Opacity(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Opacity(This,value) (This)->lpVtbl->put_Opacity(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Orientation(This,value) (This)->lpVtbl->get_Orientation(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Orientation(This,value) (This)->lpVtbl->put_Orientation(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Parent(This,value) (This)->lpVtbl->get_Parent(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_RotationAngle(This,value) (This)->lpVtbl->get_RotationAngle(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_RotationAngle(This,value) (This)->lpVtbl->put_RotationAngle(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_RotationAngleInDegrees(This,value) (This)->lpVtbl->get_RotationAngleInDegrees(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_RotationAngleInDegrees(This,value) (This)->lpVtbl->put_RotationAngleInDegrees(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_RotationAxis(This,value) (This)->lpVtbl->get_RotationAxis(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_RotationAxis(This,value) (This)->lpVtbl->put_RotationAxis(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Scale(This,value) (This)->lpVtbl->get_Scale(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Scale(This,value) (This)->lpVtbl->put_Scale(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Size(This,value) (This)->lpVtbl->put_Size(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_TransformMatrix(This,value) (This)->lpVtbl->get_TransformMatrix(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_TransformMatrix(This,value) (This)->lpVtbl->put_TransformMatrix(This,value)
++#else
++/*** IUnknown methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,REFIID riid,void **ppvObject) {
++ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CIVisual_AddRef(__x_ABI_CWindows_CUI_CComposition_CIVisual* This) {
++ return This->lpVtbl->AddRef(This);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CIVisual_Release(__x_ABI_CWindows_CUI_CComposition_CIVisual* This) {
++ return This->lpVtbl->Release(This);
++}
++/*** IInspectable methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_GetIids(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,ULONG *iidCount,IID **iids) {
++ return This->lpVtbl->GetIids(This,iidCount,iids);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,HSTRING *className) {
++ return This->lpVtbl->GetRuntimeClassName(This,className);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,TrustLevel *trustLevel) {
++ return This->lpVtbl->GetTrustLevel(This,trustLevel);
++}
++/*** IVisual methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_AnchorPoint(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector2 *value) {
++ return This->lpVtbl->get_AnchorPoint(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_AnchorPoint(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector2 value) {
++ return This->lpVtbl->put_AnchorPoint(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_BackfaceVisibility(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBackfaceVisibility *value) {
++ return This->lpVtbl->get_BackfaceVisibility(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_BackfaceVisibility(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBackfaceVisibility value) {
++ return This->lpVtbl->put_BackfaceVisibility(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_BorderMode(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBorderMode *value) {
++ return This->lpVtbl->get_BorderMode(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_BorderMode(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBorderMode value) {
++ return This->lpVtbl->put_BorderMode(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_CenterPoint(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value) {
++ return This->lpVtbl->get_CenterPoint(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_CenterPoint(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 value) {
++ return This->lpVtbl->put_CenterPoint(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Clip(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionClip **value) {
++ return This->lpVtbl->get_Clip(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Clip(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionClip *value) {
++ return This->lpVtbl->put_Clip(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_CompositeMode(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionCompositeMode *value) {
++ return This->lpVtbl->get_CompositeMode(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_CompositeMode(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionCompositeMode value) {
++ return This->lpVtbl->put_CompositeMode(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_IsVisible(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,boolean *value) {
++ return This->lpVtbl->get_IsVisible(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_IsVisible(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,boolean value) {
++ return This->lpVtbl->put_IsVisible(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Offset(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value) {
++ return This->lpVtbl->get_Offset(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Offset(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 value) {
++ return This->lpVtbl->put_Offset(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Opacity(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,FLOAT *value) {
++ return This->lpVtbl->get_Opacity(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Opacity(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,FLOAT value) {
++ return This->lpVtbl->put_Opacity(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Orientation(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CQuaternion *value) {
++ return This->lpVtbl->get_Orientation(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Orientation(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CQuaternion value) {
++ return This->lpVtbl->put_Orientation(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Parent(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CContainerVisual **value) {
++ return This->lpVtbl->get_Parent(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_RotationAngle(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,FLOAT *value) {
++ return This->lpVtbl->get_RotationAngle(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_RotationAngle(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,FLOAT value) {
++ return This->lpVtbl->put_RotationAngle(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_RotationAngleInDegrees(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,FLOAT *value) {
++ return This->lpVtbl->get_RotationAngleInDegrees(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_RotationAngleInDegrees(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,FLOAT value) {
++ return This->lpVtbl->put_RotationAngleInDegrees(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_RotationAxis(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value) {
++ return This->lpVtbl->get_RotationAxis(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_RotationAxis(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 value) {
++ return This->lpVtbl->put_RotationAxis(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Scale(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value) {
++ return This->lpVtbl->get_Scale(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Scale(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 value) {
++ return This->lpVtbl->put_Scale(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Size(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector2 *value) {
++ return This->lpVtbl->get_Size(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Size(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector2 value) {
++ return This->lpVtbl->put_Size(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_TransformMatrix(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4 *value) {
++ return This->lpVtbl->get_TransformMatrix(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_TransformMatrix(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4 value) {
++ return This->lpVtbl->put_TransformMatrix(This,value);
++}
++#endif
++#endif
++
++#endif
++
++#endif /* ____x_ABI_CWindows_CUI_CComposition_CIVisual_INTERFACE_DEFINED__ */
++
++/*****************************************************************************
++ * Compositor interface
++ */
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositor_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CCompositor_INTERFACE_DEFINED__
++
++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CCompositor, 0x38e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
++#if defined(__cplusplus) && !defined(CINTERFACE)
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ MIDL_INTERFACE("38e05581-1ad1-4f97-9666-402d76e4233b")
++ Compositor : public IUnknown
++ {
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::UI::Composition::Compositor, 0x38e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
++#endif
++#else
++typedef struct __x_ABI_CWindows_CUI_CComposition_CCompositorVtbl {
++ BEGIN_INTERFACE
++
++ /*** IUnknown methods ***/
++ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
++ __x_ABI_CWindows_CUI_CComposition_CCompositor *This,
++ REFIID riid,
++ void **ppvObject);
++
++ ULONG (STDMETHODCALLTYPE *AddRef)(
++ __x_ABI_CWindows_CUI_CComposition_CCompositor *This);
++
++ ULONG (STDMETHODCALLTYPE *Release)(
++ __x_ABI_CWindows_CUI_CComposition_CCompositor *This);
++
++ END_INTERFACE
++} __x_ABI_CWindows_CUI_CComposition_CCompositorVtbl;
++
++interface __x_ABI_CWindows_CUI_CComposition_CCompositor {
++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CCompositorVtbl* lpVtbl;
++};
++
++#ifdef COBJMACROS
++#ifndef WIDL_C_INLINE_WRAPPERS
++/*** IUnknown methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CCompositor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CUI_CComposition_CCompositor_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CUI_CComposition_CCompositor_Release(This) (This)->lpVtbl->Release(This)
++#else
++/*** IUnknown methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CCompositor_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CCompositor* This,REFIID riid,void **ppvObject) {
++ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositor_AddRef(__x_ABI_CWindows_CUI_CComposition_CCompositor* This) {
++ return This->lpVtbl->AddRef(This);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositor_Release(__x_ABI_CWindows_CUI_CComposition_CCompositor* This) {
++ return This->lpVtbl->Release(This);
++}
++#endif
++#endif
++
++#endif
++
++#endif /* ____x_ABI_CWindows_CUI_CComposition_CCompositor_INTERFACE_DEFINED__ */
++
++/*****************************************************************************
++ * CompositionPropertySet interface
++ */
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_INTERFACE_DEFINED__
++
++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet, 0x38e05582, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
++#if defined(__cplusplus) && !defined(CINTERFACE)
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ MIDL_INTERFACE("38e05582-1ad1-4f97-9666-402d76e4233b")
++ CompositionPropertySet : public IUnknown
++ {
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::UI::Composition::CompositionPropertySet, 0x38e05582, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
++#endif
++#else
++typedef struct __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySetVtbl {
++ BEGIN_INTERFACE
++
++ /*** IUnknown methods ***/
++ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
++ __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet *This,
++ REFIID riid,
++ void **ppvObject);
++
++ ULONG (STDMETHODCALLTYPE *AddRef)(
++ __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet *This);
++
++ ULONG (STDMETHODCALLTYPE *Release)(
++ __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet *This);
++
++ END_INTERFACE
++} __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySetVtbl;
++
++interface __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet {
++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySetVtbl* lpVtbl;
++};
++
++#ifdef COBJMACROS
++#ifndef WIDL_C_INLINE_WRAPPERS
++/*** IUnknown methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_Release(This) (This)->lpVtbl->Release(This)
++#else
++/*** IUnknown methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet* This,REFIID riid,void **ppvObject) {
++ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_AddRef(__x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet* This) {
++ return This->lpVtbl->AddRef(This);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_Release(__x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet* This) {
++ return This->lpVtbl->Release(This);
++}
++#endif
++#endif
++
++#endif
++
++#endif /* ____x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_INTERFACE_DEFINED__ */
++
++/*****************************************************************************
++ * CompositionAnimation interface
++ */
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_INTERFACE_DEFINED__
++
++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CCompositionAnimation, 0x38e05582, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
++#if defined(__cplusplus) && !defined(CINTERFACE)
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ MIDL_INTERFACE("38e05582-1ad2-4f97-9666-402d76e4233b")
++ CompositionAnimation : public IUnknown
++ {
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::UI::Composition::CompositionAnimation, 0x38e05582, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
++#endif
++#else
++typedef struct __x_ABI_CWindows_CUI_CComposition_CCompositionAnimationVtbl {
++ BEGIN_INTERFACE
++
++ /*** IUnknown methods ***/
++ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
++ __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation *This,
++ REFIID riid,
++ void **ppvObject);
++
++ ULONG (STDMETHODCALLTYPE *AddRef)(
++ __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation *This);
++
++ ULONG (STDMETHODCALLTYPE *Release)(
++ __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation *This);
++
++ END_INTERFACE
++} __x_ABI_CWindows_CUI_CComposition_CCompositionAnimationVtbl;
++
++interface __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation {
++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CCompositionAnimationVtbl* lpVtbl;
++};
++
++#ifdef COBJMACROS
++#ifndef WIDL_C_INLINE_WRAPPERS
++/*** IUnknown methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_Release(This) (This)->lpVtbl->Release(This)
++#else
++/*** IUnknown methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CCompositionAnimation* This,REFIID riid,void **ppvObject) {
++ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_AddRef(__x_ABI_CWindows_CUI_CComposition_CCompositionAnimation* This) {
++ return This->lpVtbl->AddRef(This);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_Release(__x_ABI_CWindows_CUI_CComposition_CCompositionAnimation* This) {
++ return This->lpVtbl->Release(This);
++}
++#endif
++#endif
++
++#endif
++
++#endif /* ____x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_INTERFACE_DEFINED__ */
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositor_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CICompositor_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositor __x_ABI_CWindows_CUI_CComposition_CICompositor;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface ICompositor;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++/*****************************************************************************
++ * ICompositionObject interface
++ */
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionObject_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CICompositionObject_INTERFACE_DEFINED__
++
++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CICompositionObject, 0xbcb4ad45, 0x7609, 0x4550, 0x93,0x4f, 0x16,0x00,0x2a,0x68,0xfd,0xed);
++#if defined(__cplusplus) && !defined(CINTERFACE)
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ MIDL_INTERFACE("bcb4ad45-7609-4550-934f-16002a68fded")
++ ICompositionObject : public IInspectable
++ {
++ virtual HRESULT STDMETHODCALLTYPE get_Compositor(
++ ABI::Windows::UI::Composition::ICompositor **value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_Dispatcher(
++ ABI::Windows::UI::Core::CoreDispatcher **value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE get_Properties(
++ ABI::Windows::UI::Composition::CompositionPropertySet **value) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE StartAnimation(
++ HSTRING propertyName,
++ ABI::Windows::UI::Composition::CompositionAnimation *animation) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE StopAnimation(
++ HSTRING propertyName) = 0;
++
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::UI::Composition::ICompositionObject, 0xbcb4ad45, 0x7609, 0x4550, 0x93,0x4f, 0x16,0x00,0x2a,0x68,0xfd,0xed)
++#endif
++#else
++typedef struct __x_ABI_CWindows_CUI_CComposition_CICompositionObjectVtbl {
++ BEGIN_INTERFACE
++
++ /*** IUnknown methods ***/
++ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This,
++ REFIID riid,
++ void **ppvObject);
++
++ ULONG (STDMETHODCALLTYPE *AddRef)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This);
++
++ ULONG (STDMETHODCALLTYPE *Release)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This);
++
++ /*** IInspectable methods ***/
++ HRESULT (STDMETHODCALLTYPE *GetIids)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This,
++ ULONG *iidCount,
++ IID **iids);
++
++ HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This,
++ HSTRING *className);
++
++ HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This,
++ TrustLevel *trustLevel);
++
++ /*** ICompositionObject methods ***/
++ HRESULT (STDMETHODCALLTYPE *get_Compositor)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This,
++ __x_ABI_CWindows_CUI_CComposition_CICompositor **value);
++
++ HRESULT (STDMETHODCALLTYPE *get_Dispatcher)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This,
++ __x_ABI_CWindows_CUI_CCore_CCoreDispatcher **value);
++
++ HRESULT (STDMETHODCALLTYPE *get_Properties)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet **value);
++
++ HRESULT (STDMETHODCALLTYPE *StartAnimation)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This,
++ HSTRING propertyName,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation *animation);
++
++ HRESULT (STDMETHODCALLTYPE *StopAnimation)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This,
++ HSTRING propertyName);
++
++ END_INTERFACE
++} __x_ABI_CWindows_CUI_CComposition_CICompositionObjectVtbl;
++
++interface __x_ABI_CWindows_CUI_CComposition_CICompositionObject {
++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CICompositionObjectVtbl* lpVtbl;
++};
++
++#ifdef COBJMACROS
++#ifndef WIDL_C_INLINE_WRAPPERS
++/*** IUnknown methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_Release(This) (This)->lpVtbl->Release(This)
++/*** IInspectable methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
++/*** ICompositionObject methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_get_Compositor(This,value) (This)->lpVtbl->get_Compositor(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_get_Dispatcher(This,value) (This)->lpVtbl->get_Dispatcher(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_get_Properties(This,value) (This)->lpVtbl->get_Properties(This,value)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_StartAnimation(This,propertyName,animation) (This)->lpVtbl->StartAnimation(This,propertyName,animation)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_StopAnimation(This,propertyName) (This)->lpVtbl->StopAnimation(This,propertyName)
++#else
++/*** IUnknown methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,REFIID riid,void **ppvObject) {
++ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionObject_AddRef(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This) {
++ return This->lpVtbl->AddRef(This);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionObject_Release(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This) {
++ return This->lpVtbl->Release(This);
++}
++/*** IInspectable methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_GetIids(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,ULONG *iidCount,IID **iids) {
++ return This->lpVtbl->GetIids(This,iidCount,iids);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,HSTRING *className) {
++ return This->lpVtbl->GetRuntimeClassName(This,className);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,TrustLevel *trustLevel) {
++ return This->lpVtbl->GetTrustLevel(This,trustLevel);
++}
++/*** ICompositionObject methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_get_Compositor(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,__x_ABI_CWindows_CUI_CComposition_CICompositor **value) {
++ return This->lpVtbl->get_Compositor(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_get_Dispatcher(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,__x_ABI_CWindows_CUI_CCore_CCoreDispatcher **value) {
++ return This->lpVtbl->get_Dispatcher(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_get_Properties(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,__x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet **value) {
++ return This->lpVtbl->get_Properties(This,value);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_StartAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,HSTRING propertyName,__x_ABI_CWindows_CUI_CComposition_CCompositionAnimation *animation) {
++ return This->lpVtbl->StartAnimation(This,propertyName,animation);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_StopAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,HSTRING propertyName) {
++ return This->lpVtbl->StopAnimation(This,propertyName);
++}
++#endif
++#endif
++
++#endif
++
++#endif /* ____x_ABI_CWindows_CUI_CComposition_CICompositionObject_INTERFACE_DEFINED__ */
++
++/*****************************************************************************
++ * ColorKeyFrameAnimation interface
++ */
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_INTERFACE_DEFINED__
++
++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation, 0x38e05682, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
++#if defined(__cplusplus) && !defined(CINTERFACE)
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ MIDL_INTERFACE("38e05682-1ad2-4f97-9666-402d76e4233b")
++ ColorKeyFrameAnimation : public IUnknown
++ {
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::UI::Composition::ColorKeyFrameAnimation, 0x38e05682, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
++#endif
++#else
++typedef struct __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimationVtbl {
++ BEGIN_INTERFACE
++
++ /*** IUnknown methods ***/
++ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
++ __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation *This,
++ REFIID riid,
++ void **ppvObject);
++
++ ULONG (STDMETHODCALLTYPE *AddRef)(
++ __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation *This);
++
++ ULONG (STDMETHODCALLTYPE *Release)(
++ __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation *This);
++
++ END_INTERFACE
++} __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimationVtbl;
++
++interface __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation {
++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimationVtbl* lpVtbl;
++};
++
++#ifdef COBJMACROS
++#ifndef WIDL_C_INLINE_WRAPPERS
++/*** IUnknown methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_Release(This) (This)->lpVtbl->Release(This)
++#else
++/*** IUnknown methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation* This,REFIID riid,void **ppvObject) {
++ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_AddRef(__x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation* This) {
++ return This->lpVtbl->AddRef(This);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_Release(__x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation* This) {
++ return This->lpVtbl->Release(This);
++}
++#endif
++#endif
++
++#endif
++
++#endif /* ____x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_INTERFACE_DEFINED__ */
++
++/*****************************************************************************
++ * CompositionColorBrush interface
++ */
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_INTERFACE_DEFINED__
++
++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush, 0x33e05682, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
++#if defined(__cplusplus) && !defined(CINTERFACE)
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ MIDL_INTERFACE("33e05682-1ad2-4f97-9666-402d76e4233b")
++ CompositionColorBrush : public IUnknown
++ {
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::UI::Composition::CompositionColorBrush, 0x33e05682, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
++#endif
++#else
++typedef struct __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrushVtbl {
++ BEGIN_INTERFACE
++
++ /*** IUnknown methods ***/
++ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
++ __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush *This,
++ REFIID riid,
++ void **ppvObject);
++
++ ULONG (STDMETHODCALLTYPE *AddRef)(
++ __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush *This);
++
++ ULONG (STDMETHODCALLTYPE *Release)(
++ __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush *This);
++
++ END_INTERFACE
++} __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrushVtbl;
++
++interface __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush {
++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrushVtbl* lpVtbl;
++};
++
++#ifdef COBJMACROS
++#ifndef WIDL_C_INLINE_WRAPPERS
++/*** IUnknown methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_Release(This) (This)->lpVtbl->Release(This)
++#else
++/*** IUnknown methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush* This,REFIID riid,void **ppvObject) {
++ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_AddRef(__x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush* This) {
++ return This->lpVtbl->AddRef(This);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_Release(__x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush* This) {
++ return This->lpVtbl->Release(This);
++}
++#endif
++#endif
++
++#endif
++
++#endif /* ____x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_INTERFACE_DEFINED__ */
++
++/*****************************************************************************
++ * CubicBezierEasingFunction interface
++ */
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_INTERFACE_DEFINED__
++
++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction, 0x43e05682, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
++#if defined(__cplusplus) && !defined(CINTERFACE)
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ MIDL_INTERFACE("43e05682-1ad2-4f97-9666-402d76e4233b")
++ CubicBezierEasingFunction : public IUnknown
++ {
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::UI::Composition::CubicBezierEasingFunction, 0x43e05682, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
++#endif
++#else
++typedef struct __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunctionVtbl {
++ BEGIN_INTERFACE
++
++ /*** IUnknown methods ***/
++ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
++ __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction *This,
++ REFIID riid,
++ void **ppvObject);
++
++ ULONG (STDMETHODCALLTYPE *AddRef)(
++ __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction *This);
++
++ ULONG (STDMETHODCALLTYPE *Release)(
++ __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction *This);
++
++ END_INTERFACE
++} __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunctionVtbl;
++
++interface __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction {
++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunctionVtbl* lpVtbl;
++};
++
++#ifdef COBJMACROS
++#ifndef WIDL_C_INLINE_WRAPPERS
++/*** IUnknown methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_Release(This) (This)->lpVtbl->Release(This)
++#else
++/*** IUnknown methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction* This,REFIID riid,void **ppvObject) {
++ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_AddRef(__x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction* This) {
++ return This->lpVtbl->AddRef(This);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_Release(__x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction* This) {
++ return This->lpVtbl->Release(This);
++}
++#endif
++#endif
++
++#endif
++
++#endif /* ____x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_INTERFACE_DEFINED__ */
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory __x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface CompositionEffectFactory;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CExpressionAnimation_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CExpressionAnimation_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CExpressionAnimation __x_ABI_CWindows_CUI_CComposition_CExpressionAnimation;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface ExpressionAnimation;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CInsetClip_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CInsetClip_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CInsetClip __x_ABI_CWindows_CUI_CComposition_CInsetClip;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface InsetClip;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CLinearEasingFunction_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CLinearEasingFunction_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CLinearEasingFunction __x_ABI_CWindows_CUI_CComposition_CLinearEasingFunction;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface LinearEasingFunction;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CScalarKeyFrameAnimation_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CScalarKeyFrameAnimation_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CScalarKeyFrameAnimation __x_ABI_CWindows_CUI_CComposition_CScalarKeyFrameAnimation;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface ScalarKeyFrameAnimation;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CQuaternionKeyFrameAnimation_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CQuaternionKeyFrameAnimation_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CQuaternionKeyFrameAnimation __x_ABI_CWindows_CUI_CComposition_CQuaternionKeyFrameAnimation;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface QuaternionKeyFrameAnimation;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionScopedBatch_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionScopedBatch_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionScopedBatch __x_ABI_CWindows_CUI_CComposition_CCompositionScopedBatch;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface CompositionScopedBatch;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionSurfaceBrush_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionSurfaceBrush_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionSurfaceBrush __x_ABI_CWindows_CUI_CComposition_CCompositionSurfaceBrush;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface CompositionSurfaceBrush;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CVector2KeyFrameAnimation_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CVector2KeyFrameAnimation_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CVector2KeyFrameAnimation __x_ABI_CWindows_CUI_CComposition_CVector2KeyFrameAnimation;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface Vector2KeyFrameAnimation;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CVector3KeyFrameAnimation_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CVector3KeyFrameAnimation_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CVector3KeyFrameAnimation __x_ABI_CWindows_CUI_CComposition_CVector3KeyFrameAnimation;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface Vector3KeyFrameAnimation;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CVector4KeyFrameAnimation_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CVector4KeyFrameAnimation_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CVector4KeyFrameAnimation __x_ABI_CWindows_CUI_CComposition_CVector4KeyFrameAnimation;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface Vector4KeyFrameAnimation;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionTarget_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionTarget_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionTarget __x_ABI_CWindows_CUI_CComposition_CCompositionTarget;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface CompositionTarget;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionCommitBatch_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionCommitBatch_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionCommitBatch __x_ABI_CWindows_CUI_CComposition_CCompositionCommitBatch;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface CompositionCommitBatch;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionDrawingSurface_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CCompositionDrawingSurface_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionDrawingSurface __x_ABI_CWindows_CUI_CComposition_CCompositionDrawingSurface;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ interface CompositionDrawingSurface;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++/*****************************************************************************
++ * ICompositor interface
++ */
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositor_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CICompositor_INTERFACE_DEFINED__
++
++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CICompositor, 0xb403ca50, 0x7f8c, 0x4e83, 0x98,0x5f, 0xcc,0x45,0x06,0x00,0x36,0xd8);
++#if defined(__cplusplus) && !defined(CINTERFACE)
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ MIDL_INTERFACE("b403ca50-7f8c-4e83-985f-cc45060036d8")
++ ICompositor : public IInspectable
++ {
++ virtual HRESULT STDMETHODCALLTYPE CreateColorKeyFrameAnimation(
++ ABI::Windows::UI::Composition::ColorKeyFrameAnimation **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreateColorBrush(
++ ABI::Windows::UI::Composition::CompositionColorBrush **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreateColorBrushWithColor(
++ ABI::Windows::UI::Color color,
++ ABI::Windows::UI::Composition::CompositionColorBrush **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreateContainerVisual(
++ ABI::Windows::UI::Composition::ContainerVisual **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreateCubicBezierEasingFunction(
++ ABI::Windows::Foundation::Numerics::Vector2 controlPoint1,
++ ABI::Windows::Foundation::Numerics::Vector2 controlPoint2,
++ ABI::Windows::UI::Composition::CubicBezierEasingFunction **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreateEffectFactory(
++ ABI::Windows::Graphics::Effects::IGraphicsEffect *graphicsEffect,
++ ABI::Windows::UI::Composition::CompositionEffectFactory **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreateEffectFactoryWithProperties(
++ ABI::Windows::Graphics::Effects::IGraphicsEffect *graphicsEffect,
++ int *animatableProperties,
++ ABI::Windows::UI::Composition::CompositionEffectFactory **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreateExpressionAnimation(
++ ABI::Windows::UI::Composition::ExpressionAnimation **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreateExpressionAnimationWithExpression(
++ HSTRING expression,
++ ABI::Windows::UI::Composition::ExpressionAnimation **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreateInsetClip(
++ ABI::Windows::UI::Composition::InsetClip **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreateInsetClipWithInsets(
++ FLOAT leftInset,
++ FLOAT topInset,
++ FLOAT rightInset,
++ FLOAT bottomInset,
++ ABI::Windows::UI::Composition::InsetClip **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreateLinearEasingFunction(
++ ABI::Windows::UI::Composition::LinearEasingFunction **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreatePropertySet(
++ ABI::Windows::UI::Composition::CompositionPropertySet **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreateQuaternionKeyFrameAnimation(
++ ABI::Windows::UI::Composition::QuaternionKeyFrameAnimation **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreateScalarKeyFrameAnimation(
++ ABI::Windows::UI::Composition::ScalarKeyFrameAnimation **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreateScopedBatch(
++ ABI::Windows::UI::Composition::CompositionBatchTypes batchType,
++ ABI::Windows::UI::Composition::CompositionScopedBatch **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreateSpriteVisual(
++ ABI::Windows::UI::Composition::SpriteVisual **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreateSurfaceBrush(
++ ABI::Windows::UI::Composition::CompositionSurfaceBrush **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreateSurfaceBrushWithSurface(
++ ABI::Windows::UI::Composition::ICompositionSurface *surface,
++ ABI::Windows::UI::Composition::ICompositionSurfaceBrush **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreateTargetForCurrentView(
++ ABI::Windows::UI::Composition::CompositionTarget **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreateVector2KeyFrameAnimation(
++ ABI::Windows::UI::Composition::Vector2KeyFrameAnimation **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreateVector3KeyFrameAnimation(
++ ABI::Windows::UI::Composition::Vector3KeyFrameAnimation **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE CreateVector4KeyFrameAnimation(
++ ABI::Windows::UI::Composition::Vector4KeyFrameAnimation **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE GetCommitBatch(
++ ABI::Windows::UI::Composition::CompositionBatchTypes batchType,
++ ABI::Windows::UI::Composition::CompositionCommitBatch **result) = 0;
++
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::UI::Composition::ICompositor, 0xb403ca50, 0x7f8c, 0x4e83, 0x98,0x5f, 0xcc,0x45,0x06,0x00,0x36,0xd8)
++#endif
++#else
++typedef struct __x_ABI_CWindows_CUI_CComposition_CICompositorVtbl {
++ BEGIN_INTERFACE
++
++ /*** IUnknown methods ***/
++ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ REFIID riid,
++ void **ppvObject);
++
++ ULONG (STDMETHODCALLTYPE *AddRef)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This);
++
++ ULONG (STDMETHODCALLTYPE *Release)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This);
++
++ /*** IInspectable methods ***/
++ HRESULT (STDMETHODCALLTYPE *GetIids)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ ULONG *iidCount,
++ IID **iids);
++
++ HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ HSTRING *className);
++
++ HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ TrustLevel *trustLevel);
++
++ /*** ICompositor methods ***/
++ HRESULT (STDMETHODCALLTYPE *CreateColorKeyFrameAnimation)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreateColorBrush)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreateColorBrushWithColor)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CUI_CColor color,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreateContainerVisual)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CUI_CComposition_CContainerVisual **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreateCubicBezierEasingFunction)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CFoundation_CNumerics_CVector2 controlPoint1,
++ __x_ABI_CWindows_CFoundation_CNumerics_CVector2 controlPoint2,
++ __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreateEffectFactory)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *graphicsEffect,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreateEffectFactoryWithProperties)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *graphicsEffect,
++ int *animatableProperties,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreateExpressionAnimation)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CUI_CComposition_CExpressionAnimation **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreateExpressionAnimationWithExpression)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ HSTRING expression,
++ __x_ABI_CWindows_CUI_CComposition_CExpressionAnimation **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreateInsetClip)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CUI_CComposition_CInsetClip **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreateInsetClipWithInsets)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ FLOAT leftInset,
++ FLOAT topInset,
++ FLOAT rightInset,
++ FLOAT bottomInset,
++ __x_ABI_CWindows_CUI_CComposition_CInsetClip **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreateLinearEasingFunction)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CUI_CComposition_CLinearEasingFunction **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreatePropertySet)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreateQuaternionKeyFrameAnimation)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CUI_CComposition_CQuaternionKeyFrameAnimation **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreateScalarKeyFrameAnimation)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CUI_CComposition_CScalarKeyFrameAnimation **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreateScopedBatch)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionBatchTypes batchType,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionScopedBatch **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreateSpriteVisual)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CUI_CComposition_CSpriteVisual **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreateSurfaceBrush)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionSurfaceBrush **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreateSurfaceBrushWithSurface)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *surface,
++ __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreateTargetForCurrentView)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionTarget **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreateVector2KeyFrameAnimation)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CUI_CComposition_CVector2KeyFrameAnimation **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreateVector3KeyFrameAnimation)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CUI_CComposition_CVector3KeyFrameAnimation **result);
++
++ HRESULT (STDMETHODCALLTYPE *CreateVector4KeyFrameAnimation)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CUI_CComposition_CVector4KeyFrameAnimation **result);
++
++ HRESULT (STDMETHODCALLTYPE *GetCommitBatch)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionBatchTypes batchType,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionCommitBatch **result);
++
++ END_INTERFACE
++} __x_ABI_CWindows_CUI_CComposition_CICompositorVtbl;
++
++interface __x_ABI_CWindows_CUI_CComposition_CICompositor {
++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CICompositorVtbl* lpVtbl;
++};
++
++#ifdef COBJMACROS
++#ifndef WIDL_C_INLINE_WRAPPERS
++/*** IUnknown methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_Release(This) (This)->lpVtbl->Release(This)
++/*** IInspectable methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
++/*** ICompositor methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateColorKeyFrameAnimation(This,result) (This)->lpVtbl->CreateColorKeyFrameAnimation(This,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateColorBrush(This,result) (This)->lpVtbl->CreateColorBrush(This,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateColorBrushWithColor(This,color,result) (This)->lpVtbl->CreateColorBrushWithColor(This,color,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateContainerVisual(This,result) (This)->lpVtbl->CreateContainerVisual(This,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateCubicBezierEasingFunction(This,controlPoint1,controlPoint2,result) (This)->lpVtbl->CreateCubicBezierEasingFunction(This,controlPoint1,controlPoint2,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateEffectFactory(This,graphicsEffect,result) (This)->lpVtbl->CreateEffectFactory(This,graphicsEffect,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateEffectFactoryWithProperties(This,graphicsEffect,animatableProperties,result) (This)->lpVtbl->CreateEffectFactoryWithProperties(This,graphicsEffect,animatableProperties,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateExpressionAnimation(This,result) (This)->lpVtbl->CreateExpressionAnimation(This,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateExpressionAnimationWithExpression(This,expression,result) (This)->lpVtbl->CreateExpressionAnimationWithExpression(This,expression,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateInsetClip(This,result) (This)->lpVtbl->CreateInsetClip(This,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateInsetClipWithInsets(This,leftInset,topInset,rightInset,bottomInset,result) (This)->lpVtbl->CreateInsetClipWithInsets(This,leftInset,topInset,rightInset,bottomInset,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateLinearEasingFunction(This,result) (This)->lpVtbl->CreateLinearEasingFunction(This,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreatePropertySet(This,result) (This)->lpVtbl->CreatePropertySet(This,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateQuaternionKeyFrameAnimation(This,result) (This)->lpVtbl->CreateQuaternionKeyFrameAnimation(This,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateScalarKeyFrameAnimation(This,result) (This)->lpVtbl->CreateScalarKeyFrameAnimation(This,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateScopedBatch(This,batchType,result) (This)->lpVtbl->CreateScopedBatch(This,batchType,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateSpriteVisual(This,result) (This)->lpVtbl->CreateSpriteVisual(This,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateSurfaceBrush(This,result) (This)->lpVtbl->CreateSurfaceBrush(This,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateSurfaceBrushWithSurface(This,surface,result) (This)->lpVtbl->CreateSurfaceBrushWithSurface(This,surface,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateTargetForCurrentView(This,result) (This)->lpVtbl->CreateTargetForCurrentView(This,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateVector2KeyFrameAnimation(This,result) (This)->lpVtbl->CreateVector2KeyFrameAnimation(This,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateVector3KeyFrameAnimation(This,result) (This)->lpVtbl->CreateVector3KeyFrameAnimation(This,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateVector4KeyFrameAnimation(This,result) (This)->lpVtbl->CreateVector4KeyFrameAnimation(This,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositor_GetCommitBatch(This,batchType,result) (This)->lpVtbl->GetCommitBatch(This,batchType,result)
++#else
++/*** IUnknown methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,REFIID riid,void **ppvObject) {
++ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositor_AddRef(__x_ABI_CWindows_CUI_CComposition_CICompositor* This) {
++ return This->lpVtbl->AddRef(This);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositor_Release(__x_ABI_CWindows_CUI_CComposition_CICompositor* This) {
++ return This->lpVtbl->Release(This);
++}
++/*** IInspectable methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_GetIids(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,ULONG *iidCount,IID **iids) {
++ return This->lpVtbl->GetIids(This,iidCount,iids);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,HSTRING *className) {
++ return This->lpVtbl->GetRuntimeClassName(This,className);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,TrustLevel *trustLevel) {
++ return This->lpVtbl->GetTrustLevel(This,trustLevel);
++}
++/*** ICompositor methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateColorKeyFrameAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation **result) {
++ return This->lpVtbl->CreateColorKeyFrameAnimation(This,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateColorBrush(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush **result) {
++ return This->lpVtbl->CreateColorBrush(This,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateColorBrushWithColor(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CColor color,__x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush **result) {
++ return This->lpVtbl->CreateColorBrushWithColor(This,color,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateContainerVisual(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CContainerVisual **result) {
++ return This->lpVtbl->CreateContainerVisual(This,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateCubicBezierEasingFunction(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector2 controlPoint1,__x_ABI_CWindows_CFoundation_CNumerics_CVector2 controlPoint2,__x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction **result) {
++ return This->lpVtbl->CreateCubicBezierEasingFunction(This,controlPoint1,controlPoint2,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateEffectFactory(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *graphicsEffect,__x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory **result) {
++ return This->lpVtbl->CreateEffectFactory(This,graphicsEffect,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateEffectFactoryWithProperties(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *graphicsEffect,int *animatableProperties,__x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory **result) {
++ return This->lpVtbl->CreateEffectFactoryWithProperties(This,graphicsEffect,animatableProperties,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateExpressionAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CExpressionAnimation **result) {
++ return This->lpVtbl->CreateExpressionAnimation(This,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateExpressionAnimationWithExpression(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,HSTRING expression,__x_ABI_CWindows_CUI_CComposition_CExpressionAnimation **result) {
++ return This->lpVtbl->CreateExpressionAnimationWithExpression(This,expression,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateInsetClip(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CInsetClip **result) {
++ return This->lpVtbl->CreateInsetClip(This,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateInsetClipWithInsets(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,FLOAT leftInset,FLOAT topInset,FLOAT rightInset,FLOAT bottomInset,__x_ABI_CWindows_CUI_CComposition_CInsetClip **result) {
++ return This->lpVtbl->CreateInsetClipWithInsets(This,leftInset,topInset,rightInset,bottomInset,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateLinearEasingFunction(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CLinearEasingFunction **result) {
++ return This->lpVtbl->CreateLinearEasingFunction(This,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreatePropertySet(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet **result) {
++ return This->lpVtbl->CreatePropertySet(This,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateQuaternionKeyFrameAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CQuaternionKeyFrameAnimation **result) {
++ return This->lpVtbl->CreateQuaternionKeyFrameAnimation(This,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateScalarKeyFrameAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CScalarKeyFrameAnimation **result) {
++ return This->lpVtbl->CreateScalarKeyFrameAnimation(This,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateScopedBatch(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBatchTypes batchType,__x_ABI_CWindows_CUI_CComposition_CCompositionScopedBatch **result) {
++ return This->lpVtbl->CreateScopedBatch(This,batchType,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateSpriteVisual(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CSpriteVisual **result) {
++ return This->lpVtbl->CreateSpriteVisual(This,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateSurfaceBrush(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CCompositionSurfaceBrush **result) {
++ return This->lpVtbl->CreateSurfaceBrush(This,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateSurfaceBrushWithSurface(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CICompositionSurface *surface,__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush **result) {
++ return This->lpVtbl->CreateSurfaceBrushWithSurface(This,surface,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateTargetForCurrentView(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CCompositionTarget **result) {
++ return This->lpVtbl->CreateTargetForCurrentView(This,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateVector2KeyFrameAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CVector2KeyFrameAnimation **result) {
++ return This->lpVtbl->CreateVector2KeyFrameAnimation(This,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateVector3KeyFrameAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CVector3KeyFrameAnimation **result) {
++ return This->lpVtbl->CreateVector3KeyFrameAnimation(This,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateVector4KeyFrameAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CVector4KeyFrameAnimation **result) {
++ return This->lpVtbl->CreateVector4KeyFrameAnimation(This,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_GetCommitBatch(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBatchTypes batchType,__x_ABI_CWindows_CUI_CComposition_CCompositionCommitBatch **result) {
++ return This->lpVtbl->GetCommitBatch(This,batchType,result);
++}
++#endif
++#endif
++
++#endif
++
++#endif /* ____x_ABI_CWindows_CUI_CComposition_CICompositor_INTERFACE_DEFINED__ */
++
++/*****************************************************************************
++ * ICompositionGraphicsDevice interface
++ */
++#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_INTERFACE_DEFINED__
++
++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice, 0xfb22c6e1, 0x80a2, 0x4667, 0x99,0x36, 0xdb,0xea,0xf6,0xee,0xfe,0x95);
++#if defined(__cplusplus) && !defined(CINTERFACE)
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Composition {
++ MIDL_INTERFACE("fb22c6e1-80a2-4667-9936-dbeaf6eefe95")
++ ICompositionGraphicsDevice : public IInspectable
++ {
++ virtual HRESULT STDMETHODCALLTYPE CreateDrawingSurface(
++ ABI::Windows::Foundation::Size sizePixels,
++ ABI::Windows::Graphics::DirectX::DirectXPixelFormat pixelFormat,
++ ABI::Windows::Graphics::DirectX::DirectXAlphaMode alphaMode,
++ ABI::Windows::UI::Composition::CompositionDrawingSurface **result) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE RenderingDeviceReplaced(
++ int *handler,
++ int *token) = 0;
++
++ virtual HRESULT STDMETHODCALLTYPE RenderingDeviceReplaced(
++ int token) = 0;
++
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::UI::Composition::ICompositionGraphicsDevice, 0xfb22c6e1, 0x80a2, 0x4667, 0x99,0x36, 0xdb,0xea,0xf6,0xee,0xfe,0x95)
++#endif
++#else
++typedef struct __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDeviceVtbl {
++ BEGIN_INTERFACE
++
++ /*** IUnknown methods ***/
++ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This,
++ REFIID riid,
++ void **ppvObject);
++
++ ULONG (STDMETHODCALLTYPE *AddRef)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This);
++
++ ULONG (STDMETHODCALLTYPE *Release)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This);
++
++ /*** IInspectable methods ***/
++ HRESULT (STDMETHODCALLTYPE *GetIids)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This,
++ ULONG *iidCount,
++ IID **iids);
++
++ HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This,
++ HSTRING *className);
++
++ HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This,
++ TrustLevel *trustLevel);
++
++ /*** ICompositionGraphicsDevice methods ***/
++ HRESULT (STDMETHODCALLTYPE *CreateDrawingSurface)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This,
++ __x_ABI_CWindows_CFoundation_CSize sizePixels,
++ __x_ABI_CWindows_CGraphics_CDirectX_CDirectXPixelFormat pixelFormat,
++ __x_ABI_CWindows_CGraphics_CDirectX_CDirectXAlphaMode alphaMode,
++ __x_ABI_CWindows_CUI_CComposition_CCompositionDrawingSurface **result);
++
++ HRESULT (STDMETHODCALLTYPE *RenderingDeviceReplaced)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This,
++ int *handler,
++ int *token);
++
++ HRESULT (STDMETHODCALLTYPE *RenderingDeviceReplaced)(
++ __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This,
++ int token);
++
++ END_INTERFACE
++} __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDeviceVtbl;
++
++interface __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice {
++ CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDeviceVtbl* lpVtbl;
++};
++
++#ifdef COBJMACROS
++#ifndef WIDL_C_INLINE_WRAPPERS
++/*** IUnknown methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_Release(This) (This)->lpVtbl->Release(This)
++/*** IInspectable methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
++/*** ICompositionGraphicsDevice methods ***/
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_CreateDrawingSurface(This,sizePixels,pixelFormat,alphaMode,result) (This)->lpVtbl->CreateDrawingSurface(This,sizePixels,pixelFormat,alphaMode,result)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_RenderingDeviceReplaced(This,handler,token) (This)->lpVtbl->RenderingDeviceReplaced(This,handler,token)
++#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_RenderingDeviceReplaced(This,token) (This)->lpVtbl->RenderingDeviceReplaced(This,token)
++#else
++/*** IUnknown methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This,REFIID riid,void **ppvObject) {
++ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_AddRef(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This) {
++ return This->lpVtbl->AddRef(This);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_Release(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This) {
++ return This->lpVtbl->Release(This);
++}
++/*** IInspectable methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_GetIids(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This,ULONG *iidCount,IID **iids) {
++ return This->lpVtbl->GetIids(This,iidCount,iids);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This,HSTRING *className) {
++ return This->lpVtbl->GetRuntimeClassName(This,className);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This,TrustLevel *trustLevel) {
++ return This->lpVtbl->GetTrustLevel(This,trustLevel);
++}
++/*** ICompositionGraphicsDevice methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_CreateDrawingSurface(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This,__x_ABI_CWindows_CFoundation_CSize sizePixels,__x_ABI_CWindows_CGraphics_CDirectX_CDirectXPixelFormat pixelFormat,__x_ABI_CWindows_CGraphics_CDirectX_CDirectXAlphaMode alphaMode,__x_ABI_CWindows_CUI_CComposition_CCompositionDrawingSurface **result) {
++ return This->lpVtbl->CreateDrawingSurface(This,sizePixels,pixelFormat,alphaMode,result);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_RenderingDeviceReplaced(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This,int *handler,int *token) {
++ return This->lpVtbl->RenderingDeviceReplaced(This,handler,token);
++}
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_RenderingDeviceReplaced(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This,int token) {
++ return This->lpVtbl->RenderingDeviceReplaced(This,token);
++}
++#endif
++#endif
++
++#endif
++
++#endif /* ____x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_INTERFACE_DEFINED__ */
++
++extern const __declspec(selectany) WCHAR RuntimeClass_Windows_UI_Composition_SpriteVisual[] = L"Windows.UI.Composition.SpriteVisual";
++/* Begin additional prototypes for all interfaces */
++
++ULONG __RPC_USER HSTRING_UserSize (ULONG *, ULONG, HSTRING *);
++unsigned char * __RPC_USER HSTRING_UserMarshal (ULONG *, unsigned char *, HSTRING *);
++unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *);
++void __RPC_USER HSTRING_UserFree (ULONG *, HSTRING *);
++
++/* End additional prototypes */
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* __windows_ui_composition_h__ */
+diff --git a/mingw-w64-headers/include/windows.ui.composition.interop.h b/mingw-w64-headers/include/windows.ui.composition.interop.h
+new file mode 100644
+index 00000000..a82afdf1
+--- /dev/null
++++ b/mingw-w64-headers/include/windows.ui.composition.interop.h
+@@ -0,0 +1,31 @@
++#include <windows.ui.composition.h>
++
++namespace ABI {
++namespace Windows {
++namespace UI {
++namespace Composition {
++
++#undef INTERFACE
++#define INTERFACE ICompositorInterop
++ DECLARE_INTERFACE_IID_(ICompositorInterop, IUnknown, "25297d5c-3ad4-4c9c-b5cf-e36a38512330")
++ {
++ IFACEMETHOD(CreateCompositionSurfaceForHandle)(
++ HANDLE swapChain,
++ ICompositionSurface **result) PURE;
++ IFACEMETHOD(CreateCompositionSurfaceForSwapChain)(
++ IUnknown *swapChain,
++ ICompositionSurface **result) PURE;
++
++ IFACEMETHOD(CreateGraphicsDevice)(
++ IUnknown *renderingDevice,
++ ICompositionGraphicsDevice **result) PURE;
++ };
++}
++}
++}
++}
++
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::UI::Composition::ICompositorInterop, 0x25297d5c,0x3ad4,0x4c9c,0xb5,0xcf,0xe3,0x6a,0x38,0x51,0x23,0x30)
++#endif
++
+diff --git a/mingw-w64-headers/include/windows.ui.core.h b/mingw-w64-headers/include/windows.ui.core.h
+new file mode 100644
+index 00000000..a3c16ac2
+--- /dev/null
++++ b/mingw-w64-headers/include/windows.ui.core.h
+@@ -0,0 +1,127 @@
++/*** Autogenerated by WIDL 4.4 from windows.ui.core.idl - Do not edit ***/
++
++#ifdef _WIN32
++#ifndef __REQUIRED_RPCNDR_H_VERSION__
++#define __REQUIRED_RPCNDR_H_VERSION__ 475
++#endif
++#include <rpc.h>
++#include <rpcndr.h>
++#endif
++
++#ifndef COM_NO_WINDOWS_H
++#include <windows.h>
++#include <ole2.h>
++#endif
++
++#ifndef __windows_ui_core_h__
++#define __windows_ui_core_h__
++
++/* Forward declarations */
++
++#ifndef ____x_ABI_CWindows_CUI_CCore_CCoreDispatcher_FWD_DEFINED__
++#define ____x_ABI_CWindows_CUI_CCore_CCoreDispatcher_FWD_DEFINED__
++typedef interface __x_ABI_CWindows_CUI_CCore_CCoreDispatcher __x_ABI_CWindows_CUI_CCore_CCoreDispatcher;
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Core {
++ interface CoreDispatcher;
++ }
++ }
++ }
++}
++#endif /* __cplusplus */
++#endif
++
++/* Headers for imported files */
++
++#include <inspectable.h>
++#include <windows.foundation.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++/*****************************************************************************
++ * CoreDispatcher interface
++ */
++#ifndef ____x_ABI_CWindows_CUI_CCore_CCoreDispatcher_INTERFACE_DEFINED__
++#define ____x_ABI_CWindows_CUI_CCore_CCoreDispatcher_INTERFACE_DEFINED__
++
++DEFINE_GUID(IID___x_ABI_CWindows_CUI_CCore_CCoreDispatcher, 0x3fe05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
++#if defined(__cplusplus) && !defined(CINTERFACE)
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ namespace Core {
++ MIDL_INTERFACE("3fe05581-1ad1-4f97-9666-402d76e4233b")
++ CoreDispatcher : public IUnknown
++ {
++ };
++ }
++ }
++ }
++}
++extern "C" {
++#ifdef __CRT_UUID_DECL
++__CRT_UUID_DECL(ABI::Windows::UI::Core::CoreDispatcher, 0x3fe05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
++#endif
++#else
++typedef struct __x_ABI_CWindows_CUI_CCore_CCoreDispatcherVtbl {
++ BEGIN_INTERFACE
++
++ /*** IUnknown methods ***/
++ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
++ __x_ABI_CWindows_CUI_CCore_CCoreDispatcher *This,
++ REFIID riid,
++ void **ppvObject);
++
++ ULONG (STDMETHODCALLTYPE *AddRef)(
++ __x_ABI_CWindows_CUI_CCore_CCoreDispatcher *This);
++
++ ULONG (STDMETHODCALLTYPE *Release)(
++ __x_ABI_CWindows_CUI_CCore_CCoreDispatcher *This);
++
++ END_INTERFACE
++} __x_ABI_CWindows_CUI_CCore_CCoreDispatcherVtbl;
++
++interface __x_ABI_CWindows_CUI_CCore_CCoreDispatcher {
++ CONST_VTBL __x_ABI_CWindows_CUI_CCore_CCoreDispatcherVtbl* lpVtbl;
++};
++
++#ifdef COBJMACROS
++#ifndef WIDL_C_INLINE_WRAPPERS
++/*** IUnknown methods ***/
++#define __x_ABI_CWindows_CUI_CCore_CCoreDispatcher_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
++#define __x_ABI_CWindows_CUI_CCore_CCoreDispatcher_AddRef(This) (This)->lpVtbl->AddRef(This)
++#define __x_ABI_CWindows_CUI_CCore_CCoreDispatcher_Release(This) (This)->lpVtbl->Release(This)
++#else
++/*** IUnknown methods ***/
++static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CCore_CCoreDispatcher_QueryInterface(__x_ABI_CWindows_CUI_CCore_CCoreDispatcher* This,REFIID riid,void **ppvObject) {
++ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CCore_CCoreDispatcher_AddRef(__x_ABI_CWindows_CUI_CCore_CCoreDispatcher* This) {
++ return This->lpVtbl->AddRef(This);
++}
++static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CCore_CCoreDispatcher_Release(__x_ABI_CWindows_CUI_CCore_CCoreDispatcher* This) {
++ return This->lpVtbl->Release(This);
++}
++#endif
++#endif
++
++#endif
++
++#endif /* ____x_ABI_CWindows_CUI_CCore_CCoreDispatcher_INTERFACE_DEFINED__ */
++
++/* Begin additional prototypes for all interfaces */
++
++
++/* End additional prototypes */
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* __windows_ui_core_h__ */
+diff --git a/mingw-w64-headers/include/windows.ui.h b/mingw-w64-headers/include/windows.ui.h
+new file mode 100644
+index 00000000..2e4abd54
+--- /dev/null
++++ b/mingw-w64-headers/include/windows.ui.h
+@@ -0,0 +1,72 @@
++/*** Autogenerated by WIDL 4.4 from windows.ui.idl - Do not edit ***/
++
++#ifdef _WIN32
++#ifndef __REQUIRED_RPCNDR_H_VERSION__
++#define __REQUIRED_RPCNDR_H_VERSION__ 475
++#endif
++#include <rpc.h>
++#include <rpcndr.h>
++#endif
++
++#ifndef COM_NO_WINDOWS_H
++#include <windows.h>
++#include <ole2.h>
++#endif
++
++#ifndef __windows_ui_h__
++#define __windows_ui_h__
++
++/* Forward declarations */
++
++/* Headers for imported files */
++
++#include <inspectable.h>
++#include <windows.foundation.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#ifdef __cplusplus
++} /* extern "C" */
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++ struct Color {
++ BYTE A;
++ BYTE R;
++ BYTE G;
++ BYTE B;
++ };
++ }
++ }
++}
++extern "C" {
++#else
++struct __x_ABI_CWindows_CUI_CColor {
++ BYTE A;
++ BYTE R;
++ BYTE G;
++ BYTE B;
++};
++#endif
++
++#ifdef __cplusplus
++namespace ABI {
++ namespace Windows {
++ namespace UI {
++typedef struct Color Color;
++ }
++ }
++}
++#endif /* __cplusplus */
++/* Begin additional prototypes for all interfaces */
++
++
++/* End additional prototypes */
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* __windows_ui_h__ */
1
0

[tor-browser-build/master] Bug 30490: Adapt cbindgen for Windows 32bit usage
by boklm@torproject.org 28 Aug '19
by boklm@torproject.org 28 Aug '19
28 Aug '19
commit 84d95d6d2a51d93f62e9927cfa2e63e674066c7d
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Aug 26 21:21:20 2019 +0000
Bug 30490: Adapt cbindgen for Windows 32bit usage
---
projects/cbindgen/build | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/projects/cbindgen/build b/projects/cbindgen/build
index 429f567..402a216 100644
--- a/projects/cbindgen/build
+++ b/projects/cbindgen/build
@@ -22,8 +22,13 @@ replace-with = "vendored-sources"
directory = "/var/tmp/build/cbindgen/vendor"
EOF
-cargo build --release --frozen --target x86_64-unknown-linux-gnu
-mv target/x86_64-unknown-linux-gnu/release/cbindgen $distdir/[% project %]
+[% IF ! c("var/windows-i686") -%]
+ target=x86_64
+[% ELSE -%]
+ target=i686
+[% END -%]
+cargo build --release --frozen --target $target-unknown-linux-gnu
+mv target/$target-unknown-linux-gnu/release/cbindgen $distdir/[% project %]
cd $distdir
[% c('tar', {
1
0

[tor-browser-build/master] Bug 28238: Use mingw-w64-clang for fxc2
by boklm@torproject.org 28 Aug '19
by boklm@torproject.org 28 Aug '19
28 Aug '19
commit 9b4b31f5bacfffb2b35e914fe5535999c7db45e1
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Aug 26 12:24:36 2019 +0000
Bug 28238: Use mingw-w64-clang for fxc2
---
projects/firefox/build | 1 -
projects/fxc2/config | 3 ++-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/firefox/build b/projects/firefox/build
index 31b812a..1fb4b58 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -40,7 +40,6 @@ EOF
mkdir -p /var/tmp/dist
tar -C /var/tmp/dist -xf [% c('input_files_by_name/fxc2') %]
fxcdir=/var/tmp/dist/fxc2/bin
- cp $mingwdir/[% c("arch") %]-w64-mingw32/bin/libwinpthread-1.dll $fxcdir
export PATH="$fxcdir:$PATH"
# fxc2 requires Wine.
[% IF c("var/windows-x86_64") %]
diff --git a/projects/fxc2/config b/projects/fxc2/config
index 5cdf03a..4b9f151 100644
--- a/projects/fxc2/config
+++ b/projects/fxc2/config
@@ -1,12 +1,13 @@
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
git_url: https://github.com/mozilla/fxc2.git
-git_hash: 0b800f3e41ed087df6f51f120165f3ccc71cc27c
+git_hash: 5ace4c25b63cb5a83b58a3eae3d36256a6022cde
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
var:
container:
use_container: 1
+ compiler: mingw-w64-clang
input_files:
- project: container-image
1
0

[tor-browser-build/master] Bug 28716: Optionally omit timestamp in PE header
by boklm@torproject.org 28 Aug '19
by boklm@torproject.org 28 Aug '19
28 Aug '19
commit 6ca067d2d716283c47c6b2fb822305e61b16e168
Author: Georg Koppen <gk(a)torproject.org>
Date: Sun Aug 25 21:52:32 2019 +0000
Bug 28716: Optionally omit timestamp in PE header
Since r332613 lld has the option of setting the timestamp in PE headers
to `0` which essentially is the behavior of ld's `--no-insert-timestamp`
flag. However, we need a patch for lld's MingW target to pass this
option on in our cross-compilation case, as it would not be available
otherwise.
---
projects/clang/build | 1 +
projects/clang/config | 2 ++
projects/clang/timestamp.patch | 54 ++++++++++++++++++++++++++++++++++++++++++
3 files changed, 57 insertions(+)
diff --git a/projects/clang/build b/projects/clang/build
index 50576b4..c1afa6d 100644
--- a/projects/clang/build
+++ b/projects/clang/build
@@ -30,6 +30,7 @@ mv compiler-rt-* llvm/projects/compiler-rt
for i in {1..12}
do git apply $rootdir/win-patches/llvm-objcopy-$i.patch
done
+ patch -p1 -d llvm/tools/lld < $rootdir/timestamp.patch
[% END %]
cd llvm
export LLVM_HOME=$(pwd)
diff --git a/projects/clang/config b/projects/clang/config
index f439cf7..08231be 100644
--- a/projects/clang/config
+++ b/projects/clang/config
@@ -43,3 +43,5 @@ input_files:
file_gpg_id: 1
- filename: win-patches
enable: '[% c("var/windows") %]'
+ - filename: timestamp.patch
+ enable: '[% c("var/windows") %]'
diff --git a/projects/clang/timestamp.patch b/projects/clang/timestamp.patch
new file mode 100644
index 0000000..bea48a2
--- /dev/null
+++ b/projects/clang/timestamp.patch
@@ -0,0 +1,54 @@
+From f4743f40894d1dcd4ba131af3ad86a34c6d54598 Mon Sep 17 00:00:00 2001
+From: Martin Storsjo <martin(a)martin.st>
+Date: Tue, 5 Feb 2019 08:16:06 +0000
+Subject: [PATCH] Hook up the --no-insert-timestamp option
+
+This fixes PR40582.
+
+Patch by Georg Koppen!
+
+Differential Revision: https://reviews.llvm.org/D57679
+
+git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@353145 91177308-0d34-0410-b5e6-96231b3b80d8
+
+diff --git a/MinGW/Driver.cpp b/MinGW/Driver.cpp
+index 27a5550ec..d79ebe82e 100644
+--- a/MinGW/Driver.cpp
++++ b/MinGW/Driver.cpp
+@@ -170,6 +170,9 @@ bool mingw::link(ArrayRef<const char *> ArgsArr, raw_ostream &Diag) {
+ Args.getLastArgValue(OPT_m) != "arm64pe" && !Args.hasArg(OPT_dynamicbase))
+ Add("-dynamicbase:no");
+
++ if (Args.hasArg(OPT_no_insert_timestamp))
++ Add("-timestamp:0");
++
+ if (Args.hasFlag(OPT_gc_sections, OPT_no_gc_sections, false))
+ Add("-opt:ref");
+ else
+diff --git a/MinGW/Options.td b/MinGW/Options.td
+index ad699f711..5cc339a4a 100644
+--- a/MinGW/Options.td
++++ b/MinGW/Options.td
+@@ -20,6 +20,8 @@ def l: JoinedOrSeparate<["-"], "l">, MetaVarName<"<libName>">,
+ def m: JoinedOrSeparate<["-"], "m">, HelpText<"Set target emulation">;
+ def map: S<"Map">, HelpText<"Output a linker map">;
+ def map_eq: J<"Map=">, Alias<map>;
++def no_insert_timestamp: F<"no-insert-timestamp">,
++ HelpText<"Don't include PE header timestamp">;
+ def no_whole_archive: F<"no-whole-archive">,
+ HelpText<"No longer include all object files for following archives">;
+ def large_address_aware: Flag<["--"], "large-address-aware">,
+diff --git a/test/MinGW/driver.test b/test/MinGW/driver.test
+index 3222bb111..b853527a0 100644
+--- a/test/MinGW/driver.test
++++ b/test/MinGW/driver.test
+@@ -151,3 +151,6 @@ REQUIRE-DEFINED: -include:_foo -include:_bar -include:_baz -include:_foo2
+
+ RUN: ld.lld -### -m i386pep foo.o -Llibpath | FileCheck -check-prefix LIBPATH %s
+ LIBPATH: -libpath:libpath
++
++RUN: ld.lld -### -m i386pep foo.o --no-insert-timestamp | FileCheck -check-prefix NOTIMESTAMP %s
++NOTIMESTAMP: -timestamp:0
+--
+2.23.0.rc1
+
1
0

[translation/snowflake-website-indexhtml] https://gitweb.torproject.org/translation.git/commit/?h=snowflake-website-indexhtml
by translation@torproject.org 28 Aug '19
by translation@torproject.org 28 Aug '19
28 Aug '19
commit 5c8a0bc8e13b6911c2404207d9ccf36f97c00863
Author: Translation commit bot <translation(a)torproject.org>
Date: Wed Aug 28 13:15:13 2019 +0000
https://gitweb.torproject.org/translation.git/commit/?h=snowflake-website-i…
---
zh_TW/index.html | 23 +++++++----------------
1 file changed, 7 insertions(+), 16 deletions(-)
diff --git a/zh_TW/index.html b/zh_TW/index.html
index 1011f64f5..628572a4b 100644
--- a/zh_TW/index.html
+++ b/zh_TW/index.html
@@ -15,10 +15,7 @@
<p class="diagram"><img src="index_files/snowflake-schematic.png" alt="Diagram"></p>
- <p>Snowflake is a system to defeat internet censorship. People who are
- censored can use Snowflake to access the internet. Their connection goes
- through Snowflake proxies, which are run by volunteers. For more detailed
- information about how Snowflake works see our
+ <p>Snowflake 是用來反制網路審查過濾機制的系統。若使用者的網路有受到審查過濾的話,可以藉由此方式來上網,它會讓使用者的網路連線轉跳過好幾個由志願者架設營運的 Snowflake 代理伺服器。若想了解 Snowflake 的運作原理,請參考:
<a href="https://trac.torproject.org/projects/tor/wiki/doc/Snowflake/">documentation wiki</a>.</p>
<div class="clear">
@@ -35,17 +32,13 @@
<div class="extension"><div class="padding">
<h3>擴充套件</h3>
- <p>If your internet access is <strong>not</strong> censored, you should
- consider installing the Snowflake extension to help users in censored
- networks. There is no need to worry about which websites people are
- accessing through your proxy. Their visible browsing IP address will
- match their Tor exit node, not yours.</p>
+ <p>如果您的網路<strong>沒有</strong>受到審查過濾的話,您或許可以考慮安裝 Snowflake 擴充套件,以幫助身處在受到審查過濾網路中的使用者。您不必擔心透過您的伺服器上網的使用者是連上什麼網站,因為真正目的網站所紀錄到的IP位址並不是您的伺服器位址,而是洋蔥路由的出口節點位址。</p>
<p class="addon"><a href="https://addons.mozilla.org/en-US/firefox/addon/torproject-snowflake/">
- <img src="index_files/firefox150.jpg" alt="Install in Firefox" height="100px"><br><span>在 Firefox 安裝</span>
+ <img src="index_files/firefox150.jpg" alt="Install in Firefox" height="100px"><br><span>在火狐狸瀏覽器安裝</span>
</a>
<a href="https://chrome.google.com/webstore/detail/snowflake/mafpmfcccpbjnhfhjnllmma…">
- <img src="index_files/chrome150.jpg" alt="Install in Chrome" height="100px"><br><span>在 Chrome 安裝</span>
+ <img src="index_files/chrome150.jpg" alt="Install in Chrome" height="100px"><br><span>在 Chrome 瀏覽器安裝</span>
</a>
<span class="clear"></span></p>
</div></div>
@@ -54,13 +47,11 @@
<h3>回報錯誤</h3>
- <p>If you encounter problems with Snowflake as a client or a proxy,
- please consider filing a bug. To do so, you will have to,</p>
+ <p>如果您在此使用 Snowflake 客戶端或代理伺服器過程中,遇到任何問題的話,惠請協助回報該錯誤給我們。而若要回報錯誤的話,您必須要</p>
<ol>
-<li>Either <a href="https://trac.torproject.org/projects/tor/register">create an
- account</a> or <a href="https://trac.torproject.org/projects/tor/login">log in</a>
- using the shared <b>cypherpunks</b> account with password <b>writecode</b>.</li>
+<li>到<a href="https://trac.torproject.org/projects/tor/register">創建一個帳號</a>或<a href="https://trac.torproject.org/projects/tor/login">登入</a>
+ 可使用共享的<b>cypherpunks</b>帳號及其密碼:<b>writecode</b>.</li>
<li>
<a href="https://trac.torproject.org/projects/tor/newticket?component=Circumvention%…">File a ticket</a>
using our bug tracker.</li>
1
0