7 | {{ MSGS['You\'re trying to make changes into a https remote'] }}
8 | ({{ modalCtrl.pushConfigs.remote }})
9 | {{ MSGS['and a username and password are required. Please type it and let us publish your changes LOL'] }}
10 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | let Electronify = require('electronify'),
4 | App = new Electronify(__dirname + '/index.html', {
5 | title: 'GitPie',
6 | resizable: true,
7 | width: 1000,
8 | height: 600,
9 | minWidth: 1000,
10 | minHeight: 600
11 | });
12 |
--------------------------------------------------------------------------------
/language/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "ADD": "ADD",
3 | "CLONE": "CLONE",
4 | "CREATE": "CREATE",
5 | "ADD REPOSITORY": "ADD REPOSITORY",
6 | "Browse directory": "Browse directory",
7 | "Where are your stuffs": "Where are your stuffs",
8 | "Select a repository to start": "Select a repository to start",
9 | "Click on a commit to see what happend there": "Click on a commit to see what happend there",
10 | "All clean here Chief": "All clean here Chief",
11 | "Sync": "Sync",
12 | "Settings": "Settings",
13 | "Others": "Others",
14 | "Commit changes": "Commit changes",
15 | "Add, Clone or Create a repository": "Add, Clone or Create a repository",
16 | "Type a message for your commit": "Type a message for your commit",
17 | "Give a description to the commit. Tell more about your changes...": "Give a description to the commit. Tell more about your changes...",
18 | "Add local git projects to GitPie": "Add local git projects to GitPie",
19 | "Search repositories": "Search repositories",
20 | "COMMIT": "COMMIT",
21 | "CREATING COMMIT...": "CREATING COMMIT...",
22 | "Clone URL": "Clone URL",
23 | "cloned": "cloned",
24 | "with success": "with success",
25 | "Destination Folder": "Destination Folder",
26 | "History": "History",
27 | "Changes": "Changes",
28 | "Unsyncronized Changes": "Unsyncronized Changes",
29 | "No tags here": "No tags here",
30 | "No branches here": "No branches here",
31 | "Search for a tag": "Search for a tag",
32 | "Switching to branch": "Switching to branch",
33 | "This branch only exits locally": "This branch only exits locally",
34 | "Local branches": "Local branches",
35 | "Switch to branch": "Switch to branch",
36 | "Delete this branch": "Delete this branch",
37 | "Delete branch": "Delete branch",
38 | "Merge branches": "Merge branches",
39 | "MERGE": "MERGE",
40 | "MERGING": "MERGING",
41 | "Abort Merge": "Abort Merge",
42 | "Opening repository": "Opening repository",
43 | "Comparing branches...": "Comparing branches...",
44 | "All the unmerged changes will be lost! Are you sure to delete the branch": "All the unmerged changes will be lost! Are you sure to delete the branch",
45 | "Something wrong happened merging": "Something wrong happened merging",
46 | "There are conflicts merging": "There are conflicts merging",
47 | "Resolve them and commit the changes to complete the merge.\n\n If you want, you can abort this merge clicking on \"Abort Merge\"":"Resolve them and commit the changes to complete the merge.\n\n If you want, you can abort this merge clicking on \"Abort Merge\"",
48 | "Error merging branches": "Error merging branches",
49 | "Merging branch": "Merging branch",
50 | "Ok": "Ok",
51 | "Merge Tool not defined": "Merge Tool not defined",
52 | "No Merge Tool is globaly or localy defined. You can easily set one by the Setting menu": "No Merge Tool is globaly or localy defined. You can easily set one by the Setting menu",
53 | "Open Setting menu": "Open Setting menu",
54 | "Maybe later": "Maybe later",
55 | "The things are the same near here": "The things are the same near here",
56 | "is up to date with all commits from": "is up to date with all commits from",
57 | "Try choose another branch to compare": "Try choose another branch to compare",
58 | "MODIFIED": "MODIFIED",
59 | "NEW": "NEW",
60 | "ADDED": "ADDED",
61 | "DELETED": "DELETED",
62 | "BINARY": "BINARY",
63 | "RENAMED": "RENAMED",
64 | "UNMERGED": "UNMERGED",
65 | "Discart": "Discart",
66 | "Counting...": "Counting...",
67 | "Remove": "Remove",
68 | "Move to Trash": "Move to Trash",
69 | "Pop": "Pop",
70 | "Publish branch": "Publish branch",
71 | "Use ours": "Use ours",
72 | "Copy selection": "Copy selection",
73 | "Use theirs": "Use theirs",
74 | "Stage file": "Stage file",
75 | "Open merge tool": "Open merge tool",
76 | "CLONING REPOSITORY FROM": "CLONING REPOSITORY FROM",
77 | "CREATING REPOSITORY IN": "CREATING REPOSITORY IN",
78 | "INTO": "INTO",
79 | "Stash {number} changes": "Stash {number} changes",
80 | "Stash list ({number})": "Stash list ({number})",
81 | "Show in folder": "Show in folder",
82 | "Assume unchanged": "Assume unchanged",
83 | "Unstage file": "Unstage file",
84 | "Reset branch {branch} to selected commit": "Reset branch {branch} to selected commit",
85 | "Collapse all": "Collapse all",
86 | "Expand all": "Expand all",
87 | "Discart all selected": "Discart all selected",
88 | "Close stash tab": "Close stash tab",
89 | "View files": "View files",
90 | "Files changed": "Files changed",
91 | "Select or create a new branch": "Select or create a new branch",
92 | "Hide menu": "Hide menu",
93 | "Show menu": "Show menu",
94 | "Create new branch": "Create new branch",
95 | "Your repository will be created as": "Your repository will be created as",
96 | "Repository name": "Repository name",
97 | "Folder": "Folder",
98 | "i have no idea": "i have no idea",
99 | "THE GIT CONFIGURATIONS HAVE BEEN SUCCESSFULLY CHANGED": "THE GIT CONFIGURATIONS HAVE BEEN SUCCESSFULLY CHANGED",
100 | "It happends with me all the time too. But lets's try find your project again!": "It happends with me all the time too. But let's try find your project again!",
101 | "Start adding, clonning or creating some awesome things": "Start adding, clonning or creating some awesome things",
102 | "Nothing for me here.\n The folder {folder} is not a git project": "Nothing for me here.\n The folder {folder} is not a git project",
103 | "Close": "Close",
104 | "It seems that a git username and email are not set globally. You can fix this accessing the Settings menu": "It seems that a git username and email are not set globally. You can fix this accessing the Settings menu",
105 | "Filter": "Filter",
106 | "Filter by": "Filter by",
107 | "Search commits": "Search commits",
108 | "Search": "Search",
109 | "MESSAGE": "Message",
110 | "FILE": "File",
111 | "AUTHOR": "Author",
112 | "No match for the filter": "No match for the filter",
113 | "Searching for": "Searching for",
114 |
115 | "Error counting commits. Error: ": "Error counting commits. Error: ",
116 | "Error adding files. Error:": "Error adding files. Error:",
117 | "Error commiting changes. Error: ": "Error commiting changes. Error: ",
118 | "Error getting more history. Error: ": "Error getting more history. Error: ",
119 |
120 | "Error switching branch. Error: ": "Error switching branch. Error: ",
121 | "Error syncronazing repository. \n Error: ": "Error syncronazing repository. \n Error: ",
122 | "'{cloneURL}' not appears to be a git remote URL. Let's try again!": "'{cloneURL}' not appears to be a git remote URL. Let's try again!",
123 | "The path '{path}' is not a folder. Pick a valid directory to clone projects.": "The path '{path}' is not a folder. Pick a valid directory to clone projects.",
124 | "The path '{path}' is not a folder. Pick a valid directory to create projects.": "The path '{path}' is not a folder. Pick a valid directory to create projects.",
125 | "Repository without remote": "Repository without remote",
126 | "Add it anyway?": "Add it anyway?",
127 | "The repository do not have any remote": "The repository do not have any remote",
128 |
129 | "SettingsPage": {
130 | "Preferences": "Preferences",
131 | "Font": "Font",
132 | "Username": "Username",
133 | "Email": "Email",
134 | "Merge Tool": "Merge Tool",
135 | "Put here the merge tool name. Ex: meld": "Put here the merge tool name. Ex: meld",
136 | "GitPie set some defaults configurations to setting up the mergetool. You can change this after": "GitPie set some defaults configurations to setting up the mergetool. You can change this after",
137 | "See how": "See how",
138 | "Repository": "Repository",
139 | "Using ssh key": "Using ssh key",
140 | "About": "About",
141 | "License": "License",
142 | "default": "default",
143 | "GitPie is distributed under the MIT License": "GitPie is distributed under the MIT License",
144 | "GitPie is an open source git client that have the goal to be the most simple and nice client for any project and for any people": "GitPie is an open source git client that have the goal to be the most simple and nice client for any project and for any people",
145 | "CHANGE GLOBALS CONFIGURATIONS": "CHANGE GLOBALS CONFIGURATIONS",
146 | "CHANGE {repository} CONFIGURATIONS": "CHANGE {repository} CONFIGURATIONS",
147 | "Show repositories from": "Show repositories from",
148 | "Shortcuts list": "Shortcuts list",
149 | "Hide shortcuts": "Hide shortcuts",
150 | "Show shortcuts": "Show shortcuts",
151 | "Open add projects dialog": "Open add projects dialog",
152 | "Toggle developer tools": "Toggle developer tools",
153 | "Hide repositories menu": "Hide repositories menu",
154 | "Show repositories menu": "Show repositories menu",
155 | "Language": "Language",
156 | "Navigate between repositories top to bottom": "Navigate between repositories top to bottom",
157 | "Navigate between repositories bottom to top": "Navigate between repositories bottom to top",
158 | "Add focus on the \"Search repositories\" field": "Add focus on the \"Search repositories\" field",
159 | "Close modal windows and header menus": "Close modal windows and header menus",
160 | "Version": "Version",
161 | "Toogle \"Search Commit\" Block": "Toogle \"Search Commit\" Block"
162 | },
163 |
164 | "Authentication required": "Authentication required",
165 | "You're trying to make changes into a https remote": "You're trying to make changes into a https remote",
166 | "and a username and password are required. Please type it and let us publish your changes LOL": "and a username and password are required. Please type it and let us publish your changes LOL",
167 | "Password": "Password",
168 | "SUBMIT": "SUBMIT",
169 | "CANCEL": "CANCEL"
170 | }
171 |
--------------------------------------------------------------------------------
/language/pt-BR.json:
--------------------------------------------------------------------------------
1 | {
2 | "ADD": "ADD",
3 | "CLONE": "CLONAR",
4 | "CREATE": "CRIAR",
5 | "ADD REPOSITORY": "ADICIONAR REPOSITÓRIO",
6 | "Browse directory": "Buscar diretório",
7 | "Where are your stuffs": "Onde estão suas coisas",
8 | "Select a repository to start": "Selecione um repositório para começar",
9 | "Click on a commit to see what happend there": "Clique em um commit para ver o que aconteceu",
10 | "All clean here Chief": "Tudo limpo aqui Chief",
11 | "Sync": "Sinc",
12 | "Settings": "Configurações",
13 | "Others": "Outros",
14 | "Commit changes": "Commitar mudanças",
15 | "Add, Clone or Create a repository": "Adicione, Clone or Crie um repositório",
16 | "Type a message for your commit": "Digite uma mensagem para o seu commit",
17 | "Give a description to the commit. Tell more about your changes...": "Dê uma descrição para o commit. Fale mais sobre suas mudanças...",
18 | "Add local git projects to GitPie": "Adicionar projetos git locais ao GitPie",
19 | "Search repositories": "Procurar repositórios",
20 | "COMMIT": "COMMIT",
21 | "CREATING COMMIT...": "CRIANDO COMMIT...",
22 | "Clone URL": "URL de clone",
23 | "cloned": "clonado",
24 | "with success": "com sucesso",
25 | "Destination Folder": "Pasta de destino",
26 | "History": "Histórico",
27 | "Changes": "Mudanças",
28 | "Unsyncronized Changes": "Mudanças não sincronizadas",
29 | "No tags here": "Sem tags aqui",
30 | "No branches here": "Sem branches aqui",
31 | "Search for a tag": "Procure por uma tag",
32 | "Switching to branch": "Mudando para o branch",
33 | "This branch only exits locally": "Esse branch existe apenas localmente",
34 | "Local branches": "Branches locais",
35 | "Switch to branch": "Mudar para o branch",
36 | "Delete this branch": "Deletar esse branch",
37 | "Delete branch": "Deletar branch",
38 | "Merge branches": "Merge branches",
39 | "MERGE": "MERGE",
40 | "MERGING": "APLICANDO MERGE",
41 | "Abort Merge": "Abortar Merge",
42 | "Opening repository": "Abrindo repositório",
43 | "Comparing branches...": "Comparando branches...",
44 | "All the unmerged changes will be lost! Are you sure to delete the branch": "Todas mudanças sem merge serão perdidas! Tem certeza que quer deletar o branch",
45 | "Something wrong happened merging": "Algo errado aconteceu no merge",
46 | "There are conflicts merging": "Há conflitos aplicando merge",
47 | "Resolve them and commit the changes to complete the merge.\n\n If you want, you can abort this merge clicking on \"Abort Merge\"":"Resolva-os e commite as mudanças para completar o merge.\n\n Se você quiser, você pode abortar esse merge clicando em \"Abortar Merge\"",
48 | "Error merging branches": "Erro aplicando merge entre branches",
49 | "Merging branch": "Aplicando merge no branch",
50 | "Ok": "Ok",
51 | "Merge Tool not defined": "Ferramenta de Merge não definida",
52 | "No Merge Tool is globaly or localy defined. You can easily set one by the Setting menu": "Nenhuma Ferramenta de Merge está globalmente ou localmente definida. Você pode facilmente adicionar uma pelo menu Configurações",
53 | "Open Setting menu": "Abrir menu Configurações",
54 | "Maybe later": "Talvez depois",
55 | "The things are the same near here": "As coisas estão na mesma por aqui",
56 | "is up to date with all commits from": "está atualizado com todos os commits de",
57 | "Try choose another branch to compare": "Tente comparar com outro branch",
58 | "MODIFIED": "MODIFICADO",
59 | "NEW": "NOVO",
60 | "ADDED": "ADICIONADO",
61 | "DELETED": "DELETADO",
62 | "BINARY": "BINÁRIO",
63 | "RENAMED": "RENOMEADO",
64 | "UNMERGED": "COM CONFLITO",
65 | "Discart": "Descartar",
66 | "Counting...": "Contando...",
67 | "Remove": "Remover",
68 | "Move to Trash": "Mover para Lixeira",
69 | "Pop": "Pop",
70 | "Publish branch": "Publicar branch",
71 | "Use ours": "Use ours",
72 | "Copy selection": "Copiar seleção",
73 | "Use theirs": "Use theirs",
74 | "Stage file": "Aplicar Stage em arquivo",
75 | "Open merge tool": "Abrir ferramenta de merge",
76 | "CLONING REPOSITORY FROM": "CLONANDO REPOSITÓRIO DE",
77 | "CREATING REPOSITORY IN": "CRIANDO REPOSITÓRIO EM",
78 | "INTO": "DENTRO DE",
79 | "Stash {number} changes": "Aplicar Stash em {number} mudanças",
80 | "Stash list ({number})": "Lista de Stashs ({number})",
81 | "Show in folder": "Mostrar na pasta",
82 | "Assume unchanged": "Assume unchanged",
83 | "Unstage file": "Alplicar Unstage em arquivo",
84 | "Reset branch {branch} to selected commit": "Resetar branch {branch} para o commit selecionado",
85 | "Collapse all": "Contrair todos",
86 | "Expand all": "Expandir todos",
87 | "Discart all selected": "Discartar todos selecionados",
88 | "Close stash tab": "Fechar aba stash",
89 | "View files": "Ver arquivos",
90 | "Files changed": "Arquivos alterados",
91 | "Select or create a new branch": "Selecione ou crie um novo branch",
92 | "Hide menu": "Esconder menu",
93 | "Show menu": "Mostrar menu",
94 | "Create new branch": "Criar novo branch",
95 | "Your repository will be created as": "Seu repositório será criado como",
96 | "Repository name": "Nome do repositório",
97 | "Folder": "Pasta",
98 | "i have no idea": "não faço ideia",
99 | "THE GIT CONFIGURATIONS HAVE BEEN SUCCESSFULLY CHANGED": "AS CONFIGURAÇÕES GIT FORAM ALTERADAS COM SUCESSO",
100 | "It happends with me all the time too. But lets's try find your project again!": "Isso acontece comigo o tempo todo. Mas vamos tentar achar o seu projeto de novo!",
101 | "Start adding, clonning or creating some awesome things": "Comece adicionando, clonando ou criando coisas incríveis",
102 | "Nothing for me here.\n The folder {folder} is not a git project": "Nada pra mim aqui.\n A pasta {folder} não é um projeto git",
103 | "Close": "Fechar",
104 | "It seems that a git username and email are not set globally. You can fix this accessing the Settings menu": "Parece que um usuário e email git não estão definidos globalmente. Você pode corrigir isso acessando o menu de Configurações",
105 | "Filter": "Filtro",
106 | "Filter by": "Filtrar por",
107 | "Search commits": "Buscar commits",
108 | "Search": "Buscar",
109 | "MESSAGE": "Mensagem",
110 | "FILE": "Arquivo",
111 | "AUTHOR": "Autor",
112 | "No match for the filter": "Nenhuma correspondência para o filtro",
113 | "Searching for": "Buscando por",
114 |
115 | "Error counting commits. Error: ": "Erro contando commits. Erro: ",
116 | "Error adding files. Error:": "Erro adicionando arquivos. Erro:",
117 | "Error commiting changes. Error: ": "Error commitando mudanças. Erro: ",
118 | "Error getting more history. Error: ": "Error obtendo histórico. Erro: ",
119 |
120 | "Error switching branch. Error: ": "Erro mudando de branch. Erro: ",
121 | "Error syncronazing repository. \n Error: ": "Erro sincronizando o repositório. \n Erro: ",
122 | "'{cloneURL}' not appears to be a git remote URL. Let's try again!": "'{cloneURL}' não parece ser um remote git URL. Vamos tentar de novo!",
123 | "The path '{path}' is not a folder. Pick a valid directory to clone projects.": "O caminho '{path}' não é uma pasta. Escolha um diretório válido para clonar projetos.",
124 | "The path '{path}' is not a folder. Pick a valid directory to create projects.": "O caminho '{path}' não é uma pasta. Escolha um diretório válido para criar projetos",
125 | "Repository without remote": "Repositório sem remote",
126 | "Add it anyway?": "Adicionar mesmo assim?",
127 | "The repository do not have any remote": "O repositório não tenho nenhum remote",
128 |
129 | "SettingsPage": {
130 | "Preferences": "Preferências",
131 | "Font": "Fonte",
132 | "Username": "Usuário",
133 | "Email": "Email",
134 | "Merge Tool": "Ferramenta de Merge",
135 | "Put here the merge tool name. Ex: meld": "Coloque o nome da ferramenta de merge aqui. Ex: meld",
136 | "GitPie set some defaults configurations to setting up the mergetool. You can change this after": "GitPie seta algumas configurações padrões para a ferramenta de merge. Você pode trocar isso depois",
137 | "See how": "Veja como",
138 | "Repository": "Repositório",
139 | "Using ssh key": "Usando chave ssh",
140 | "About": "Sobre",
141 | "License": "Licença",
142 | "default": "padrão",
143 | "GitPie is distributed under the MIT License": "GitPie é distribuído sob a Licença MIT",
144 | "GitPie is an open source git client that have the goal to be the most simple and nice client for any project and for any people": "GitPie é um client git de código aberto, que tem o objetivo de ser o mais simples e legal client, para qualquer projeto e para qualquer pessoa",
145 | "CHANGE GLOBALS CONFIGURATIONS": "MUDAR CONFIGURAÇÕES GLOBAIS",
146 | "CHANGE {repository} CONFIGURATIONS": "MUDAR CONFIGURAÇÕES DE {repository}",
147 | "Show repositories from": "Mostrar repositórios de",
148 | "Shortcuts list": "Lista de atalhos",
149 | "Hide shortcuts": "Esconder atalhos",
150 | "Show shortcuts": "Mostrar atalhos",
151 | "Open add projects dialog": "Abrir janela para adicionar projetos",
152 | "Toggle developer tools": "Abrir/Fechar developer tools",
153 | "Hide repositories menu": "Esconder menu de repositórios",
154 | "Show repositories menu": "Mostrar menu de repositórios",
155 | "Language": "Idioma",
156 | "Navigate between repositories top to bottom": "Navega entre os repositórios de cima para baixo",
157 | "Navigate between repositories bottom to top": "Navega entre os repositórios de baixo para cima",
158 | "Add focus on the \"Search repositories\" field": "Adiciona foco no campo \"Procurar repositórios\"",
159 | "Close modal windows and header menus": "Fecha janelas modais e menus de cabeçalho",
160 | "Version": "Versão",
161 | "Toogle \"Search Commit\" Block": "Abrir/Fechar bloco de busca de commits"
162 | },
163 |
164 | "Authentication required": "Autenticação requerida",
165 | "You're trying to make changes into a https remote": "Você está tentando fazer mudanças em um remote https",
166 | "and a username and password are required. Please type it and let us publish your changes LOL": "e um usuário e senha são requeridos. Por favor, digite eles e deixe-nos publicar suas mudanças LOL",
167 | "Password": "Senha",
168 | "SUBMIT": "SUBMETER",
169 | "CANCEL": "CANCELAR"
170 | }
171 |
--------------------------------------------------------------------------------
/libraries/google-code-prettify/run_prettify.min.js:
--------------------------------------------------------------------------------
1 | var DecorationsT,JobT,SourceSpansT,IN_GLOBAL_SCOPE=!1;!function(){"use strict";function e(e){var n=s.addEventListener,t=!1,r=!0,l=n?"addEventListener":"attachEvent",i=n?"removeEventListener":"detachEvent",u=n?"":"on",c=function(n){("readystatechange"!=n.type||"complete"==s.readyState)&&(("load"==n.type?a:s)[i](u+n.type,c,!1),!t&&(t=!0)&&e.call(a,n.type||n))},d=function(){try{o.doScroll("left")}catch(e){return void a.setTimeout(d,50)}c("poll")};if("complete"==s.readyState)e.call(a,"lazy");else{if(s.createEventObject&&o.doScroll){try{r=!a.frameElement}catch(p){}r&&d()}s[l](u+"DOMContentLoaded",c,!1),s[l](u+"readystatechange",c,!1),a[l](u+"load",c,!1)}}function n(e){function n(r){if(r!==t){var a=s.createElement("link");a.rel="stylesheet",a.type="text/css",t>r+1&&(a.error=a.onerror=function(){n(r+1)}),a.href=e[r],l.appendChild(a)}}var t=e.length;n(0)}function t(){b||a.setTimeout(r,0)}function r(){f&&e(function(){var e=m.length,n=e?function(){for(var n=0;e>n;++n)!function(e){a.setTimeout(function(){a.exports[m[e]].apply(a,arguments)},0)}(n)}:void 0;w(n)})}for(var a=window,s=document,o=s.documentElement,l=s.head||s.getElementsByTagName("head")[0]||o,i="",u=s.getElementsByTagName("script"),c=u.length;--c>=0;){var d=u[c],p=d.src.match(/^[^?#]*\/run_prettify\.js(\?[^#]*)?(?:#.*)?$/);if(p){i=p[1]||"",d.parentNode.removeChild(d);break}}var f=!0,h=[],g=[],m=[];i.replace(/[?&]([^&=]+)=([^&]+)/g,function(e,n,t){t=decodeURIComponent(t),n=decodeURIComponent(n),"autorun"==n?f=!/^[0fn]/i.test(t):"lang"==n?h.push(t):"skin"==n?g.push(t):"callback"==n&&m.push(t)});for(var v="https://cdn.rawgit.com/google/code-prettify/master/loader",c=0,y=h.length;y>c;++c)(function(e){var n=s.createElement("script");n.onload=n.onerror=n.onreadystatechange=function(){!n||n.readyState&&!/loaded|complete/.test(n.readyState)||(n.onerror=n.onload=n.onreadystatechange=null,--b,t(),n.parentNode&&n.parentNode.removeChild(n),n=null)},n.type="text/javascript",n.src=v+"/lang-"+encodeURIComponent(h[c])+".js",l.insertBefore(n,l.firstChild)})(h[c]);for(var b=h.length,x=[],c=0,y=g.length;y>c;++c)x.push(v+"/skins/"+encodeURIComponent(g[c])+".css");x.push(v+"/prettify.css"),n(x);var w=function(){window.PR_SHOULD_USE_CONTINUATION=!0;var e,n;return function(){function t(e){function n(e){var n=e.charCodeAt(0);if(92!==n)return n;var t=e.charAt(1);return n=d[t],n?n:t>="0"&&"7">=t?parseInt(e.substring(1),8):"u"===t||"x"===t?parseInt(e.substring(2),16):e.charCodeAt(1)}function t(e){if(32>e)return(16>e?"\\x0":"\\x")+e.toString(16);var n=String.fromCharCode(e);return"\\"===n||"-"===n||"]"===n||"^"===n?"\\"+n:n}function r(e){var r=e.substring(1,e.length-1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g")),a=[],s="^"===r[0],o=["["];s&&o.push("^");for(var l=s?1:0,i=r.length;i>l;++l){var u=r[l];if(/\\[bdsw]/i.test(u))o.push(u);else{var c,d=n(u);i>l+2&&"-"===r[l+1]?(c=n(r[l+2]),l+=2):c=d,a.push([d,c]),65>c||d>122||(65>c||d>90||a.push([32|Math.max(65,d),32|Math.min(c,90)]),97>c||d>122||a.push([-33&Math.max(97,d),-33&Math.min(c,122)]))}}a.sort(function(e,n){return e[0]-n[0]||n[1]-e[1]});for(var p=[],f=[],l=0;lh[0]&&(h[1]+1>h[0]&&o.push("-"),o.push(t(h[1])))}return o.push("]"),o.join("")}function a(e){for(var n=e.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g")),a=n.length,l=[],i=0,u=0;a>i;++i){var c=n[i];if("("===c)++u;else if("\\"===c.charAt(0)){var d=+c.substring(1);d&&(u>=d?l[d]=-1:n[i]=t(d))}}for(var i=1;ii;++i){var c=n[i];if("("===c)++u,l[u]||(n[i]="(?:");else if("\\"===c.charAt(0)){var d=+c.substring(1);d&&u>=d&&(n[i]="\\"+l[d])}}for(var i=0;a>i;++i)"^"===n[i]&&"^"!==n[i+1]&&(n[i]="");if(e.ignoreCase&&o)for(var i=0;a>i;++i){var c=n[i],p=c.charAt(0);c.length>=2&&"["===p?n[i]=r(c):"\\"!==p&&(n[i]=c.replace(/[a-zA-Z]/g,function(e){var n=e.charCodeAt(0);return"["+String.fromCharCode(-33&n,32|n)+"]"}))}return n.join("")}for(var s=0,o=!1,l=!1,i=0,u=e.length;u>i;++i){var c=e[i];if(c.ignoreCase)l=!0;else if(/[a-z]/i.test(c.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){o=!0,l=!1;break}}for(var d={b:8,t:9,n:10,v:11,f:12,r:13},p=[],i=0,u=e.length;u>i;++i){var c=e[i];if(c.global||c.multiline)throw new Error(""+c);p.push("(?:"+a(c)+")")}return new RegExp(p.join("|"),l?"gi":"g")}function r(e,n){function t(e){var i=e.nodeType;if(1==i){if(r.test(e.className))return;for(var u=e.firstChild;u;u=u.nextSibling)t(u);var c=e.nodeName.toLowerCase();("br"===c||"li"===c)&&(a[l]="\n",o[l<<1]=s++,o[l++<<1|1]=e)}else if(3==i||4==i){var d=e.nodeValue;d.length&&(d=n?d.replace(/\r\n?/g,"\n"):d.replace(/[ \t\r\n]+/g," "),a[l]=d,o[l<<1]=s,s+=d.length,o[l++<<1|1]=e)}}var r=/(?:^|\s)nocode(?:\s|$)/,a=[],s=0,o=[],l=0;return t(e),{sourceCode:a.join("").replace(/\n$/,""),spans:o}}function a(e,n,t,r,a){if(t){var s={sourceNode:e,pre:1,langExtension:null,numberLines:null,sourceCode:t,spans:null,basePos:n,decorations:null};r(s),a.push.apply(a,s.decorations)}}function s(e){for(var n=void 0,t=e.firstChild;t;t=t.nextSibling){var r=t.nodeType;n=1===r?n?e:t:3===r&&F.test(t.nodeValue)?e:n}return n===e?void 0:n}function o(e,n){var r,s={};!function(){for(var a=e.concat(n),o=[],l={},i=0,u=a.length;u>i;++i){var c=a[i],d=c[3];if(d)for(var p=d.length;--p>=0;)s[d.charAt(p)]=c;var f=c[1],h=""+f;l.hasOwnProperty(h)||(o.push(f),l[h]=null)}o.push(/[\0-\uffff]/),r=t(o)}();var o=n.length,l=function(e){for(var t=e.sourceCode,i=e.basePos,u=e.sourceNode,c=[i,D],p=0,f=t.match(r)||[],h={},g=0,m=f.length;m>g;++g){var v,y=f[g],b=h[y],x=void 0;if("string"==typeof b)v=!1;else{var w=s[y.charAt(0)];if(w)x=y.match(w[1]),b=w[0];else{for(var C=0;o>C;++C)if(w=n[C],x=y.match(w[1])){b=w[0];break}x||(b=D)}v=b.length>=5&&"lang-"===b.substring(0,5),!v||x&&"string"==typeof x[1]||(v=!1,b=B),v||(h[y]=b)}var S=p;if(p+=y.length,v){var N=x[1],E=y.indexOf(N),_=E+N.length;x[2]&&(_=y.length-x[2].length,E=_-N.length);var L=b.substring(5);a(u,i+S,y.substring(0,E),l,c),a(u,i+S+E,N,d(L,N),c),a(u,i+S+_,y.substring(_),l,c)}else c.push(i+S,b)}e.decorations=c};return l}function l(e){var n=[],t=[];e.tripleQuotedStrings?n.push([P,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""]):e.multiLineStrings?n.push([P,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"]):n.push([P,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"]),e.verbatimStrings&&t.push([P,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null]);var r=e.hashComments;r&&(e.cStyleComments?(r>1?n.push([A,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"]):n.push([A,/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"]),t.push([P,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,null])):n.push([A,/^#[^\r\n]*/,null,"#"])),e.cStyleComments&&(t.push([A,/^\/\/[^\r\n]*/,null]),t.push([A,/^\/\*[\s\S]*?(?:\*\/|$)/,null]));var a=e.regexLiterals;if(a){var s=a>1?"":"\n\r",l=s?".":"[\\S\\s]",i="/(?=[^/*"+s+"])(?:[^/\\x5B\\x5C"+s+"]|\\x5C"+l+"|\\x5B(?:[^\\x5C\\x5D"+s+"]|\\x5C"+l+")*(?:\\x5D|$))+/";t.push(["lang-regex",RegExp("^"+G+"("+i+")")])}var u=e.types;u&&t.push([$,u]);var c=(""+e.keywords).replace(/^ | $/g,"");c.length&&t.push([R,new RegExp("^(?:"+c.replace(/[\s,]+/g,"|")+")\\b"),null]),n.push([D,/^\s+/,null," \r\n "]);var d="^.[^\\s\\w.$@'\"`/\\\\]*";return e.regexLiterals&&(d+="(?!s*/)"),t.push([O,/^@[a-z_$][a-z_$@0-9]*/i,null],[$,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[D,/^[a-z_$][a-z_$@0-9]*/i,null],[O,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[D,/^\\[\s\S]?/,null],[I,new RegExp(d),null]),o(n,t)}function i(e,n,t){function r(e){var n=e.nodeType;if(1!=n||s.test(e.className)){if((3==n||4==n)&&t){var i=e.nodeValue,u=i.match(o);if(u){var c=i.substring(0,u.index);e.nodeValue=c;var d=i.substring(u.index+u[0].length);if(d){var p=e.parentNode;p.insertBefore(l.createTextNode(d),e.nextSibling)}a(e),c||e.parentNode.removeChild(e)}}}else if("br"===e.nodeName)a(e),e.parentNode&&e.parentNode.removeChild(e);else for(var f=e.firstChild;f;f=f.nextSibling)r(f)}function a(e){function n(e,t){var r=t?e.cloneNode(!1):e,a=e.parentNode;if(a){var s=n(a,1),o=e.nextSibling;s.appendChild(r);for(var l=o;l;l=o)o=l.nextSibling,s.appendChild(l)}return r}for(;!e.nextSibling;)if(e=e.parentNode,!e)return;for(var t,r=n(e.nextSibling,0);(t=r.parentNode)&&1===t.nodeType;)r=t;u.push(r)}for(var s=/(?:^|\s)nocode(?:\s|$)/,o=/\r\n?|\n/,l=e.ownerDocument,i=l.createElement("li");e.firstChild;)i.appendChild(e.firstChild);for(var u=[i],c=0;cc;++c)i=u[c],i.className="L"+(c+p)%10,i.firstChild||i.appendChild(l.createTextNode(" ")),d.appendChild(i);e.appendChild(d)}function u(e){var n=/\bMSIE\s(\d+)/.exec(navigator.userAgent);n=n&&+n[1]<=8;var t=/\n/g,r=e.sourceCode,a=r.length,s=0,o=e.spans,l=o.length,i=0,u=e.decorations,c=u.length,d=0;u[c]=a;var p,f;for(f=p=0;c>f;)u[f]!==u[f+2]?(u[p++]=u[f++],u[p++]=u[f++]):f+=2;for(c=p,f=p=0;c>f;){for(var h=u[f],g=u[f+1],m=f+2;c>=m+2&&u[m+1]===g;)m+=2;u[p++]=h,u[p++]=g,f=m}c=u.length=p;var v=e.sourceNode,y="";v&&(y=v.style.display,v.style.display="none");try{for(;l>i;){var b,x=(o[i],o[i+2]||a),w=u[d+2]||a,m=Math.min(x,w),C=o[i+1];if(1!==C.nodeType&&(b=r.substring(s,m))){n&&(b=b.replace(t,"\r")),C.nodeValue=b;var S=C.ownerDocument,N=S.createElement("span");N.className=u[d+1];var E=C.parentNode;E.replaceChild(N,C),N.appendChild(C),x>s&&(o[i+1]=C=S.createTextNode(r.substring(m,x)),E.insertBefore(C,N.nextSibling))}s=m,s>=x&&(i+=2),s>=w&&(d+=2)}}finally{v&&(v.style.display=y)}}function c(e,n){for(var t=n.length;--t>=0;){var r=n[t];q.hasOwnProperty(r)?g.console&&console.warn("cannot override language handler %s",r):q[r]=e}}function d(e,n){return e&&q.hasOwnProperty(e)||(e=/^\s*"+e+"",s=s.firstChild,r&&i(s,r,!0);var o={langExtension:a,numberLines:r,sourceNode:s,pre:1,sourceCode:null,basePos:null,spans:null,decorations:null};return p(o),s.innerHTML}function h(e,n){function t(e){return a.getElementsByTagName(e)}function r(){for(var n=g.PR_SHOULD_USE_CONTINUATION?h.now()+250:1/0;md;++d)u.push(l[c][d]);l=null;var h=Date;h.now||(h={now:function(){return+new Date}});var m=0,v=/\blang(?:uage)?-([\w.]+)(?!\S)/,y=/\bprettyprint\b/,b=/\bprettyprinted\b/,x=/pre|xmp/i,w=/^code$/i,C=/^(?:pre|code|xmp)$/i,S={};r()}var g=window,m=["break,continue,do,else,for,if,return,while"],v=[m,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],y=[v,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],b=[y,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],x=[y,"abstract,assert,boolean,byte,extends,finally,final,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"],w=[y,"abstract,as,async,await,base,bool,by,byte,checked,decimal,delegate,descending,dynamic,event,finally,fixed,foreach,from,group,implicit,in,interface,internal,into,is,let,lock,null,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"],C="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",S=[y,"debugger,eval,export,function,get,instanceof,null,set,undefined,var,with,Infinity,NaN,document,window"],N="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",E=[m,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],_=[m,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],L=[m,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],T=[b,w,x,S,N,E,_,L],k=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/,P="str",R="kwd",A="com",$="typ",O="lit",I="pun",D="pln",j="tag",z="dec",B="src",M="atn",U="atv",V="nocode",G="(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*",F=/\S/,H=l({keywords:T,hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),q={};c(H,["default-code"]),c(o([],[[D,/^[^]+/],[z,/^]*(?:>|$)/],[A,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[I,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^