diff --git a/1001.js b/1001.js
new file mode 100644
index 00000000..0b7d5a31
--- /dev/null
+++ b/1001.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[1001],{1001:(e,n,i)=>{i.r(n),i.d(n,{default:()=>t});const t='begin:\nTextWindow.Write("Enter a number: ")\nnum = TextWindow.ReadNumber()\nremainder = Math.Remainder(num, 2)\nIf (remainder = 0) Then\n TextWindow.WriteLine("The number is Even")\nElse\n TextWindow.WriteLine("The number is Odd")\nEndIf\nGoto begin'}}]);
+//# sourceMappingURL=1001.js.map
\ No newline at end of file
diff --git a/1001.js.map b/1001.js.map
new file mode 100644
index 00000000..29bf1805
--- /dev/null
+++ b/1001.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"1001.js","mappings":"8IAAA,oQ","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.sb.txt"],"sourcesContent":["export default \"begin:\\nTextWindow.Write(\\\"Enter a number: \\\")\\nnum = TextWindow.ReadNumber()\\nremainder = Math.Remainder(num, 2)\\nIf (remainder = 0) Then\\n TextWindow.WriteLine(\\\"The number is Even\\\")\\nElse\\n TextWindow.WriteLine(\\\"The number is Odd\\\")\\nEndIf\\nGoto begin\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/120.js b/120.js
new file mode 100644
index 00000000..59eccd29
--- /dev/null
+++ b/120.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[120],{120:(n,t,e)=>{e.r(t),e.d(t,{default:()=>a});const a="FROM mono:3.12\n\nENV KRE_FEED https://www.myget.org/F/aspnetvnext/api/v2\nENV KRE_USER_HOME /opt/kre\n\nRUN apt-get -qq update && apt-get -qqy install unzip \n\nONBUILD RUN curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/kvminstall.sh | sh\nONBUILD RUN bash -c \"source $KRE_USER_HOME/kvm/kvm.sh \\\n && kvm install latest -a default \\\n && kvm alias default | xargs -i ln -s $KRE_USER_HOME/packages/{} $KRE_USER_HOME/packages/default\"\n\n# Install libuv for Kestrel from source code (binary is not in wheezy and one in jessie is still too old)\nRUN apt-get -qqy install \\\n autoconf \\\n automake \\\n build-essential \\\n libtool \nRUN LIBUV_VERSION=1.0.0-rc2 \\\n && curl -sSL https://github.com/joyent/libuv/archive/v${LIBUV_VERSION}.tar.gz | tar zxfv - -C /usr/local/src \\\n && cd /usr/local/src/libuv-$LIBUV_VERSION \\\n && sh autogen.sh && ./configure && make && make install \\\n && rm -rf /usr/local/src/libuv-$LIBUV_VERSION \\\n && ldconfig\n\nENV PATH $PATH:$KRE_USER_HOME/packages/default/bin\n\n# Extra things to test\nRUN echo \"string at end\"\nRUN echo must work 'some str' and some more\nRUN echo hi this is # not a comment\nRUN echo 'String with ${VAR} and another $one here'"}}]);
+//# sourceMappingURL=120.js.map
\ No newline at end of file
diff --git a/120.js.map b/120.js.map
new file mode 100644
index 00000000..66807339
--- /dev/null
+++ b/120.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"120.js","mappings":"4IAAA,quC","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.dockerfile.txt"],"sourcesContent":["export default \"FROM mono:3.12\\n\\nENV KRE_FEED https://www.myget.org/F/aspnetvnext/api/v2\\nENV KRE_USER_HOME /opt/kre\\n\\nRUN apt-get -qq update && apt-get -qqy install unzip \\n\\nONBUILD RUN curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/kvminstall.sh | sh\\nONBUILD RUN bash -c \\\"source $KRE_USER_HOME/kvm/kvm.sh \\\\\\n && kvm install latest -a default \\\\\\n && kvm alias default | xargs -i ln -s $KRE_USER_HOME/packages/{} $KRE_USER_HOME/packages/default\\\"\\n\\n# Install libuv for Kestrel from source code (binary is not in wheezy and one in jessie is still too old)\\nRUN apt-get -qqy install \\\\\\n autoconf \\\\\\n automake \\\\\\n build-essential \\\\\\n libtool \\nRUN LIBUV_VERSION=1.0.0-rc2 \\\\\\n && curl -sSL https://github.com/joyent/libuv/archive/v${LIBUV_VERSION}.tar.gz | tar zxfv - -C /usr/local/src \\\\\\n && cd /usr/local/src/libuv-$LIBUV_VERSION \\\\\\n && sh autogen.sh && ./configure && make && make install \\\\\\n && rm -rf /usr/local/src/libuv-$LIBUV_VERSION \\\\\\n && ldconfig\\n\\nENV PATH $PATH:$KRE_USER_HOME/packages/default/bin\\n\\n# Extra things to test\\nRUN echo \\\"string at end\\\"\\nRUN echo must work 'some str' and some more\\nRUN echo hi this is # not a comment\\nRUN echo 'String with ${VAR} and another $one here'\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/1348.js b/1348.js
new file mode 100644
index 00000000..1f500674
--- /dev/null
+++ b/1348.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[1348],{1348:(e,n,E)=>{E.r(n),E.d(n,{default:()=>m});const m="BEGIN\n SELECT * INTO STRICT myrec FROM emp WHERE empname = myname;\n EXCEPTION\n WHEN NO_DATA_FOUND THEN\n RAISE EXCEPTION 'employee % not found', myname;\n WHEN TOO_MANY_ROWS THEN\n RAISE EXCEPTION 'employee % not unique', myname;\nEND;"}}]);
+//# sourceMappingURL=1348.js.map
\ No newline at end of file
diff --git a/1348.js.map b/1348.js.map
new file mode 100644
index 00000000..d26f43da
--- /dev/null
+++ b/1348.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"1348.js","mappings":"8IAAA,kS","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.pgsql.txt"],"sourcesContent":["export default \"BEGIN\\n SELECT * INTO STRICT myrec FROM emp WHERE empname = myname;\\n EXCEPTION\\n WHEN NO_DATA_FOUND THEN\\n RAISE EXCEPTION 'employee % not found', myname;\\n WHEN TOO_MANY_ROWS THEN\\n RAISE EXCEPTION 'employee % not unique', myname;\\nEND;\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/1363.js b/1363.js
new file mode 100644
index 00000000..c9f17062
--- /dev/null
+++ b/1363.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[1363],{1363:(n,t,e)=>{e.r(t),e.d(t,{default:()=>s});const s='\n
\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/1401.js b/1401.js
new file mode 100644
index 00000000..3d51fa1f
--- /dev/null
+++ b/1401.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[1401],{1401:(n,e,t)=>{t.r(e),t.d(e,{default:()=>r});const r='// Copyright (c) Microsoft. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full\n// license information.\n\n/*\n *\tCOMMAND LINE: -Ox -Gz -YX -UPROTOTYPES_REQUIRED\n */\n\n#pragma warning(disable : 4532)\n#pragma warning(disable : 4702)\n\n#if defined(_WIN32)\n\n#if defined(_M_SH)\n#define WIN_CE\n#endif\n\n#if defined(_M_AMD64)\n#define NEST_IN_FINALLY /* allow when __try nested in __finally OK */\n#endif\n\n#define NTSTATUS LONG\n#define EXCEPTION_NESTED_CALL 0x10\n#define RtlRaiseStatus(x) RaiseException((x), 0, 0, NULL)\n#define RtlRaiseException(x) \\\n RaiseException((x)->ExceptionCode, (x)->ExceptionFlags, \\\n (x)->NumberParameters, (x)->ExceptionInformation)\n#define IN\n#define OUT\n#if !(defined(_M_IA64) || defined(_M_ALPHA) || defined(_M_PPC) || \\\n defined(_M_AMD64) || defined(_M_ARM) || defined(_M_ARM64))\n#define i386 1\n#endif\n#define try __try\n#define except __except\n#define finally __finally\n#define leave __leave\n\n#endif\n\n#define WIN32_LEAN_AND_MEAN\n\n#include "stdio.h"\n#if defined(_M_IA64) || defined(_M_ALPHA) || defined(_M_PPC) || \\\n defined(_M_AMD64) || defined(_M_ARM) || defined(_M_ARM64)\n#include "setjmpex.h"\n#else\n#include "setjmp.h"\n#endif\n#include "float.h"\n#include "windows.h"\n#include "math.h"\n\n#if !defined(STATUS_SUCCESS)\n#define STATUS_SUCCESS 0\n#endif\n#if !defined(STATUS_UNSUCCESSFUL)\n#define STATUS_UNSUCCESSFUL ((NTSTATUS)0xC0000001L)\n#endif\n\n//\n// Define switch constants.\n//\n\n#define BLUE 0\n#define RED 1\n\n//\n// Define function prototypes.\n//\n\nVOID addtwo(IN LONG First, IN LONG Second, IN PLONG Place);\n\nVOID bar1(IN NTSTATUS Status, IN PLONG Counter);\n\nVOID bar2(IN PLONG BlackHole, IN PLONG BadAddress, IN PLONG Counter);\n\nVOID dojump(IN jmp_buf JumpBuffer, IN PLONG Counter);\n\nLONG Echo(IN LONG Value);\n\n#if !defined(WIN_CE) // return through finally not allowed on WinCE\nVOID eret(IN NTSTATUS Status, IN PLONG Counter);\n#endif\n\nVOID except1(IN PLONG Counter);\n\nULONG\nexcept2(IN PEXCEPTION_POINTERS ExceptionPointers, IN PLONG Counter);\n\nULONG\nexcept3(IN PEXCEPTION_POINTERS ExceptionPointers, IN PLONG Counter);\n\nVOID foo1(IN NTSTATUS Status);\n\nVOID foo2(IN PLONG BlackHole, IN PLONG BadAddress);\n\n#if !defined(WIN_CE) // return from finally not allowed on WinCE\nVOID fret(IN PLONG Counter);\n#endif\n\nBOOLEAN\nTkm(VOID);\n\nVOID Test61Part2(IN OUT PULONG Counter);\n\ndouble SquareDouble(IN double op);\n\nDECLSPEC_NOINLINE\nULONG\nPgFilter(VOID)\n\n{\n\n printf("filter entered...");\n return EXCEPTION_EXECUTE_HANDLER;\n}\n\n#pragma warning(push)\n#pragma warning(disable : 4532)\n\nVOID PgTest69(IN PLONG State, IN PLONG Fault)\n\n{\n\n try {\n try {\n *Fault += 1;\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 1) {\n *State += 1;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n except(((*State += 1) == 1) ? PgFilter() : EXCEPTION_CONTINUE_SEARCH) {\n if (*State != 2) {\n *Fault += 1;\n }\n }\n\n return;\n}\n\nVOID PgTest70(IN PLONG State, IN PLONG Fault)\n\n{\n\n try {\n try {\n *Fault += 1;\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 2) {\n PgFilter();\n return;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n except(((*State += 2) == 2) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n\n return;\n}\n\nVOID PgTest71(IN PLONG State, IN PLONG Fault)\n\n{\n\n try {\n try {\n try {\n *Fault += 1;\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 3) {\n *State += 3;\n return;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 6) {\n *State += 3;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n except(((*State += 3) == 3) ? PgFilter() : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n\n return;\n}\n\nVOID PgTest72(IN PLONG State, IN PLONG Fault)\n\n{\n\n try {\n try {\n try {\n *Fault += 1;\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 4) {\n *State += 4;\n return;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 8) {\n *State += 4;\n PgFilter();\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n except(((*State += 4) == 4) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n\n return;\n}\n\nVOID PgTest73(IN PLONG State, IN PLONG Fault)\n\n{\n\n try {\n try {\n try {\n *Fault += 1;\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 5) {\n *State += 5;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 10) {\n *State += 5;\n return;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n except(((*State += 5) == 5) ? PgFilter() : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n\n return;\n}\n\nVOID PgTest74(IN PLONG State, IN PLONG Fault)\n\n{\n\n try {\n try {\n try {\n *Fault += 1;\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 6) {\n *State += 6;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 12) {\n *State += 6;\n PgFilter();\n return;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n except(((*State += 6) == 6) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n\n return;\n}\n\nVOID PgTest75(IN PLONG State, IN PLONG Fault)\n\n{\n\n try {\n try {\n try {\n try {\n *Fault += 1;\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 7) {\n *State += 7;\n *Fault += 1;\n\n } else {\n *State += 10;\n }\n }\n }\n }\n except(((*State += 7) == 7) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 28) {\n *State += 7;\n return;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n except(((*State += 7) == 28) ? PgFilter() : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n\n return;\n}\n\nVOID PgTest76(IN PLONG State, IN PLONG Fault)\n\n{\n\n try {\n try {\n try {\n try {\n *Fault += 1;\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 8) {\n *State += 8;\n *Fault += 1;\n\n } else {\n *State += 10;\n }\n }\n }\n }\n except(((*State += 8) == 8) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 32) {\n *State += 8;\n PgFilter();\n return;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n except(((*State += 8) == 32) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n\n return;\n}\n\nVOID PgTest77(IN PLONG State, IN PLONG Fault)\n\n{\n\n try {\n try {\n try {\n try {\n *Fault += 1;\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 9) {\n *State += 9;\n *Fault += 1;\n\n } else {\n *State += 10;\n }\n }\n }\n }\n except(((*State += 9) == 9) ? PgFilter() : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 36) {\n *State += 9;\n return;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n except(((*State += 9) == 36) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n\n return;\n}\n\nVOID PgTest78(IN PLONG State, IN PLONG Fault)\n\n{\n\n try {\n try {\n try {\n try {\n *Fault += 1;\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 10) {\n *State += 10;\n PgFilter();\n *Fault += 1;\n\n } else {\n *State += 10;\n }\n }\n }\n }\n except(((*State += 10) == 10) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 40) {\n *State += 10;\n return;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n except(((*State += 10) == 40) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n\n return;\n}\n\n#pragma warning(pop)\n\nVOID Test79(PLONG Counter, PLONG Fault)\n\n{\n\n try {\n try {\n try {\n *Fault += 1;\n }\n finally {\n printf("finally 1...");\n *Fault += 1;\n }\n }\n finally { printf("finally 2..."); }\n }\n except(*Counter += 1, printf("filter 1..."), EXCEPTION_CONTINUE_SEARCH) {}\n\n return;\n}\n\nULONG G;\n\nULONG\nTest80(VOID)\n\n{\n\n G = 1;\n try {\n while (G) {\n try {\n if (G == 10) {\n return 1;\n }\n\n if (G == 1) {\n continue;\n }\n }\n finally { G = 0; }\n }\n }\n finally { G = 10; }\n\n return 0;\n}\n\nvoid Test81(int *pCounter) {\n volatile char *AvPtr = NULL;\n\n __try {\n __try { *AvPtr = \'\\0\'; }\n __except(EXCEPTION_EXECUTE_HANDLER) { __leave; }\n }\n __finally {\n printf("in finally ");\n *pCounter += 1;\n }\n return;\n}\n\nDECLSPEC_NOINLINE\nVOID Test82Foo(VOID)\n\n{\n *(volatile int *)0 = 0;\n}\n\nVOID Test82(__inout PLONG Counter)\n\n{\n\n int retval = 1;\n\n __try {\n __try { Test82Foo(); }\n __finally {\n switch (*Counter) {\n case 0:\n printf("something failed!\\n");\n retval = 6;\n break;\n\n case 1:\n retval = 0;\n break;\n\n case 2:\n printf("how did you get here?\\n");\n retval = 2;\n break;\n\n case 3:\n printf("what?!?\\n");\n retval = 3;\n break;\n\n case 4:\n printf("not correct\\n");\n retval = 4;\n break;\n\n case 5:\n printf("error!\\n");\n retval = 5;\n break;\n }\n }\n }\n __except(1){}\n\n *Counter = retval;\n return;\n}\n\nLONG Test83(VOID)\n\n{\n\n G = 1;\n try {\n try {\n while (G) {\n try {\n if (G == 10) {\n return 1;\n }\n\n if (G == 1) {\n continue;\n }\n }\n finally { G = 0; }\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { leave; }\n }\n finally { G = 10; }\n\n return 0;\n}\n\nDECLSPEC_NOINLINE\nVOID Test84(_Inout_ PLONG Counter)\n\n{\n volatile int *Fault = 0;\n\n try {\n try {\n *Fault += 1;\n }\n except(EXCEPTION_EXECUTE_HANDLER) {\n try {\n return;\n }\n finally { *Counter += 1; }\n }\n }\n finally {\n\n if (AbnormalTermination()) {\n *Counter += 1;\n }\n }\n\n return;\n}\n\nDECLSPEC_NOINLINE\nLONG Test85(_Inout_ PLONG Counter)\n\n{\n volatile int *Fault = 0;\n\n G = 1;\n try {\n try {\n try {\n while (G) {\n try {\n try {\n if (G == 10) {\n return 1;\n }\n try {\n *Counter += 1;\n }\n except(EXCEPTION_EXECUTE_HANDLER) {}\n\n if (G == 1) {\n continue;\n }\n }\n finally {\n G = 0;\n *Counter += 1;\n *Fault += 1;\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) {\n *Counter += 1;\n leave;\n }\n }\n }\n finally {\n G = 10;\n *Counter += 1;\n *Fault += 1;\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { *Counter += 1; }\n *Counter += 1;\n }\n finally { *Counter += 1; }\n return 1;\n}\n\nDECLSPEC_NOINLINE\nVOID Test86(_Inout_ PLONG Counter)\n\n{\n volatile int *Fault = 0;\n\n try {\n try {\n try {\n try {\n try {\n try {\n *Fault += 1;\n }\n except(printf("Filter1 %d..", *Counter),\n EXCEPTION_EXECUTE_HANDLER) {\n try {\n printf("Handler1 %d..", *Counter);\n return;\n }\n finally {\n printf("Finally1 %d..", *Counter);\n *Counter += 1;\n }\n }\n }\n finally {\n printf("Finally2 %d..", *Counter);\n *Counter += 1;\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { leave; }\n }\n finally { *Counter += 1; }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { leave; }\n }\n finally { *Counter += 1; }\n\n return;\n}\n\nVOID Test87(_Inout_ PLONG Counter)\n\n/*++\n\nRoutine Description:\n\n This function verifies the behavior of nested exception dispatching.\n\nArguments:\n\n Counter - Supplies a pointer to the state counter.\n\nReturn Value:\n None.\n\n--*/\n\n{\n volatile int *Fault = 0;\n\n//\n// N.B. Disabled on x86 due to failing test case with handling of returns\n// in nested termination handlers on x86.\n//\n// Disabled on ARM due to failing test case with handling of abutting\n// termination handlers within an except handler.\n//\n// Disabled on AMD64 due to failing test case with handling of\n// abutting termination handlers within an except handler when a\n// non-local goto is involved.\n//\n\n#if !defined(_X86_)\n try {\n try {\n try {\n try {\n try {\n *Fault += 1;\n\n try {\n }\n finally {\n if (AbnormalTermination()) {\n *Fault += 1;\n }\n }\n }\n finally {\n\n if (AbnormalTermination()) {\n if ((*Counter += 13) == 26) {\n return;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n finally {\n if (AbnormalTermination()) {\n *Counter += 13;\n *Fault += 1;\n }\n }\n }\n except(((*Counter += 13) == 13) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n }\n except(((*Counter += 13) == 65) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n try {\n *Counter += 13;\n return;\n }\n finally {\n if (AbnormalTermination()) {\n *Counter += 13;\n goto Finish;\n }\n }\n }\n }\n finally {\n\n if (AbnormalTermination()) {\n if ((*Counter += 13) == 104) {\n goto Finish;\n }\n }\n }\n\nFinish:\n#else\n *Counter = 104;\n#endif\n\n return;\n}\n\nVOID Test88(_Inout_ PLONG Counter)\n\n{\n volatile int *Fault = 0;\n\n try {\n try {\n try {\n try {\n try {\n try {\n try {\n try {\n *Fault += 1;\n }\n except(((*Counter += 1) == 1) ? *Fault\n : EXCEPTION_CONTINUE_SEARCH) {}\n }\n except(*Counter += 1, EXCEPTION_EXECUTE_HANDLER) { *Fault += 2; }\n }\n except(*Counter += 1, EXCEPTION_CONTINUE_SEARCH) { leave; }\n }\n except(*Counter += 1, EXCEPTION_CONTINUE_SEARCH) { leave; }\n }\n except(EXCEPTION_EXECUTE_HANDLER) {}\n }\n except(EXCEPTION_EXECUTE_HANDLER) {}\n }\n except(EXCEPTION_EXECUTE_HANDLER) { leave; }\n }\n finally { *Counter += 1; }\n}\n\nint main(int argc, char *argv[])\n\n{\n\n PLONG BadAddress;\n PCHAR BadByte;\n PLONG BlackHole;\n ULONG Index1;\n ULONG Index2 = RED;\n jmp_buf JumpBuffer;\n LONG Counter;\n EXCEPTION_RECORD ExceptionRecord;\n double doubleresult;\n\n //\n // Announce start of exception test.\n //\n\n printf("Start of exception test\\n");\n\n //\n // Initialize exception record.\n //\n\n ExceptionRecord.ExceptionCode = STATUS_INTEGER_OVERFLOW;\n ExceptionRecord.ExceptionFlags = 0;\n ExceptionRecord.ExceptionRecord = NULL;\n ExceptionRecord.NumberParameters = 0;\n\n //\n // Initialize pointers.\n //\n\n BadAddress = (PLONG)NULL;\n BadByte = (PCHAR)NULL;\n BadByte += 1;\n BlackHole = &Counter;\n\n //\n // Simply try statement with a finally clause that is entered sequentially.\n //\n\n printf(" test1...");\n Counter = 0;\n try {\n Counter += 1;\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 1;\n }\n }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simple try statement with an exception clause that is never executed\n // because there is no exception raised in the try clause.\n //\n\n printf(" test2...");\n Counter = 0;\n try {\n Counter += 1;\n }\n except(Counter) { Counter += 1; }\n\n if (Counter != 1) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simple try statement with an exception handler that is never executed\n // because the exception expression continues execution.\n //\n\n printf(" test3...");\n Counter = 0;\n try {\n Counter -= 1;\n RtlRaiseException(&ExceptionRecord);\n }\n except(Counter) { Counter -= 1; }\n\n if (Counter != -1) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simple try statement with an exception clause that is always executed.\n //\n\n printf(" test4...");\n Counter = 0;\n try {\n Counter += 1;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n except(Counter) { Counter += 1; }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simple try statement with an exception clause that is always executed.\n //\n\n printf(" test5...");\n Counter = 0;\n try {\n Counter += 1;\n *BlackHole += *BadAddress;\n }\n except(Counter) { Counter += 1; }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simply try statement with a finally clause that is entered as the\n // result of an exception.\n //\n\n printf(" test6...");\n Counter = 0;\n try {\n try {\n Counter += 1;\n RtlRaiseException(&ExceptionRecord);\n }\n finally {\n if (abnormal_termination() != FALSE) {\n Counter += 1;\n }\n }\n }\n except(Counter) {\n if (Counter == 2) {\n Counter += 1;\n }\n }\n\n if (Counter != 3) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simply try statement with a finally clause that is entered as the\n // result of an exception.\n //\n\n printf(" test7...");\n Counter = 0;\n try {\n try {\n Counter += 1;\n *BlackHole += *BadAddress;\n }\n finally {\n if (abnormal_termination() != FALSE) {\n Counter += 1;\n }\n }\n }\n except(Counter) {\n if (Counter == 2) {\n Counter += 1;\n }\n }\n\n if (Counter != 3) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simple try that calls a function which raises an exception.\n //\n\n printf(" test8...");\n Counter = 0;\n try {\n Counter += 1;\n foo1(STATUS_ACCESS_VIOLATION);\n }\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\n ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n Counter += 1;\n }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simple try that calls a function which raises an exception.\n //\n\n printf(" test9...");\n Counter = 0;\n try {\n Counter += 1;\n foo2(BlackHole, BadAddress);\n }\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\n ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n Counter += 1;\n }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simple try that calls a function which calls a function that\n // raises an exception. The first function has a finally clause\n // that must be executed for this test to work.\n //\n\n printf(" test10...");\n Counter = 0;\n try {\n bar1(STATUS_ACCESS_VIOLATION, &Counter);\n }\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\n ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n Counter -= 1;\n }\n\n if (Counter != 98) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simple try that calls a function which calls a function that\n // raises an exception. The first function has a finally clause\n // that must be executed for this test to work.\n //\n\n printf(" test11...");\n Counter = 0;\n try {\n bar2(BlackHole, BadAddress, &Counter);\n }\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\n ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n Counter -= 1;\n }\n\n if (Counter != 98) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A try within an except\n //\n\n printf(" test12...");\n Counter = 0;\n try {\n foo1(STATUS_ACCESS_VIOLATION);\n }\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\n ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n Counter += 1;\n try {\n foo1(STATUS_SUCCESS);\n }\n except((GetExceptionCode() == STATUS_SUCCESS) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n if (Counter != 1) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded...");\n }\n\n Counter += 1;\n }\n }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A try within an except\n //\n\n printf(" test13...");\n Counter = 0;\n try {\n foo2(BlackHole, BadAddress);\n }\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\n ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n Counter += 1;\n try {\n foo1(STATUS_SUCCESS);\n }\n except((GetExceptionCode() == STATUS_SUCCESS) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n if (Counter != 1) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded...");\n }\n\n Counter += 1;\n }\n }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n#if !defined(WIN_CE) // gotos from except/finally not allowed on WinCE\n //\n // A goto from an exception clause that needs to pass\n // through a finally\n //\n\n printf(" test14...");\n Counter = 0;\n try {\n try {\n foo1(STATUS_ACCESS_VIOLATION);\n }\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\n ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n Counter += 1;\n goto t9;\n }\n }\n finally { Counter += 1; }\n\nt9:\n ;\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A goto from an finally clause that needs to pass\n // through a finally\n //\n\n printf(" test15...");\n Counter = 0;\n try {\n try {\n Counter += 1;\n }\n finally {\n Counter += 1;\n goto t10;\n }\n }\n finally { Counter += 1; }\n\nt10:\n ;\n if (Counter != 3) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A goto from an exception clause that needs to pass\n // through a finally into the outer finally clause.\n //\n\n printf(" test16...");\n Counter = 0;\n try {\n try {\n try {\n Counter += 1;\n foo1(STATUS_INTEGER_OVERFLOW);\n }\n except(EXCEPTION_EXECUTE_HANDLER) {\n Counter += 1;\n goto t11;\n }\n }\n finally { Counter += 1; }\n t11:\n ;\n }\n finally { Counter += 1; }\n\n if (Counter != 4) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A goto from an finally clause that needs to pass\n // through a finally into the outer finally clause.\n //\n\n printf(" test17...");\n Counter = 0;\n try {\n try {\n Counter += 1;\n }\n finally {\n Counter += 1;\n goto t12;\n }\n t12:\n ;\n }\n finally { Counter += 1; }\n\n if (Counter != 3) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A return from an except clause\n //\n\n printf(" test18...");\n Counter = 0;\n try {\n Counter += 1;\n eret(STATUS_ACCESS_VIOLATION, &Counter);\n }\n finally { Counter += 1; }\n\n if (Counter != 4) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A return from a finally clause\n //\n\n printf(" test19...");\n Counter = 0;\n try {\n Counter += 1;\n fret(&Counter);\n }\n finally { Counter += 1; }\n\n if (Counter != 5) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n#endif\n\n //\n // A simple set jump followed by a long jump.\n //\n\n printf(" test20...");\n Counter = 0;\n if (setjmp(JumpBuffer) == 0) {\n Counter += 1;\n longjmp(JumpBuffer, 1);\n\n } else {\n Counter += 1;\n }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A set jump followed by a long jump out of a finally clause that is\n // sequentially executed.\n //\n\n printf(" test21...");\n Counter = 0;\n if (setjmp(JumpBuffer) == 0) {\n try {\n Counter += 1;\n }\n finally {\n Counter += 1;\n longjmp(JumpBuffer, 1);\n }\n\n } else {\n Counter += 1;\n }\n\n if (Counter != 3) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A set jump within a try clause followed by a long jump out of a\n // finally clause that is sequentially executed.\n //\n\n printf(" test22...");\n Counter = 0;\n try {\n if (setjmp(JumpBuffer) == 0) {\n Counter += 1;\n\n } else {\n Counter += 1;\n }\n }\n finally {\n Counter += 1;\n if (Counter == 2) {\n Counter += 1;\n longjmp(JumpBuffer, 1);\n }\n }\n\n if (Counter != 5) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A set jump followed by a try/except, followed by a try/finally where\n // the try body of the try/finally raises an exception that is handled\n // by the try/excecpt which causes the try/finally to do a long jump out\n // of a finally clause. This will create a collided unwind.\n //\n\n printf(" test23...");\n Counter = 0;\n if (setjmp(JumpBuffer) == 0) {\n try {\n try {\n Counter += 1;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n finally {\n Counter += 1;\n longjmp(JumpBuffer, 1);\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 1; }\n\n } else {\n Counter += 1;\n }\n\n if (Counter != 3) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A set jump followed by a try/except, followed by a several nested\n // try/finally\'s where the inner try body of the try/finally raises an\n // exception that is handled by the try/except which causes the\n // try/finally to do a long jump out of a finally clause. This will\n // create a collided unwind.\n //\n\n printf(" test24...");\n Counter = 0;\n if (setjmp(JumpBuffer) == 0) {\n try {\n try {\n try {\n try {\n Counter += 1;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n finally { Counter += 1; }\n }\n finally {\n Counter += 1;\n longjmp(JumpBuffer, 1);\n }\n }\n finally { Counter += 1; }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 1; }\n\n } else {\n Counter += 1;\n }\n\n if (Counter != 5) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A set jump followed by a try/except, followed by a try/finally which\n // calls a subroutine which contains a try finally that raises an\n // exception that is handled to the try/except.\n //\n\n printf(" test25...");\n Counter = 0;\n if (setjmp(JumpBuffer) == 0) {\n try {\n try {\n try {\n Counter += 1;\n dojump(JumpBuffer, &Counter);\n }\n finally { Counter += 1; }\n }\n finally { Counter += 1; }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 1; }\n\n } else {\n Counter += 1;\n }\n\n if (Counter != 7) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A set jump followed by a try/except, followed by a try/finally which\n // calls a subroutine which contains a try finally that raises an\n // exception that is handled to the try/except.\n //\n\n printf(" test26...");\n Counter = 0;\n if (setjmp(JumpBuffer) == 0) {\n try {\n try {\n try {\n try {\n Counter += 1;\n dojump(JumpBuffer, &Counter);\n }\n finally { Counter += 1; }\n }\n finally {\n Counter += 1;\n longjmp(JumpBuffer, 1);\n }\n }\n finally { Counter += 1; }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 1; }\n\n } else {\n Counter += 1;\n }\n\n if (Counter != 8) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Test nested exceptions.\n //\n\n printf(" test27...");\n Counter = 0;\n try {\n try {\n Counter += 1;\n except1(&Counter);\n }\n except(except2(GetExceptionInformation(), &Counter)) { Counter += 2; }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 3; }\n\n if (Counter != 55) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simple try that causes an integer overflow exception.\n //\n\n printf(" test28...");\n Counter = 0;\n try {\n Counter += 1;\n addtwo(0x7fff0000, 0x10000, &Counter);\n }\n except((GetExceptionCode() == STATUS_INTEGER_OVERFLOW)\n ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n Counter += 1;\n }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n//\n// Simple try that raises an misaligned data exception.\n//\n#if !defined(i386) && !defined(_M_IA64) && !defined(_M_AMD64) && \\\n !defined(_M_ARM) && !defined(_M_ARM64)\n printf(" test29...");\n Counter = 0;\n try {\n Counter += 1;\n foo2(BlackHole, (PLONG)BadByte);\n }\n except((GetExceptionCode() == STATUS_DATATYPE_MISALIGNMENT)\n ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n Counter += 1;\n }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n#endif\n //\n // Continue from a try body with an exception clause in a loop.\n //\n\n printf(" test30...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n if ((Index1 & 0x1) == 0) {\n continue;\n\n } else {\n Counter += 1;\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 40; }\n\n Counter += 2;\n }\n\n if (Counter != 15) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\n //\n // Continue from a try body with an finally clause in a loop.\n //\n\n printf(" test31...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n if ((Index1 & 0x1) == 0) {\n continue;\n\n } else {\n Counter += 1;\n }\n }\n finally { Counter += 2; }\n\n Counter += 3;\n }\n\n if (Counter != 40) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n#endif\n\n //\n // Continue from doubly nested try body with an exception clause in a\n // loop.\n //\n\n printf(" test32...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n try {\n if ((Index1 & 0x1) == 0) {\n continue;\n\n } else {\n Counter += 1;\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 10; }\n\n Counter += 2;\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 20; }\n\n Counter += 3;\n }\n\n if (Counter != 30) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\n //\n // Continue from doubly nested try body with an finally clause in a loop.\n //\n\n printf(" test33...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n try {\n if ((Index1 & 0x1) == 0) {\n continue;\n\n } else {\n Counter += 1;\n }\n }\n finally { Counter += 2; }\n\n Counter += 3;\n }\n finally { Counter += 4; }\n\n Counter += 5;\n }\n\n if (Counter != 105) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Continue from a finally clause in a loop.\n //\n\n printf(" test34...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n if ((Index1 & 0x1) == 0) {\n Counter += 1;\n }\n }\n finally {\n Counter += 2;\n continue;\n }\n\n Counter += 4;\n }\n\n if (Counter != 25) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Continue from a doubly nested finally clause in a loop.\n //\n\n printf(" test35...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n try {\n if ((Index1 & 0x1) == 0) {\n Counter += 1;\n }\n }\n finally {\n Counter += 2;\n continue;\n }\n\n Counter += 4;\n }\n finally { Counter += 5; }\n\n Counter += 6;\n }\n\n if (Counter != 75) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Continue from a doubly nested finally clause in a loop.\n //\n\n printf(" test36...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n try {\n if ((Index1 & 0x1) == 0) {\n Counter += 1;\n }\n }\n finally { Counter += 2; }\n\n Counter += 4;\n }\n finally {\n Counter += 5;\n continue;\n }\n\n Counter += 6;\n }\n\n if (Counter != 115) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n#endif\n\n //\n // Break from a try body with an exception clause in a loop.\n //\n\n printf(" test37...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n if ((Index1 & 0x1) == 1) {\n break;\n\n } else {\n Counter += 1;\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 40; }\n\n Counter += 2;\n }\n\n if (Counter != 3) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\n //\n // Break from a try body with an finally clause in a loop.\n //\n\n printf(" test38...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n if ((Index1 & 0x1) == 1) {\n break;\n\n } else {\n Counter += 1;\n }\n }\n finally { Counter += 2; }\n\n Counter += 3;\n }\n\n if (Counter != 8) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n#endif\n\n //\n // Break from doubly nested try body with an exception clause in a\n // loop.\n //\n\n printf(" test39...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n try {\n if ((Index1 & 0x1) == 1) {\n break;\n\n } else {\n Counter += 1;\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 10; }\n\n Counter += 2;\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 20; }\n\n Counter += 3;\n }\n\n if (Counter != 6) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\n //\n // Break from doubly nested try body with an finally clause in a loop.\n //\n\n printf(" test40...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n try {\n if ((Index1 & 0x1) == 1) {\n break;\n\n } else {\n Counter += 1;\n }\n }\n finally { Counter += 2; }\n\n Counter += 3;\n }\n finally { Counter += 4; }\n\n Counter += 5;\n }\n\n if (Counter != 21) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Break from a finally clause in a loop.\n //\n\n printf(" test41...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n if ((Index1 & 0x1) == 1) {\n Counter += 1;\n }\n }\n finally {\n Counter += 2;\n break;\n }\n\n Counter += 4;\n }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Break from a doubly nested finally clause in a loop.\n //\n\n printf(" test42...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n try {\n if ((Index1 & 0x1) == 1) {\n Counter += 1;\n }\n }\n finally {\n Counter += 2;\n break;\n }\n\n Counter += 4;\n }\n finally { Counter += 5; }\n\n Counter += 6;\n }\n\n if (Counter != 7) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Break from a doubly nested finally clause in a loop.\n //\n\n printf(" test43...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n try {\n if ((Index1 & 0x1) == 1) {\n Counter += 1;\n }\n }\n finally { Counter += 2; }\n\n Counter += 4;\n }\n finally {\n Counter += 5;\n break;\n }\n\n Counter += 6;\n }\n\n if (Counter != 11) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n#endif\n\n //\n // Break from a try body with an exception clause in a switch.\n //\n\n printf(" test44...");\n Counter = 0;\n Index1 = 1;\n switch (Index2) {\n case BLUE:\n Counter += 100;\n break;\n\n case RED:\n try {\n if ((Index1 & 0x1) == 1) {\n break;\n\n } else {\n Counter += 1;\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 40; }\n\n Counter += 2;\n break;\n }\n\n if (Counter != 0) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\n //\n // Break from a try body with an finally clause in a switch.\n //\n\n printf(" test45...");\n Counter = 0;\n Index1 = 1;\n switch (Index2) {\n case BLUE:\n Counter += 100;\n break;\n\n case RED:\n try {\n if ((Index1 & 0x1) == 1) {\n break;\n\n } else {\n Counter += 1;\n }\n }\n finally { Counter += 2; }\n\n Counter += 3;\n }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n#endif\n\n //\n // Break from doubly nested try body with an exception clause in a\n // switch.\n //\n\n printf(" test46...");\n Counter = 0;\n Index1 = 1;\n switch (Index2) {\n case BLUE:\n Counter += 100;\n break;\n\n case RED:\n try {\n try {\n if ((Index1 & 0x1) == 1) {\n break;\n\n } else {\n Counter += 1;\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 10; }\n\n Counter += 2;\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 20; }\n\n Counter += 3;\n }\n\n if (Counter != 0) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\n //\n // Break from doubly nested try body with an finally clause in a switch.\n //\n\n printf(" test47...");\n Counter = 0;\n Index1 = 1;\n switch (Index2) {\n case BLUE:\n Counter += 100;\n break;\n\n case RED:\n try {\n try {\n if ((Index1 & 0x1) == 1) {\n break;\n\n } else {\n Counter += 1;\n }\n }\n finally { Counter += 2; }\n\n Counter += 3;\n }\n finally { Counter += 4; }\n\n Counter += 5;\n }\n\n if (Counter != 6) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Break from a finally clause in a switch.\n //\n\n printf(" test48...");\n Counter = 0;\n Index1 = 1;\n switch (Index2) {\n case BLUE:\n Counter += 100;\n break;\n\n case RED:\n try {\n if ((Index1 & 0x1) == 1) {\n Counter += 1;\n }\n }\n finally {\n Counter += 2;\n break;\n }\n\n Counter += 4;\n }\n\n if (Counter != 3) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Break from a doubly nested finally clause in a switch.\n //\n\n printf(" test49...");\n Counter = 0;\n Index1 = 1;\n switch (Index2) {\n case BLUE:\n Counter += 100;\n break;\n\n case RED:\n try {\n try {\n if ((Index1 & 0x1) == 1) {\n Counter += 1;\n }\n }\n finally {\n Counter += 2;\n break;\n }\n\n Counter += 4;\n }\n finally { Counter += 5; }\n\n Counter += 6;\n }\n\n if (Counter != 8) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Break from a doubly nested finally clause in a switch.\n //\n\n printf(" test50...");\n Counter = 0;\n Index1 = 1;\n switch (Index2) {\n case BLUE:\n Counter += 100;\n break;\n\n case RED:\n try {\n try {\n if ((Index1 & 0x1) == 1) {\n Counter += 1;\n }\n }\n finally { Counter += 2; }\n\n Counter += 4;\n }\n finally {\n Counter += 5;\n break;\n }\n\n Counter += 6;\n }\n\n if (Counter != 12) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n#endif\n\n //\n // Leave from an if in a simple try/finally.\n //\n\n printf(" test51...");\n Counter = 0;\n try {\n if (Echo(Counter) == Counter) {\n Counter += 3;\n leave;\n\n } else {\n Counter += 100;\n }\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 5;\n }\n }\n\n if (Counter != 8) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Leave from a loop in a simple try/finally.\n //\n\n printf(" test52...");\n Counter = 0;\n try {\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n if (Echo(Index1) == Index1) {\n Counter += 3;\n leave;\n }\n\n Counter += 100;\n }\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 5;\n }\n }\n\n if (Counter != 8) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Leave from a switch in a simple try/finally.\n //\n\n printf(" test53...");\n Counter = 0;\n try {\n switch (Index2) {\n case BLUE:\n break;\n\n case RED:\n Counter += 3;\n leave;\n }\n\n Counter += 100;\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 5;\n }\n }\n\n if (Counter != 8) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Leave from an if in doubly nested try/finally followed by a leave\n // from an if in the outer try/finally.\n //\n\n printf(" test54...");\n Counter = 0;\n try {\n try {\n if (Echo(Counter) == Counter) {\n Counter += 3;\n leave;\n\n } else {\n Counter += 100;\n }\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 5;\n }\n }\n\n if (Echo(Counter) == Counter) {\n Counter += 3;\n leave;\n\n } else {\n Counter += 100;\n }\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 5;\n }\n }\n\n if (Counter != 16) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n#if !defined(WIN_CE) // leave from finally not allowed on WinCE\n //\n // Leave from an if in doubly nested try/finally followed by a leave\n // from the finally of the outer try/finally.\n //\n\n printf(" test55...");\n Counter = 0;\n try {\n try {\n if (Echo(Counter) == Counter) {\n Counter += 3;\n leave;\n\n } else {\n Counter += 100;\n }\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 5;\n leave;\n }\n }\n\n Counter += 100;\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 5;\n }\n }\n\n if (Counter != 13) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n#endif\n\n //\n // Try/finally within the except clause of a try/except that is always\n // executed.\n //\n\n printf(" test56...");\n Counter = 0;\n try {\n Counter += 1;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n except(Counter) {\n try {\n Counter += 3;\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 5;\n }\n }\n }\n\n if (Counter != 9) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Try/finally within the finally clause of a try/finally.\n //\n\n printf(" test57...");\n Counter = 0;\n try {\n Counter += 1;\n }\n finally {\n if (abnormal_termination() == FALSE) {\n try {\n Counter += 3;\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 5;\n }\n }\n }\n }\n\n if (Counter != 9) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Try/except within the finally clause of a try/finally.\n //\n\n printf(" test58...");\n#if !defined(NEST_IN_FINALLY)\n printf("skipped\\n");\n#else\n Counter = 0;\n try {\n Counter -= 1;\n }\n finally {\n try {\n Counter += 2;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n except(Counter) {\n try {\n Counter += 3;\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 5;\n }\n }\n }\n }\n\n if (Counter != 9) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n#endif /* def(NEST_IN_FINALLY) */\n\n //\n // Try/except within the except clause of a try/except that is always\n // executed.\n //\n\n printf(" test59...");\n Counter = 0;\n try {\n Counter += 1;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n except(Counter) {\n try {\n Counter += 3;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n except(Counter - 3) { Counter += 5; }\n }\n\n if (Counter != 9) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Try with a Try which exits the scope with a goto\n //\n\n printf(" test60...");\n Counter = 0;\n try {\n try {\n goto outside;\n }\n except(1) { Counter += 1; }\n\n outside:\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n except(1) { Counter += 3; }\n\n if (Counter != 3) {\n printf("failed, count = %d\\n", Counter);\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Try/except which gets an exception from a subfunction within\n // a try/finally which has a try/except in the finally clause\n //\n\n printf(" test61...");\n#if !defined(NEST_IN_FINALLY)\n printf("skipped\\n");\n#else\n Counter = 0;\n try {\n Test61Part2(&Counter);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 11; }\n\n if (Counter != 24) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n#endif /* def(NEST_IN_FINALLY) */\n\n //\n // Check for precision of exception on floating point\n //\n\n printf(" test62...");\n\n#if defined(i386) || defined(_M_IA64) || defined(_M_ALPHA) || defined(_M_AMD64)\n\n/* enable floating point overflow */\n#if defined(i386)\n _control87(_control87(0, 0) & ~EM_OVERFLOW, _MCW_EM);\n#else\n //\n // use portable version of _control87\n //\n _controlfp(_controlfp(0, 0) & ~EM_OVERFLOW, _MCW_EM);\n#endif\n\n Counter = 0;\n try {\n doubleresult = SquareDouble(1.7e300);\n\n try {\n doubleresult = SquareDouble(1.0);\n }\n except(1) { Counter += 3; }\n }\n except(1) { Counter += 1; }\n\n if (Counter != 1) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n/* clear up pending unmasked exceptions and restore FP control registers */\n#if defined(i386)\n _clear87();\n _control87(_control87(0, 0) | EM_OVERFLOW, 0xfffff);\n#else\n _clearfp();\n _controlfp(_controlfp(0, 0) | EM_OVERFLOW, 0xfffff);\n#endif\n\n#else\n printf("skipped\\n");\n#endif\n\n //\n // A try/finally inside a try/except where an exception is raised in the\n // try/finally.\n //\n\n printf(" test63...");\n Counter = 0;\n try {\n try {\n Counter += 1;\n }\n finally {\n Counter += 3;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n }\n except(1) { Counter += 6; }\n\n if (Counter != 10) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A try/finally inside a try/except where an exception is raised in the\n // in the try/except and the try/finally.\n //\n\n printf(" test64...");\n Counter = 0;\n try {\n try {\n Counter += 1;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n finally {\n Counter += 3;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n }\n except(1) { Counter += 6; }\n\n if (Counter != 10) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A try/finally inside a try/except where an exception is raised in the\n // try/finally.\n //\n\n printf(" test65...");\n Counter = 0;\n try {\n try {\n Counter += 1;\n }\n finally {\n Counter += 3;\n *BlackHole += *BadAddress;\n Counter += 13;\n }\n }\n except(1) { Counter += 6; }\n\n if (Counter != 10) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A try/finally inside a try/except where an exception is raised in the\n // in the try/except and the try/finally.\n //\n\n printf(" test66...");\n Counter = 0;\n try {\n try {\n Counter += 1;\n *BlackHole += *BadAddress;\n Counter += 13;\n }\n finally {\n Counter += 3;\n *BlackHole += *BadAddress;\n Counter += 13;\n }\n }\n except(1) { Counter += 6; }\n\n if (Counter != 10) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A try/finally inside a try/finally inside a try/except where an\n // exception is raised in the in the try/except and in try/finally.\n //\n\n printf(" test67...");\n try {\n try {\n *BlackHole += *BadAddress;\n }\n finally {\n try {\n Counter = 0;\n }\n finally {\n if (Counter != 0) {\n Counter += 1;\n }\n }\n\n Counter += 1;\n *BlackHole += *BadAddress;\n }\n }\n except(1) { Counter += 1; }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A try/finally inside a try/finally inside a try/except where an\n // exception is raised in the in the try/except and in try/finally.\n //\n\n printf(" test68...");\n try {\n try {\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n finally {\n try {\n Counter = 0;\n }\n finally {\n if (Counter != 0) {\n Counter += 1;\n }\n }\n\n Counter += 1;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n }\n except(1) { Counter += 1; }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n//\n// Patch guard test 69.\n//\n\n#if defined(_AMD64_) || defined(_X86_)\n\n printf(" test69...");\n Counter = 0;\n try {\n PgTest69(&Counter, BadAddress);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { printf("unexpected exception..."); }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test70...");\n Counter = 0;\n try {\n PgTest70(&Counter, BadAddress);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { printf("unexpected exception..."); }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test71...");\n Counter = 0;\n try {\n PgTest71(&Counter, BadAddress);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { printf("unexpected exception..."); }\n\n if (Counter != 9) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test72...");\n Counter = 0;\n try {\n PgTest72(&Counter, BadAddress);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { printf("unexpected exception..."); }\n\n if (Counter != 12) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test73...");\n Counter = 0;\n try {\n PgTest73(&Counter, BadAddress);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { printf("unexpected exception..."); }\n\n if (Counter != 15) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test74...");\n Counter = 0;\n try {\n PgTest74(&Counter, BadAddress);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { printf("unexpected exception..."); }\n\n if (Counter != 18) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test75...");\n Counter = 0;\n try {\n PgTest75(&Counter, BadAddress);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { printf("unexpected exception..."); }\n\n if (Counter != 35) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test76...");\n Counter = 0;\n try {\n PgTest76(&Counter, BadAddress);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { printf("unexpected exception..."); }\n\n if (Counter != 40) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test77...");\n Counter = 0;\n try {\n PgTest77(&Counter, BadAddress);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { printf("unexpected exception..."); }\n\n if (Counter != 45) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test78...");\n Counter = 0;\n try {\n PgTest78(&Counter, BadAddress);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { printf("unexpected exception..."); }\n\n if (Counter != 50) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n#else\n printf(" test69...filter entered...succeeded\\n");\n printf(" test70...filter entered...succeeded\\n");\n printf(" test71...filter entered...succeeded\\n");\n printf(" test72...filter entered...succeeded\\n");\n printf(" test73...filter entered...succeeded\\n");\n printf(" test74...filter entered...succeeded\\n");\n printf(" test75...filter entered...succeeded\\n");\n printf(" test76...filter entered...succeeded\\n");\n printf(" test77...filter entered...succeeded\\n");\n printf(" test78...filter entered...succeeded\\n");\n#endif\n\n if (LOBYTE(LOWORD(GetVersion())) < 6) {\n printf(" test79...");\n printf("filter 1...filter 2...finally 1...filter 1...filter 2...finally "\n "2...passed\\n");\n } else {\n\n printf(" test79...");\n Counter = 0;\n try {\n Test79(&Counter, BadAddress);\n }\n except(printf("filter 2..."), EXCEPTION_EXECUTE_HANDLER) { Counter += 1; }\n\n if (Counter == 3) {\n printf("passed\\n");\n\n } else {\n printf("failed %d \\n", Counter);\n }\n }\n\n printf(" test80...");\n if (Test80() != 0) {\n printf("failed\\n");\n\n } else {\n printf("passed\\n");\n }\n\n printf(" test81...");\n Counter = 0;\n Test81(&Counter);\n if (Counter != 1) {\n printf("failed %d \\n", Counter);\n\n } else {\n printf("passed\\n");\n }\n\n printf(" test82...");\n Counter = 1;\n Test82(&Counter);\n if (Counter != 0) {\n printf("failed\\n");\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test83...");\n if (Test83() != 0) {\n printf("failed\\n");\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test84...");\n Counter = 0;\n Test84(&Counter);\n if (Counter != 2) {\n printf("failed\\n");\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test85...");\n Counter = 0;\n Test85(&Counter);\n if (Counter != 7) {\n printf("failed\\n");\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test86...");\n Counter = 0;\n Test86(&Counter);\n if (Counter != 4) {\n printf("failed %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test87...");\n Counter = 0;\n Test87(&Counter);\n if (Counter != 104) {\n printf("failed %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test88...");\n Counter = 0;\n Test88(&Counter);\n if (Counter != 6) {\n printf("failed %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Announce end of exception test.\n //\n\n printf("End of exception test\\n");\n return;\n}\n\n#pragma optimize("a", off)\nVOID addtwo(long First, long Second, long *Place)\n\n{\n\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n *Place = First + Second;\n return;\n}\n#pragma optimize("", on)\n\nVOID bar1(IN NTSTATUS Status, IN PLONG Counter) {\n\n try {\n foo1(Status);\n }\n finally {\n if (abnormal_termination() != FALSE) {\n *Counter = 99;\n\n } else {\n *Counter = 100;\n }\n }\n\n return;\n}\n\nVOID bar2(IN PLONG BlackHole, IN PLONG BadAddress, IN PLONG Counter) {\n\n try {\n foo2(BlackHole, BadAddress);\n }\n finally {\n if (abnormal_termination() != FALSE) {\n *Counter = 99;\n\n } else {\n *Counter = 100;\n }\n }\n\n return;\n}\n\nVOID dojump(IN jmp_buf JumpBuffer, IN PLONG Counter)\n\n{\n\n try {\n try {\n *Counter += 1;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n finally { *Counter += 1; }\n }\n finally {\n *Counter += 1;\n longjmp(JumpBuffer, 1);\n }\n}\n\n#if !defined(WIN_CE) // return through finally not allowed on WinCE\nVOID eret(IN NTSTATUS Status, IN PLONG Counter)\n\n{\n\n try {\n try {\n foo1(Status);\n }\n except((GetExceptionCode() == Status) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Counter += 1;\n return;\n }\n }\n finally { *Counter += 1; }\n\n return;\n}\n#endif\n\nVOID except1(IN PLONG Counter)\n\n{\n\n try {\n *Counter += 5;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n except(except3(GetExceptionInformation(), Counter)) { *Counter += 7; }\n\n *Counter += 9;\n return;\n}\n\nULONG\nexcept2(IN PEXCEPTION_POINTERS ExceptionPointers, IN PLONG Counter)\n\n{\n\n PEXCEPTION_RECORD ExceptionRecord;\n\n ExceptionRecord = ExceptionPointers->ExceptionRecord;\n if ((ExceptionRecord->ExceptionCode == STATUS_UNSUCCESSFUL) &&\n ((ExceptionRecord->ExceptionFlags & EXCEPTION_NESTED_CALL) == 0)) {\n *Counter += 11;\n return EXCEPTION_EXECUTE_HANDLER;\n\n } else {\n *Counter += 13;\n return EXCEPTION_CONTINUE_SEARCH;\n }\n}\n\nULONG\nexcept3(IN PEXCEPTION_POINTERS ExceptionPointers, IN PLONG Counter)\n\n{\n\n PEXCEPTION_RECORD ExceptionRecord;\n\n ExceptionRecord = ExceptionPointers->ExceptionRecord;\n if ((ExceptionRecord->ExceptionCode == STATUS_INTEGER_OVERFLOW) &&\n ((ExceptionRecord->ExceptionFlags & EXCEPTION_NESTED_CALL) == 0)) {\n *Counter += 17;\n RtlRaiseStatus(STATUS_UNSUCCESSFUL);\n\n } else if ((ExceptionRecord->ExceptionCode == STATUS_UNSUCCESSFUL) &&\n ((ExceptionRecord->ExceptionFlags & EXCEPTION_NESTED_CALL) != 0)) {\n *Counter += 19;\n return EXCEPTION_CONTINUE_SEARCH;\n }\n\n *Counter += 23;\n return EXCEPTION_EXECUTE_HANDLER;\n}\n\nVOID foo1(IN NTSTATUS Status)\n\n{\n\n //\n // Raise exception.\n //\n\n RtlRaiseStatus(Status);\n return;\n}\n\nVOID foo2(IN PLONG BlackHole, IN PLONG BadAddress)\n\n{\n\n //\n // Raise exception.\n //\n\n *BlackHole += *BadAddress;\n return;\n}\n\n#if !defined(WIN_CE) // return from finally not allowed on WinCE\nVOID fret(IN PLONG Counter)\n\n{\n\n try {\n try {\n *Counter += 1;\n }\n finally {\n *Counter += 1;\n return;\n }\n }\n finally { *Counter += 1; }\n\n return;\n}\n#endif\n\nLONG Echo(IN LONG Value)\n\n{\n return Value;\n}\n\n#if defined(NEST_IN_FINALLY)\nVOID Test61Part2(IN OUT PULONG Counter) {\n try {\n *Counter -= 1;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n finally {\n try {\n *Counter += 2;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { *Counter += 5; }\n *Counter += 7;\n }\n}\n#endif /* def(NEST_IN_FINALLY) */\n\ndouble SquareDouble(IN double op) {\n return exp(2.0 * log(op));\n}\n'}}]);
+//# sourceMappingURL=1401.js.map
\ No newline at end of file
diff --git a/1401.js.map b/1401.js.map
new file mode 100644
index 00000000..4a444d57
--- /dev/null
+++ b/1401.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"1401.js","mappings":"8IAAA,w1/D","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.c.txt"],"sourcesContent":["export default \"// Copyright (c) Microsoft. All rights reserved.\\n// Licensed under the MIT license. See LICENSE file in the project root for full\\n// license information.\\n\\n/*\\n *\\tCOMMAND LINE: -Ox -Gz -YX -UPROTOTYPES_REQUIRED\\n */\\n\\n#pragma warning(disable : 4532)\\n#pragma warning(disable : 4702)\\n\\n#if defined(_WIN32)\\n\\n#if defined(_M_SH)\\n#define WIN_CE\\n#endif\\n\\n#if defined(_M_AMD64)\\n#define NEST_IN_FINALLY /* allow when __try nested in __finally OK */\\n#endif\\n\\n#define NTSTATUS LONG\\n#define EXCEPTION_NESTED_CALL 0x10\\n#define RtlRaiseStatus(x) RaiseException((x), 0, 0, NULL)\\n#define RtlRaiseException(x) \\\\\\n RaiseException((x)->ExceptionCode, (x)->ExceptionFlags, \\\\\\n (x)->NumberParameters, (x)->ExceptionInformation)\\n#define IN\\n#define OUT\\n#if !(defined(_M_IA64) || defined(_M_ALPHA) || defined(_M_PPC) || \\\\\\n defined(_M_AMD64) || defined(_M_ARM) || defined(_M_ARM64))\\n#define i386 1\\n#endif\\n#define try __try\\n#define except __except\\n#define finally __finally\\n#define leave __leave\\n\\n#endif\\n\\n#define WIN32_LEAN_AND_MEAN\\n\\n#include \\\"stdio.h\\\"\\n#if defined(_M_IA64) || defined(_M_ALPHA) || defined(_M_PPC) || \\\\\\n defined(_M_AMD64) || defined(_M_ARM) || defined(_M_ARM64)\\n#include \\\"setjmpex.h\\\"\\n#else\\n#include \\\"setjmp.h\\\"\\n#endif\\n#include \\\"float.h\\\"\\n#include \\\"windows.h\\\"\\n#include \\\"math.h\\\"\\n\\n#if !defined(STATUS_SUCCESS)\\n#define STATUS_SUCCESS 0\\n#endif\\n#if !defined(STATUS_UNSUCCESSFUL)\\n#define STATUS_UNSUCCESSFUL ((NTSTATUS)0xC0000001L)\\n#endif\\n\\n//\\n// Define switch constants.\\n//\\n\\n#define BLUE 0\\n#define RED 1\\n\\n//\\n// Define function prototypes.\\n//\\n\\nVOID addtwo(IN LONG First, IN LONG Second, IN PLONG Place);\\n\\nVOID bar1(IN NTSTATUS Status, IN PLONG Counter);\\n\\nVOID bar2(IN PLONG BlackHole, IN PLONG BadAddress, IN PLONG Counter);\\n\\nVOID dojump(IN jmp_buf JumpBuffer, IN PLONG Counter);\\n\\nLONG Echo(IN LONG Value);\\n\\n#if !defined(WIN_CE) // return through finally not allowed on WinCE\\nVOID eret(IN NTSTATUS Status, IN PLONG Counter);\\n#endif\\n\\nVOID except1(IN PLONG Counter);\\n\\nULONG\\nexcept2(IN PEXCEPTION_POINTERS ExceptionPointers, IN PLONG Counter);\\n\\nULONG\\nexcept3(IN PEXCEPTION_POINTERS ExceptionPointers, IN PLONG Counter);\\n\\nVOID foo1(IN NTSTATUS Status);\\n\\nVOID foo2(IN PLONG BlackHole, IN PLONG BadAddress);\\n\\n#if !defined(WIN_CE) // return from finally not allowed on WinCE\\nVOID fret(IN PLONG Counter);\\n#endif\\n\\nBOOLEAN\\nTkm(VOID);\\n\\nVOID Test61Part2(IN OUT PULONG Counter);\\n\\ndouble SquareDouble(IN double op);\\n\\nDECLSPEC_NOINLINE\\nULONG\\nPgFilter(VOID)\\n\\n{\\n\\n printf(\\\"filter entered...\\\");\\n return EXCEPTION_EXECUTE_HANDLER;\\n}\\n\\n#pragma warning(push)\\n#pragma warning(disable : 4532)\\n\\nVOID PgTest69(IN PLONG State, IN PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 1) {\\n *State += 1;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n except(((*State += 1) == 1) ? PgFilter() : EXCEPTION_CONTINUE_SEARCH) {\\n if (*State != 2) {\\n *Fault += 1;\\n }\\n }\\n\\n return;\\n}\\n\\nVOID PgTest70(IN PLONG State, IN PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 2) {\\n PgFilter();\\n return;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n except(((*State += 2) == 2) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n\\n return;\\n}\\n\\nVOID PgTest71(IN PLONG State, IN PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 3) {\\n *State += 3;\\n return;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 6) {\\n *State += 3;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n except(((*State += 3) == 3) ? PgFilter() : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n\\n return;\\n}\\n\\nVOID PgTest72(IN PLONG State, IN PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 4) {\\n *State += 4;\\n return;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 8) {\\n *State += 4;\\n PgFilter();\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n except(((*State += 4) == 4) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n\\n return;\\n}\\n\\nVOID PgTest73(IN PLONG State, IN PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 5) {\\n *State += 5;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 10) {\\n *State += 5;\\n return;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n except(((*State += 5) == 5) ? PgFilter() : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n\\n return;\\n}\\n\\nVOID PgTest74(IN PLONG State, IN PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 6) {\\n *State += 6;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 12) {\\n *State += 6;\\n PgFilter();\\n return;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n except(((*State += 6) == 6) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n\\n return;\\n}\\n\\nVOID PgTest75(IN PLONG State, IN PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 7) {\\n *State += 7;\\n *Fault += 1;\\n\\n } else {\\n *State += 10;\\n }\\n }\\n }\\n }\\n except(((*State += 7) == 7) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 28) {\\n *State += 7;\\n return;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n except(((*State += 7) == 28) ? PgFilter() : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n\\n return;\\n}\\n\\nVOID PgTest76(IN PLONG State, IN PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 8) {\\n *State += 8;\\n *Fault += 1;\\n\\n } else {\\n *State += 10;\\n }\\n }\\n }\\n }\\n except(((*State += 8) == 8) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 32) {\\n *State += 8;\\n PgFilter();\\n return;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n except(((*State += 8) == 32) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n\\n return;\\n}\\n\\nVOID PgTest77(IN PLONG State, IN PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 9) {\\n *State += 9;\\n *Fault += 1;\\n\\n } else {\\n *State += 10;\\n }\\n }\\n }\\n }\\n except(((*State += 9) == 9) ? PgFilter() : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 36) {\\n *State += 9;\\n return;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n except(((*State += 9) == 36) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n\\n return;\\n}\\n\\nVOID PgTest78(IN PLONG State, IN PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 10) {\\n *State += 10;\\n PgFilter();\\n *Fault += 1;\\n\\n } else {\\n *State += 10;\\n }\\n }\\n }\\n }\\n except(((*State += 10) == 10) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 40) {\\n *State += 10;\\n return;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n except(((*State += 10) == 40) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n\\n return;\\n}\\n\\n#pragma warning(pop)\\n\\nVOID Test79(PLONG Counter, PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n printf(\\\"finally 1...\\\");\\n *Fault += 1;\\n }\\n }\\n finally { printf(\\\"finally 2...\\\"); }\\n }\\n except(*Counter += 1, printf(\\\"filter 1...\\\"), EXCEPTION_CONTINUE_SEARCH) {}\\n\\n return;\\n}\\n\\nULONG G;\\n\\nULONG\\nTest80(VOID)\\n\\n{\\n\\n G = 1;\\n try {\\n while (G) {\\n try {\\n if (G == 10) {\\n return 1;\\n }\\n\\n if (G == 1) {\\n continue;\\n }\\n }\\n finally { G = 0; }\\n }\\n }\\n finally { G = 10; }\\n\\n return 0;\\n}\\n\\nvoid Test81(int *pCounter) {\\n volatile char *AvPtr = NULL;\\n\\n __try {\\n __try { *AvPtr = '\\\\0'; }\\n __except(EXCEPTION_EXECUTE_HANDLER) { __leave; }\\n }\\n __finally {\\n printf(\\\"in finally \\\");\\n *pCounter += 1;\\n }\\n return;\\n}\\n\\nDECLSPEC_NOINLINE\\nVOID Test82Foo(VOID)\\n\\n{\\n *(volatile int *)0 = 0;\\n}\\n\\nVOID Test82(__inout PLONG Counter)\\n\\n{\\n\\n int retval = 1;\\n\\n __try {\\n __try { Test82Foo(); }\\n __finally {\\n switch (*Counter) {\\n case 0:\\n printf(\\\"something failed!\\\\n\\\");\\n retval = 6;\\n break;\\n\\n case 1:\\n retval = 0;\\n break;\\n\\n case 2:\\n printf(\\\"how did you get here?\\\\n\\\");\\n retval = 2;\\n break;\\n\\n case 3:\\n printf(\\\"what?!?\\\\n\\\");\\n retval = 3;\\n break;\\n\\n case 4:\\n printf(\\\"not correct\\\\n\\\");\\n retval = 4;\\n break;\\n\\n case 5:\\n printf(\\\"error!\\\\n\\\");\\n retval = 5;\\n break;\\n }\\n }\\n }\\n __except(1){}\\n\\n *Counter = retval;\\n return;\\n}\\n\\nLONG Test83(VOID)\\n\\n{\\n\\n G = 1;\\n try {\\n try {\\n while (G) {\\n try {\\n if (G == 10) {\\n return 1;\\n }\\n\\n if (G == 1) {\\n continue;\\n }\\n }\\n finally { G = 0; }\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { leave; }\\n }\\n finally { G = 10; }\\n\\n return 0;\\n}\\n\\nDECLSPEC_NOINLINE\\nVOID Test84(_Inout_ PLONG Counter)\\n\\n{\\n volatile int *Fault = 0;\\n\\n try {\\n try {\\n *Fault += 1;\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) {\\n try {\\n return;\\n }\\n finally { *Counter += 1; }\\n }\\n }\\n finally {\\n\\n if (AbnormalTermination()) {\\n *Counter += 1;\\n }\\n }\\n\\n return;\\n}\\n\\nDECLSPEC_NOINLINE\\nLONG Test85(_Inout_ PLONG Counter)\\n\\n{\\n volatile int *Fault = 0;\\n\\n G = 1;\\n try {\\n try {\\n try {\\n while (G) {\\n try {\\n try {\\n if (G == 10) {\\n return 1;\\n }\\n try {\\n *Counter += 1;\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) {}\\n\\n if (G == 1) {\\n continue;\\n }\\n }\\n finally {\\n G = 0;\\n *Counter += 1;\\n *Fault += 1;\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) {\\n *Counter += 1;\\n leave;\\n }\\n }\\n }\\n finally {\\n G = 10;\\n *Counter += 1;\\n *Fault += 1;\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { *Counter += 1; }\\n *Counter += 1;\\n }\\n finally { *Counter += 1; }\\n return 1;\\n}\\n\\nDECLSPEC_NOINLINE\\nVOID Test86(_Inout_ PLONG Counter)\\n\\n{\\n volatile int *Fault = 0;\\n\\n try {\\n try {\\n try {\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n except(printf(\\\"Filter1 %d..\\\", *Counter),\\n EXCEPTION_EXECUTE_HANDLER) {\\n try {\\n printf(\\\"Handler1 %d..\\\", *Counter);\\n return;\\n }\\n finally {\\n printf(\\\"Finally1 %d..\\\", *Counter);\\n *Counter += 1;\\n }\\n }\\n }\\n finally {\\n printf(\\\"Finally2 %d..\\\", *Counter);\\n *Counter += 1;\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { leave; }\\n }\\n finally { *Counter += 1; }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { leave; }\\n }\\n finally { *Counter += 1; }\\n\\n return;\\n}\\n\\nVOID Test87(_Inout_ PLONG Counter)\\n\\n/*++\\n\\nRoutine Description:\\n\\n This function verifies the behavior of nested exception dispatching.\\n\\nArguments:\\n\\n Counter - Supplies a pointer to the state counter.\\n\\nReturn Value:\\n None.\\n\\n--*/\\n\\n{\\n volatile int *Fault = 0;\\n\\n//\\n// N.B. Disabled on x86 due to failing test case with handling of returns\\n// in nested termination handlers on x86.\\n//\\n// Disabled on ARM due to failing test case with handling of abutting\\n// termination handlers within an except handler.\\n//\\n// Disabled on AMD64 due to failing test case with handling of\\n// abutting termination handlers within an except handler when a\\n// non-local goto is involved.\\n//\\n\\n#if !defined(_X86_)\\n try {\\n try {\\n try {\\n try {\\n try {\\n *Fault += 1;\\n\\n try {\\n }\\n finally {\\n if (AbnormalTermination()) {\\n *Fault += 1;\\n }\\n }\\n }\\n finally {\\n\\n if (AbnormalTermination()) {\\n if ((*Counter += 13) == 26) {\\n return;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n finally {\\n if (AbnormalTermination()) {\\n *Counter += 13;\\n *Fault += 1;\\n }\\n }\\n }\\n except(((*Counter += 13) == 13) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n }\\n except(((*Counter += 13) == 65) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n try {\\n *Counter += 13;\\n return;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n *Counter += 13;\\n goto Finish;\\n }\\n }\\n }\\n }\\n finally {\\n\\n if (AbnormalTermination()) {\\n if ((*Counter += 13) == 104) {\\n goto Finish;\\n }\\n }\\n }\\n\\nFinish:\\n#else\\n *Counter = 104;\\n#endif\\n\\n return;\\n}\\n\\nVOID Test88(_Inout_ PLONG Counter)\\n\\n{\\n volatile int *Fault = 0;\\n\\n try {\\n try {\\n try {\\n try {\\n try {\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n except(((*Counter += 1) == 1) ? *Fault\\n : EXCEPTION_CONTINUE_SEARCH) {}\\n }\\n except(*Counter += 1, EXCEPTION_EXECUTE_HANDLER) { *Fault += 2; }\\n }\\n except(*Counter += 1, EXCEPTION_CONTINUE_SEARCH) { leave; }\\n }\\n except(*Counter += 1, EXCEPTION_CONTINUE_SEARCH) { leave; }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) {}\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) {}\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { leave; }\\n }\\n finally { *Counter += 1; }\\n}\\n\\nint main(int argc, char *argv[])\\n\\n{\\n\\n PLONG BadAddress;\\n PCHAR BadByte;\\n PLONG BlackHole;\\n ULONG Index1;\\n ULONG Index2 = RED;\\n jmp_buf JumpBuffer;\\n LONG Counter;\\n EXCEPTION_RECORD ExceptionRecord;\\n double doubleresult;\\n\\n //\\n // Announce start of exception test.\\n //\\n\\n printf(\\\"Start of exception test\\\\n\\\");\\n\\n //\\n // Initialize exception record.\\n //\\n\\n ExceptionRecord.ExceptionCode = STATUS_INTEGER_OVERFLOW;\\n ExceptionRecord.ExceptionFlags = 0;\\n ExceptionRecord.ExceptionRecord = NULL;\\n ExceptionRecord.NumberParameters = 0;\\n\\n //\\n // Initialize pointers.\\n //\\n\\n BadAddress = (PLONG)NULL;\\n BadByte = (PCHAR)NULL;\\n BadByte += 1;\\n BlackHole = &Counter;\\n\\n //\\n // Simply try statement with a finally clause that is entered sequentially.\\n //\\n\\n printf(\\\" test1...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 1;\\n }\\n }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simple try statement with an exception clause that is never executed\\n // because there is no exception raised in the try clause.\\n //\\n\\n printf(\\\" test2...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n }\\n except(Counter) { Counter += 1; }\\n\\n if (Counter != 1) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simple try statement with an exception handler that is never executed\\n // because the exception expression continues execution.\\n //\\n\\n printf(\\\" test3...\\\");\\n Counter = 0;\\n try {\\n Counter -= 1;\\n RtlRaiseException(&ExceptionRecord);\\n }\\n except(Counter) { Counter -= 1; }\\n\\n if (Counter != -1) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simple try statement with an exception clause that is always executed.\\n //\\n\\n printf(\\\" test4...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n except(Counter) { Counter += 1; }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simple try statement with an exception clause that is always executed.\\n //\\n\\n printf(\\\" test5...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n *BlackHole += *BadAddress;\\n }\\n except(Counter) { Counter += 1; }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simply try statement with a finally clause that is entered as the\\n // result of an exception.\\n //\\n\\n printf(\\\" test6...\\\");\\n Counter = 0;\\n try {\\n try {\\n Counter += 1;\\n RtlRaiseException(&ExceptionRecord);\\n }\\n finally {\\n if (abnormal_termination() != FALSE) {\\n Counter += 1;\\n }\\n }\\n }\\n except(Counter) {\\n if (Counter == 2) {\\n Counter += 1;\\n }\\n }\\n\\n if (Counter != 3) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simply try statement with a finally clause that is entered as the\\n // result of an exception.\\n //\\n\\n printf(\\\" test7...\\\");\\n Counter = 0;\\n try {\\n try {\\n Counter += 1;\\n *BlackHole += *BadAddress;\\n }\\n finally {\\n if (abnormal_termination() != FALSE) {\\n Counter += 1;\\n }\\n }\\n }\\n except(Counter) {\\n if (Counter == 2) {\\n Counter += 1;\\n }\\n }\\n\\n if (Counter != 3) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simple try that calls a function which raises an exception.\\n //\\n\\n printf(\\\" test8...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n foo1(STATUS_ACCESS_VIOLATION);\\n }\\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\\n ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n Counter += 1;\\n }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simple try that calls a function which raises an exception.\\n //\\n\\n printf(\\\" test9...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n foo2(BlackHole, BadAddress);\\n }\\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\\n ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n Counter += 1;\\n }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simple try that calls a function which calls a function that\\n // raises an exception. The first function has a finally clause\\n // that must be executed for this test to work.\\n //\\n\\n printf(\\\" test10...\\\");\\n Counter = 0;\\n try {\\n bar1(STATUS_ACCESS_VIOLATION, &Counter);\\n }\\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\\n ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n Counter -= 1;\\n }\\n\\n if (Counter != 98) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simple try that calls a function which calls a function that\\n // raises an exception. The first function has a finally clause\\n // that must be executed for this test to work.\\n //\\n\\n printf(\\\" test11...\\\");\\n Counter = 0;\\n try {\\n bar2(BlackHole, BadAddress, &Counter);\\n }\\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\\n ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n Counter -= 1;\\n }\\n\\n if (Counter != 98) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A try within an except\\n //\\n\\n printf(\\\" test12...\\\");\\n Counter = 0;\\n try {\\n foo1(STATUS_ACCESS_VIOLATION);\\n }\\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\\n ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n Counter += 1;\\n try {\\n foo1(STATUS_SUCCESS);\\n }\\n except((GetExceptionCode() == STATUS_SUCCESS) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n if (Counter != 1) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded...\\\");\\n }\\n\\n Counter += 1;\\n }\\n }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A try within an except\\n //\\n\\n printf(\\\" test13...\\\");\\n Counter = 0;\\n try {\\n foo2(BlackHole, BadAddress);\\n }\\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\\n ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n Counter += 1;\\n try {\\n foo1(STATUS_SUCCESS);\\n }\\n except((GetExceptionCode() == STATUS_SUCCESS) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n if (Counter != 1) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded...\\\");\\n }\\n\\n Counter += 1;\\n }\\n }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n#if !defined(WIN_CE) // gotos from except/finally not allowed on WinCE\\n //\\n // A goto from an exception clause that needs to pass\\n // through a finally\\n //\\n\\n printf(\\\" test14...\\\");\\n Counter = 0;\\n try {\\n try {\\n foo1(STATUS_ACCESS_VIOLATION);\\n }\\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\\n ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n Counter += 1;\\n goto t9;\\n }\\n }\\n finally { Counter += 1; }\\n\\nt9:\\n ;\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A goto from an finally clause that needs to pass\\n // through a finally\\n //\\n\\n printf(\\\" test15...\\\");\\n Counter = 0;\\n try {\\n try {\\n Counter += 1;\\n }\\n finally {\\n Counter += 1;\\n goto t10;\\n }\\n }\\n finally { Counter += 1; }\\n\\nt10:\\n ;\\n if (Counter != 3) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A goto from an exception clause that needs to pass\\n // through a finally into the outer finally clause.\\n //\\n\\n printf(\\\" test16...\\\");\\n Counter = 0;\\n try {\\n try {\\n try {\\n Counter += 1;\\n foo1(STATUS_INTEGER_OVERFLOW);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) {\\n Counter += 1;\\n goto t11;\\n }\\n }\\n finally { Counter += 1; }\\n t11:\\n ;\\n }\\n finally { Counter += 1; }\\n\\n if (Counter != 4) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A goto from an finally clause that needs to pass\\n // through a finally into the outer finally clause.\\n //\\n\\n printf(\\\" test17...\\\");\\n Counter = 0;\\n try {\\n try {\\n Counter += 1;\\n }\\n finally {\\n Counter += 1;\\n goto t12;\\n }\\n t12:\\n ;\\n }\\n finally { Counter += 1; }\\n\\n if (Counter != 3) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A return from an except clause\\n //\\n\\n printf(\\\" test18...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n eret(STATUS_ACCESS_VIOLATION, &Counter);\\n }\\n finally { Counter += 1; }\\n\\n if (Counter != 4) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A return from a finally clause\\n //\\n\\n printf(\\\" test19...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n fret(&Counter);\\n }\\n finally { Counter += 1; }\\n\\n if (Counter != 5) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n#endif\\n\\n //\\n // A simple set jump followed by a long jump.\\n //\\n\\n printf(\\\" test20...\\\");\\n Counter = 0;\\n if (setjmp(JumpBuffer) == 0) {\\n Counter += 1;\\n longjmp(JumpBuffer, 1);\\n\\n } else {\\n Counter += 1;\\n }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A set jump followed by a long jump out of a finally clause that is\\n // sequentially executed.\\n //\\n\\n printf(\\\" test21...\\\");\\n Counter = 0;\\n if (setjmp(JumpBuffer) == 0) {\\n try {\\n Counter += 1;\\n }\\n finally {\\n Counter += 1;\\n longjmp(JumpBuffer, 1);\\n }\\n\\n } else {\\n Counter += 1;\\n }\\n\\n if (Counter != 3) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A set jump within a try clause followed by a long jump out of a\\n // finally clause that is sequentially executed.\\n //\\n\\n printf(\\\" test22...\\\");\\n Counter = 0;\\n try {\\n if (setjmp(JumpBuffer) == 0) {\\n Counter += 1;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n finally {\\n Counter += 1;\\n if (Counter == 2) {\\n Counter += 1;\\n longjmp(JumpBuffer, 1);\\n }\\n }\\n\\n if (Counter != 5) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A set jump followed by a try/except, followed by a try/finally where\\n // the try body of the try/finally raises an exception that is handled\\n // by the try/excecpt which causes the try/finally to do a long jump out\\n // of a finally clause. This will create a collided unwind.\\n //\\n\\n printf(\\\" test23...\\\");\\n Counter = 0;\\n if (setjmp(JumpBuffer) == 0) {\\n try {\\n try {\\n Counter += 1;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n finally {\\n Counter += 1;\\n longjmp(JumpBuffer, 1);\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 1; }\\n\\n } else {\\n Counter += 1;\\n }\\n\\n if (Counter != 3) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A set jump followed by a try/except, followed by a several nested\\n // try/finally's where the inner try body of the try/finally raises an\\n // exception that is handled by the try/except which causes the\\n // try/finally to do a long jump out of a finally clause. This will\\n // create a collided unwind.\\n //\\n\\n printf(\\\" test24...\\\");\\n Counter = 0;\\n if (setjmp(JumpBuffer) == 0) {\\n try {\\n try {\\n try {\\n try {\\n Counter += 1;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n finally { Counter += 1; }\\n }\\n finally {\\n Counter += 1;\\n longjmp(JumpBuffer, 1);\\n }\\n }\\n finally { Counter += 1; }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 1; }\\n\\n } else {\\n Counter += 1;\\n }\\n\\n if (Counter != 5) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A set jump followed by a try/except, followed by a try/finally which\\n // calls a subroutine which contains a try finally that raises an\\n // exception that is handled to the try/except.\\n //\\n\\n printf(\\\" test25...\\\");\\n Counter = 0;\\n if (setjmp(JumpBuffer) == 0) {\\n try {\\n try {\\n try {\\n Counter += 1;\\n dojump(JumpBuffer, &Counter);\\n }\\n finally { Counter += 1; }\\n }\\n finally { Counter += 1; }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 1; }\\n\\n } else {\\n Counter += 1;\\n }\\n\\n if (Counter != 7) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A set jump followed by a try/except, followed by a try/finally which\\n // calls a subroutine which contains a try finally that raises an\\n // exception that is handled to the try/except.\\n //\\n\\n printf(\\\" test26...\\\");\\n Counter = 0;\\n if (setjmp(JumpBuffer) == 0) {\\n try {\\n try {\\n try {\\n try {\\n Counter += 1;\\n dojump(JumpBuffer, &Counter);\\n }\\n finally { Counter += 1; }\\n }\\n finally {\\n Counter += 1;\\n longjmp(JumpBuffer, 1);\\n }\\n }\\n finally { Counter += 1; }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 1; }\\n\\n } else {\\n Counter += 1;\\n }\\n\\n if (Counter != 8) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Test nested exceptions.\\n //\\n\\n printf(\\\" test27...\\\");\\n Counter = 0;\\n try {\\n try {\\n Counter += 1;\\n except1(&Counter);\\n }\\n except(except2(GetExceptionInformation(), &Counter)) { Counter += 2; }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 3; }\\n\\n if (Counter != 55) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simple try that causes an integer overflow exception.\\n //\\n\\n printf(\\\" test28...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n addtwo(0x7fff0000, 0x10000, &Counter);\\n }\\n except((GetExceptionCode() == STATUS_INTEGER_OVERFLOW)\\n ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n Counter += 1;\\n }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n//\\n// Simple try that raises an misaligned data exception.\\n//\\n#if !defined(i386) && !defined(_M_IA64) && !defined(_M_AMD64) && \\\\\\n !defined(_M_ARM) && !defined(_M_ARM64)\\n printf(\\\" test29...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n foo2(BlackHole, (PLONG)BadByte);\\n }\\n except((GetExceptionCode() == STATUS_DATATYPE_MISALIGNMENT)\\n ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n Counter += 1;\\n }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n#endif\\n //\\n // Continue from a try body with an exception clause in a loop.\\n //\\n\\n printf(\\\" test30...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n if ((Index1 & 0x1) == 0) {\\n continue;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 40; }\\n\\n Counter += 2;\\n }\\n\\n if (Counter != 15) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\\n //\\n // Continue from a try body with an finally clause in a loop.\\n //\\n\\n printf(\\\" test31...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n if ((Index1 & 0x1) == 0) {\\n continue;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n finally { Counter += 2; }\\n\\n Counter += 3;\\n }\\n\\n if (Counter != 40) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n#endif\\n\\n //\\n // Continue from doubly nested try body with an exception clause in a\\n // loop.\\n //\\n\\n printf(\\\" test32...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n try {\\n if ((Index1 & 0x1) == 0) {\\n continue;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 10; }\\n\\n Counter += 2;\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 20; }\\n\\n Counter += 3;\\n }\\n\\n if (Counter != 30) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\\n //\\n // Continue from doubly nested try body with an finally clause in a loop.\\n //\\n\\n printf(\\\" test33...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n try {\\n if ((Index1 & 0x1) == 0) {\\n continue;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n finally { Counter += 2; }\\n\\n Counter += 3;\\n }\\n finally { Counter += 4; }\\n\\n Counter += 5;\\n }\\n\\n if (Counter != 105) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Continue from a finally clause in a loop.\\n //\\n\\n printf(\\\" test34...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n if ((Index1 & 0x1) == 0) {\\n Counter += 1;\\n }\\n }\\n finally {\\n Counter += 2;\\n continue;\\n }\\n\\n Counter += 4;\\n }\\n\\n if (Counter != 25) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Continue from a doubly nested finally clause in a loop.\\n //\\n\\n printf(\\\" test35...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n try {\\n if ((Index1 & 0x1) == 0) {\\n Counter += 1;\\n }\\n }\\n finally {\\n Counter += 2;\\n continue;\\n }\\n\\n Counter += 4;\\n }\\n finally { Counter += 5; }\\n\\n Counter += 6;\\n }\\n\\n if (Counter != 75) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Continue from a doubly nested finally clause in a loop.\\n //\\n\\n printf(\\\" test36...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n try {\\n if ((Index1 & 0x1) == 0) {\\n Counter += 1;\\n }\\n }\\n finally { Counter += 2; }\\n\\n Counter += 4;\\n }\\n finally {\\n Counter += 5;\\n continue;\\n }\\n\\n Counter += 6;\\n }\\n\\n if (Counter != 115) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n#endif\\n\\n //\\n // Break from a try body with an exception clause in a loop.\\n //\\n\\n printf(\\\" test37...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n break;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 40; }\\n\\n Counter += 2;\\n }\\n\\n if (Counter != 3) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\\n //\\n // Break from a try body with an finally clause in a loop.\\n //\\n\\n printf(\\\" test38...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n break;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n finally { Counter += 2; }\\n\\n Counter += 3;\\n }\\n\\n if (Counter != 8) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n#endif\\n\\n //\\n // Break from doubly nested try body with an exception clause in a\\n // loop.\\n //\\n\\n printf(\\\" test39...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n break;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 10; }\\n\\n Counter += 2;\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 20; }\\n\\n Counter += 3;\\n }\\n\\n if (Counter != 6) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\\n //\\n // Break from doubly nested try body with an finally clause in a loop.\\n //\\n\\n printf(\\\" test40...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n break;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n finally { Counter += 2; }\\n\\n Counter += 3;\\n }\\n finally { Counter += 4; }\\n\\n Counter += 5;\\n }\\n\\n if (Counter != 21) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Break from a finally clause in a loop.\\n //\\n\\n printf(\\\" test41...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n Counter += 1;\\n }\\n }\\n finally {\\n Counter += 2;\\n break;\\n }\\n\\n Counter += 4;\\n }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Break from a doubly nested finally clause in a loop.\\n //\\n\\n printf(\\\" test42...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n Counter += 1;\\n }\\n }\\n finally {\\n Counter += 2;\\n break;\\n }\\n\\n Counter += 4;\\n }\\n finally { Counter += 5; }\\n\\n Counter += 6;\\n }\\n\\n if (Counter != 7) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Break from a doubly nested finally clause in a loop.\\n //\\n\\n printf(\\\" test43...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n Counter += 1;\\n }\\n }\\n finally { Counter += 2; }\\n\\n Counter += 4;\\n }\\n finally {\\n Counter += 5;\\n break;\\n }\\n\\n Counter += 6;\\n }\\n\\n if (Counter != 11) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n#endif\\n\\n //\\n // Break from a try body with an exception clause in a switch.\\n //\\n\\n printf(\\\" test44...\\\");\\n Counter = 0;\\n Index1 = 1;\\n switch (Index2) {\\n case BLUE:\\n Counter += 100;\\n break;\\n\\n case RED:\\n try {\\n if ((Index1 & 0x1) == 1) {\\n break;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 40; }\\n\\n Counter += 2;\\n break;\\n }\\n\\n if (Counter != 0) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\\n //\\n // Break from a try body with an finally clause in a switch.\\n //\\n\\n printf(\\\" test45...\\\");\\n Counter = 0;\\n Index1 = 1;\\n switch (Index2) {\\n case BLUE:\\n Counter += 100;\\n break;\\n\\n case RED:\\n try {\\n if ((Index1 & 0x1) == 1) {\\n break;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n finally { Counter += 2; }\\n\\n Counter += 3;\\n }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n#endif\\n\\n //\\n // Break from doubly nested try body with an exception clause in a\\n // switch.\\n //\\n\\n printf(\\\" test46...\\\");\\n Counter = 0;\\n Index1 = 1;\\n switch (Index2) {\\n case BLUE:\\n Counter += 100;\\n break;\\n\\n case RED:\\n try {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n break;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 10; }\\n\\n Counter += 2;\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 20; }\\n\\n Counter += 3;\\n }\\n\\n if (Counter != 0) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\\n //\\n // Break from doubly nested try body with an finally clause in a switch.\\n //\\n\\n printf(\\\" test47...\\\");\\n Counter = 0;\\n Index1 = 1;\\n switch (Index2) {\\n case BLUE:\\n Counter += 100;\\n break;\\n\\n case RED:\\n try {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n break;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n finally { Counter += 2; }\\n\\n Counter += 3;\\n }\\n finally { Counter += 4; }\\n\\n Counter += 5;\\n }\\n\\n if (Counter != 6) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Break from a finally clause in a switch.\\n //\\n\\n printf(\\\" test48...\\\");\\n Counter = 0;\\n Index1 = 1;\\n switch (Index2) {\\n case BLUE:\\n Counter += 100;\\n break;\\n\\n case RED:\\n try {\\n if ((Index1 & 0x1) == 1) {\\n Counter += 1;\\n }\\n }\\n finally {\\n Counter += 2;\\n break;\\n }\\n\\n Counter += 4;\\n }\\n\\n if (Counter != 3) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Break from a doubly nested finally clause in a switch.\\n //\\n\\n printf(\\\" test49...\\\");\\n Counter = 0;\\n Index1 = 1;\\n switch (Index2) {\\n case BLUE:\\n Counter += 100;\\n break;\\n\\n case RED:\\n try {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n Counter += 1;\\n }\\n }\\n finally {\\n Counter += 2;\\n break;\\n }\\n\\n Counter += 4;\\n }\\n finally { Counter += 5; }\\n\\n Counter += 6;\\n }\\n\\n if (Counter != 8) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Break from a doubly nested finally clause in a switch.\\n //\\n\\n printf(\\\" test50...\\\");\\n Counter = 0;\\n Index1 = 1;\\n switch (Index2) {\\n case BLUE:\\n Counter += 100;\\n break;\\n\\n case RED:\\n try {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n Counter += 1;\\n }\\n }\\n finally { Counter += 2; }\\n\\n Counter += 4;\\n }\\n finally {\\n Counter += 5;\\n break;\\n }\\n\\n Counter += 6;\\n }\\n\\n if (Counter != 12) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n#endif\\n\\n //\\n // Leave from an if in a simple try/finally.\\n //\\n\\n printf(\\\" test51...\\\");\\n Counter = 0;\\n try {\\n if (Echo(Counter) == Counter) {\\n Counter += 3;\\n leave;\\n\\n } else {\\n Counter += 100;\\n }\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 5;\\n }\\n }\\n\\n if (Counter != 8) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Leave from a loop in a simple try/finally.\\n //\\n\\n printf(\\\" test52...\\\");\\n Counter = 0;\\n try {\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n if (Echo(Index1) == Index1) {\\n Counter += 3;\\n leave;\\n }\\n\\n Counter += 100;\\n }\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 5;\\n }\\n }\\n\\n if (Counter != 8) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Leave from a switch in a simple try/finally.\\n //\\n\\n printf(\\\" test53...\\\");\\n Counter = 0;\\n try {\\n switch (Index2) {\\n case BLUE:\\n break;\\n\\n case RED:\\n Counter += 3;\\n leave;\\n }\\n\\n Counter += 100;\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 5;\\n }\\n }\\n\\n if (Counter != 8) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Leave from an if in doubly nested try/finally followed by a leave\\n // from an if in the outer try/finally.\\n //\\n\\n printf(\\\" test54...\\\");\\n Counter = 0;\\n try {\\n try {\\n if (Echo(Counter) == Counter) {\\n Counter += 3;\\n leave;\\n\\n } else {\\n Counter += 100;\\n }\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 5;\\n }\\n }\\n\\n if (Echo(Counter) == Counter) {\\n Counter += 3;\\n leave;\\n\\n } else {\\n Counter += 100;\\n }\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 5;\\n }\\n }\\n\\n if (Counter != 16) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n#if !defined(WIN_CE) // leave from finally not allowed on WinCE\\n //\\n // Leave from an if in doubly nested try/finally followed by a leave\\n // from the finally of the outer try/finally.\\n //\\n\\n printf(\\\" test55...\\\");\\n Counter = 0;\\n try {\\n try {\\n if (Echo(Counter) == Counter) {\\n Counter += 3;\\n leave;\\n\\n } else {\\n Counter += 100;\\n }\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 5;\\n leave;\\n }\\n }\\n\\n Counter += 100;\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 5;\\n }\\n }\\n\\n if (Counter != 13) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n#endif\\n\\n //\\n // Try/finally within the except clause of a try/except that is always\\n // executed.\\n //\\n\\n printf(\\\" test56...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n except(Counter) {\\n try {\\n Counter += 3;\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 5;\\n }\\n }\\n }\\n\\n if (Counter != 9) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Try/finally within the finally clause of a try/finally.\\n //\\n\\n printf(\\\" test57...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n try {\\n Counter += 3;\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 5;\\n }\\n }\\n }\\n }\\n\\n if (Counter != 9) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Try/except within the finally clause of a try/finally.\\n //\\n\\n printf(\\\" test58...\\\");\\n#if !defined(NEST_IN_FINALLY)\\n printf(\\\"skipped\\\\n\\\");\\n#else\\n Counter = 0;\\n try {\\n Counter -= 1;\\n }\\n finally {\\n try {\\n Counter += 2;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n except(Counter) {\\n try {\\n Counter += 3;\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 5;\\n }\\n }\\n }\\n }\\n\\n if (Counter != 9) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n#endif /* def(NEST_IN_FINALLY) */\\n\\n //\\n // Try/except within the except clause of a try/except that is always\\n // executed.\\n //\\n\\n printf(\\\" test59...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n except(Counter) {\\n try {\\n Counter += 3;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n except(Counter - 3) { Counter += 5; }\\n }\\n\\n if (Counter != 9) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Try with a Try which exits the scope with a goto\\n //\\n\\n printf(\\\" test60...\\\");\\n Counter = 0;\\n try {\\n try {\\n goto outside;\\n }\\n except(1) { Counter += 1; }\\n\\n outside:\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n except(1) { Counter += 3; }\\n\\n if (Counter != 3) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Try/except which gets an exception from a subfunction within\\n // a try/finally which has a try/except in the finally clause\\n //\\n\\n printf(\\\" test61...\\\");\\n#if !defined(NEST_IN_FINALLY)\\n printf(\\\"skipped\\\\n\\\");\\n#else\\n Counter = 0;\\n try {\\n Test61Part2(&Counter);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 11; }\\n\\n if (Counter != 24) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n#endif /* def(NEST_IN_FINALLY) */\\n\\n //\\n // Check for precision of exception on floating point\\n //\\n\\n printf(\\\" test62...\\\");\\n\\n#if defined(i386) || defined(_M_IA64) || defined(_M_ALPHA) || defined(_M_AMD64)\\n\\n/* enable floating point overflow */\\n#if defined(i386)\\n _control87(_control87(0, 0) & ~EM_OVERFLOW, _MCW_EM);\\n#else\\n //\\n // use portable version of _control87\\n //\\n _controlfp(_controlfp(0, 0) & ~EM_OVERFLOW, _MCW_EM);\\n#endif\\n\\n Counter = 0;\\n try {\\n doubleresult = SquareDouble(1.7e300);\\n\\n try {\\n doubleresult = SquareDouble(1.0);\\n }\\n except(1) { Counter += 3; }\\n }\\n except(1) { Counter += 1; }\\n\\n if (Counter != 1) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n/* clear up pending unmasked exceptions and restore FP control registers */\\n#if defined(i386)\\n _clear87();\\n _control87(_control87(0, 0) | EM_OVERFLOW, 0xfffff);\\n#else\\n _clearfp();\\n _controlfp(_controlfp(0, 0) | EM_OVERFLOW, 0xfffff);\\n#endif\\n\\n#else\\n printf(\\\"skipped\\\\n\\\");\\n#endif\\n\\n //\\n // A try/finally inside a try/except where an exception is raised in the\\n // try/finally.\\n //\\n\\n printf(\\\" test63...\\\");\\n Counter = 0;\\n try {\\n try {\\n Counter += 1;\\n }\\n finally {\\n Counter += 3;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n }\\n except(1) { Counter += 6; }\\n\\n if (Counter != 10) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A try/finally inside a try/except where an exception is raised in the\\n // in the try/except and the try/finally.\\n //\\n\\n printf(\\\" test64...\\\");\\n Counter = 0;\\n try {\\n try {\\n Counter += 1;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n finally {\\n Counter += 3;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n }\\n except(1) { Counter += 6; }\\n\\n if (Counter != 10) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A try/finally inside a try/except where an exception is raised in the\\n // try/finally.\\n //\\n\\n printf(\\\" test65...\\\");\\n Counter = 0;\\n try {\\n try {\\n Counter += 1;\\n }\\n finally {\\n Counter += 3;\\n *BlackHole += *BadAddress;\\n Counter += 13;\\n }\\n }\\n except(1) { Counter += 6; }\\n\\n if (Counter != 10) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A try/finally inside a try/except where an exception is raised in the\\n // in the try/except and the try/finally.\\n //\\n\\n printf(\\\" test66...\\\");\\n Counter = 0;\\n try {\\n try {\\n Counter += 1;\\n *BlackHole += *BadAddress;\\n Counter += 13;\\n }\\n finally {\\n Counter += 3;\\n *BlackHole += *BadAddress;\\n Counter += 13;\\n }\\n }\\n except(1) { Counter += 6; }\\n\\n if (Counter != 10) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A try/finally inside a try/finally inside a try/except where an\\n // exception is raised in the in the try/except and in try/finally.\\n //\\n\\n printf(\\\" test67...\\\");\\n try {\\n try {\\n *BlackHole += *BadAddress;\\n }\\n finally {\\n try {\\n Counter = 0;\\n }\\n finally {\\n if (Counter != 0) {\\n Counter += 1;\\n }\\n }\\n\\n Counter += 1;\\n *BlackHole += *BadAddress;\\n }\\n }\\n except(1) { Counter += 1; }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A try/finally inside a try/finally inside a try/except where an\\n // exception is raised in the in the try/except and in try/finally.\\n //\\n\\n printf(\\\" test68...\\\");\\n try {\\n try {\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n finally {\\n try {\\n Counter = 0;\\n }\\n finally {\\n if (Counter != 0) {\\n Counter += 1;\\n }\\n }\\n\\n Counter += 1;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n }\\n except(1) { Counter += 1; }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n//\\n// Patch guard test 69.\\n//\\n\\n#if defined(_AMD64_) || defined(_X86_)\\n\\n printf(\\\" test69...\\\");\\n Counter = 0;\\n try {\\n PgTest69(&Counter, BadAddress);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { printf(\\\"unexpected exception...\\\"); }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test70...\\\");\\n Counter = 0;\\n try {\\n PgTest70(&Counter, BadAddress);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { printf(\\\"unexpected exception...\\\"); }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test71...\\\");\\n Counter = 0;\\n try {\\n PgTest71(&Counter, BadAddress);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { printf(\\\"unexpected exception...\\\"); }\\n\\n if (Counter != 9) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test72...\\\");\\n Counter = 0;\\n try {\\n PgTest72(&Counter, BadAddress);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { printf(\\\"unexpected exception...\\\"); }\\n\\n if (Counter != 12) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test73...\\\");\\n Counter = 0;\\n try {\\n PgTest73(&Counter, BadAddress);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { printf(\\\"unexpected exception...\\\"); }\\n\\n if (Counter != 15) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test74...\\\");\\n Counter = 0;\\n try {\\n PgTest74(&Counter, BadAddress);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { printf(\\\"unexpected exception...\\\"); }\\n\\n if (Counter != 18) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test75...\\\");\\n Counter = 0;\\n try {\\n PgTest75(&Counter, BadAddress);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { printf(\\\"unexpected exception...\\\"); }\\n\\n if (Counter != 35) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test76...\\\");\\n Counter = 0;\\n try {\\n PgTest76(&Counter, BadAddress);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { printf(\\\"unexpected exception...\\\"); }\\n\\n if (Counter != 40) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test77...\\\");\\n Counter = 0;\\n try {\\n PgTest77(&Counter, BadAddress);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { printf(\\\"unexpected exception...\\\"); }\\n\\n if (Counter != 45) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test78...\\\");\\n Counter = 0;\\n try {\\n PgTest78(&Counter, BadAddress);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { printf(\\\"unexpected exception...\\\"); }\\n\\n if (Counter != 50) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n#else\\n printf(\\\" test69...filter entered...succeeded\\\\n\\\");\\n printf(\\\" test70...filter entered...succeeded\\\\n\\\");\\n printf(\\\" test71...filter entered...succeeded\\\\n\\\");\\n printf(\\\" test72...filter entered...succeeded\\\\n\\\");\\n printf(\\\" test73...filter entered...succeeded\\\\n\\\");\\n printf(\\\" test74...filter entered...succeeded\\\\n\\\");\\n printf(\\\" test75...filter entered...succeeded\\\\n\\\");\\n printf(\\\" test76...filter entered...succeeded\\\\n\\\");\\n printf(\\\" test77...filter entered...succeeded\\\\n\\\");\\n printf(\\\" test78...filter entered...succeeded\\\\n\\\");\\n#endif\\n\\n if (LOBYTE(LOWORD(GetVersion())) < 6) {\\n printf(\\\" test79...\\\");\\n printf(\\\"filter 1...filter 2...finally 1...filter 1...filter 2...finally \\\"\\n \\\"2...passed\\\\n\\\");\\n } else {\\n\\n printf(\\\" test79...\\\");\\n Counter = 0;\\n try {\\n Test79(&Counter, BadAddress);\\n }\\n except(printf(\\\"filter 2...\\\"), EXCEPTION_EXECUTE_HANDLER) { Counter += 1; }\\n\\n if (Counter == 3) {\\n printf(\\\"passed\\\\n\\\");\\n\\n } else {\\n printf(\\\"failed %d \\\\n\\\", Counter);\\n }\\n }\\n\\n printf(\\\" test80...\\\");\\n if (Test80() != 0) {\\n printf(\\\"failed\\\\n\\\");\\n\\n } else {\\n printf(\\\"passed\\\\n\\\");\\n }\\n\\n printf(\\\" test81...\\\");\\n Counter = 0;\\n Test81(&Counter);\\n if (Counter != 1) {\\n printf(\\\"failed %d \\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"passed\\\\n\\\");\\n }\\n\\n printf(\\\" test82...\\\");\\n Counter = 1;\\n Test82(&Counter);\\n if (Counter != 0) {\\n printf(\\\"failed\\\\n\\\");\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test83...\\\");\\n if (Test83() != 0) {\\n printf(\\\"failed\\\\n\\\");\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test84...\\\");\\n Counter = 0;\\n Test84(&Counter);\\n if (Counter != 2) {\\n printf(\\\"failed\\\\n\\\");\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test85...\\\");\\n Counter = 0;\\n Test85(&Counter);\\n if (Counter != 7) {\\n printf(\\\"failed\\\\n\\\");\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test86...\\\");\\n Counter = 0;\\n Test86(&Counter);\\n if (Counter != 4) {\\n printf(\\\"failed %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test87...\\\");\\n Counter = 0;\\n Test87(&Counter);\\n if (Counter != 104) {\\n printf(\\\"failed %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test88...\\\");\\n Counter = 0;\\n Test88(&Counter);\\n if (Counter != 6) {\\n printf(\\\"failed %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Announce end of exception test.\\n //\\n\\n printf(\\\"End of exception test\\\\n\\\");\\n return;\\n}\\n\\n#pragma optimize(\\\"a\\\", off)\\nVOID addtwo(long First, long Second, long *Place)\\n\\n{\\n\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n *Place = First + Second;\\n return;\\n}\\n#pragma optimize(\\\"\\\", on)\\n\\nVOID bar1(IN NTSTATUS Status, IN PLONG Counter) {\\n\\n try {\\n foo1(Status);\\n }\\n finally {\\n if (abnormal_termination() != FALSE) {\\n *Counter = 99;\\n\\n } else {\\n *Counter = 100;\\n }\\n }\\n\\n return;\\n}\\n\\nVOID bar2(IN PLONG BlackHole, IN PLONG BadAddress, IN PLONG Counter) {\\n\\n try {\\n foo2(BlackHole, BadAddress);\\n }\\n finally {\\n if (abnormal_termination() != FALSE) {\\n *Counter = 99;\\n\\n } else {\\n *Counter = 100;\\n }\\n }\\n\\n return;\\n}\\n\\nVOID dojump(IN jmp_buf JumpBuffer, IN PLONG Counter)\\n\\n{\\n\\n try {\\n try {\\n *Counter += 1;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n finally { *Counter += 1; }\\n }\\n finally {\\n *Counter += 1;\\n longjmp(JumpBuffer, 1);\\n }\\n}\\n\\n#if !defined(WIN_CE) // return through finally not allowed on WinCE\\nVOID eret(IN NTSTATUS Status, IN PLONG Counter)\\n\\n{\\n\\n try {\\n try {\\n foo1(Status);\\n }\\n except((GetExceptionCode() == Status) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Counter += 1;\\n return;\\n }\\n }\\n finally { *Counter += 1; }\\n\\n return;\\n}\\n#endif\\n\\nVOID except1(IN PLONG Counter)\\n\\n{\\n\\n try {\\n *Counter += 5;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n except(except3(GetExceptionInformation(), Counter)) { *Counter += 7; }\\n\\n *Counter += 9;\\n return;\\n}\\n\\nULONG\\nexcept2(IN PEXCEPTION_POINTERS ExceptionPointers, IN PLONG Counter)\\n\\n{\\n\\n PEXCEPTION_RECORD ExceptionRecord;\\n\\n ExceptionRecord = ExceptionPointers->ExceptionRecord;\\n if ((ExceptionRecord->ExceptionCode == STATUS_UNSUCCESSFUL) &&\\n ((ExceptionRecord->ExceptionFlags & EXCEPTION_NESTED_CALL) == 0)) {\\n *Counter += 11;\\n return EXCEPTION_EXECUTE_HANDLER;\\n\\n } else {\\n *Counter += 13;\\n return EXCEPTION_CONTINUE_SEARCH;\\n }\\n}\\n\\nULONG\\nexcept3(IN PEXCEPTION_POINTERS ExceptionPointers, IN PLONG Counter)\\n\\n{\\n\\n PEXCEPTION_RECORD ExceptionRecord;\\n\\n ExceptionRecord = ExceptionPointers->ExceptionRecord;\\n if ((ExceptionRecord->ExceptionCode == STATUS_INTEGER_OVERFLOW) &&\\n ((ExceptionRecord->ExceptionFlags & EXCEPTION_NESTED_CALL) == 0)) {\\n *Counter += 17;\\n RtlRaiseStatus(STATUS_UNSUCCESSFUL);\\n\\n } else if ((ExceptionRecord->ExceptionCode == STATUS_UNSUCCESSFUL) &&\\n ((ExceptionRecord->ExceptionFlags & EXCEPTION_NESTED_CALL) != 0)) {\\n *Counter += 19;\\n return EXCEPTION_CONTINUE_SEARCH;\\n }\\n\\n *Counter += 23;\\n return EXCEPTION_EXECUTE_HANDLER;\\n}\\n\\nVOID foo1(IN NTSTATUS Status)\\n\\n{\\n\\n //\\n // Raise exception.\\n //\\n\\n RtlRaiseStatus(Status);\\n return;\\n}\\n\\nVOID foo2(IN PLONG BlackHole, IN PLONG BadAddress)\\n\\n{\\n\\n //\\n // Raise exception.\\n //\\n\\n *BlackHole += *BadAddress;\\n return;\\n}\\n\\n#if !defined(WIN_CE) // return from finally not allowed on WinCE\\nVOID fret(IN PLONG Counter)\\n\\n{\\n\\n try {\\n try {\\n *Counter += 1;\\n }\\n finally {\\n *Counter += 1;\\n return;\\n }\\n }\\n finally { *Counter += 1; }\\n\\n return;\\n}\\n#endif\\n\\nLONG Echo(IN LONG Value)\\n\\n{\\n return Value;\\n}\\n\\n#if defined(NEST_IN_FINALLY)\\nVOID Test61Part2(IN OUT PULONG Counter) {\\n try {\\n *Counter -= 1;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n finally {\\n try {\\n *Counter += 2;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { *Counter += 5; }\\n *Counter += 7;\\n }\\n}\\n#endif /* def(NEST_IN_FINALLY) */\\n\\ndouble SquareDouble(IN double op) {\\n return exp(2.0 * log(op));\\n}\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/1425.js b/1425.js
new file mode 100644
index 00000000..89f9083a
--- /dev/null
+++ b/1425.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[1425],{1425:(n,e,t)=>{t.r(e),t.d(e,{default:()=>a});const a='(* Sample F# application *)\n[]\nlet main argv = \n printfn "%A" argv\n System.Console.WriteLine("Hello from F#")\n 0 // return an integer exit code\n\n//-------------------------------------------------------- \n'}}]);
+//# sourceMappingURL=1425.js.map
\ No newline at end of file
diff --git a/1425.js.map b/1425.js.map
new file mode 100644
index 00000000..89545987
--- /dev/null
+++ b/1425.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"1425.js","mappings":"8IAAA,oP","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.fsharp.txt"],"sourcesContent":["export default \"(* Sample F# application *)\\n[]\\nlet main argv = \\n printfn \\\"%A\\\" argv\\n System.Console.WriteLine(\\\"Hello from F#\\\")\\n 0 // return an integer exit code\\n\\n//-------------------------------------------------------- \\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/1436.js b/1436.js
new file mode 100644
index 00000000..e6068687
--- /dev/null
+++ b/1436.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[1436],{1436:(t,n,e)=>{e.r(n),e.d(n,{default:()=>s});const s='{\n\t"type": "team",\n\t"test": {\n\t\t"testPage": "tools/testing/run-tests.htm",\n\t\t"enabled": true\n\t},\n "search": {\n "excludeFolders": [\n\t\t\t".git",\n\t\t\t"node_modules",\n\t\t\t"tools/bin",\n\t\t\t"tools/counts",\n\t\t\t"tools/policheck",\n\t\t\t"tools/tfs_build_extensions",\n\t\t\t"tools/testing/jscoverage",\n\t\t\t"tools/testing/qunit",\n\t\t\t"tools/testing/chutzpah",\n\t\t\t"server.net"\n ]\n },\n\t"languages": {\n\t\t"vs.languages.typescript": {\n\t\t\t"validationSettings": [{\n\t\t\t\t"scope":"/",\n\t\t\t\t"noImplicitAny":true,\n\t\t\t\t"noLib":false,\n\t\t\t\t"extraLibs":[],\n\t\t\t\t"semanticValidation":true,\n\t\t\t\t"syntaxValidation":true,\n\t\t\t\t"codeGenTarget":"ES5",\n\t\t\t\t"moduleGenTarget":"",\n\t\t\t\t"lint": {\n "emptyBlocksWithoutComment": "warning",\n "curlyBracketsMustNotBeOmitted": "warning",\n "comparisonOperatorsNotStrict": "warning",\n "missingSemicolon": "warning",\n "unknownTypeOfResults": "warning",\n "semicolonsInsteadOfBlocks": "warning",\n "functionsInsideLoops": "warning",\n "functionsWithoutReturnType": "warning",\n "tripleSlashReferenceAlike": "warning",\n "unusedImports": "warning",\n "unusedVariables": "warning",\n "unusedFunctions": "warning",\n "unusedMembers": "warning"\n }\n\t\t\t}, \n\t\t\t{\n\t\t\t\t"scope":"/client",\n\t\t\t\t"baseUrl":"/client",\n\t\t\t\t"moduleGenTarget":"amd"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"scope":"/server",\n\t\t\t\t"moduleGenTarget":"commonjs"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"scope":"/build",\n\t\t\t\t"moduleGenTarget":"commonjs"\n\t\t\t},\n\t\t\t{\n\t\t\t\t"scope":"/node_modules/nake",\n\t\t\t\t"moduleGenTarget":"commonjs"\n\t\t\t}],\n\t\t\t"allowMultipleWorkers": true\n\t\t}\n\t}\n}'}}]);
+//# sourceMappingURL=1436.js.map
\ No newline at end of file
diff --git a/1436.js.map b/1436.js.map
new file mode 100644
index 00000000..abf7cf95
--- /dev/null
+++ b/1436.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"1436.js","mappings":"8IAAA,y7D","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.json.txt"],"sourcesContent":["export default \"{\\n\\t\\\"type\\\": \\\"team\\\",\\n\\t\\\"test\\\": {\\n\\t\\t\\\"testPage\\\": \\\"tools/testing/run-tests.htm\\\",\\n\\t\\t\\\"enabled\\\": true\\n\\t},\\n \\\"search\\\": {\\n \\\"excludeFolders\\\": [\\n\\t\\t\\t\\\".git\\\",\\n\\t\\t\\t\\\"node_modules\\\",\\n\\t\\t\\t\\\"tools/bin\\\",\\n\\t\\t\\t\\\"tools/counts\\\",\\n\\t\\t\\t\\\"tools/policheck\\\",\\n\\t\\t\\t\\\"tools/tfs_build_extensions\\\",\\n\\t\\t\\t\\\"tools/testing/jscoverage\\\",\\n\\t\\t\\t\\\"tools/testing/qunit\\\",\\n\\t\\t\\t\\\"tools/testing/chutzpah\\\",\\n\\t\\t\\t\\\"server.net\\\"\\n ]\\n },\\n\\t\\\"languages\\\": {\\n\\t\\t\\\"vs.languages.typescript\\\": {\\n\\t\\t\\t\\\"validationSettings\\\": [{\\n\\t\\t\\t\\t\\\"scope\\\":\\\"/\\\",\\n\\t\\t\\t\\t\\\"noImplicitAny\\\":true,\\n\\t\\t\\t\\t\\\"noLib\\\":false,\\n\\t\\t\\t\\t\\\"extraLibs\\\":[],\\n\\t\\t\\t\\t\\\"semanticValidation\\\":true,\\n\\t\\t\\t\\t\\\"syntaxValidation\\\":true,\\n\\t\\t\\t\\t\\\"codeGenTarget\\\":\\\"ES5\\\",\\n\\t\\t\\t\\t\\\"moduleGenTarget\\\":\\\"\\\",\\n\\t\\t\\t\\t\\\"lint\\\": {\\n \\\"emptyBlocksWithoutComment\\\": \\\"warning\\\",\\n \\\"curlyBracketsMustNotBeOmitted\\\": \\\"warning\\\",\\n \\\"comparisonOperatorsNotStrict\\\": \\\"warning\\\",\\n \\\"missingSemicolon\\\": \\\"warning\\\",\\n \\\"unknownTypeOfResults\\\": \\\"warning\\\",\\n \\\"semicolonsInsteadOfBlocks\\\": \\\"warning\\\",\\n \\\"functionsInsideLoops\\\": \\\"warning\\\",\\n \\\"functionsWithoutReturnType\\\": \\\"warning\\\",\\n \\\"tripleSlashReferenceAlike\\\": \\\"warning\\\",\\n \\\"unusedImports\\\": \\\"warning\\\",\\n \\\"unusedVariables\\\": \\\"warning\\\",\\n \\\"unusedFunctions\\\": \\\"warning\\\",\\n \\\"unusedMembers\\\": \\\"warning\\\"\\n }\\n\\t\\t\\t}, \\n\\t\\t\\t{\\n\\t\\t\\t\\t\\\"scope\\\":\\\"/client\\\",\\n\\t\\t\\t\\t\\\"baseUrl\\\":\\\"/client\\\",\\n\\t\\t\\t\\t\\\"moduleGenTarget\\\":\\\"amd\\\"\\n\\t\\t\\t},\\n\\t\\t\\t{\\n\\t\\t\\t\\t\\\"scope\\\":\\\"/server\\\",\\n\\t\\t\\t\\t\\\"moduleGenTarget\\\":\\\"commonjs\\\"\\n\\t\\t\\t},\\n\\t\\t\\t{\\n\\t\\t\\t\\t\\\"scope\\\":\\\"/build\\\",\\n\\t\\t\\t\\t\\\"moduleGenTarget\\\":\\\"commonjs\\\"\\n\\t\\t\\t},\\n\\t\\t\\t{\\n\\t\\t\\t\\t\\\"scope\\\":\\\"/node_modules/nake\\\",\\n\\t\\t\\t\\t\\\"moduleGenTarget\\\":\\\"commonjs\\\"\\n\\t\\t\\t}],\\n\\t\\t\\t\\\"allowMultipleWorkers\\\": true\\n\\t\\t}\\n\\t}\\n}\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/1490.js b/1490.js
new file mode 100644
index 00000000..050fbe53
--- /dev/null
+++ b/1490.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[1490],{1490:(n,e,t)=>{t.r(e),t.d(e,{default:()=>a});const a='# Elixir is a dynamic, functional language for building scalable\n# and maintainable applications. Learn more: https://elixir-lang.org\n\n"Elixir" |> String.graphemes() |> Enum.frequencies()\n#=> %{"E" => 1, "i" => 2, "l" => 1, "r" => 1, "x" => 1}\n\n\n### Scalability ###\n\n# All Elixir code runs inside lightweight threads of execution (called processes)\n# that are isolated and exchange information via messages:\n\ncurrent_process = self()\n\n# Spawn an Elixir process (not an operating system one!)\nspawn_link(fn ->\n send(current_process, {:msg, "hello world"})\nend)\n\n# Block until the message is received\nreceive do\n {:msg, contents} -> IO.puts(contents)\nend\n\n\n### Fault-tolerance ###\n\n# To cope with failures, Elixir provides supervisors which describe\n# how to restart parts of your system when things go awry, going back\n# to a known initial state that is guaranteed to work:\n\nchildren = [\n TCP.Pool,\n {TCP.Acceptor, port: 4040}\n]\n\nSupervisor.start_link(children, strategy: :one_for_one)\n\n\n### Functional programming ###\n\n# Functional programming promotes a coding style that helps\n# developers write code that is short, concise, and maintainable.\n# One prominent example is pattern matching:\n\n%User{name: name, age: age} = User.get("John Doe")\nname #=> "John Doe"\n\n# When mixed with guards, pattern matching allows us to elegantly\n# match and assert specific conditions for some code to execute:\n\ndef drive(%User{age: age}) when age >= 16 do\n # Code that drives a car\nend\n\ndrive(User.get("John Doe"))\n#=> Fails if the user is under 16\n\n\n### Extensibility and DSLs ###\n\n# Elixir has been designed to be extensible, letting developers\n# naturally extend the language to particular domains,\n# in order to increase their productivity.\n\ndefmodule MathTest do\n use ExUnit.Case, async: true\n\n test "can add two numbers" do\n assert 1 + 1 == 2\n end\nend\n\n\n### Erlang compatible ###\n\n# An Elixir programmer can invoke any Erlang function with no runtime cost:\n\n:crypto.hash(:md5, "Using crypto from Erlang OTP")\n#=> <<192, 223, 75, 115, ...>>\n'}}]);
+//# sourceMappingURL=1490.js.map
\ No newline at end of file
diff --git a/1490.js.map b/1490.js.map
new file mode 100644
index 00000000..dfd607e0
--- /dev/null
+++ b/1490.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"1490.js","mappings":"8IAAA,mlE","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.elixir.txt"],"sourcesContent":["export default \"# Elixir is a dynamic, functional language for building scalable\\n# and maintainable applications. Learn more: https://elixir-lang.org\\n\\n\\\"Elixir\\\" |> String.graphemes() |> Enum.frequencies()\\n#=> %{\\\"E\\\" => 1, \\\"i\\\" => 2, \\\"l\\\" => 1, \\\"r\\\" => 1, \\\"x\\\" => 1}\\n\\n\\n### Scalability ###\\n\\n# All Elixir code runs inside lightweight threads of execution (called processes)\\n# that are isolated and exchange information via messages:\\n\\ncurrent_process = self()\\n\\n# Spawn an Elixir process (not an operating system one!)\\nspawn_link(fn ->\\n send(current_process, {:msg, \\\"hello world\\\"})\\nend)\\n\\n# Block until the message is received\\nreceive do\\n {:msg, contents} -> IO.puts(contents)\\nend\\n\\n\\n### Fault-tolerance ###\\n\\n# To cope with failures, Elixir provides supervisors which describe\\n# how to restart parts of your system when things go awry, going back\\n# to a known initial state that is guaranteed to work:\\n\\nchildren = [\\n TCP.Pool,\\n {TCP.Acceptor, port: 4040}\\n]\\n\\nSupervisor.start_link(children, strategy: :one_for_one)\\n\\n\\n### Functional programming ###\\n\\n# Functional programming promotes a coding style that helps\\n# developers write code that is short, concise, and maintainable.\\n# One prominent example is pattern matching:\\n\\n%User{name: name, age: age} = User.get(\\\"John Doe\\\")\\nname #=> \\\"John Doe\\\"\\n\\n# When mixed with guards, pattern matching allows us to elegantly\\n# match and assert specific conditions for some code to execute:\\n\\ndef drive(%User{age: age}) when age >= 16 do\\n # Code that drives a car\\nend\\n\\ndrive(User.get(\\\"John Doe\\\"))\\n#=> Fails if the user is under 16\\n\\n\\n### Extensibility and DSLs ###\\n\\n# Elixir has been designed to be extensible, letting developers\\n# naturally extend the language to particular domains,\\n# in order to increase their productivity.\\n\\ndefmodule MathTest do\\n use ExUnit.Case, async: true\\n\\n test \\\"can add two numbers\\\" do\\n assert 1 + 1 == 2\\n end\\nend\\n\\n\\n### Erlang compatible ###\\n\\n# An Elixir programmer can invoke any Erlang function with no runtime cost:\\n\\n:crypto.hash(:md5, \\\"Using crypto from Erlang OTP\\\")\\n#=> <<192, 223, 75, 115, ...>>\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/1526.js b/1526.js
new file mode 100644
index 00000000..456179c4
--- /dev/null
+++ b/1526.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[1526],{1526:(n,e,a)=>{a.r(e),a.d(e,{default:()=>t});const t="class Random < Liquid::Block\n def initialize(tag_name, markup, tokens)\n super\n @rand = markup.to_i\n end\n\n def render(context)\n value = rand(@rand)\n super.sub('^^^', value.to_s) # calling `super` returns the content of the block\n end\nend\n\nLiquid::Template.register_tag('random', Random)\ntext = \" {% random 5 %} you have drawn number ^^^, lucky you! {% endrandom %} \"\n@template = Liquid::Template.parse(text)\n@template.render # will return \"you have drawn number 1, lucky you!\" in 20% of cases\n"}}]);
+//# sourceMappingURL=1526.js.map
\ No newline at end of file
diff --git a/1526.js.map b/1526.js.map
new file mode 100644
index 00000000..524d19f3
--- /dev/null
+++ b/1526.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"1526.js","mappings":"8IAAA,8hB","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.liquid.txt"],"sourcesContent":["export default \"class Random < Liquid::Block\\n def initialize(tag_name, markup, tokens)\\n super\\n @rand = markup.to_i\\n end\\n\\n def render(context)\\n value = rand(@rand)\\n super.sub('^^^', value.to_s) # calling `super` returns the content of the block\\n end\\nend\\n\\nLiquid::Template.register_tag('random', Random)\\ntext = \\\" {% random 5 %} you have drawn number ^^^, lucky you! {% endrandom %} \\\"\\n@template = Liquid::Template.parse(text)\\n@template.render # will return \\\"you have drawn number 1, lucky you!\\\" in 20% of cases\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/1594.js b/1594.js
new file mode 100644
index 00000000..01e8f76c
--- /dev/null
+++ b/1594.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[1594],{1594:(n,e,a)=>{a.r(e),a.d(e,{default:()=>i});const i='terraform {\n required_providers {\n aws = {\n source = "hashicorp/aws"\n version = "~> 1.0.4"\n }\n }\n}\n\nvariable "aws_region" {}\n\nvariable "base_cidr_block" {\n description = "A /16 CIDR range definition, such as 10.1.0.0/16, that the VPC will use"\n default = "10.1.0.0/16"\n}\n\nvariable "availability_zones" {\n description = "A list of availability zones in which to create subnets"\n type = list(string)\n}\n\nprovider "aws" {\n region = var.aws_region\n}\n\nresource "aws_vpc" "main" {\n # Referencing the base_cidr_block variable allows the network address\n # to be changed without modifying the configuration.\n cidr_block = var.base_cidr_block\n}\n\nresource "aws_subnet" "az" {\n # Create one subnet for each given availability zone.\n count = length(var.availability_zones)\n\n # For each subnet, use one of the specified availability zones.\n availability_zone = var.availability_zones[count.index]\n\n # By referencing the aws_vpc.main object, Terraform knows that the subnet\n # must be created only after the VPC is created.\n vpc_id = aws_vpc.main.id\n\n # Built-in functions and operators can be used for simple transformations of\n # values, such as computing a subnet address. Here we create a /20 prefix for\n # each subnet, using consecutive addresses for each availability zone,\n # such as 10.1.16.0/20 .\n cidr_block = cidrsubnet(aws_vpc.main.cidr_block, 4, count.index+1)\n}\n'}}]);
+//# sourceMappingURL=1594.js.map
\ No newline at end of file
diff --git a/1594.js.map b/1594.js.map
new file mode 100644
index 00000000..a3a55dad
--- /dev/null
+++ b/1594.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"1594.js","mappings":"8IAAA,k7C","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.hcl.txt"],"sourcesContent":["export default \"terraform {\\n required_providers {\\n aws = {\\n source = \\\"hashicorp/aws\\\"\\n version = \\\"~> 1.0.4\\\"\\n }\\n }\\n}\\n\\nvariable \\\"aws_region\\\" {}\\n\\nvariable \\\"base_cidr_block\\\" {\\n description = \\\"A /16 CIDR range definition, such as 10.1.0.0/16, that the VPC will use\\\"\\n default = \\\"10.1.0.0/16\\\"\\n}\\n\\nvariable \\\"availability_zones\\\" {\\n description = \\\"A list of availability zones in which to create subnets\\\"\\n type = list(string)\\n}\\n\\nprovider \\\"aws\\\" {\\n region = var.aws_region\\n}\\n\\nresource \\\"aws_vpc\\\" \\\"main\\\" {\\n # Referencing the base_cidr_block variable allows the network address\\n # to be changed without modifying the configuration.\\n cidr_block = var.base_cidr_block\\n}\\n\\nresource \\\"aws_subnet\\\" \\\"az\\\" {\\n # Create one subnet for each given availability zone.\\n count = length(var.availability_zones)\\n\\n # For each subnet, use one of the specified availability zones.\\n availability_zone = var.availability_zones[count.index]\\n\\n # By referencing the aws_vpc.main object, Terraform knows that the subnet\\n # must be created only after the VPC is created.\\n vpc_id = aws_vpc.main.id\\n\\n # Built-in functions and operators can be used for simple transformations of\\n # values, such as computing a subnet address. Here we create a /20 prefix for\\n # each subnet, using consecutive addresses for each availability zone,\\n # such as 10.1.16.0/20 .\\n cidr_block = cidrsubnet(aws_vpc.main.cidr_block, 4, count.index+1)\\n}\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/1756.js b/1756.js
new file mode 100644
index 00000000..561cde00
--- /dev/null
+++ b/1756.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[1756],{1756:(e,n,t)=>{t.r(n),t.d(n,{default:()=>a});const a='Auto mode detect the tag syntax mode automatically.\nTry exchanging the order of the next two lines and see what happens!\n\n[#ftl stripText=false]\n<#ftl stripText=false>\n\n<#-- Free marker demo --\x3e\n\n<#comment>\nThis demonstrates the FreeMarker language. The default theme is not very\ncolorful and displays many different token types in the same color, but keep in\nmind that you can define your own theme (or extend an existing one).\n\nNote that free marker actually defines 6 similar but different syntax modes:\n\n- 3 tag syntax modes: Angle (<#if>), Bracket ([#if]), and Auto.\n- 2 interpolation modes: Dollar (${...}) and Bracket ([=...])\n\nIn auto mode, the first tag determines the tag syntax. You can use the language\nIDs "freemarker.tag-bracket.interpolation-dollar" etc. to force a specific mode.\n\nThe default FreeMarker mode is Angle/Dollar.\n#comment>\n\n<#macro greet name>\n Hello [=name]!\n#macro>\n\n<#macro border>\n
\n <#nested>\n
\n#macro>\n\n<#function avg x y>\n <#return (x + y) / 2>\n#function>\n\n<#assign user = "Juila Smith">\n<#assign animals = [{"name": "Tanuki", "price": 200}, {"name": "Phoenix", "price": 1111}]>\n\n\n\n Welcome!\n\n\n <#-- Greet the user with his/her name --\x3e\n
\n \t<@greet user />\n
\n\n
We have these animals:\n\n
\n <#list animals as animal>\n
[=animal.name] for [=animal.price] Euros\n #list>\n
\n\n <@border>The bordered text@border>\n\n The average of 35 and 49 is [=avg(35, 49)].\n\n\n\n'}}]);
+//# sourceMappingURL=1756.js.map
\ No newline at end of file
diff --git a/1756.js.map b/1756.js.map
new file mode 100644
index 00000000..9dccbe81
--- /dev/null
+++ b/1756.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"1756.js","mappings":"8IAAA,4oD","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.freemarker2.tag-auto.interpolation-bracket.txt"],"sourcesContent":["export default \"Auto mode detect the tag syntax mode automatically.\\nTry exchanging the order of the next two lines and see what happens!\\n\\n[#ftl stripText=false]\\n<#ftl stripText=false>\\n\\n<#-- Free marker demo -->\\n\\n<#comment>\\nThis demonstrates the FreeMarker language. The default theme is not very\\ncolorful and displays many different token types in the same color, but keep in\\nmind that you can define your own theme (or extend an existing one).\\n\\nNote that free marker actually defines 6 similar but different syntax modes:\\n\\n- 3 tag syntax modes: Angle (<#if>), Bracket ([#if]), and Auto.\\n- 2 interpolation modes: Dollar (${...}) and Bracket ([=...])\\n\\nIn auto mode, the first tag determines the tag syntax. You can use the language\\nIDs \\\"freemarker.tag-bracket.interpolation-dollar\\\" etc. to force a specific mode.\\n\\nThe default FreeMarker mode is Angle/Dollar.\\n#comment>\\n\\n<#macro greet name>\\n Hello [=name]!\\n#macro>\\n\\n<#macro border>\\n
\\n <#nested>\\n
\\n#macro>\\n\\n<#function avg x y>\\n <#return (x + y) / 2>\\n#function>\\n\\n<#assign user = \\\"Juila Smith\\\">\\n<#assign animals = [{\\\"name\\\": \\\"Tanuki\\\", \\\"price\\\": 200}, {\\\"name\\\": \\\"Phoenix\\\", \\\"price\\\": 1111}]>\\n\\n\\n\\n Welcome!\\n\\n\\n <#-- Greet the user with his/her name -->\\n
\\n \\t<@greet user />\\n
\\n\\n
We have these animals:\\n\\n
\\n <#list animals as animal>\\n
[=animal.name] for [=animal.price] Euros\\n #list>\\n
\\n\\n <@border>The bordered text@border>\\n\\n The average of 35 and 49 is [=avg(35, 49)].\\n\\n\\n\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/2055.js b/2055.js
new file mode 100644
index 00000000..01ea1aff
--- /dev/null
+++ b/2055.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[2055],{2055:(e,t,n)=>{n.r(t),n.d(t,{default:()=>r});const r='$SelectedObjectNames=@();\n$XenCenterNodeSelected = 0;\n#the object info array contains hashmaps, each of which represent a parameter set and describe a target in the XenCenter resource list\nforeach($parameterSet in $ObjInfoArray)\n{\n\tif ($parameterSet["class"] -eq "blank")\n\t{\n\t\t#When the XenCenter node is selected a parameter set is created for each of your connected servers with the class and objUuid keys marked as blank\n\t\tif ($XenCenterNodeSelected)\n\t\t{\n\t\t\tcontinue\n\t\t}\n\t\t$XenCenterNodeSelected = 1;\n\t\t$SelectedObjectNames += "XenCenter"\n\t}\n\telseif ($parameterSet["sessionRef"] -eq "null")\n\t{\n\t\t#When a disconnected server is selected there is no session information, we get null for everything except class\n\t}\n\t\t$SelectedObjectNames += "a disconnected server"\n\telse\n\t{\n\t\tConnect-XenServer -url $parameterSet["url"] -opaqueref $parameterSet["sessionRef"]\n\t\t#Use $class to determine which server objects to get\n\t\t#-properties allows us to filter the results to just include the selected object\n\t\t$exp = "Get-XenServer:{0} -properties @{{uuid=\'{1}\'}}" -f $parameterSet["class"], $parameterSet["objUuid"]\n\t\t$obj = Invoke-Expression $exp\n\t\t$SelectedObjectNames += $obj.name_label;\n\t} \n}'}}]);
+//# sourceMappingURL=2055.js.map
\ No newline at end of file
diff --git a/2055.js.map b/2055.js.map
new file mode 100644
index 00000000..d5cb5d01
--- /dev/null
+++ b/2055.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"2055.js","mappings":"8IAAA,mvC","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.powershell.txt"],"sourcesContent":["export default \"$SelectedObjectNames=@();\\n$XenCenterNodeSelected = 0;\\n#the object info array contains hashmaps, each of which represent a parameter set and describe a target in the XenCenter resource list\\nforeach($parameterSet in $ObjInfoArray)\\n{\\n\\tif ($parameterSet[\\\"class\\\"] -eq \\\"blank\\\")\\n\\t{\\n\\t\\t#When the XenCenter node is selected a parameter set is created for each of your connected servers with the class and objUuid keys marked as blank\\n\\t\\tif ($XenCenterNodeSelected)\\n\\t\\t{\\n\\t\\t\\tcontinue\\n\\t\\t}\\n\\t\\t$XenCenterNodeSelected = 1;\\n\\t\\t$SelectedObjectNames += \\\"XenCenter\\\"\\n\\t}\\n\\telseif ($parameterSet[\\\"sessionRef\\\"] -eq \\\"null\\\")\\n\\t{\\n\\t\\t#When a disconnected server is selected there is no session information, we get null for everything except class\\n\\t}\\n\\t\\t$SelectedObjectNames += \\\"a disconnected server\\\"\\n\\telse\\n\\t{\\n\\t\\tConnect-XenServer -url $parameterSet[\\\"url\\\"] -opaqueref $parameterSet[\\\"sessionRef\\\"]\\n\\t\\t#Use $class to determine which server objects to get\\n\\t\\t#-properties allows us to filter the results to just include the selected object\\n\\t\\t$exp = \\\"Get-XenServer:{0} -properties @{{uuid='{1}'}}\\\" -f $parameterSet[\\\"class\\\"], $parameterSet[\\\"objUuid\\\"]\\n\\t\\t$obj = Invoke-Expression $exp\\n\\t\\t$SelectedObjectNames += $obj.name_label;\\n\\t} \\n}\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/2090.js b/2090.js
new file mode 100644
index 00000000..b5609f70
--- /dev/null
+++ b/2090.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[2090],{2090:(e,a,n)=>{n.r(a),n.d(a,{default:()=>t});const t="LEX Paid Escrow.\nLEXON: 0.2.20\nCOMMENT: 3.f - an escrow that is controlled by a third party for a fee.\n\n“Payer” is a person.\n“Payee” is a person.\n“Arbiter” is a person.\n“Fee” is an amount.\n\nThe Payer pays an Amount into escrow,\nappoints the Payee,\nappoints the Arbiter,\nand also fixes the Fee.\n\nCLAUSE: Pay Out.\nThe Arbiter may pay from escrow the Fee to themselves,\nand afterwards pay the remainder of the escrow to the Payee.\n\nCLAUSE: Pay Back.\nThe Arbiter may pay from escrow the Fee to themselves,\nand afterwards return the remainder of the escrow to the Payer.\n"}}]);
+//# sourceMappingURL=2090.js.map
\ No newline at end of file
diff --git a/2090.js.map b/2090.js.map
new file mode 100644
index 00000000..fc923b02
--- /dev/null
+++ b/2090.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"2090.js","mappings":"8IAAA,qlB","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.lex.txt"],"sourcesContent":["export default \"LEX Paid Escrow.\\nLEXON: 0.2.20\\nCOMMENT: 3.f - an escrow that is controlled by a third party for a fee.\\n\\n“Payer” is a person.\\n“Payee” is a person.\\n“Arbiter” is a person.\\n“Fee” is an amount.\\n\\nThe Payer pays an Amount into escrow,\\nappoints the Payee,\\nappoints the Arbiter,\\nand also fixes the Fee.\\n\\nCLAUSE: Pay Out.\\nThe Arbiter may pay from escrow the Fee to themselves,\\nand afterwards pay the remainder of the escrow to the Payee.\\n\\nCLAUSE: Pay Back.\\nThe Arbiter may pay from escrow the Fee to themselves,\\nand afterwards return the remainder of the escrow to the Payer.\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/2365.js b/2365.js
new file mode 100644
index 00000000..660016d3
--- /dev/null
+++ b/2365.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[2365],{2365:(t,n,e)=>{e.r(n),e.d(n,{default:()=>r});const r='\n\n\n\tExample page\n\n\n\n\n\\n\\n
\\n\\n\\\");\\n\\n\\t// display shuffled cards (EXAMPLE ONLY)\\n\\tfor ($index = 0; $index < 52; $index++) {\\n\\t\\tif ($starting_point == 52) { $starting_point = 0; }\\n\\t\\tprint(\\\"Uncut Point: $deck[$index] \\\");\\n\\t\\tprint(\\\"Starting Point: $deck[$starting_point] \\\");\\n\\t\\t$starting_point++;\\n\\t}\\n?>\\n\\n\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/264.js b/264.js
index 8b05c6de..6ba84359 100644
--- a/264.js
+++ b/264.js
@@ -1,2 +1,2 @@
-"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[264],{264:(t,e,n)=>{n.r(e),n.d(e,{default:()=>i});const i='(function () {\n\tvar PLAY_SAMPLES = [\n\t\t{\n\t\t\tchapter: "Creating the editor",\n\t\t\tname: "Hello world!",\n\t\t\tid: "creating-the-editor-hello-world",\n\t\t\tpath: "creating-the-editor/hello-world",\n\t\t},\n\t\t{\n\t\t\tchapter: "Creating the editor",\n\t\t\tname: "Editor basic options",\n\t\t\tid: "creating-the-editor-editor-basic-options",\n\t\t\tpath: "creating-the-editor/editor-basic-options",\n\t\t},\n\t\t{\n\t\t\tchapter: "Creating the editor",\n\t\t\tname: "Hard wrapping",\n\t\t\tid: "creating-the-editor-hard-wrapping",\n\t\t\tpath: "creating-the-editor/hard-wrapping",\n\t\t},\n\t\t{\n\t\t\tchapter: "Creating the editor",\n\t\t\tname: "Syntax highlighting for HTML elements",\n\t\t\tid: "creating-the-editor-syntax-highlighting-for-html-elements",\n\t\t\tpath: "creating-the-editor/syntax-highlighting-for-html-elements",\n\t\t},\n\t\t{\n\t\t\tchapter: "Interacting with the editor",\n\t\t\tname: "Adding a command to an editor instance",\n\t\t\tid: "interacting-with-the-editor-adding-a-command-to-an-editor-instance",\n\t\t\tpath: "interacting-with-the-editor/adding-a-command-to-an-editor-instance",\n\t\t},\n\t\t{\n\t\t\tchapter: "Interacting with the editor",\n\t\t\tname: "Adding an action to an editor instance",\n\t\t\tid: "interacting-with-the-editor-adding-an-action-to-an-editor-instance",\n\t\t\tpath: "interacting-with-the-editor/adding-an-action-to-an-editor-instance",\n\t\t},\n\t\t{\n\t\t\tchapter: "Interacting with the editor",\n\t\t\tname: "Revealing a position",\n\t\t\tid: "interacting-with-the-editor-revealing-a-position",\n\t\t\tpath: "interacting-with-the-editor/revealing-a-position",\n\t\t},\n\t\t{\n\t\t\tchapter: "Interacting with the editor",\n\t\t\tname: "Rendering glyphs in the margin",\n\t\t\tid: "interacting-with-the-editor-rendering-glyphs-in-the-margin",\n\t\t\tpath: "interacting-with-the-editor/rendering-glyphs-in-the-margin",\n\t\t},\n\t\t{\n\t\t\tchapter: "Interacting with the editor",\n\t\t\tname: "Line and Inline decorations",\n\t\t\tid: "interacting-with-the-editor-line-and-inline-decorations",\n\t\t\tpath: "interacting-with-the-editor/line-and-inline-decorations",\n\t\t},\n\t\t{\n\t\t\tchapter: "Interacting with the editor",\n\t\t\tname: "Customizing the line numbers",\n\t\t\tid: "interacting-with-the-editor-customizing-the-line-numbers",\n\t\t\tpath: "interacting-with-the-editor/customizing-the-line-numbers",\n\t\t},\n\t\t{\n\t\t\tchapter: "Interacting with the editor",\n\t\t\tname: "Listening to mouse events",\n\t\t\tid: "interacting-with-the-editor-listening-to-mouse-events",\n\t\t\tpath: "interacting-with-the-editor/listening-to-mouse-events",\n\t\t},\n\t\t{\n\t\t\tchapter: "Interacting with the editor",\n\t\t\tname: "Listening to key events",\n\t\t\tid: "interacting-with-the-editor-listening-to-key-events",\n\t\t\tpath: "interacting-with-the-editor/listening-to-key-events",\n\t\t},\n\t\t{\n\t\t\tchapter: "Customizing the appearence",\n\t\t\tname: "Exposed colors",\n\t\t\tid: "customizing-the-appearence-exposed-colors",\n\t\t\tpath: "customizing-the-appearence/exposed-colors",\n\t\t},\n\t\t{\n\t\t\tchapter: "Customizing the appearence",\n\t\t\tname: "Scrollbars",\n\t\t\tid: "customizing-the-appearence-scrollbars",\n\t\t\tpath: "customizing-the-appearence/scrollbars",\n\t\t},\n\t\t{\n\t\t\tchapter: "Customizing the appearence",\n\t\t\tname: "Tokens and colors",\n\t\t\tid: "customizing-the-appearence-tokens-and-colors",\n\t\t\tpath: "customizing-the-appearence/tokens-and-colors",\n\t\t},\n\t\t{\n\t\t\tchapter: "Creating the DiffEditor",\n\t\t\tname: "Hello diff world!",\n\t\t\tid: "creating-the-diffeditor-hello-diff-world",\n\t\t\tpath: "creating-the-diffeditor/hello-diff-world",\n\t\t},\n\t\t{\n\t\t\tchapter: "Creating the DiffEditor",\n\t\t\tname: "Multi-line example",\n\t\t\tid: "creating-the-diffeditor-multi-line-example",\n\t\t\tpath: "creating-the-diffeditor/multi-line-example",\n\t\t},\n\t\t{\n\t\t\tchapter: "Creating the DiffEditor",\n\t\t\tname: "Inline Diff Example",\n\t\t\tid: "creating-the-diffeditor-inline-diff-example",\n\t\t\tpath: "creating-the-diffeditor/inline-diff-example",\n\t\t},\n\t\t{\n\t\t\tchapter: "Creating the DiffEditor",\n\t\t\tname: "Navigating a Diff",\n\t\t\tid: "creating-the-diffeditor-navigating-a-diff",\n\t\t\tpath: "creating-the-diffeditor/navigating-a-diff",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Custom languages",\n\t\t\tid: "extending-language-services-custom-languages",\n\t\t\tpath: "extending-language-services/custom-languages",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Completion provider example",\n\t\t\tid: "extending-language-services-completion-provider-example",\n\t\t\tpath: "extending-language-services/completion-provider-example",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Codelens provider example",\n\t\t\tid: "extending-language-services-codelens-provider-example",\n\t\t\tpath: "extending-language-services/codelens-provider-example",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Color provider example",\n\t\t\tid: "extending-language-services-color-provider-example",\n\t\t\tpath: "extending-language-services/color-provider-example",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Symbols provider example",\n\t\t\tid: "extending-language-services-symbols-provider-example",\n\t\t\tpath: "extending-language-services/symbols-provider-example",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Folding provider example",\n\t\t\tid: "extending-language-services-folding-provider-example",\n\t\t\tpath: "extending-language-services/folding-provider-example",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Hover provider example",\n\t\t\tid: "extending-language-services-hover-provider-example",\n\t\t\tpath: "extending-language-services/hover-provider-example",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Model markers example",\n\t\t\tid: "extending-language-services-model-markers-example",\n\t\t\tpath: "extending-language-services/model-markers-example",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Semantic tokens provider example",\n\t\t\tid: "extending-language-services-semantic-tokens-provider-example",\n\t\t\tpath: "extending-language-services/semantic-tokens-provider-example",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Configure JavaScript defaults",\n\t\t\tid: "extending-language-services-configure-javascript-defaults",\n\t\t\tpath: "extending-language-services/configure-javascript-defaults",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Configure JSON defaults",\n\t\t\tid: "extending-language-services-configure-json-defaults",\n\t\t\tpath: "extending-language-services/configure-json-defaults",\n\t\t},\n\t];\n\n\tif (typeof exports !== "undefined") {\n\t\texports.PLAY_SAMPLES = PLAY_SAMPLES;\n\t} else {\n\t\tself.PLAY_SAMPLES = PLAY_SAMPLES;\n\t}\n})();\n'}}]);
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[264],{264:(t,e,n)=>{n.r(e),n.d(e,{default:()=>i});const i='(function () {\n\tvar PLAY_SAMPLES = [\n\t\t{\n\t\t\tchapter: "Creating the editor",\n\t\t\tname: "Hello world!",\n\t\t\tid: "creating-the-editor-hello-world",\n\t\t\tpath: "creating-the-editor/hello-world",\n\t\t},\n\t\t{\n\t\t\tchapter: "Creating the editor",\n\t\t\tname: "Editor basic options",\n\t\t\tid: "creating-the-editor-editor-basic-options",\n\t\t\tpath: "creating-the-editor/editor-basic-options",\n\t\t},\n\t\t{\n\t\t\tchapter: "Creating the editor",\n\t\t\tname: "Hard wrapping",\n\t\t\tid: "creating-the-editor-hard-wrapping",\n\t\t\tpath: "creating-the-editor/hard-wrapping",\n\t\t},\n\t\t{\n\t\t\tchapter: "Creating the editor",\n\t\t\tname: "Syntax highlighting for HTML elements",\n\t\t\tid: "creating-the-editor-syntax-highlighting-for-html-elements",\n\t\t\tpath: "creating-the-editor/syntax-highlighting-for-html-elements",\n\t\t},\n\t\t{\n\t\t\tchapter: "Interacting with the editor",\n\t\t\tname: "Adding a command to an editor instance",\n\t\t\tid: "interacting-with-the-editor-adding-a-command-to-an-editor-instance",\n\t\t\tpath: "interacting-with-the-editor/adding-a-command-to-an-editor-instance",\n\t\t},\n\t\t{\n\t\t\tchapter: "Interacting with the editor",\n\t\t\tname: "Adding an action to an editor instance",\n\t\t\tid: "interacting-with-the-editor-adding-an-action-to-an-editor-instance",\n\t\t\tpath: "interacting-with-the-editor/adding-an-action-to-an-editor-instance",\n\t\t},\n\t\t{\n\t\t\tchapter: "Interacting with the editor",\n\t\t\tname: "Adding a keybinding to an existing command",\n\t\t\tid: "interacting-with-the-editor-adding-an-keybinding-to-an-existing-command",\n\t\t\tpath: "interacting-with-the-editor/adding-an-keybinding-to-an-existing-command",\n\t\t},\n\t\t{\n\t\t\tchapter: "Interacting with the editor",\n\t\t\tname: "Revealing a position",\n\t\t\tid: "interacting-with-the-editor-revealing-a-position",\n\t\t\tpath: "interacting-with-the-editor/revealing-a-position",\n\t\t},\n\t\t{\n\t\t\tchapter: "Interacting with the editor",\n\t\t\tname: "Rendering glyphs in the margin",\n\t\t\tid: "interacting-with-the-editor-rendering-glyphs-in-the-margin",\n\t\t\tpath: "interacting-with-the-editor/rendering-glyphs-in-the-margin",\n\t\t},\n\t\t{\n\t\t\tchapter: "Interacting with the editor",\n\t\t\tname: "Line and Inline decorations",\n\t\t\tid: "interacting-with-the-editor-line-and-inline-decorations",\n\t\t\tpath: "interacting-with-the-editor/line-and-inline-decorations",\n\t\t},\n\t\t{\n\t\t\tchapter: "Interacting with the editor",\n\t\t\tname: "Customizing the line numbers",\n\t\t\tid: "interacting-with-the-editor-customizing-the-line-numbers",\n\t\t\tpath: "interacting-with-the-editor/customizing-the-line-numbers",\n\t\t},\n\t\t{\n\t\t\tchapter: "Interacting with the editor",\n\t\t\tname: "Listening to mouse events",\n\t\t\tid: "interacting-with-the-editor-listening-to-mouse-events",\n\t\t\tpath: "interacting-with-the-editor/listening-to-mouse-events",\n\t\t},\n\t\t{\n\t\t\tchapter: "Interacting with the editor",\n\t\t\tname: "Listening to key events",\n\t\t\tid: "interacting-with-the-editor-listening-to-key-events",\n\t\t\tpath: "interacting-with-the-editor/listening-to-key-events",\n\t\t},\n\t\t{\n\t\t\tchapter: "Customizing the appearence",\n\t\t\tname: "Exposed colors",\n\t\t\tid: "customizing-the-appearence-exposed-colors",\n\t\t\tpath: "customizing-the-appearence/exposed-colors",\n\t\t},\n\t\t{\n\t\t\tchapter: "Customizing the appearence",\n\t\t\tname: "Scrollbars",\n\t\t\tid: "customizing-the-appearence-scrollbars",\n\t\t\tpath: "customizing-the-appearence/scrollbars",\n\t\t},\n\t\t{\n\t\t\tchapter: "Customizing the appearence",\n\t\t\tname: "Tokens and colors",\n\t\t\tid: "customizing-the-appearence-tokens-and-colors",\n\t\t\tpath: "customizing-the-appearence/tokens-and-colors",\n\t\t},\n\t\t{\n\t\t\tchapter: "Creating the DiffEditor",\n\t\t\tname: "Hello diff world!",\n\t\t\tid: "creating-the-diffeditor-hello-diff-world",\n\t\t\tpath: "creating-the-diffeditor/hello-diff-world",\n\t\t},\n\t\t{\n\t\t\tchapter: "Creating the DiffEditor",\n\t\t\tname: "Multi-line example",\n\t\t\tid: "creating-the-diffeditor-multi-line-example",\n\t\t\tpath: "creating-the-diffeditor/multi-line-example",\n\t\t},\n\t\t{\n\t\t\tchapter: "Creating the DiffEditor",\n\t\t\tname: "Inline Diff Example",\n\t\t\tid: "creating-the-diffeditor-inline-diff-example",\n\t\t\tpath: "creating-the-diffeditor/inline-diff-example",\n\t\t},\n\t\t{\n\t\t\tchapter: "Creating the DiffEditor",\n\t\t\tname: "Navigating a Diff",\n\t\t\tid: "creating-the-diffeditor-navigating-a-diff",\n\t\t\tpath: "creating-the-diffeditor/navigating-a-diff",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Custom languages",\n\t\t\tid: "extending-language-services-custom-languages",\n\t\t\tpath: "extending-language-services/custom-languages",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Completion provider example",\n\t\t\tid: "extending-language-services-completion-provider-example",\n\t\t\tpath: "extending-language-services/completion-provider-example",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Codelens provider example",\n\t\t\tid: "extending-language-services-codelens-provider-example",\n\t\t\tpath: "extending-language-services/codelens-provider-example",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Color provider example",\n\t\t\tid: "extending-language-services-color-provider-example",\n\t\t\tpath: "extending-language-services/color-provider-example",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Symbols provider example",\n\t\t\tid: "extending-language-services-symbols-provider-example",\n\t\t\tpath: "extending-language-services/symbols-provider-example",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Folding provider example",\n\t\t\tid: "extending-language-services-folding-provider-example",\n\t\t\tpath: "extending-language-services/folding-provider-example",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Hover provider example",\n\t\t\tid: "extending-language-services-hover-provider-example",\n\t\t\tpath: "extending-language-services/hover-provider-example",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Model markers example",\n\t\t\tid: "extending-language-services-model-markers-example",\n\t\t\tpath: "extending-language-services/model-markers-example",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Semantic tokens provider example",\n\t\t\tid: "extending-language-services-semantic-tokens-provider-example",\n\t\t\tpath: "extending-language-services/semantic-tokens-provider-example",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Configure JavaScript defaults",\n\t\t\tid: "extending-language-services-configure-javascript-defaults",\n\t\t\tpath: "extending-language-services/configure-javascript-defaults",\n\t\t},\n\t\t{\n\t\t\tchapter: "Extending Language Services",\n\t\t\tname: "Configure JSON defaults",\n\t\t\tid: "extending-language-services-configure-json-defaults",\n\t\t\tpath: "extending-language-services/configure-json-defaults",\n\t\t},\n\t];\n\n\tif (typeof exports !== "undefined") {\n\t\texports.PLAY_SAMPLES = PLAY_SAMPLES;\n\t} else {\n\t\tself.PLAY_SAMPLES = PLAY_SAMPLES;\n\t}\n})();\n'}}]);
//# sourceMappingURL=264.js.map
\ No newline at end of file
diff --git a/264.js.map b/264.js.map
index fb1f7fab..13eed55f 100644
--- a/264.js.map
+++ b/264.js.map
@@ -1 +1 @@
-{"version":3,"file":"264.js","mappings":"4IAAA,i9N","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/playground-samples/all.js"],"sourcesContent":["export default \"(function () {\\n\\tvar PLAY_SAMPLES = [\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Creating the editor\\\",\\n\\t\\t\\tname: \\\"Hello world!\\\",\\n\\t\\t\\tid: \\\"creating-the-editor-hello-world\\\",\\n\\t\\t\\tpath: \\\"creating-the-editor/hello-world\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Creating the editor\\\",\\n\\t\\t\\tname: \\\"Editor basic options\\\",\\n\\t\\t\\tid: \\\"creating-the-editor-editor-basic-options\\\",\\n\\t\\t\\tpath: \\\"creating-the-editor/editor-basic-options\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Creating the editor\\\",\\n\\t\\t\\tname: \\\"Hard wrapping\\\",\\n\\t\\t\\tid: \\\"creating-the-editor-hard-wrapping\\\",\\n\\t\\t\\tpath: \\\"creating-the-editor/hard-wrapping\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Creating the editor\\\",\\n\\t\\t\\tname: \\\"Syntax highlighting for HTML elements\\\",\\n\\t\\t\\tid: \\\"creating-the-editor-syntax-highlighting-for-html-elements\\\",\\n\\t\\t\\tpath: \\\"creating-the-editor/syntax-highlighting-for-html-elements\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Interacting with the editor\\\",\\n\\t\\t\\tname: \\\"Adding a command to an editor instance\\\",\\n\\t\\t\\tid: \\\"interacting-with-the-editor-adding-a-command-to-an-editor-instance\\\",\\n\\t\\t\\tpath: \\\"interacting-with-the-editor/adding-a-command-to-an-editor-instance\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Interacting with the editor\\\",\\n\\t\\t\\tname: \\\"Adding an action to an editor instance\\\",\\n\\t\\t\\tid: \\\"interacting-with-the-editor-adding-an-action-to-an-editor-instance\\\",\\n\\t\\t\\tpath: \\\"interacting-with-the-editor/adding-an-action-to-an-editor-instance\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Interacting with the editor\\\",\\n\\t\\t\\tname: \\\"Revealing a position\\\",\\n\\t\\t\\tid: \\\"interacting-with-the-editor-revealing-a-position\\\",\\n\\t\\t\\tpath: \\\"interacting-with-the-editor/revealing-a-position\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Interacting with the editor\\\",\\n\\t\\t\\tname: \\\"Rendering glyphs in the margin\\\",\\n\\t\\t\\tid: \\\"interacting-with-the-editor-rendering-glyphs-in-the-margin\\\",\\n\\t\\t\\tpath: \\\"interacting-with-the-editor/rendering-glyphs-in-the-margin\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Interacting with the editor\\\",\\n\\t\\t\\tname: \\\"Line and Inline decorations\\\",\\n\\t\\t\\tid: \\\"interacting-with-the-editor-line-and-inline-decorations\\\",\\n\\t\\t\\tpath: \\\"interacting-with-the-editor/line-and-inline-decorations\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Interacting with the editor\\\",\\n\\t\\t\\tname: \\\"Customizing the line numbers\\\",\\n\\t\\t\\tid: \\\"interacting-with-the-editor-customizing-the-line-numbers\\\",\\n\\t\\t\\tpath: \\\"interacting-with-the-editor/customizing-the-line-numbers\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Interacting with the editor\\\",\\n\\t\\t\\tname: \\\"Listening to mouse events\\\",\\n\\t\\t\\tid: \\\"interacting-with-the-editor-listening-to-mouse-events\\\",\\n\\t\\t\\tpath: \\\"interacting-with-the-editor/listening-to-mouse-events\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Interacting with the editor\\\",\\n\\t\\t\\tname: \\\"Listening to key events\\\",\\n\\t\\t\\tid: \\\"interacting-with-the-editor-listening-to-key-events\\\",\\n\\t\\t\\tpath: \\\"interacting-with-the-editor/listening-to-key-events\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Customizing the appearence\\\",\\n\\t\\t\\tname: \\\"Exposed colors\\\",\\n\\t\\t\\tid: \\\"customizing-the-appearence-exposed-colors\\\",\\n\\t\\t\\tpath: \\\"customizing-the-appearence/exposed-colors\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Customizing the appearence\\\",\\n\\t\\t\\tname: \\\"Scrollbars\\\",\\n\\t\\t\\tid: \\\"customizing-the-appearence-scrollbars\\\",\\n\\t\\t\\tpath: \\\"customizing-the-appearence/scrollbars\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Customizing the appearence\\\",\\n\\t\\t\\tname: \\\"Tokens and colors\\\",\\n\\t\\t\\tid: \\\"customizing-the-appearence-tokens-and-colors\\\",\\n\\t\\t\\tpath: \\\"customizing-the-appearence/tokens-and-colors\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Creating the DiffEditor\\\",\\n\\t\\t\\tname: \\\"Hello diff world!\\\",\\n\\t\\t\\tid: \\\"creating-the-diffeditor-hello-diff-world\\\",\\n\\t\\t\\tpath: \\\"creating-the-diffeditor/hello-diff-world\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Creating the DiffEditor\\\",\\n\\t\\t\\tname: \\\"Multi-line example\\\",\\n\\t\\t\\tid: \\\"creating-the-diffeditor-multi-line-example\\\",\\n\\t\\t\\tpath: \\\"creating-the-diffeditor/multi-line-example\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Creating the DiffEditor\\\",\\n\\t\\t\\tname: \\\"Inline Diff Example\\\",\\n\\t\\t\\tid: \\\"creating-the-diffeditor-inline-diff-example\\\",\\n\\t\\t\\tpath: \\\"creating-the-diffeditor/inline-diff-example\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Creating the DiffEditor\\\",\\n\\t\\t\\tname: \\\"Navigating a Diff\\\",\\n\\t\\t\\tid: \\\"creating-the-diffeditor-navigating-a-diff\\\",\\n\\t\\t\\tpath: \\\"creating-the-diffeditor/navigating-a-diff\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Custom languages\\\",\\n\\t\\t\\tid: \\\"extending-language-services-custom-languages\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/custom-languages\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Completion provider example\\\",\\n\\t\\t\\tid: \\\"extending-language-services-completion-provider-example\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/completion-provider-example\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Codelens provider example\\\",\\n\\t\\t\\tid: \\\"extending-language-services-codelens-provider-example\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/codelens-provider-example\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Color provider example\\\",\\n\\t\\t\\tid: \\\"extending-language-services-color-provider-example\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/color-provider-example\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Symbols provider example\\\",\\n\\t\\t\\tid: \\\"extending-language-services-symbols-provider-example\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/symbols-provider-example\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Folding provider example\\\",\\n\\t\\t\\tid: \\\"extending-language-services-folding-provider-example\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/folding-provider-example\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Hover provider example\\\",\\n\\t\\t\\tid: \\\"extending-language-services-hover-provider-example\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/hover-provider-example\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Model markers example\\\",\\n\\t\\t\\tid: \\\"extending-language-services-model-markers-example\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/model-markers-example\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Semantic tokens provider example\\\",\\n\\t\\t\\tid: \\\"extending-language-services-semantic-tokens-provider-example\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/semantic-tokens-provider-example\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Configure JavaScript defaults\\\",\\n\\t\\t\\tid: \\\"extending-language-services-configure-javascript-defaults\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/configure-javascript-defaults\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Configure JSON defaults\\\",\\n\\t\\t\\tid: \\\"extending-language-services-configure-json-defaults\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/configure-json-defaults\\\",\\n\\t\\t},\\n\\t];\\n\\n\\tif (typeof exports !== \\\"undefined\\\") {\\n\\t\\texports.PLAY_SAMPLES = PLAY_SAMPLES;\\n\\t} else {\\n\\t\\tself.PLAY_SAMPLES = PLAY_SAMPLES;\\n\\t}\\n})();\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"264.js","mappings":"4IAAA,wvO","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/playground-samples/all.js"],"sourcesContent":["export default \"(function () {\\n\\tvar PLAY_SAMPLES = [\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Creating the editor\\\",\\n\\t\\t\\tname: \\\"Hello world!\\\",\\n\\t\\t\\tid: \\\"creating-the-editor-hello-world\\\",\\n\\t\\t\\tpath: \\\"creating-the-editor/hello-world\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Creating the editor\\\",\\n\\t\\t\\tname: \\\"Editor basic options\\\",\\n\\t\\t\\tid: \\\"creating-the-editor-editor-basic-options\\\",\\n\\t\\t\\tpath: \\\"creating-the-editor/editor-basic-options\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Creating the editor\\\",\\n\\t\\t\\tname: \\\"Hard wrapping\\\",\\n\\t\\t\\tid: \\\"creating-the-editor-hard-wrapping\\\",\\n\\t\\t\\tpath: \\\"creating-the-editor/hard-wrapping\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Creating the editor\\\",\\n\\t\\t\\tname: \\\"Syntax highlighting for HTML elements\\\",\\n\\t\\t\\tid: \\\"creating-the-editor-syntax-highlighting-for-html-elements\\\",\\n\\t\\t\\tpath: \\\"creating-the-editor/syntax-highlighting-for-html-elements\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Interacting with the editor\\\",\\n\\t\\t\\tname: \\\"Adding a command to an editor instance\\\",\\n\\t\\t\\tid: \\\"interacting-with-the-editor-adding-a-command-to-an-editor-instance\\\",\\n\\t\\t\\tpath: \\\"interacting-with-the-editor/adding-a-command-to-an-editor-instance\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Interacting with the editor\\\",\\n\\t\\t\\tname: \\\"Adding an action to an editor instance\\\",\\n\\t\\t\\tid: \\\"interacting-with-the-editor-adding-an-action-to-an-editor-instance\\\",\\n\\t\\t\\tpath: \\\"interacting-with-the-editor/adding-an-action-to-an-editor-instance\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Interacting with the editor\\\",\\n\\t\\t\\tname: \\\"Adding a keybinding to an existing command\\\",\\n\\t\\t\\tid: \\\"interacting-with-the-editor-adding-an-keybinding-to-an-existing-command\\\",\\n\\t\\t\\tpath: \\\"interacting-with-the-editor/adding-an-keybinding-to-an-existing-command\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Interacting with the editor\\\",\\n\\t\\t\\tname: \\\"Revealing a position\\\",\\n\\t\\t\\tid: \\\"interacting-with-the-editor-revealing-a-position\\\",\\n\\t\\t\\tpath: \\\"interacting-with-the-editor/revealing-a-position\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Interacting with the editor\\\",\\n\\t\\t\\tname: \\\"Rendering glyphs in the margin\\\",\\n\\t\\t\\tid: \\\"interacting-with-the-editor-rendering-glyphs-in-the-margin\\\",\\n\\t\\t\\tpath: \\\"interacting-with-the-editor/rendering-glyphs-in-the-margin\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Interacting with the editor\\\",\\n\\t\\t\\tname: \\\"Line and Inline decorations\\\",\\n\\t\\t\\tid: \\\"interacting-with-the-editor-line-and-inline-decorations\\\",\\n\\t\\t\\tpath: \\\"interacting-with-the-editor/line-and-inline-decorations\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Interacting with the editor\\\",\\n\\t\\t\\tname: \\\"Customizing the line numbers\\\",\\n\\t\\t\\tid: \\\"interacting-with-the-editor-customizing-the-line-numbers\\\",\\n\\t\\t\\tpath: \\\"interacting-with-the-editor/customizing-the-line-numbers\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Interacting with the editor\\\",\\n\\t\\t\\tname: \\\"Listening to mouse events\\\",\\n\\t\\t\\tid: \\\"interacting-with-the-editor-listening-to-mouse-events\\\",\\n\\t\\t\\tpath: \\\"interacting-with-the-editor/listening-to-mouse-events\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Interacting with the editor\\\",\\n\\t\\t\\tname: \\\"Listening to key events\\\",\\n\\t\\t\\tid: \\\"interacting-with-the-editor-listening-to-key-events\\\",\\n\\t\\t\\tpath: \\\"interacting-with-the-editor/listening-to-key-events\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Customizing the appearence\\\",\\n\\t\\t\\tname: \\\"Exposed colors\\\",\\n\\t\\t\\tid: \\\"customizing-the-appearence-exposed-colors\\\",\\n\\t\\t\\tpath: \\\"customizing-the-appearence/exposed-colors\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Customizing the appearence\\\",\\n\\t\\t\\tname: \\\"Scrollbars\\\",\\n\\t\\t\\tid: \\\"customizing-the-appearence-scrollbars\\\",\\n\\t\\t\\tpath: \\\"customizing-the-appearence/scrollbars\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Customizing the appearence\\\",\\n\\t\\t\\tname: \\\"Tokens and colors\\\",\\n\\t\\t\\tid: \\\"customizing-the-appearence-tokens-and-colors\\\",\\n\\t\\t\\tpath: \\\"customizing-the-appearence/tokens-and-colors\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Creating the DiffEditor\\\",\\n\\t\\t\\tname: \\\"Hello diff world!\\\",\\n\\t\\t\\tid: \\\"creating-the-diffeditor-hello-diff-world\\\",\\n\\t\\t\\tpath: \\\"creating-the-diffeditor/hello-diff-world\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Creating the DiffEditor\\\",\\n\\t\\t\\tname: \\\"Multi-line example\\\",\\n\\t\\t\\tid: \\\"creating-the-diffeditor-multi-line-example\\\",\\n\\t\\t\\tpath: \\\"creating-the-diffeditor/multi-line-example\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Creating the DiffEditor\\\",\\n\\t\\t\\tname: \\\"Inline Diff Example\\\",\\n\\t\\t\\tid: \\\"creating-the-diffeditor-inline-diff-example\\\",\\n\\t\\t\\tpath: \\\"creating-the-diffeditor/inline-diff-example\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Creating the DiffEditor\\\",\\n\\t\\t\\tname: \\\"Navigating a Diff\\\",\\n\\t\\t\\tid: \\\"creating-the-diffeditor-navigating-a-diff\\\",\\n\\t\\t\\tpath: \\\"creating-the-diffeditor/navigating-a-diff\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Custom languages\\\",\\n\\t\\t\\tid: \\\"extending-language-services-custom-languages\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/custom-languages\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Completion provider example\\\",\\n\\t\\t\\tid: \\\"extending-language-services-completion-provider-example\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/completion-provider-example\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Codelens provider example\\\",\\n\\t\\t\\tid: \\\"extending-language-services-codelens-provider-example\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/codelens-provider-example\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Color provider example\\\",\\n\\t\\t\\tid: \\\"extending-language-services-color-provider-example\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/color-provider-example\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Symbols provider example\\\",\\n\\t\\t\\tid: \\\"extending-language-services-symbols-provider-example\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/symbols-provider-example\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Folding provider example\\\",\\n\\t\\t\\tid: \\\"extending-language-services-folding-provider-example\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/folding-provider-example\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Hover provider example\\\",\\n\\t\\t\\tid: \\\"extending-language-services-hover-provider-example\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/hover-provider-example\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Model markers example\\\",\\n\\t\\t\\tid: \\\"extending-language-services-model-markers-example\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/model-markers-example\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Semantic tokens provider example\\\",\\n\\t\\t\\tid: \\\"extending-language-services-semantic-tokens-provider-example\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/semantic-tokens-provider-example\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Configure JavaScript defaults\\\",\\n\\t\\t\\tid: \\\"extending-language-services-configure-javascript-defaults\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/configure-javascript-defaults\\\",\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\tchapter: \\\"Extending Language Services\\\",\\n\\t\\t\\tname: \\\"Configure JSON defaults\\\",\\n\\t\\t\\tid: \\\"extending-language-services-configure-json-defaults\\\",\\n\\t\\t\\tpath: \\\"extending-language-services/configure-json-defaults\\\",\\n\\t\\t},\\n\\t];\\n\\n\\tif (typeof exports !== \\\"undefined\\\") {\\n\\t\\texports.PLAY_SAMPLES = PLAY_SAMPLES;\\n\\t} else {\\n\\t\\tself.PLAY_SAMPLES = PLAY_SAMPLES;\\n\\t}\\n})();\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/2840.js b/2840.js
new file mode 100644
index 00000000..a7fc0d0f
--- /dev/null
+++ b/2840.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[2840],{2840:(n,e,s)=>{s.r(e),s.d(e,{default:()=>t});const t='Imports System\nImports System.Collections.Generic\n\nModule Module1\n\n Sub Main()\n Dim a As New M8Ball\n\n Do While True\n\n Dim q As String = ""\n Console.Write("ask me about the future... ")\n q = Console.ReadLine()\n\n If q.Trim <> "" Then\n Console.WriteLine("the answer is... {0}", a.getAnswer(q))\n Else\n Exit Do\n End If\n Loop\n\n End Sub\n\nEnd Module\n\nClass M8Ball\n\n Public Answers As System.Collections.Generic.Dictionary(Of Integer, String)\n\n Public Sub New()\n Answers = New System.Collections.Generic.Dictionary(Of Integer, String)\n Answers.Add(0, "It is certain")\n Answers.Add(1, "It is decidedly so")\n Answers.Add(2, "Without a doubt")\n Answers.Add(3, "Yes, definitely")\n Answers.Add(4, "You may rely on ")\n Answers.Add(5, "As I see it, yes")\n Answers.Add(6, "Most likely")\n Answers.Add(7, "Outlook good")\n Answers.Add(8, "Signs point to yes")\n Answers.Add(9, "Yes")\n Answers.Add(10, "Reply hazy, try again")\n Answers.Add(11, "Ask again later")\n Answers.Add(12, "Better not tell you now")\n Answers.Add(13, "Cannot predict now")\n Answers.Add(14, "Concentrate and ask again")\n Answers.Add(15, "Don\'t count on it")\n Answers.Add(16, "My reply is no")\n Answers.Add(17, "My sources say no")\n Answers.Add(18, "Outlook not so")\n Answers.Add(19, "Very doubtful")\n End Sub\n\n Public Function getAnswer(theQuestion As String) As String\n Dim r As New Random\n Return Answers(r.Next(0, 19))\n End Function\n\nEnd Class\n'}}]);
+//# sourceMappingURL=2840.js.map
\ No newline at end of file
diff --git a/2840.js.map b/2840.js.map
new file mode 100644
index 00000000..d5587750
--- /dev/null
+++ b/2840.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"2840.js","mappings":"8IAAA,suD","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.vb.txt"],"sourcesContent":["export default \"Imports System\\nImports System.Collections.Generic\\n\\nModule Module1\\n\\n Sub Main()\\n Dim a As New M8Ball\\n\\n Do While True\\n\\n Dim q As String = \\\"\\\"\\n Console.Write(\\\"ask me about the future... \\\")\\n q = Console.ReadLine()\\n\\n If q.Trim <> \\\"\\\" Then\\n Console.WriteLine(\\\"the answer is... {0}\\\", a.getAnswer(q))\\n Else\\n Exit Do\\n End If\\n Loop\\n\\n End Sub\\n\\nEnd Module\\n\\nClass M8Ball\\n\\n Public Answers As System.Collections.Generic.Dictionary(Of Integer, String)\\n\\n Public Sub New()\\n Answers = New System.Collections.Generic.Dictionary(Of Integer, String)\\n Answers.Add(0, \\\"It is certain\\\")\\n Answers.Add(1, \\\"It is decidedly so\\\")\\n Answers.Add(2, \\\"Without a doubt\\\")\\n Answers.Add(3, \\\"Yes, definitely\\\")\\n Answers.Add(4, \\\"You may rely on \\\")\\n Answers.Add(5, \\\"As I see it, yes\\\")\\n Answers.Add(6, \\\"Most likely\\\")\\n Answers.Add(7, \\\"Outlook good\\\")\\n Answers.Add(8, \\\"Signs point to yes\\\")\\n Answers.Add(9, \\\"Yes\\\")\\n Answers.Add(10, \\\"Reply hazy, try again\\\")\\n Answers.Add(11, \\\"Ask again later\\\")\\n Answers.Add(12, \\\"Better not tell you now\\\")\\n Answers.Add(13, \\\"Cannot predict now\\\")\\n Answers.Add(14, \\\"Concentrate and ask again\\\")\\n Answers.Add(15, \\\"Don't count on it\\\")\\n Answers.Add(16, \\\"My reply is no\\\")\\n Answers.Add(17, \\\"My sources say no\\\")\\n Answers.Add(18, \\\"Outlook not so\\\")\\n Answers.Add(19, \\\"Very doubtful\\\")\\n End Sub\\n\\n Public Function getAnswer(theQuestion As String) As String\\n Dim r As New Random\\n Return Answers(r.Next(0, 19))\\n End Function\\n\\nEnd Class\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/2873.js b/2873.js
new file mode 100644
index 00000000..325227c8
--- /dev/null
+++ b/2873.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[2873],{2873:(n,t,o)=>{o.r(t),o.d(t,{default:()=>c});const c="F0 := IMDB.File_actors;\nCountActors := RECORD\nF0.ActorName;\nUNSIGNED C := COUNT(GROUP);\nEND;\nMoviesIn := TABLE(F0,CountActors,ActorName);\nOUTPUT(TOPN(MoviesIn,100,-C));\n"}}]);
+//# sourceMappingURL=2873.js.map
\ No newline at end of file
diff --git a/2873.js.map b/2873.js.map
new file mode 100644
index 00000000..2811f828
--- /dev/null
+++ b/2873.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"2873.js","mappings":"8IAAA,0L","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.ecl.txt"],"sourcesContent":["export default \"F0 := IMDB.File_actors;\\nCountActors := RECORD\\nF0.ActorName;\\nUNSIGNED C := COUNT(GROUP);\\nEND;\\nMoviesIn := TABLE(F0,CountActors,ActorName);\\nOUTPUT(TOPN(MoviesIn,100,-C));\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/2938.js b/2938.js
new file mode 100644
index 00000000..33fd3e28
--- /dev/null
+++ b/2938.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[2938],{2938:(e,n,i)=>{i.r(n),i.d(n,{default:()=>t});const t='#!/bin/bash\n# Simple line count example, using bash\n#\n# Bash tutorial: http://linuxconfig.org/Bash_scripting_Tutorial#8-2-read-file-into-bash-array\n# My scripting link: http://www.macs.hw.ac.uk/~hwloidl/docs/index.html#scripting\n#\n# Usage: ./line_count.sh file\n# -----------------------------------------------------------------------------\n\n# Link filedescriptor 10 with stdin\nexec 10<&0\n# stdin replaced with a file supplied as a first argument\nexec < $1\n# remember the name of the input file\nin=$1\n\n# init\nfile="current_line.txt"\nlet count=0\n\n# this while loop iterates over all lines of the file\nwhile read LINE\ndo\n # increase line counter\n ((count++))\n # write current line to a tmp file with name $file (not needed for counting)\n echo $LINE > $file\n # this checks the return code of echo (not needed for writing; just for demo)\n if [ $? -ne 0 ]\n then echo "Error in writing to file ${file}; check its permissions!"\n fi\ndone\n\necho "Number of lines: $count"\necho "The last line of the file is: `cat ${file}`"\n\n# Note: You can achieve the same by just using the tool wc like this\necho "Expected number of lines: `wc -l $in`"\n\n# restore stdin from filedescriptor 10\n# and close filedescriptor 10\nexec 0<&10 10<&-'}}]);
+//# sourceMappingURL=2938.js.map
\ No newline at end of file
diff --git a/2938.js.map b/2938.js.map
new file mode 100644
index 00000000..d5eada9d
--- /dev/null
+++ b/2938.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"2938.js","mappings":"8IAAA,0wC","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.shell.txt"],"sourcesContent":["export default \"#!/bin/bash\\n# Simple line count example, using bash\\n#\\n# Bash tutorial: http://linuxconfig.org/Bash_scripting_Tutorial#8-2-read-file-into-bash-array\\n# My scripting link: http://www.macs.hw.ac.uk/~hwloidl/docs/index.html#scripting\\n#\\n# Usage: ./line_count.sh file\\n# -----------------------------------------------------------------------------\\n\\n# Link filedescriptor 10 with stdin\\nexec 10<&0\\n# stdin replaced with a file supplied as a first argument\\nexec < $1\\n# remember the name of the input file\\nin=$1\\n\\n# init\\nfile=\\\"current_line.txt\\\"\\nlet count=0\\n\\n# this while loop iterates over all lines of the file\\nwhile read LINE\\ndo\\n # increase line counter\\n ((count++))\\n # write current line to a tmp file with name $file (not needed for counting)\\n echo $LINE > $file\\n # this checks the return code of echo (not needed for writing; just for demo)\\n if [ $? -ne 0 ]\\n then echo \\\"Error in writing to file ${file}; check its permissions!\\\"\\n fi\\ndone\\n\\necho \\\"Number of lines: $count\\\"\\necho \\\"The last line of the file is: `cat ${file}`\\\"\\n\\n# Note: You can achieve the same by just using the tool wc like this\\necho \\\"Expected number of lines: `wc -l $in`\\\"\\n\\n# restore stdin from filedescriptor 10\\n# and close filedescriptor 10\\nexec 0<&10 10<&-\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/2942.js b/2942.js
new file mode 100644
index 00000000..42283129
--- /dev/null
+++ b/2942.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[2942],{2942:(n,e,l)=>{l.r(e),l.d(e,{default:()=>t});const t='// http://www.ats-lang.org/\n(* Say Hello! once *)\nval () = print"Hello!\\n"\n//\n(* Say Hello! 3 times *)\nval () = 3*delay(print"Hello!")\nval () = print_newline((*void*))\n//\n\n//\n(* Build a list of 3 *)\nval xs = $list{int}(0, 1, 2)\n//\nval x0 = xs[0] // legal\nval x1 = xs[1] // legal\nval x2 = xs[2] // legal\nval x3 = xs[3] // illegal\n//\n\n//\nextern\nfun{} f0 (): int\nextern\nfun{} f1 (int): int\nextern\nfun{} repeat_f0f1 (int): int\n//\nimplement\n{}(*tmp*)\nrepeat_f0f1(n) =\n if n = 0\n then f0()\n else f1(repeat_f0f1(n-1))\n // end of [if]\n//\nfun\ntimes (\n m:int, n:int\n) : int = // m*n\n repeat_f0f1 (m) where\n{\n implement f0<> () = 0\n implement f1<> (x) = x + n\n}\n//\nfun\npower (\n m:int, n:int\n) : int = // m^n\n repeat_f0f1 (n) where\n{\n implement f0<> () = 1\n implement f1<> (x) = m * x\n}\n//\nval () =\nprintln! ("5*5 = ", times(5,5))\nval () =\nprintln! ("5^2 = ", power(5,2))\nval () =\nprintln! ("2^10 = ", power(2,10))\nval () =\nprintln! ("3^10 = ", power(3,10))\n//\n'}}]);
+//# sourceMappingURL=2942.js.map
\ No newline at end of file
diff --git a/2942.js.map b/2942.js.map
new file mode 100644
index 00000000..df331b0b
--- /dev/null
+++ b/2942.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"2942.js","mappings":"8IAAA,ghC","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.postiats.txt"],"sourcesContent":["export default \"// http://www.ats-lang.org/\\n(* Say Hello! once *)\\nval () = print\\\"Hello!\\\\n\\\"\\n//\\n(* Say Hello! 3 times *)\\nval () = 3*delay(print\\\"Hello!\\\")\\nval () = print_newline((*void*))\\n//\\n\\n//\\n(* Build a list of 3 *)\\nval xs = $list{int}(0, 1, 2)\\n//\\nval x0 = xs[0] // legal\\nval x1 = xs[1] // legal\\nval x2 = xs[2] // legal\\nval x3 = xs[3] // illegal\\n//\\n\\n//\\nextern\\nfun{} f0 (): int\\nextern\\nfun{} f1 (int): int\\nextern\\nfun{} repeat_f0f1 (int): int\\n//\\nimplement\\n{}(*tmp*)\\nrepeat_f0f1(n) =\\n if n = 0\\n then f0()\\n else f1(repeat_f0f1(n-1))\\n // end of [if]\\n//\\nfun\\ntimes (\\n m:int, n:int\\n) : int = // m*n\\n repeat_f0f1 (m) where\\n{\\n implement f0<> () = 0\\n implement f1<> (x) = x + n\\n}\\n//\\nfun\\npower (\\n m:int, n:int\\n) : int = // m^n\\n repeat_f0f1 (n) where\\n{\\n implement f0<> () = 1\\n implement f1<> (x) = m * x\\n}\\n//\\nval () =\\nprintln! (\\\"5*5 = \\\", times(5,5))\\nval () =\\nprintln! (\\\"5^2 = \\\", power(5,2))\\nval () =\\nprintln! (\\\"2^10 = \\\", power(2,10))\\nval () =\\nprintln! (\\\"3^10 = \\\", power(3,10))\\n//\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/2981.js b/2981.js
new file mode 100644
index 00000000..891d90e9
--- /dev/null
+++ b/2981.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[2981],{2981:(n,t,e)=>{e.r(t),e.d(t,{default:()=>o});const o="@base: #f938ab;\n\n.box-shadow(@style, @c) when (iscolor(@c)) {\n\tborder-radius: @style @c;\n}\n\n.box-shadow(@style, @alpha: 50%) when (isnumber(@alpha)) {\n\t.box-shadow(@style, rgba(0, 0, 0, @alpha));\n}\n\n.box { \n\tcolor: saturate(@base, 5%);\n\tborder-color: lighten(@base, 30%);\n\t\n\tdiv {\n\t\t.box-shadow((0 0 5px), 30%);\n\t}\n}\n\n#header {\n\th1 {\n\t\tfont-size: 26px;\n\t\tfont-weight: bold;\n\t}\n\t\n\tp { font-size: 12px;\n\t\ta { text-decoration: none;\n\t\t\t&:hover { border-width: 1px }\n\t\t}\n\t}\n}\n\n@the-border: 1px;\n@base-color: #111;\n@red: #842210;\n\n#header {\n\tcolor: (@base-color * 3);\n\tborder-left: @the-border;\n\tborder-right: (@the-border * 2);\n}\n\n#footer {\n\tcolor: (@base-color + #003300);\n\tborder-color: desaturate(@red, 10%);\n}\n"}}]);
+//# sourceMappingURL=2981.js.map
\ No newline at end of file
diff --git a/2981.js.map b/2981.js.map
new file mode 100644
index 00000000..78e73447
--- /dev/null
+++ b/2981.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"2981.js","mappings":"8IAAA,myB","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.less.txt"],"sourcesContent":["export default \"@base: #f938ab;\\n\\n.box-shadow(@style, @c) when (iscolor(@c)) {\\n\\tborder-radius: @style @c;\\n}\\n\\n.box-shadow(@style, @alpha: 50%) when (isnumber(@alpha)) {\\n\\t.box-shadow(@style, rgba(0, 0, 0, @alpha));\\n}\\n\\n.box { \\n\\tcolor: saturate(@base, 5%);\\n\\tborder-color: lighten(@base, 30%);\\n\\t\\n\\tdiv {\\n\\t\\t.box-shadow((0 0 5px), 30%);\\n\\t}\\n}\\n\\n#header {\\n\\th1 {\\n\\t\\tfont-size: 26px;\\n\\t\\tfont-weight: bold;\\n\\t}\\n\\t\\n\\tp { font-size: 12px;\\n\\t\\ta { text-decoration: none;\\n\\t\\t\\t&:hover { border-width: 1px }\\n\\t\\t}\\n\\t}\\n}\\n\\n@the-border: 1px;\\n@base-color: #111;\\n@red: #842210;\\n\\n#header {\\n\\tcolor: (@base-color * 3);\\n\\tborder-left: @the-border;\\n\\tborder-right: (@the-border * 2);\\n}\\n\\n#footer {\\n\\tcolor: (@base-color + #003300);\\n\\tborder-color: desaturate(@red, 10%);\\n}\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/3100.js b/3100.js
new file mode 100644
index 00000000..578fa569
--- /dev/null
+++ b/3100.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[3100],{3100:(e,n,t)=>{t.r(n),t.d(n,{default:()=>i});const i="#include \"pch.h\"\n#include \"Direct3DBase.h\"\n\nusing namespace Microsoft::WRL;\nusing namespace Windows::UI::Core;\nusing namespace Windows::Foundation;\n\n// Constructor.\nDirect3DBase::Direct3DBase()\n{\n}\n\n// Initialize the Direct3D resources required to run.\nvoid Direct3DBase::Initialize(CoreWindow^ window)\n{\n m_window = window;\n \n CreateDeviceResources();\n CreateWindowSizeDependentResources();\n}\n\n// These are the resources that depend on the device.\nvoid Direct3DBase::CreateDeviceResources()\n{\n // This flag adds support for surfaces with a different color channel ordering than the API default.\n // It is recommended usage, and is required for compatibility with Direct2D.\n UINT creationFlags = D3D11_CREATE_DEVICE_BGRA_SUPPORT;\n\n#if defined(_DEBUG)\n // If the project is in a debug build, enable debugging via SDK Layers with this flag.\n creationFlags |= D3D11_CREATE_DEVICE_DEBUG;\n#endif\n\n // This array defines the set of DirectX hardware feature levels this app will support.\n // Note the ordering should be preserved.\n // Don't forget to declare your application's minimum required feature level in its\n // description. All applications are assumed to support 9.1 unless otherwise stated.\n D3D_FEATURE_LEVEL featureLevels[] = \n {\n D3D_FEATURE_LEVEL_11_1,\n D3D_FEATURE_LEVEL_11_0,\n D3D_FEATURE_LEVEL_10_1,\n D3D_FEATURE_LEVEL_10_0,\n D3D_FEATURE_LEVEL_9_3,\n D3D_FEATURE_LEVEL_9_2,\n D3D_FEATURE_LEVEL_9_1\n };\n\n // Create the DX11 API device object, and get a corresponding context.\n ComPtr device;\n ComPtr context;\n DX::ThrowIfFailed(\n D3D11CreateDevice(\n nullptr, // specify null to use the default adapter\n D3D_DRIVER_TYPE_HARDWARE,\n nullptr, // leave as nullptr unless software device\n creationFlags, // optionally set debug and Direct2D compatibility flags\n featureLevels, // list of feature levels this app can support\n ARRAYSIZE(featureLevels), // number of entries in above list\n D3D11_SDK_VERSION, // always set this to D3D11_SDK_VERSION\n &device, // returns the Direct3D device created\n &m_featureLevel, // returns feature level of device created\n &context // returns the device immediate context\n )\n );\n\n // Get the DirectX11.1 device by QI off the DirectX11 one.\n DX::ThrowIfFailed(\n device.As(&m_d3dDevice)\n );\n\n // And get the corresponding device context in the same way.\n DX::ThrowIfFailed(\n context.As(&m_d3dContext)\n );\n}\n\n// Allocate all memory resources that change on a window SizeChanged event.\nvoid Direct3DBase::CreateWindowSizeDependentResources()\n{ \n // Store the window bounds so the next time we get a SizeChanged event we can\n // avoid rebuilding everything if the size is identical.\n m_windowBounds = m_window->Bounds;\n\n // If the swap chain already exists, resize it.\n if(m_swapChain != nullptr)\n {\n DX::ThrowIfFailed(\n m_swapChain->ResizeBuffers(2, 0, 0, DXGI_FORMAT_B8G8R8A8_UNORM, 0)\n );\n }\n // Otherwise, create a new one.\n else\n {\n // Create a descriptor for the swap chain.\n DXGI_SWAP_CHAIN_DESC1 swapChainDesc = {0};\n swapChainDesc.Width = 0; // use automatic sizing\n swapChainDesc.Height = 0;\n swapChainDesc.Format = DXGI_FORMAT_B8G8R8A8_UNORM; // this is the most common swapchain format\n swapChainDesc.Stereo = false; \n swapChainDesc.SampleDesc.Count = 1; // don't use multi-sampling\n swapChainDesc.SampleDesc.Quality = 0;\n swapChainDesc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;\n swapChainDesc.BufferCount = 2; // use two buffers to enable flip effect\n swapChainDesc.Scaling = DXGI_SCALING_NONE;\n swapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL; // we recommend using this swap effect for all applications\n swapChainDesc.Flags = 0;\n\n // Once the desired swap chain description is configured, it must be created on the same adapter as our D3D Device\n\n // First, retrieve the underlying DXGI Device from the D3D Device\n ComPtr dxgiDevice;\n DX::ThrowIfFailed(\n m_d3dDevice.As(&dxgiDevice)\n );\n\n // Identify the physical adapter (GPU or card) this device is running on.\n ComPtr dxgiAdapter;\n DX::ThrowIfFailed(\n dxgiDevice->GetAdapter(&dxgiAdapter)\n );\n\n // And obtain the factory object that created it.\n ComPtr dxgiFactory;\n DX::ThrowIfFailed(\n dxgiAdapter->GetParent(\n __uuidof(IDXGIFactory2), \n &dxgiFactory\n )\n );\n\n\t\tWindows::UI::Core::CoreWindow^ p = m_window.Get();\n\n // Create a swap chain for this window from the DXGI factory.\n DX::ThrowIfFailed(\n dxgiFactory->CreateSwapChainForCoreWindow(\n m_d3dDevice.Get(),\n reinterpret_cast(p),\n &swapChainDesc,\n nullptr, // allow on all displays\n &m_swapChain\n )\n );\n \n // Ensure that DXGI does not queue more than one frame at a time. This both reduces \n // latency and ensures that the application will only render after each VSync, minimizing \n // power consumption.\n DX::ThrowIfFailed(\n dxgiDevice->SetMaximumFrameLatency(1)\n );\n }\n \n // Obtain the backbuffer for this window which will be the final 3D rendertarget.\n ComPtr backBuffer;\n DX::ThrowIfFailed(\n m_swapChain->GetBuffer(\n 0,\n __uuidof(ID3D11Texture2D),\n &backBuffer\n )\n );\n\n // Create a view interface on the rendertarget to use on bind.\n DX::ThrowIfFailed(\n m_d3dDevice->CreateRenderTargetView(\n backBuffer.Get(),\n nullptr,\n &m_renderTargetView\n )\n );\n\n // Cache the rendertarget dimensions in our helper class for convenient use.\n D3D11_TEXTURE2D_DESC backBufferDesc;\n backBuffer->GetDesc(&backBufferDesc);\n m_renderTargetSize.Width = static_cast(backBufferDesc.Width);\n m_renderTargetSize.Height = static_cast(backBufferDesc.Height);\n\n // Create a descriptor for the depth/stencil buffer.\n CD3D11_TEXTURE2D_DESC depthStencilDesc(\n DXGI_FORMAT_D24_UNORM_S8_UINT, \n backBufferDesc.Width,\n backBufferDesc.Height,\n 1,\n 1,\n D3D11_BIND_DEPTH_STENCIL);\n\n // Allocate a 2-D surface as the depth/stencil buffer.\n ComPtr depthStencil;\n DX::ThrowIfFailed(\n m_d3dDevice->CreateTexture2D(\n &depthStencilDesc,\n nullptr,\n &depthStencil\n )\n );\n\n // Create a DepthStencil view on this surface to use on bind.\n DX::ThrowIfFailed(\n m_d3dDevice->CreateDepthStencilView(\n depthStencil.Get(),\n &CD3D11_DEPTH_STENCIL_VIEW_DESC(D3D11_DSV_DIMENSION_TEXTURE2D),\n &m_depthStencilView\n )\n );\n\n // Create a viewport descriptor of the full window size.\n CD3D11_VIEWPORT viewPort(\n 0.0f,\n 0.0f,\n static_cast(backBufferDesc.Width),\n static_cast(backBufferDesc.Height)\n );\n \n // Set the current viewport using the descriptor.\n m_d3dContext->RSSetViewports(1, &viewPort);\n}\n\nvoid Direct3DBase::UpdateForWindowSizeChange()\n{\n if (m_window->Bounds.Width != m_windowBounds.Width ||\n m_window->Bounds.Height != m_windowBounds.Height)\n {\n m_renderTargetView = nullptr;\n m_depthStencilView = nullptr;\n CreateWindowSizeDependentResources();\n }\n}\n\nvoid Direct3DBase::Present()\n{\n // The first argument instructs DXGI to block until VSync, putting the application\n // to sleep until the next VSync. This ensures we don't waste any cycles rendering\n // frames that will never be displayed to the screen.\n HRESULT hr = m_swapChain->Present(1, 0);\n\n // If the device was removed either by a disconnect or a driver upgrade, we \n // must completely reinitialize the renderer.\n if (hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET)\n {\n Initialize(m_window.Get());\n }\n else\n {\n DX::ThrowIfFailed(hr);\n }\n}\n"}}]);
+//# sourceMappingURL=3100.js.map
\ No newline at end of file
diff --git a/3100.js.map b/3100.js.map
new file mode 100644
index 00000000..49c0f18f
--- /dev/null
+++ b/3100.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"3100.js","mappings":"8IAAA,w2R","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.cpp.txt"],"sourcesContent":["export default \"#include \\\"pch.h\\\"\\n#include \\\"Direct3DBase.h\\\"\\n\\nusing namespace Microsoft::WRL;\\nusing namespace Windows::UI::Core;\\nusing namespace Windows::Foundation;\\n\\n// Constructor.\\nDirect3DBase::Direct3DBase()\\n{\\n}\\n\\n// Initialize the Direct3D resources required to run.\\nvoid Direct3DBase::Initialize(CoreWindow^ window)\\n{\\n m_window = window;\\n \\n CreateDeviceResources();\\n CreateWindowSizeDependentResources();\\n}\\n\\n// These are the resources that depend on the device.\\nvoid Direct3DBase::CreateDeviceResources()\\n{\\n // This flag adds support for surfaces with a different color channel ordering than the API default.\\n // It is recommended usage, and is required for compatibility with Direct2D.\\n UINT creationFlags = D3D11_CREATE_DEVICE_BGRA_SUPPORT;\\n\\n#if defined(_DEBUG)\\n // If the project is in a debug build, enable debugging via SDK Layers with this flag.\\n creationFlags |= D3D11_CREATE_DEVICE_DEBUG;\\n#endif\\n\\n // This array defines the set of DirectX hardware feature levels this app will support.\\n // Note the ordering should be preserved.\\n // Don't forget to declare your application's minimum required feature level in its\\n // description. All applications are assumed to support 9.1 unless otherwise stated.\\n D3D_FEATURE_LEVEL featureLevels[] = \\n {\\n D3D_FEATURE_LEVEL_11_1,\\n D3D_FEATURE_LEVEL_11_0,\\n D3D_FEATURE_LEVEL_10_1,\\n D3D_FEATURE_LEVEL_10_0,\\n D3D_FEATURE_LEVEL_9_3,\\n D3D_FEATURE_LEVEL_9_2,\\n D3D_FEATURE_LEVEL_9_1\\n };\\n\\n // Create the DX11 API device object, and get a corresponding context.\\n ComPtr device;\\n ComPtr context;\\n DX::ThrowIfFailed(\\n D3D11CreateDevice(\\n nullptr, // specify null to use the default adapter\\n D3D_DRIVER_TYPE_HARDWARE,\\n nullptr, // leave as nullptr unless software device\\n creationFlags, // optionally set debug and Direct2D compatibility flags\\n featureLevels, // list of feature levels this app can support\\n ARRAYSIZE(featureLevels), // number of entries in above list\\n D3D11_SDK_VERSION, // always set this to D3D11_SDK_VERSION\\n &device, // returns the Direct3D device created\\n &m_featureLevel, // returns feature level of device created\\n &context // returns the device immediate context\\n )\\n );\\n\\n // Get the DirectX11.1 device by QI off the DirectX11 one.\\n DX::ThrowIfFailed(\\n device.As(&m_d3dDevice)\\n );\\n\\n // And get the corresponding device context in the same way.\\n DX::ThrowIfFailed(\\n context.As(&m_d3dContext)\\n );\\n}\\n\\n// Allocate all memory resources that change on a window SizeChanged event.\\nvoid Direct3DBase::CreateWindowSizeDependentResources()\\n{ \\n // Store the window bounds so the next time we get a SizeChanged event we can\\n // avoid rebuilding everything if the size is identical.\\n m_windowBounds = m_window->Bounds;\\n\\n // If the swap chain already exists, resize it.\\n if(m_swapChain != nullptr)\\n {\\n DX::ThrowIfFailed(\\n m_swapChain->ResizeBuffers(2, 0, 0, DXGI_FORMAT_B8G8R8A8_UNORM, 0)\\n );\\n }\\n // Otherwise, create a new one.\\n else\\n {\\n // Create a descriptor for the swap chain.\\n DXGI_SWAP_CHAIN_DESC1 swapChainDesc = {0};\\n swapChainDesc.Width = 0; // use automatic sizing\\n swapChainDesc.Height = 0;\\n swapChainDesc.Format = DXGI_FORMAT_B8G8R8A8_UNORM; // this is the most common swapchain format\\n swapChainDesc.Stereo = false; \\n swapChainDesc.SampleDesc.Count = 1; // don't use multi-sampling\\n swapChainDesc.SampleDesc.Quality = 0;\\n swapChainDesc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;\\n swapChainDesc.BufferCount = 2; // use two buffers to enable flip effect\\n swapChainDesc.Scaling = DXGI_SCALING_NONE;\\n swapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL; // we recommend using this swap effect for all applications\\n swapChainDesc.Flags = 0;\\n\\n // Once the desired swap chain description is configured, it must be created on the same adapter as our D3D Device\\n\\n // First, retrieve the underlying DXGI Device from the D3D Device\\n ComPtr dxgiDevice;\\n DX::ThrowIfFailed(\\n m_d3dDevice.As(&dxgiDevice)\\n );\\n\\n // Identify the physical adapter (GPU or card) this device is running on.\\n ComPtr dxgiAdapter;\\n DX::ThrowIfFailed(\\n dxgiDevice->GetAdapter(&dxgiAdapter)\\n );\\n\\n // And obtain the factory object that created it.\\n ComPtr dxgiFactory;\\n DX::ThrowIfFailed(\\n dxgiAdapter->GetParent(\\n __uuidof(IDXGIFactory2), \\n &dxgiFactory\\n )\\n );\\n\\n\\t\\tWindows::UI::Core::CoreWindow^ p = m_window.Get();\\n\\n // Create a swap chain for this window from the DXGI factory.\\n DX::ThrowIfFailed(\\n dxgiFactory->CreateSwapChainForCoreWindow(\\n m_d3dDevice.Get(),\\n reinterpret_cast(p),\\n &swapChainDesc,\\n nullptr, // allow on all displays\\n &m_swapChain\\n )\\n );\\n \\n // Ensure that DXGI does not queue more than one frame at a time. This both reduces \\n // latency and ensures that the application will only render after each VSync, minimizing \\n // power consumption.\\n DX::ThrowIfFailed(\\n dxgiDevice->SetMaximumFrameLatency(1)\\n );\\n }\\n \\n // Obtain the backbuffer for this window which will be the final 3D rendertarget.\\n ComPtr backBuffer;\\n DX::ThrowIfFailed(\\n m_swapChain->GetBuffer(\\n 0,\\n __uuidof(ID3D11Texture2D),\\n &backBuffer\\n )\\n );\\n\\n // Create a view interface on the rendertarget to use on bind.\\n DX::ThrowIfFailed(\\n m_d3dDevice->CreateRenderTargetView(\\n backBuffer.Get(),\\n nullptr,\\n &m_renderTargetView\\n )\\n );\\n\\n // Cache the rendertarget dimensions in our helper class for convenient use.\\n D3D11_TEXTURE2D_DESC backBufferDesc;\\n backBuffer->GetDesc(&backBufferDesc);\\n m_renderTargetSize.Width = static_cast(backBufferDesc.Width);\\n m_renderTargetSize.Height = static_cast(backBufferDesc.Height);\\n\\n // Create a descriptor for the depth/stencil buffer.\\n CD3D11_TEXTURE2D_DESC depthStencilDesc(\\n DXGI_FORMAT_D24_UNORM_S8_UINT, \\n backBufferDesc.Width,\\n backBufferDesc.Height,\\n 1,\\n 1,\\n D3D11_BIND_DEPTH_STENCIL);\\n\\n // Allocate a 2-D surface as the depth/stencil buffer.\\n ComPtr depthStencil;\\n DX::ThrowIfFailed(\\n m_d3dDevice->CreateTexture2D(\\n &depthStencilDesc,\\n nullptr,\\n &depthStencil\\n )\\n );\\n\\n // Create a DepthStencil view on this surface to use on bind.\\n DX::ThrowIfFailed(\\n m_d3dDevice->CreateDepthStencilView(\\n depthStencil.Get(),\\n &CD3D11_DEPTH_STENCIL_VIEW_DESC(D3D11_DSV_DIMENSION_TEXTURE2D),\\n &m_depthStencilView\\n )\\n );\\n\\n // Create a viewport descriptor of the full window size.\\n CD3D11_VIEWPORT viewPort(\\n 0.0f,\\n 0.0f,\\n static_cast(backBufferDesc.Width),\\n static_cast(backBufferDesc.Height)\\n );\\n \\n // Set the current viewport using the descriptor.\\n m_d3dContext->RSSetViewports(1, &viewPort);\\n}\\n\\nvoid Direct3DBase::UpdateForWindowSizeChange()\\n{\\n if (m_window->Bounds.Width != m_windowBounds.Width ||\\n m_window->Bounds.Height != m_windowBounds.Height)\\n {\\n m_renderTargetView = nullptr;\\n m_depthStencilView = nullptr;\\n CreateWindowSizeDependentResources();\\n }\\n}\\n\\nvoid Direct3DBase::Present()\\n{\\n // The first argument instructs DXGI to block until VSync, putting the application\\n // to sleep until the next VSync. This ensures we don't waste any cycles rendering\\n // frames that will never be displayed to the screen.\\n HRESULT hr = m_swapChain->Present(1, 0);\\n\\n // If the device was removed either by a disconnect or a driver upgrade, we \\n // must completely reinitialize the renderer.\\n if (hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET)\\n {\\n Initialize(m_window.Get());\\n }\\n else\\n {\\n DX::ThrowIfFailed(hr);\\n }\\n}\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/3129.js b/3129.js
new file mode 100644
index 00000000..2001730d
--- /dev/null
+++ b/3129.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[3129],{3129:(e,n,a)=>{a.r(n),a.d(n,{default:()=>t});const t='<#ftl stripText=false>\n\n<#-- Free marker demo --\x3e\n\n<#comment>\nThis demonstrates the FreeMarker language. The default theme is not very\ncolorful and displays many different token types in the same color, but keep in\nmind that you can define your own theme (or extend an existing one).\n\nNote that free marker actually defines 6 similar but different syntax modes:\n\n- 3 tag syntax modes: Angle (<#if>), Bracket ([#if]), and Auto.\n- 2 interpolation modes: Dollar (${...}) and Bracket ([=...])\n\nIn auto mode, the first tag determines the tag syntax. You can use the language\nIDs "freemarker.tag-bracket.interpolation-dollar" etc. to force a specific mode.\n\nThe default FreeMarker mode is Angle/Dollar.\n#comment>\n\n<#macro greet name>\n Hello ${name}!\n#macro>\n\n<#macro border>\n
\n <#nested>\n
\n#macro>\n\n<#function avg x y>\n <#return (x + y) / 2>\n#function>\n\n<#assign user = "Juila Smith">\n<#assign animals = [{"name": "Tanuki", "price": 200}, {"name": "Phoenix", "price": 1111}]>\n\n\n\n Welcome!\n\n\n <#-- Greet the user with his/her name --\x3e\n
\n \t<@greet user />\n
\n\n
We have these animals:\n\n
\n <#list animals as animal>\n
${animal.name} for ${animal.price} Euros\n #list>\n
\n\n <@border>The bordered text@border>\n\n The average of 35 and 49 is ${avg(35, 49)}.\n\n\n\n'}}]);
+//# sourceMappingURL=3129.js.map
\ No newline at end of file
diff --git a/3129.js.map b/3129.js.map
new file mode 100644
index 00000000..2e7251c5
--- /dev/null
+++ b/3129.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"3129.js","mappings":"8IAAA,u/C","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.freemarker2.tag-angle.interpolation-dollar.txt"],"sourcesContent":["export default \"<#ftl stripText=false>\\n\\n<#-- Free marker demo -->\\n\\n<#comment>\\nThis demonstrates the FreeMarker language. The default theme is not very\\ncolorful and displays many different token types in the same color, but keep in\\nmind that you can define your own theme (or extend an existing one).\\n\\nNote that free marker actually defines 6 similar but different syntax modes:\\n\\n- 3 tag syntax modes: Angle (<#if>), Bracket ([#if]), and Auto.\\n- 2 interpolation modes: Dollar (${...}) and Bracket ([=...])\\n\\nIn auto mode, the first tag determines the tag syntax. You can use the language\\nIDs \\\"freemarker.tag-bracket.interpolation-dollar\\\" etc. to force a specific mode.\\n\\nThe default FreeMarker mode is Angle/Dollar.\\n#comment>\\n\\n<#macro greet name>\\n Hello ${name}!\\n#macro>\\n\\n<#macro border>\\n
\\n <#nested>\\n
\\n#macro>\\n\\n<#function avg x y>\\n <#return (x + y) / 2>\\n#function>\\n\\n<#assign user = \\\"Juila Smith\\\">\\n<#assign animals = [{\\\"name\\\": \\\"Tanuki\\\", \\\"price\\\": 200}, {\\\"name\\\": \\\"Phoenix\\\", \\\"price\\\": 1111}]>\\n\\n\\n\\n Welcome!\\n\\n\\n <#-- Greet the user with his/her name -->\\n
\\n \\t<@greet user />\\n
\\n\\n
We have these animals:\\n\\n
\\n <#list animals as animal>\\n
${animal.name} for ${animal.price} Euros\\n #list>\\n
\\n\\n <@border>The bordered text@border>\\n\\n The average of 35 and 49 is ${avg(35, 49)}.\\n\\n\\n\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/3251.js b/3251.js
new file mode 100644
index 00000000..c64b31de
--- /dev/null
+++ b/3251.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[3251],{3251:(n,e,r)=>{r.r(e),r.d(e,{default:()=>a});const a=";;; make-matrix creates a matrix (a vector of vectors).\n(define make-matrix\n (lambda (rows columns)\n (do ((m (make-vector rows))\n (i 0 (+ i 1)))\n ((= i rows) m)\n (vector-set! m i (make-vector columns)))))\n\n;;; matrix? checks to see if its argument is a matrix.\n;;; It isn't foolproof, but it's generally good enough.\n(define matrix?\n (lambda (x)\n (and (vector? x)\n (> (vector-length x) 0)\n (vector? (vector-ref x 0)))))\n\n;; matrix-rows returns the number of rows in a matrix.\n(define matrix-rows\n (lambda (x)\n (vector-length x)))\n\n;; matrix-columns returns the number of columns in a matrix.\n(define matrix-columns\n (lambda (x)\n (vector-length (vector-ref x 0))))\n\n;;; matrix-ref returns the jth element of the ith row.\n(define matrix-ref\n (lambda (m i j)\n (vector-ref (vector-ref m i) j)))\n\n;;; matrix-set! changes the jth element of the ith row.\n(define matrix-set!\n (lambda (m i j x)\n (vector-set! (vector-ref m i) j x)))\n\n;;; mul is the generic matrix/scalar multiplication procedure\n(define mul\n (lambda (x y)\n ;; mat-sca-mul multiplies a matrix by a scalar.\n (define mat-sca-mul\n (lambda (m x)\n (let* ((nr (matrix-rows m))\n (nc (matrix-columns m))\n (r (make-matrix nr nc)))\n (do ((i 0 (+ i 1)))\n ((= i nr) r)\n (do ((j 0 (+ j 1)))\n ((= j nc))\n (matrix-set! r i j\n (* x (matrix-ref m i j))))))))\n\n ;; mat-mat-mul multiplies one matrix by another, after verifying\n ;; that the first matrix has as many columns as the second\n ;; matrix has rows.\n (define mat-mat-mul\n (lambda (m1 m2)\n (let* ((nr1 (matrix-rows m1))\n (nr2 (matrix-rows m2))\n (nc2 (matrix-columns m2))\n (r (make-matrix nr1 nc2)))\n (if (not (= (matrix-columns m1) nr2))\n (match-error m1 m2))\n (do ((i 0 (+ i 1)))\n ((= i nr1) r)\n (do ((j 0 (+ j 1)))\n ((= j nc2))\n (do ((k 0 (+ k 1))\n (a 0\n (+ a\n (* (matrix-ref m1 i k)\n (matrix-ref m2 k j)))))\n ((= k nr2)\n (matrix-set! r i j a))))))))\n\n ;; type-error is called to complain when mul receives an invalid\n ;; type of argument.\n (define type-error\n (lambda (what)\n (error 'mul\n \"~s is not a number or matrix\"\n what)))\n\n ;; match-error is called to complain when mul receives a pair of\n ;; incompatible arguments.\n (define match-error\n (lambda (what1 what2)\n (error 'mul\n \"~s and ~s are incompatible operands\"\n what1\n what2)))\n\n ;; body of mul; dispatch based on input types\n (cond\n ((number? x)\n (cond\n ((number? y) (* x y))\n ((matrix? y) (mat-sca-mul y x))\n (else (type-error y))))\n ((matrix? x)\n (cond\n ((number? y) (mat-sca-mul x y))\n ((matrix? y) (mat-mat-mul x y))\n (else (type-error y))))\n (else (type-error x)))))"}}]);
+//# sourceMappingURL=3251.js.map
\ No newline at end of file
diff --git a/3251.js.map b/3251.js.map
new file mode 100644
index 00000000..0b9b4c65
--- /dev/null
+++ b/3251.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"3251.js","mappings":"8IAAA,81G","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.scheme.txt"],"sourcesContent":["export default \";;; make-matrix creates a matrix (a vector of vectors).\\n(define make-matrix\\n (lambda (rows columns)\\n (do ((m (make-vector rows))\\n (i 0 (+ i 1)))\\n ((= i rows) m)\\n (vector-set! m i (make-vector columns)))))\\n\\n;;; matrix? checks to see if its argument is a matrix.\\n;;; It isn't foolproof, but it's generally good enough.\\n(define matrix?\\n (lambda (x)\\n (and (vector? x)\\n (> (vector-length x) 0)\\n (vector? (vector-ref x 0)))))\\n\\n;; matrix-rows returns the number of rows in a matrix.\\n(define matrix-rows\\n (lambda (x)\\n (vector-length x)))\\n\\n;; matrix-columns returns the number of columns in a matrix.\\n(define matrix-columns\\n (lambda (x)\\n (vector-length (vector-ref x 0))))\\n\\n;;; matrix-ref returns the jth element of the ith row.\\n(define matrix-ref\\n (lambda (m i j)\\n (vector-ref (vector-ref m i) j)))\\n\\n;;; matrix-set! changes the jth element of the ith row.\\n(define matrix-set!\\n (lambda (m i j x)\\n (vector-set! (vector-ref m i) j x)))\\n\\n;;; mul is the generic matrix/scalar multiplication procedure\\n(define mul\\n (lambda (x y)\\n ;; mat-sca-mul multiplies a matrix by a scalar.\\n (define mat-sca-mul\\n (lambda (m x)\\n (let* ((nr (matrix-rows m))\\n (nc (matrix-columns m))\\n (r (make-matrix nr nc)))\\n (do ((i 0 (+ i 1)))\\n ((= i nr) r)\\n (do ((j 0 (+ j 1)))\\n ((= j nc))\\n (matrix-set! r i j\\n (* x (matrix-ref m i j))))))))\\n\\n ;; mat-mat-mul multiplies one matrix by another, after verifying\\n ;; that the first matrix has as many columns as the second\\n ;; matrix has rows.\\n (define mat-mat-mul\\n (lambda (m1 m2)\\n (let* ((nr1 (matrix-rows m1))\\n (nr2 (matrix-rows m2))\\n (nc2 (matrix-columns m2))\\n (r (make-matrix nr1 nc2)))\\n (if (not (= (matrix-columns m1) nr2))\\n (match-error m1 m2))\\n (do ((i 0 (+ i 1)))\\n ((= i nr1) r)\\n (do ((j 0 (+ j 1)))\\n ((= j nc2))\\n (do ((k 0 (+ k 1))\\n (a 0\\n (+ a\\n (* (matrix-ref m1 i k)\\n (matrix-ref m2 k j)))))\\n ((= k nr2)\\n (matrix-set! r i j a))))))))\\n\\n ;; type-error is called to complain when mul receives an invalid\\n ;; type of argument.\\n (define type-error\\n (lambda (what)\\n (error 'mul\\n \\\"~s is not a number or matrix\\\"\\n what)))\\n\\n ;; match-error is called to complain when mul receives a pair of\\n ;; incompatible arguments.\\n (define match-error\\n (lambda (what1 what2)\\n (error 'mul\\n \\\"~s and ~s are incompatible operands\\\"\\n what1\\n what2)))\\n\\n ;; body of mul; dispatch based on input types\\n (cond\\n ((number? x)\\n (cond\\n ((number? y) (* x y))\\n ((matrix? y) (mat-sca-mul y x))\\n (else (type-error y))))\\n ((matrix? x)\\n (cond\\n ((number? y) (mat-sca-mul x y))\\n ((matrix? y) (mat-mat-mul x y))\\n (else (type-error y))))\\n (else (type-error x)))))\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/3388.js b/3388.js
new file mode 100644
index 00000000..8f3abfc9
--- /dev/null
+++ b/3388.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[3388],{3388:(n,t,e)=>{e.r(t),e.d(t,{default:()=>s});const s='// We often need our programs to perform operations on\n// collections of data, like selecting all items that\n// satisfy a given predicate or mapping all items to a new\n// collection with a custom function.\n\n// In some languages it\'s idiomatic to use [generic](http://en.wikipedia.org/wiki/Generic_programming)\n// data structures and algorithms. Go does not support\n// generics; in Go it\'s common to provide collection\n// functions if and when they are specifically needed for\n// your program and data types.\n\n// Here are some example collection functions for slices\n// of `strings`. You can use these examples to build your\n// own functions. Note that in some cases it may be\n// clearest to just inline the collection-manipulating\n// code directly, instead of creating and calling a\n// helper function.\n\npackage main\n\nimport "strings"\nimport "fmt"\n\n// Returns the first index of the target string `t`, or\n// -1 if no match is found.\nfunc Index(vs []string, t string) int {\n for i, v := range vs {\n if v == t {\n return i\n }\n }\n return -1\n}\n\n// Returns `true` if the target string t is in the\n// slice.\nfunc Include(vs []string, t string) bool {\n return Index(vs, t) >= 0\n}\n\n// Returns `true` if one of the strings in the slice\n// satisfies the predicate `f`.\nfunc Any(vs []string, f func(string) bool) bool {\n for _, v := range vs {\n if f(v) {\n return true\n }\n }\n return false\n}\n\n// Returns `true` if all of the strings in the slice\n// satisfy the predicate `f`.\nfunc All(vs []string, f func(string) bool) bool {\n for _, v := range vs {\n if !f(v) {\n return false\n }\n }\n return true\n}\n\n// Returns a new slice containing all strings in the\n// slice that satisfy the predicate `f`.\nfunc Filter(vs []string, f func(string) bool) []string {\n vsf := make([]string, 0)\n for _, v := range vs {\n if f(v) {\n vsf = append(vsf, v)\n }\n }\n return vsf\n}\n\n// Returns a new slice containing the results of applying\n// the function `f` to each string in the original slice.\nfunc Map(vs []string, f func(string) string) []string {\n vsm := make([]string, len(vs))\n for i, v := range vs {\n vsm[i] = f(v)\n }\n return vsm\n}\n\nfunc main() {\n\n // Here we try out our various collection functions.\n var strs = []string{"peach", "apple", "pear", "plum"}\n\n fmt.Println(Index(strs, "pear"))\n\n fmt.Println(Include(strs, "grape"))\n\n fmt.Println(Any(strs, func(v string) bool {\n return strings.HasPrefix(v, "p")\n }))\n\n fmt.Println(All(strs, func(v string) bool {\n return strings.HasPrefix(v, "p")\n }))\n\n fmt.Println(Filter(strs, func(v string) bool {\n return strings.Contains(v, "e")\n }))\n\n // The above examples all used anonymous functions,\n // but you can also use named functions of the correct\n // type.\n fmt.Println(Map(strs, strings.ToUpper))\n\n}\n'}}]);
+//# sourceMappingURL=3388.js.map
\ No newline at end of file
diff --git a/3388.js.map b/3388.js.map
new file mode 100644
index 00000000..192365a8
--- /dev/null
+++ b/3388.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"3388.js","mappings":"8IAAA,y/F","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.go.txt"],"sourcesContent":["export default \"// We often need our programs to perform operations on\\n// collections of data, like selecting all items that\\n// satisfy a given predicate or mapping all items to a new\\n// collection with a custom function.\\n\\n// In some languages it's idiomatic to use [generic](http://en.wikipedia.org/wiki/Generic_programming)\\n// data structures and algorithms. Go does not support\\n// generics; in Go it's common to provide collection\\n// functions if and when they are specifically needed for\\n// your program and data types.\\n\\n// Here are some example collection functions for slices\\n// of `strings`. You can use these examples to build your\\n// own functions. Note that in some cases it may be\\n// clearest to just inline the collection-manipulating\\n// code directly, instead of creating and calling a\\n// helper function.\\n\\npackage main\\n\\nimport \\\"strings\\\"\\nimport \\\"fmt\\\"\\n\\n// Returns the first index of the target string `t`, or\\n// -1 if no match is found.\\nfunc Index(vs []string, t string) int {\\n for i, v := range vs {\\n if v == t {\\n return i\\n }\\n }\\n return -1\\n}\\n\\n// Returns `true` if the target string t is in the\\n// slice.\\nfunc Include(vs []string, t string) bool {\\n return Index(vs, t) >= 0\\n}\\n\\n// Returns `true` if one of the strings in the slice\\n// satisfies the predicate `f`.\\nfunc Any(vs []string, f func(string) bool) bool {\\n for _, v := range vs {\\n if f(v) {\\n return true\\n }\\n }\\n return false\\n}\\n\\n// Returns `true` if all of the strings in the slice\\n// satisfy the predicate `f`.\\nfunc All(vs []string, f func(string) bool) bool {\\n for _, v := range vs {\\n if !f(v) {\\n return false\\n }\\n }\\n return true\\n}\\n\\n// Returns a new slice containing all strings in the\\n// slice that satisfy the predicate `f`.\\nfunc Filter(vs []string, f func(string) bool) []string {\\n vsf := make([]string, 0)\\n for _, v := range vs {\\n if f(v) {\\n vsf = append(vsf, v)\\n }\\n }\\n return vsf\\n}\\n\\n// Returns a new slice containing the results of applying\\n// the function `f` to each string in the original slice.\\nfunc Map(vs []string, f func(string) string) []string {\\n vsm := make([]string, len(vs))\\n for i, v := range vs {\\n vsm[i] = f(v)\\n }\\n return vsm\\n}\\n\\nfunc main() {\\n\\n // Here we try out our various collection functions.\\n var strs = []string{\\\"peach\\\", \\\"apple\\\", \\\"pear\\\", \\\"plum\\\"}\\n\\n fmt.Println(Index(strs, \\\"pear\\\"))\\n\\n fmt.Println(Include(strs, \\\"grape\\\"))\\n\\n fmt.Println(Any(strs, func(v string) bool {\\n return strings.HasPrefix(v, \\\"p\\\")\\n }))\\n\\n fmt.Println(All(strs, func(v string) bool {\\n return strings.HasPrefix(v, \\\"p\\\")\\n }))\\n\\n fmt.Println(Filter(strs, func(v string) bool {\\n return strings.Contains(v, \\\"e\\\")\\n }))\\n\\n // The above examples all used anonymous functions,\\n // but you can also use named functions of the correct\\n // type.\\n fmt.Println(Map(strs, strings.ToUpper))\\n\\n}\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/3391.js b/3391.js
new file mode 100644
index 00000000..d3ddcbd2
--- /dev/null
+++ b/3391.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[3391],{3391:(n,e,o)=>{o.r(e),o.d(e,{default:()=>E});const E="CREATE TABLE dbo.EmployeePhoto\n(\n EmployeeId INT NOT NULL PRIMARY KEY,\n Photo VARBINARY(MAX) FILESTREAM NULL,\n MyRowGuidColumn UNIQUEIDENTIFIER NOT NULL ROWGUIDCOL\n UNIQUE DEFAULT NEWID()\n);\n\nGO\n\n/*\ntext_of_comment\n/* nested comment */\n*/\n\n-- line comment\n\nCREATE NONCLUSTERED INDEX IX_WorkOrder_ProductID\n ON Production.WorkOrder(ProductID)\n WITH (FILLFACTOR = 80,\n PAD_INDEX = ON,\n DROP_EXISTING = ON);\nGO\n\nWHILE (SELECT AVG(ListPrice) FROM Production.Product) < $300\nBEGIN\n UPDATE Production.Product\n SET ListPrice = ListPrice * 2\n SELECT MAX(ListPrice) FROM Production.Product\n IF (SELECT MAX(ListPrice) FROM Production.Product) > $500\n BREAK\n ELSE\n CONTINUE\nEND\nPRINT 'Too much for the market to bear';\n\nMERGE INTO Sales.SalesReason AS [Target]\nUSING (VALUES ('Recommendation','Other'), ('Review', 'Marketing'), ('Internet', 'Promotion'))\n AS [Source] ([NewName], NewReasonType)\nON [Target].[Name] = [Source].[NewName]\nWHEN MATCHED\nTHEN UPDATE SET ReasonType = [Source].NewReasonType\nWHEN NOT MATCHED BY TARGET\nTHEN INSERT ([Name], ReasonType) VALUES ([NewName], NewReasonType)\nOUTPUT $action INTO @SummaryOfChanges;\n\nSELECT ProductID, OrderQty, SUM(LineTotal) AS Total\nFROM Sales.SalesOrderDetail\nWHERE UnitPrice < $5.00\nGROUP BY ProductID, OrderQty\nORDER BY ProductID, OrderQty\nOPTION (HASH GROUP, FAST 10);\n"}}]);
+//# sourceMappingURL=3391.js.map
\ No newline at end of file
diff --git a/3391.js.map b/3391.js.map
new file mode 100644
index 00000000..032013c9
--- /dev/null
+++ b/3391.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"3391.js","mappings":"8IAAA,86C","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.sql.txt"],"sourcesContent":["export default \"CREATE TABLE dbo.EmployeePhoto\\n(\\n EmployeeId INT NOT NULL PRIMARY KEY,\\n Photo VARBINARY(MAX) FILESTREAM NULL,\\n MyRowGuidColumn UNIQUEIDENTIFIER NOT NULL ROWGUIDCOL\\n UNIQUE DEFAULT NEWID()\\n);\\n\\nGO\\n\\n/*\\ntext_of_comment\\n/* nested comment */\\n*/\\n\\n-- line comment\\n\\nCREATE NONCLUSTERED INDEX IX_WorkOrder_ProductID\\n ON Production.WorkOrder(ProductID)\\n WITH (FILLFACTOR = 80,\\n PAD_INDEX = ON,\\n DROP_EXISTING = ON);\\nGO\\n\\nWHILE (SELECT AVG(ListPrice) FROM Production.Product) < $300\\nBEGIN\\n UPDATE Production.Product\\n SET ListPrice = ListPrice * 2\\n SELECT MAX(ListPrice) FROM Production.Product\\n IF (SELECT MAX(ListPrice) FROM Production.Product) > $500\\n BREAK\\n ELSE\\n CONTINUE\\nEND\\nPRINT 'Too much for the market to bear';\\n\\nMERGE INTO Sales.SalesReason AS [Target]\\nUSING (VALUES ('Recommendation','Other'), ('Review', 'Marketing'), ('Internet', 'Promotion'))\\n AS [Source] ([NewName], NewReasonType)\\nON [Target].[Name] = [Source].[NewName]\\nWHEN MATCHED\\nTHEN UPDATE SET ReasonType = [Source].NewReasonType\\nWHEN NOT MATCHED BY TARGET\\nTHEN INSERT ([Name], ReasonType) VALUES ([NewName], NewReasonType)\\nOUTPUT $action INTO @SummaryOfChanges;\\n\\nSELECT ProductID, OrderQty, SUM(LineTotal) AS Total\\nFROM Sales.SalesOrderDetail\\nWHERE UnitPrice < $5.00\\nGROUP BY ProductID, OrderQty\\nORDER BY ProductID, OrderQty\\nOPTION (HASH GROUP, FAST 10);\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/3432.js b/3432.js
new file mode 100644
index 00000000..13a007fe
--- /dev/null
+++ b/3432.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[3432],{3432:(a,t,n)=>{n.r(t),n.d(t,{default:()=>i});const i=".ob out1 out2 out3\n--1-- - wait 110000\n.ilb in1 in0 wait ack nack\n.symbolic state<3> state<2>;aaa bbb; # comment\n"}}]);
+//# sourceMappingURL=3432.js.map
\ No newline at end of file
diff --git a/3432.js.map b/3432.js.map
new file mode 100644
index 00000000..0d4444da
--- /dev/null
+++ b/3432.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"3432.js","mappings":"8IAAA,8I","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.pla.txt"],"sourcesContent":["export default \".ob out1 out2 out3\\n--1-- - wait 110000\\n.ilb in1 in0 wait ack nack\\n.symbolic state<3> state<2>;aaa bbb; # comment\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/3475.js b/3475.js
new file mode 100644
index 00000000..808d382f
--- /dev/null
+++ b/3475.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[3475],{3475:(n,e,t)=>{t.r(e),t.d(e,{default:()=>i});const i='fn main() {\n let greetings = ["Hello", "Hola", "Bonjour",\n "Ciao", "こんにちは", "안녕하세요",\n "Cześć", "Olá", "Здравствуйте",\n "Chào bạn", "您好", "Hallo",\n "Hej", "Ahoj", "سلام"];\n\n for (num, greeting) in greetings.iter().enumerate() {\n print!("{} : ", greeting);\n match num {\n 0 => println!("This code is editable and runnable!"),\n 1 => println!("¡Este código es editable y ejecutable!"),\n 2 => println!("Ce code est modifiable et exécutable !"),\n 3 => println!("Questo codice è modificabile ed eseguibile!"),\n 4 => println!("このコードは編集して実行出来ます!"),\n 5 => println!("여기에서 코드를 수정하고 실행할 수 있습니다!"),\n 6 => println!("Ten kod można edytować oraz uruchomić!"),\n 7 => println!("Este código é editável e executável!"),\n 8 => println!("Этот код можно отредактировать и запустить!"),\n 9 => println!("Bạn có thể edit và run code trực tiếp!"),\n 10 => println!("这段代码是可以编辑并且能够运行的!"),\n 11 => println!("Dieser Code kann bearbeitet und ausgeführt werden!"),\n 12 => println!("Den här koden kan redigeras och köras!"),\n 13 => println!("Tento kód můžete upravit a spustit"),\n 14 => println!("این کد قابلیت ویرایش و اجرا دارد!"),\n _ => {},\n }\n }\n}\n'}}]);
+//# sourceMappingURL=3475.js.map
\ No newline at end of file
diff --git a/3475.js.map b/3475.js.map
new file mode 100644
index 00000000..bc972a1a
--- /dev/null
+++ b/3475.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"3475.js","mappings":"8IAAA,06C","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.rust.txt"],"sourcesContent":["export default \"fn main() {\\n let greetings = [\\\"Hello\\\", \\\"Hola\\\", \\\"Bonjour\\\",\\n \\\"Ciao\\\", \\\"こんにちは\\\", \\\"안녕하세요\\\",\\n \\\"Cześć\\\", \\\"Olá\\\", \\\"Здравствуйте\\\",\\n \\\"Chào bạn\\\", \\\"您好\\\", \\\"Hallo\\\",\\n \\\"Hej\\\", \\\"Ahoj\\\", \\\"سلام\\\"];\\n\\n for (num, greeting) in greetings.iter().enumerate() {\\n print!(\\\"{} : \\\", greeting);\\n match num {\\n 0 => println!(\\\"This code is editable and runnable!\\\"),\\n 1 => println!(\\\"¡Este código es editable y ejecutable!\\\"),\\n 2 => println!(\\\"Ce code est modifiable et exécutable !\\\"),\\n 3 => println!(\\\"Questo codice è modificabile ed eseguibile!\\\"),\\n 4 => println!(\\\"このコードは編集して実行出来ます!\\\"),\\n 5 => println!(\\\"여기에서 코드를 수정하고 실행할 수 있습니다!\\\"),\\n 6 => println!(\\\"Ten kod można edytować oraz uruchomić!\\\"),\\n 7 => println!(\\\"Este código é editável e executável!\\\"),\\n 8 => println!(\\\"Этот код можно отредактировать и запустить!\\\"),\\n 9 => println!(\\\"Bạn có thể edit và run code trực tiếp!\\\"),\\n 10 => println!(\\\"这段代码是可以编辑并且能够运行的!\\\"),\\n 11 => println!(\\\"Dieser Code kann bearbeitet und ausgeführt werden!\\\"),\\n 12 => println!(\\\"Den här koden kan redigeras och köras!\\\"),\\n 13 => println!(\\\"Tento kód můžete upravit a spustit\\\"),\\n 14 => println!(\\\"این کد قابلیت ویرایش و اجرا دارد!\\\"),\\n _ => {},\\n }\\n }\\n}\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/3637.js b/3637.js
new file mode 100644
index 00000000..a8864773
--- /dev/null
+++ b/3637.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[3637],{3637:(e,a,i)=>{i.r(a),i.d(a,{default:()=>n});const n="MATCH (nicole:Actor {name: 'Nicole Kidman'})-[:ACTED_IN]->(movie:Movie)\nWHERE movie.year < $yearParameter\nRETURN movie\n"}}]);
+//# sourceMappingURL=3637.js.map
\ No newline at end of file
diff --git a/3637.js.map b/3637.js.map
new file mode 100644
index 00000000..df1b7a9e
--- /dev/null
+++ b/3637.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"3637.js","mappings":"8IAAA,oI","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.cypher.txt"],"sourcesContent":["export default \"MATCH (nicole:Actor {name: 'Nicole Kidman'})-[:ACTED_IN]->(movie:Movie)\\nWHERE movie.year < $yearParameter\\nRETURN movie\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/3648.js b/3648.js
new file mode 100644
index 00000000..518bf4a6
--- /dev/null
+++ b/3648.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[3648],{3648:(n,e,t)=>{t.r(e),t.d(e,{default:()=>i});const i="import 'dart:math' show Random;\n\nvoid main() async {\n print('Compute π using the Monte Carlo method.');\n await for (final estimate in computePi().take(100)) {\n print('π ≅ $estimate');\n }\n}\n\n/// Generates a stream of increasingly accurate estimates of π.\nStream computePi({int batch = 100000}) async* {\n var total = 0; // Inferred to be of type int\n var count = 0;\n while (true) {\n final points = generateRandom().take(batch);\n final inside = points.where((p) => p.isInsideUnitCircle);\n\n total += batch;\n count += inside.length;\n final ratio = count / total;\n\n // Area of a circle is A = π⋅r², therefore π = A/r².\n // So, when given random points with x ∈ <0,1>,\n // y ∈ <0,1>, the ratio of those inside a unit circle\n // should approach π / 4. Therefore, the value of π\n // should be:\n yield ratio * 4;\n }\n}\n\nIterable generateRandom([int? seed]) sync* {\n final random = Random(seed);\n while (true) {\n yield Point(random.nextDouble(), random.nextDouble());\n }\n}\n\nclass Point {\n final double x;\n final double y;\n\n const Point(this.x, this.y);\n\n bool get isInsideUnitCircle => x * x + y * y <= 1;\n}\n"}}]);
+//# sourceMappingURL=3648.js.map
\ No newline at end of file
diff --git a/3648.js.map b/3648.js.map
new file mode 100644
index 00000000..fc9002e9
--- /dev/null
+++ b/3648.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"3648.js","mappings":"8IAAA,msC","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.dart.txt"],"sourcesContent":["export default \"import 'dart:math' show Random;\\n\\nvoid main() async {\\n print('Compute π using the Monte Carlo method.');\\n await for (final estimate in computePi().take(100)) {\\n print('π ≅ $estimate');\\n }\\n}\\n\\n/// Generates a stream of increasingly accurate estimates of π.\\nStream computePi({int batch = 100000}) async* {\\n var total = 0; // Inferred to be of type int\\n var count = 0;\\n while (true) {\\n final points = generateRandom().take(batch);\\n final inside = points.where((p) => p.isInsideUnitCircle);\\n\\n total += batch;\\n count += inside.length;\\n final ratio = count / total;\\n\\n // Area of a circle is A = π⋅r², therefore π = A/r².\\n // So, when given random points with x ∈ <0,1>,\\n // y ∈ <0,1>, the ratio of those inside a unit circle\\n // should approach π / 4. Therefore, the value of π\\n // should be:\\n yield ratio * 4;\\n }\\n}\\n\\nIterable generateRandom([int? seed]) sync* {\\n final random = Random(seed);\\n while (true) {\\n yield Point(random.nextDouble(), random.nextDouble());\\n }\\n}\\n\\nclass Point {\\n final double x;\\n final double y;\\n\\n const Point(this.x, this.y);\\n\\n bool get isInsideUnitCircle => x * x + y * y <= 1;\\n}\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/3663.js b/3663.js
new file mode 100644
index 00000000..af8666c3
--- /dev/null
+++ b/3663.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[3663],{3663:(n,e,a)=>{a.r(e),a.d(e,{default:()=>t});const t=' -- defines a factorial function\n function fact (n)\n if n == 0 then\n return 1\n else\n return n * fact(n-1)\n end\n end\n \n print("enter a number:")\n a = io.read("*number") -- read a number\n print(fact(a))'}}]);
+//# sourceMappingURL=3663.js.map
\ No newline at end of file
diff --git a/3663.js.map b/3663.js.map
new file mode 100644
index 00000000..292faa63
--- /dev/null
+++ b/3663.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"3663.js","mappings":"8IAAA,sR","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.lua.txt"],"sourcesContent":["export default \" -- defines a factorial function\\n function fact (n)\\n if n == 0 then\\n return 1\\n else\\n return n * fact(n-1)\\n end\\n end\\n \\n print(\\\"enter a number:\\\")\\n a = io.read(\\\"*number\\\") -- read a number\\n print(fact(a))\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/3823.js b/3823.js
new file mode 100644
index 00000000..392a1554
--- /dev/null
+++ b/3823.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[3823],{3823:(t,n,e)=>{e.r(n),e.d(n,{default:()=>s});const s="type storage is int\ntype parameter is\n Increment of int\n| Decrement of int\n| Reset\ntype return is list (operation) * storage\n// Two entrypoints\nfunction add (const store : storage; const delta : int) : storage is\n store + delta\nfunction sub (const store : storage; const delta : int) : storage is\n store - delta\n(* Main access point that dispatches to the entrypoints according to\n the smart contract parameter. *)\nfunction main (const action : parameter; const store : storage) : return is\n ((nil : list (operation)), // No operations\n case action of\n Increment (n) -> add (store, n)\n | Decrement (n) -> sub (store, n)\n | Reset -> 0\n end)\n"}}]);
+//# sourceMappingURL=3823.js.map
\ No newline at end of file
diff --git a/3823.js.map b/3823.js.map
new file mode 100644
index 00000000..79b09365
--- /dev/null
+++ b/3823.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"3823.js","mappings":"8IAAA,qrB","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.pascaligo.txt"],"sourcesContent":["export default \"type storage is int\\ntype parameter is\\n Increment of int\\n| Decrement of int\\n| Reset\\ntype return is list (operation) * storage\\n// Two entrypoints\\nfunction add (const store : storage; const delta : int) : storage is\\n store + delta\\nfunction sub (const store : storage; const delta : int) : storage is\\n store - delta\\n(* Main access point that dispatches to the entrypoints according to\\n the smart contract parameter. *)\\nfunction main (const action : parameter; const store : storage) : return is\\n ((nil : list (operation)), // No operations\\n case action of\\n Increment (n) -> add (store, n)\\n | Decrement (n) -> sub (store, n)\\n | Reset -> 0\\n end)\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/383.js b/383.js
new file mode 100644
index 00000000..efe50a8a
--- /dev/null
+++ b/383.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[383],{383:(e,n,a)=>{a.r(n),a.d(n,{default:()=>t});const t='[#ftl stripText=false]\n\n[#-- Free marker demo --]\n\n[#comment]\nThis demonstrates the FreeMarker language. The default theme is not very\ncolorful and displays many different token types in the same color, but keep in\nmind that you can define your own theme (or extend an existing one).\n\nNote that free marker actually defines 6 similar but different syntax modes:\n\n- 3 tag syntax modes: Angle (<#if>), Bracket ([#if]), and Auto.\n- 2 interpolation modes: Dollar (${...}) and Bracket ([=...])\n\nIn auto mode, the first tag determines the tag syntax. You can use the language\nIDs "freemarker.tag-bracket.interpolation-dollar" etc. to force a specific mode.\n\nThe default FreeMarker mode is Angle/Dollar.\n[/#comment]\n\n[#macro greet name]\n Hello [=name]!\n[/#macro[\n\n[#macro border]\n
\n [#nested]\n
\n[/#macro]\n\n[#function avg x y]\n [#return (x + y) / 2]\n[/#function]\n\n[#assign user = "Juila Smith"]\n[#assign animals = [{"name": "Tanuki", "price": 200}, {"name": "Phoenix", "price": 1111}]]\n\n\n\n Welcome!\n\n\n [#-- Greet the user with his/her name --]\n
\n \t<@greet user />\n
\n\n
We have these animals:\n\n
\n [#list animals as animal]\n
[=animal.name] for [=animal.price] Euros\n [/#list][\n
\n\n <@border>The bordered text@border>\n\n The average of 35 and 49 is [=avg(35, 49]}.\n\n\n\n'}}]);
+//# sourceMappingURL=383.js.map
\ No newline at end of file
diff --git a/383.js.map b/383.js.map
new file mode 100644
index 00000000..814f5afe
--- /dev/null
+++ b/383.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"383.js","mappings":"4IAAA,k/C","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.freemarker2.tag-bracket.interpolation-bracket.txt"],"sourcesContent":["export default \"[#ftl stripText=false]\\n\\n[#-- Free marker demo --]\\n\\n[#comment]\\nThis demonstrates the FreeMarker language. The default theme is not very\\ncolorful and displays many different token types in the same color, but keep in\\nmind that you can define your own theme (or extend an existing one).\\n\\nNote that free marker actually defines 6 similar but different syntax modes:\\n\\n- 3 tag syntax modes: Angle (<#if>), Bracket ([#if]), and Auto.\\n- 2 interpolation modes: Dollar (${...}) and Bracket ([=...])\\n\\nIn auto mode, the first tag determines the tag syntax. You can use the language\\nIDs \\\"freemarker.tag-bracket.interpolation-dollar\\\" etc. to force a specific mode.\\n\\nThe default FreeMarker mode is Angle/Dollar.\\n[/#comment]\\n\\n[#macro greet name]\\n Hello [=name]!\\n[/#macro[\\n\\n[#macro border]\\n
\\n [#nested]\\n
\\n[/#macro]\\n\\n[#function avg x y]\\n [#return (x + y) / 2]\\n[/#function]\\n\\n[#assign user = \\\"Juila Smith\\\"]\\n[#assign animals = [{\\\"name\\\": \\\"Tanuki\\\", \\\"price\\\": 200}, {\\\"name\\\": \\\"Phoenix\\\", \\\"price\\\": 1111}]]\\n\\n\\n\\n Welcome!\\n\\n\\n [#-- Greet the user with his/her name --]\\n
\\n \\t<@greet user />\\n
\\n\\n
We have these animals:\\n\\n
\\n [#list animals as animal]\\n
[=animal.name] for [=animal.price] Euros\\n [/#list][\\n
\\n\\n <@border>The bordered text@border>\\n\\n The average of 35 and 49 is [=avg(35, 49]}.\\n\\n\\n\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/3863.js b/3863.js
new file mode 100644
index 00000000..6bef61da
--- /dev/null
+++ b/3863.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[3863],{3863:(n,e,t)=>{t.r(e),t.d(e,{default:()=>i});const i='"""\nA CoffeeScript sample.\n"""\n\nclass Vehicle\n constructor: (@name) =>\n \n drive: () =>\n alert "Conducting #{@name}"\n\nclass Car extends Vehicle\n drive: () =>\n alert "Driving #{@name}"\n\nc = new Car "Brandie"\n\nwhile notAtDestination()\n c.drive()\n\nraceVehicles = (new Car for i in [1..100])\n\nstartRace = (vehicles) -> [vehicle.drive() for vehicle in vehicles]\n\nfancyRegExp = ///\n\t(\\d+)\t# numbers\n\t(\\w*)\t# letters\n\t$\t\t# the end\n///\n'}}]);
+//# sourceMappingURL=3863.js.map
\ No newline at end of file
diff --git a/3863.js.map b/3863.js.map
new file mode 100644
index 00000000..8ee739bb
--- /dev/null
+++ b/3863.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"3863.js","mappings":"8IAAA,qe","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.coffeescript.txt"],"sourcesContent":["export default \"\\\"\\\"\\\"\\nA CoffeeScript sample.\\n\\\"\\\"\\\"\\n\\nclass Vehicle\\n constructor: (@name) =>\\n \\n drive: () =>\\n alert \\\"Conducting #{@name}\\\"\\n\\nclass Car extends Vehicle\\n drive: () =>\\n alert \\\"Driving #{@name}\\\"\\n\\nc = new Car \\\"Brandie\\\"\\n\\nwhile notAtDestination()\\n c.drive()\\n\\nraceVehicles = (new Car for i in [1..100])\\n\\nstartRace = (vehicles) -> [vehicle.drive() for vehicle in vehicles]\\n\\nfancyRegExp = ///\\n\\t(\\\\d+)\\t# numbers\\n\\t(\\\\w*)\\t# letters\\n\\t$\\t\\t# the end\\n///\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/3926.js b/3926.js
new file mode 100644
index 00000000..603c921d
--- /dev/null
+++ b/3926.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[3926],{9867:(n,e,t)=>{t.r(e),t.d(e,{default:()=>a});const a='# GraphQL Schema Definition Language\n\n"""\nColor value\n"""\nscalar Color\n\n"""\nNode interface\n\n- allows (re)fetch arbitrary entity only by ID\n- allows client side cache normalization\n\nSee [Relay Global Object Identification Specification](https://facebook.github.io/relay/graphql/objectidentification.htm)\n"""\ninterface Node {\n """\n Globally unique identifier,\n typically `${__typename}:${dbId}`\n may be encoded in *base64*\n """\n id: ID!\n}\n\n"""\nA character in the Star Wars Trilogy\n"""\ninterface Character {\n """\n The id of the character.\n """\n id: ID!\n\n """\n The name of the character.\n """\n name: String\n\n """\n The friends of the character, or an empty list if they have none.\n """\n friends: [Character]\n\n """\n Which movies they appear in\n """\n appearsIn: [Episode]\n\n """\n All secrets about their past\n """\n secretBackstory: String\n}\n\n"""\nA mechanical creature in the Star Wars universe.\n"""\ntype Droid implements Character {\n """\n The id of the droid.\n """\n id: ID!\n\n """\n The name of the droid.\n """\n name: String\n\n """\n The friends of the droid, or an empty list if they have none.\n """\n friends: [Character]\n\n """\n Which movies they appear in.\n """\n appearsIn: [Episode]\n\n """\n Construction date and the name of the designer.\n """\n secretBackstory: String\n\n """\n The primary function of the droid.\n """\n primaryFunction: String\n\n """\n Chase color of the droid.\n """\n color: Color\n}\n\n# One of the films in the Star Wars Trilogy\nenum Episode {\n """\n Released in 1977.\n """\n NEWHOPE\n\n """\n Released in 1980.\n """\n EMPIRE\n\n """\n Released in 1983.\n """\n JEDI\n}\n\n"""\nA humanoid creature in the Star Wars universe.\n"""\ntype Human implements Character {\n """\n The id of the human.\n """\n id: ID!\n\n """\n The name of the human.\n """\n name: String\n\n """\n The friends of the human, or an empty list if they have none.\n """\n friends: [Character]\n\n """\n Which movies they appear in.\n """\n appearsIn: [Episode]\n\n """\n The home planet of the human, or null if unknown.\n """\n homePlanet: String\n\n """\n Where are they from and how they came to be who they are.\n """\n secretBackstory: String\n}\n\nenum LengthUnit {\n METER\n FEET\n}\n\ntype Starship {\n id: ID!\n name: String!\n length(unit: LengthUnit = METER): Float\n}\n\nunion SearchResult = Human | Droid | Starship\n\ninput SearchInput {\n name: String\n episode: Episode\n}\n\n"""\nRoot Query\n"""\ntype Query {\n """\n Return the hero by episode.\n """\n hero(\n """\n If omitted, returns the hero of the whole saga. If provided, returns the hero of that particular episode.\n """\n episode: Episode\n ): Character\n\n """\n Return the Human by ID.\n """\n human(\n """\n id of the human\n """\n id: ID!\n ): Human\n\n """\n Return the Droid by ID.\n """\n droid(\n """\n id of the droid\n """\n id: ID!\n ): Droid\n\n """\n Search everything by name\n\n __NOTE__: You should use Relay pagination\n """\n search(search: SearchInput!): [SearchResult]\n @deprecated(reason: "`search` will be replaced.")\n}\n\n"""\nRoot Mutation\n"""\ntype Mutation {\n """\n Save the favorite episode.\n """\n favorite(\n """\n Favorite episode.\n """\n episode: Episode!\n ): Episode\n}\n\n"""\nSubscriptions — live events\n"""\ntype Subscription {\n """\n Message\n """\n message: String\n}\n\nextend type Query {\n """\n Dummy query for highlighting test\n """\n dummy(\n int: Int = 123\n float: Float = 123.456\n str: String = "Hello World!"\n boolDefaultTrue: Boolean = true\n boolDefaultFalse: Boolean = false\n id: ID\n search: SearchInput = null\n ): Boolean\n}\n\nschema {\n query: Query\n mutation: Mutation\n subscription: Subscription\n}\n\n# GraphQL Query Language\n\nquery dummyQuery($int: Int) {\n dummy(int: $int)\n}\n\nmutation favoriteEpisode($episode: Episode) {\n favorite(episode: $episode)\n}\n'}}]);
+//# sourceMappingURL=3926.js.map
\ No newline at end of file
diff --git a/3926.js.map b/3926.js.map
new file mode 100644
index 00000000..82c9deb8
--- /dev/null
+++ b/3926.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"3926.js","mappings":"8IAAA,ugI","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.graphql.txt"],"sourcesContent":["export default \"# GraphQL Schema Definition Language\\n\\n\\\"\\\"\\\"\\nColor value\\n\\\"\\\"\\\"\\nscalar Color\\n\\n\\\"\\\"\\\"\\nNode interface\\n\\n- allows (re)fetch arbitrary entity only by ID\\n- allows client side cache normalization\\n\\nSee [Relay Global Object Identification Specification](https://facebook.github.io/relay/graphql/objectidentification.htm)\\n\\\"\\\"\\\"\\ninterface Node {\\n \\\"\\\"\\\"\\n Globally unique identifier,\\n typically `${__typename}:${dbId}`\\n may be encoded in *base64*\\n \\\"\\\"\\\"\\n id: ID!\\n}\\n\\n\\\"\\\"\\\"\\nA character in the Star Wars Trilogy\\n\\\"\\\"\\\"\\ninterface Character {\\n \\\"\\\"\\\"\\n The id of the character.\\n \\\"\\\"\\\"\\n id: ID!\\n\\n \\\"\\\"\\\"\\n The name of the character.\\n \\\"\\\"\\\"\\n name: String\\n\\n \\\"\\\"\\\"\\n The friends of the character, or an empty list if they have none.\\n \\\"\\\"\\\"\\n friends: [Character]\\n\\n \\\"\\\"\\\"\\n Which movies they appear in\\n \\\"\\\"\\\"\\n appearsIn: [Episode]\\n\\n \\\"\\\"\\\"\\n All secrets about their past\\n \\\"\\\"\\\"\\n secretBackstory: String\\n}\\n\\n\\\"\\\"\\\"\\nA mechanical creature in the Star Wars universe.\\n\\\"\\\"\\\"\\ntype Droid implements Character {\\n \\\"\\\"\\\"\\n The id of the droid.\\n \\\"\\\"\\\"\\n id: ID!\\n\\n \\\"\\\"\\\"\\n The name of the droid.\\n \\\"\\\"\\\"\\n name: String\\n\\n \\\"\\\"\\\"\\n The friends of the droid, or an empty list if they have none.\\n \\\"\\\"\\\"\\n friends: [Character]\\n\\n \\\"\\\"\\\"\\n Which movies they appear in.\\n \\\"\\\"\\\"\\n appearsIn: [Episode]\\n\\n \\\"\\\"\\\"\\n Construction date and the name of the designer.\\n \\\"\\\"\\\"\\n secretBackstory: String\\n\\n \\\"\\\"\\\"\\n The primary function of the droid.\\n \\\"\\\"\\\"\\n primaryFunction: String\\n\\n \\\"\\\"\\\"\\n Chase color of the droid.\\n \\\"\\\"\\\"\\n color: Color\\n}\\n\\n# One of the films in the Star Wars Trilogy\\nenum Episode {\\n \\\"\\\"\\\"\\n Released in 1977.\\n \\\"\\\"\\\"\\n NEWHOPE\\n\\n \\\"\\\"\\\"\\n Released in 1980.\\n \\\"\\\"\\\"\\n EMPIRE\\n\\n \\\"\\\"\\\"\\n Released in 1983.\\n \\\"\\\"\\\"\\n JEDI\\n}\\n\\n\\\"\\\"\\\"\\nA humanoid creature in the Star Wars universe.\\n\\\"\\\"\\\"\\ntype Human implements Character {\\n \\\"\\\"\\\"\\n The id of the human.\\n \\\"\\\"\\\"\\n id: ID!\\n\\n \\\"\\\"\\\"\\n The name of the human.\\n \\\"\\\"\\\"\\n name: String\\n\\n \\\"\\\"\\\"\\n The friends of the human, or an empty list if they have none.\\n \\\"\\\"\\\"\\n friends: [Character]\\n\\n \\\"\\\"\\\"\\n Which movies they appear in.\\n \\\"\\\"\\\"\\n appearsIn: [Episode]\\n\\n \\\"\\\"\\\"\\n The home planet of the human, or null if unknown.\\n \\\"\\\"\\\"\\n homePlanet: String\\n\\n \\\"\\\"\\\"\\n Where are they from and how they came to be who they are.\\n \\\"\\\"\\\"\\n secretBackstory: String\\n}\\n\\nenum LengthUnit {\\n METER\\n FEET\\n}\\n\\ntype Starship {\\n id: ID!\\n name: String!\\n length(unit: LengthUnit = METER): Float\\n}\\n\\nunion SearchResult = Human | Droid | Starship\\n\\ninput SearchInput {\\n name: String\\n episode: Episode\\n}\\n\\n\\\"\\\"\\\"\\nRoot Query\\n\\\"\\\"\\\"\\ntype Query {\\n \\\"\\\"\\\"\\n Return the hero by episode.\\n \\\"\\\"\\\"\\n hero(\\n \\\"\\\"\\\"\\n If omitted, returns the hero of the whole saga. If provided, returns the hero of that particular episode.\\n \\\"\\\"\\\"\\n episode: Episode\\n ): Character\\n\\n \\\"\\\"\\\"\\n Return the Human by ID.\\n \\\"\\\"\\\"\\n human(\\n \\\"\\\"\\\"\\n id of the human\\n \\\"\\\"\\\"\\n id: ID!\\n ): Human\\n\\n \\\"\\\"\\\"\\n Return the Droid by ID.\\n \\\"\\\"\\\"\\n droid(\\n \\\"\\\"\\\"\\n id of the droid\\n \\\"\\\"\\\"\\n id: ID!\\n ): Droid\\n\\n \\\"\\\"\\\"\\n Search everything by name\\n\\n __NOTE__: You should use Relay pagination\\n \\\"\\\"\\\"\\n search(search: SearchInput!): [SearchResult]\\n @deprecated(reason: \\\"`search` will be replaced.\\\")\\n}\\n\\n\\\"\\\"\\\"\\nRoot Mutation\\n\\\"\\\"\\\"\\ntype Mutation {\\n \\\"\\\"\\\"\\n Save the favorite episode.\\n \\\"\\\"\\\"\\n favorite(\\n \\\"\\\"\\\"\\n Favorite episode.\\n \\\"\\\"\\\"\\n episode: Episode!\\n ): Episode\\n}\\n\\n\\\"\\\"\\\"\\nSubscriptions — live events\\n\\\"\\\"\\\"\\ntype Subscription {\\n \\\"\\\"\\\"\\n Message\\n \\\"\\\"\\\"\\n message: String\\n}\\n\\nextend type Query {\\n \\\"\\\"\\\"\\n Dummy query for highlighting test\\n \\\"\\\"\\\"\\n dummy(\\n int: Int = 123\\n float: Float = 123.456\\n str: String = \\\"Hello World!\\\"\\n boolDefaultTrue: Boolean = true\\n boolDefaultFalse: Boolean = false\\n id: ID\\n search: SearchInput = null\\n ): Boolean\\n}\\n\\nschema {\\n query: Query\\n mutation: Mutation\\n subscription: Subscription\\n}\\n\\n# GraphQL Query Language\\n\\nquery dummyQuery($int: Int) {\\n dummy(int: $int)\\n}\\n\\nmutation favoriteEpisode($episode: Episode) {\\n favorite(episode: $episode)\\n}\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/4090.js b/4090.js
new file mode 100644
index 00000000..e8c05977
--- /dev/null
+++ b/4090.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[4090],{4090:(e,n,t)=>{t.r(n),t.d(n,{default:()=>r});const r='syntax = "proto3";\nimport public "other.proto";\n\n/* SearchRequest represents a search query, with pagination options to\n * indicate which results to include in the response. */\n\nmessage SearchRequest {\n required string query = 1;\n optional int32 page_number = 2; // Which page number do we want?\n optional int32 result_per_page = 3; // Number of results to return per page.\n}\n'}}]);
+//# sourceMappingURL=4090.js.map
\ No newline at end of file
diff --git a/4090.js.map b/4090.js.map
new file mode 100644
index 00000000..956ffb0d
--- /dev/null
+++ b/4090.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"4090.js","mappings":"8IAAA,kZ","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.proto.txt"],"sourcesContent":["export default \"syntax = \\\"proto3\\\";\\nimport public \\\"other.proto\\\";\\n\\n/* SearchRequest represents a search query, with pagination options to\\n * indicate which results to include in the response. */\\n\\nmessage SearchRequest {\\n required string query = 1;\\n optional int32 page_number = 2; // Which page number do we want?\\n optional int32 result_per_page = 3; // Number of results to return per page.\\n}\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/4337.js b/4337.js
new file mode 100644
index 00000000..0f7b8ca8
--- /dev/null
+++ b/4337.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[4337],{4337:(e,n,t)=>{t.r(n),t.d(n,{default:()=>a});const a="=================\nMy Project Readme\n=================\n-------------------------\nClever subtitle goes here\n-------------------------\n\nIntroduction\n============\n\nThis is an example reStructuredText document that starts at the very top\nwith a title and a sub-title. There is one primary header, Introduction.\nThere is one example subheading below.\nThe document is just plain text so it is easily readable even before\nbeing converted to HTML, man page, PDF or other formats.\n\nSubheading\n----------\n\nThe basic syntax is not that different from Markdown, but it also\nhas many more powerful features that Markdown doesn't have. We aren't\ntaking advantage of those yet though.\n\n- Bullet points\n- Are intuitive\n- And simple too\n"}}]);
+//# sourceMappingURL=4337.js.map
\ No newline at end of file
diff --git a/4337.js.map b/4337.js.map
new file mode 100644
index 00000000..b440d9ef
--- /dev/null
+++ b/4337.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"4337.js","mappings":"8IAAA,mvB","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.restructuredtext.txt"],"sourcesContent":["export default \"=================\\nMy Project Readme\\n=================\\n-------------------------\\nClever subtitle goes here\\n-------------------------\\n\\nIntroduction\\n============\\n\\nThis is an example reStructuredText document that starts at the very top\\nwith a title and a sub-title. There is one primary header, Introduction.\\nThere is one example subheading below.\\nThe document is just plain text so it is easily readable even before\\nbeing converted to HTML, man page, PDF or other formats.\\n\\nSubheading\\n----------\\n\\nThe basic syntax is not that different from Markdown, but it also\\nhas many more powerful features that Markdown doesn't have. We aren't\\ntaking advantage of those yet though.\\n\\n- Bullet points\\n- Are intuitive\\n- And simple too\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/4353.js b/4353.js
new file mode 100644
index 00000000..715e106c
--- /dev/null
+++ b/4353.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[4353],{4353:(n,e,o)=>{o.r(e),o.d(e,{default:()=>t});const t='html {\n background-color: #e2e2e2;\n margin: 0;\n padding: 0;\n}\n\nbody {\n background-color: #fff;\n border-top: solid 10px #000;\n color: #333;\n font-size: .85em;\n font-family: "Segoe UI","HelveticaNeue-Light", sans-serif;\n margin: 0;\n padding: 0;\n}\n\na:link, a:visited, \na:active, a:hover {\n color: #333;\n outline: none;\n padding-left: 0;\n padding-right: 3px;\n text-decoration: none;\n \n}\n\n\na:hover {\n background-color: #c7d1d6;\n}\n\n\nheader, footer, hgroup\nnav, section {\n display: block;\n}\n\n.float-left {\n float: left;\n}\n\n.float-right {\n float: right;\n}\n\n.highlight {\n/* background-color: #a6dbed;\n padding-left: 5px;\n padding-right: 5px;*/\n}\n\n.clear-fix:after {\n content: ".";\n clear: both;\n display: block;\n height: 0;\n visibility: hidden;\n}\n\nh1, h2, h3, \nh4, h5, h6 {\n color: #000;\n margin-bottom: 0;\n padding-bottom: 0;\n \n}\n\nh1 {\n font-size: 2em; \n}\n\nh2 {\n font-size: 1.75em;\n}\n\nh3 {\n font-size: 1.2em;\n}\n\nh4 {\n font-size: 1.1em;\n}\n\nh5, h6 {\n font-size: 1em;\n}\n\n\n.tile {\n /* 2px solid #7ac0da; */\n border: 0;\n \n float: left;\n width: 200px;\n height: 325px;\n \n padding: 5px;\n margin-right: 5px;\n margin-bottom: 20px;\n margin-top: 20px;\n -webkit-perspective: 0;\n -webkit-transform-style: preserve-3d;\n -webkit-transition: -webkit-transform 0.2s;\n -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.3);\n background-position: center center;\n background-repeat: no-repeat;\n \n background-color: #fff;\n}\n\n.tile-item {\n /* 2px solid #7ac0da; */\n border-color: inherit;\n float: left;\n width: 50px;\n height: 70px;\n margin-right: 20px;\n margin-bottom: 20px;\n margin-top: 20px;\n background-image: url(\'../Images/documents.png\');\n background-repeat: no-repeat;\n \n}\n\n.tile-wrapper {\n width: 100%;\n font-family: "Segoe UI" , Tahoma, Geneva, Verdana, sans-serif;\n line-height: 21px;\n font-size: 14px;\n}\n\na.blue-box {\n font-size: 28px;\n height: 100px;\n display: block;\n border-style: solid;\n border-width: 1px 1px 4px 1px;\n border-color: #C0C0C0 #C0C0C0 #8ABAE4 #C0C0C0;\n padding-top: 15px;\n padding-left: 15px;\n}\n\n a.blue-box:hover {\n border: 4px solid #8ABAE4; \n padding-top: 12px;\n padding-left: 12px;\n background-color: #FFFFFF;\n}\n \na.green-box {\n font-size: 28px;\n height: 100px;\n display: block;\n border-style: solid;\n border-width: 1px 1px 4px 1px;\n border-color: #C0C0C0 #C0C0C0 #9CCF42 #C0C0C0;\n padding-top: 15px;\n padding-left: 15px;\n}\n\n a.green-box:hover {\n border: 4px solid #9CCF42; \n padding-top: 12px;\n padding-left: 12px;\n background-color: #FFFFFF;\n}\n\n\na.green-box2 {\n font-size: 14px;\n height: 48px;\n width: 48px;\n display: block; /* border-color: #C0C0C0; */\n padding-top: 6px;\n font-weight: bold;\n \n}\n\n a.green-box2:hover {\n border: solid #8ABAE4;\n padding-top: 0px;\n padding-left: 0px;\n background-image: url(\'../Images/documents.png\');\n background-color: #EFEFEF;\n}\n\na.yellow-box {\n font-size: 28px;\n height: 100px;\n display: block;\n border-style: solid;\n border-width: 1px 1px 4px 1px;\n border-color: #C0C0C0 #C0C0C0 #DECF6B #C0C0C0;\n padding-top: 15px;\n padding-left: 15px;\n}\n\n a.yellow-box:hover {\n border: 4px solid #DECF6B; \n padding-top: 12px;\n padding-left: 12px;\n background-color: #FFFFFF;\n}\n \n \na.red-box {\n font-size: 28px;\n height: 100px;\n display: block;\n border-style: solid;\n border-width: 1px 1px 4px 1px;\n border-color: #C0C0C0 #C0C0C0 #F79E84 #C0C0C0;\n padding-top: 15px;\n padding-left: 15px;\n}\n\n a.red-box:hover {\n border: 4px solid #F79E84; \n padding-top: 12px;\n padding-left: 12px;\n background-color: #FFFFFF;\n}\n \n/* main layout \n----------------------------------------------------------*/\n.content-wrapper {\n margin: 0 auto;\n max-width: 960px;\n}\n\n#body {\n background-color: #efeeef;\n clear: both;\n padding-bottom: 35px;\n}\n\n .main-content {\n background: url("../images/accent.png") no-repeat;\n padding-left: 10px;\n padding-top: 30px;\n }\n\n .featured + .main-content {\n background: url("../images/heroaccent.png") no-repeat;\n }\n\nfooter {\n clear: both;\n background-color: #e2e2e2;\n font-size: .8em;\n height: 100px;\n}\n\n\n/* site title\n----------------------------------------------------------*/\n.site-title {\n color: #0066CC; /* font-family: Rockwell, Consolas, "Courier New", Courier, monospace; */\n font-size: 3.3em;\n margin-top: 40px;\n margin-bottom: 0;\n}\n\n.site-title a, .site-title a:hover, .site-title a:active {\n background: none;\n color: #0066CC;\n outline: none;\n text-decoration: none;\n}\n\n\n/* login \n----------------------------------------------------------*/\n#login {\n display: block;\n font-size: .85em;\n margin-top: 20px;\n text-align: right;\n}\n\n #login a {\n background-color: #d3dce0;\n margin-left: 10px;\n margin-right: 3px;\n padding: 2px 3px;\n text-decoration: none;\n }\n \n #login a.username {\n background: none;\n margin-left: 0px;\n text-decoration: underline;\n }\n\n #login li {\n display: inline;\n list-style: none;\n }\n \n \n/* menu \n----------------------------------------------------------*/\nul#menu {\n font-size: 1.3em;\n font-weight: 600;\n margin: 0;\n text-align: right;\n text-decoration: none;\n\n}\n\n ul#menu li {\n display: inline;\n list-style: none;\n padding-left: 15px;\n }\n\n ul#menu li a {\n background: none;\n color: #999;\n text-decoration: none;\n }\n\n ul#menu li a:hover {\n color: #333;\n text-decoration: none;\n }\n\n\n\n/* page elements \n----------------------------------------------------------*/\n/* featured */\n.featured {\n background-color: #fff;\n}\n\n .featured .content-wrapper {\n /*background-color: #7ac0da;\n background-image: -ms-linear-gradient(left, #7AC0DA 0%, #A4D4E6 100%);\n background-image: -o-linear-gradient(left, #7AC0DA 0%, #A4D4E6 100%);\n background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #7AC0DA), color-stop(1, #A4D4E6));\n background-image: -webkit-linear-gradient(left, #7AC0DA 0%, #A4D4E6 100%);\n background-image: linear-gradient(left, #7AC0DA 0%, #A4D4E6 100%);\n color: #3e5667;\n */\n padding: 0px 40px 30px 40px;\n }\n\n .featured hgroup.title h1, .featured hgroup.title h2 {\n /* color: #fff;\n */\n }\n\n .featured p {\n font-size: 1.1em;\n }\n\n/* page titles */ \nhgroup.title {\n margin-bottom: 10px;\n}\n\nhgroup.title h1, hgroup.title h2 {\ndisplay: inline;\n}\n\nhgroup.title h2 {\n font-weight: normal;\n}\n\n/* releases */\n.milestone {\n color: #fff;\n background-color: #8ABAE4;\n font-weight: normal;\n padding: 10px 10px 10px 10px;\n margin: 0 0 0 0;\n}\n .milestone .primary {\n font-size: 1.75em;\n }\n\n .milestone .secondary {\n font-size: 1.2em;\n font-weight: normal;\n /* padding: 5px 5px 5px 10px;*/\n }\n \n/* features */\nsection.feature {\n width: 200px;\n float: left;\n padding: 10px;\n}\n\n/* ordered list */\nol.round {\n list-style-type: none;\n padding-left: 0;\n}\n\n ol.round li {\n margin: 25px 0;\n padding-left: 45px;\n }\n \n ol.round li.one {\n background: url("../images/orderedlistOne.png") no-repeat; \n }\n \n ol.round li.two {\n background: url("../images/orderedlistTwo.png") no-repeat; \n }\n \n ol.round li.three {\n background: url("../images/orderedlistThree.png") no-repeat; \n }\n \n/* content */ \narticle {\n float: left;\n width: 70%;\n}\n\naside {\n float: right;\n width: 25%;\n}\n\n aside ul {\n list-style: none;\n padding: 0;\n }\n \n aside ul li {\n background: url("../images/bullet.png") no-repeat 0 50%;\n padding: 2px 0 2px 20px;\n }\n \n.label {\n font-weight: 700;\n}\n\n/* login page */ \n#loginForm {\n border-right: solid 2px #c8c8c8;\n float: left;\n width: 45%;\n}\n\n #loginForm .validation-error {\n display: block;\n margin-left: 15px;\n }\n\n#socialLoginForm {\n margin-left: 40px;\n float: left;\n width: 50%;\n}\n\n/* contact */\n.contact h3 {\n font-size: 1.2em;\n}\n\n.contact p {\n margin: 5px 0 0 10px;\n}\n\n.contact iframe {\n border: solid 1px #333;\n margin: 5px 0 0 10px;\n}\n\n/* forms */\nfieldset {\n border: none;\n margin: 0;\n padding: 0;\n}\n\n fieldset legend {\n display: none;\n }\n \n fieldset ol {\n padding: 0;\n list-style: none;\n }\n \n fieldset ol li {\n padding-bottom: 5px;\n }\n \n fieldset label {\n display: block;\n font-size: 1.2em;\n font-weight: 600;\n }\n \n fieldset label.checkbox {\n display: inline;\n }\n \n fieldset input[type="text"], \n fieldset input[type="password"] {\n border: 1px solid #e2e2e2;\n color: #333;\n font-size: 1.2em;\n margin: 5px 0 6px 0;\n padding: 5px;\n width: 300px;\n }\n \n fieldset input[type="text"]:focus, \n fieldset input[type="password"]:focus {\n border: 1px solid #7ac0da;\n }\n \n fieldset input[type="submit"] {\n background-color: #d3dce0;\n border: solid 1px #787878;\n cursor: pointer;\n font-size: 1.2em;\n font-weight: 600;\n padding: 7px;\n }\n\n/* ajax login/registration dialog */\n.modal-popup {\n font-size: 0.7em;\n}\n\n/* info and errors */ \n.message-info {\n border: solid 1px;\n clear: both;\n padding: 10px 20px;\n}\n\n.message-error {\n clear: both;\n color: #e80c4d;\n font-size: 1.1em;\n font-weight: bold;\n margin: 20px 0 10px 0;\n}\n\n.message-success {\n color: #7ac0da;\n font-size: 1.3em;\n font-weight: bold;\n margin: 20px 0 10px 0;\n}\n\n.success {\n color: #7ac0da;\n}\n\n.error {\n color: #e80c4d;\n}\n\n/* styles for validation helpers */\n.field-validation-error {\n color: #e80c4d;\n font-weight: bold;\n}\n\n.field-validation-valid {\n display: none;\n}\n\ninput[type="text"].input-validation-error,\ninput[type="password"].input-validation-error {\n border: solid 1px #e80c4d;\n}\n\n.validation-summary-errors {\n color: #e80c4d;\n font-weight: bold;\n font-size: 1.1em;\n}\n\n.validation-summary-valid {\n display: none;\n}\n\n\n/* social */\nul#social li {\n display: inline;\n list-style: none;\n}\n\n ul#social li a {\n color: #999;\n text-decoration: none;\n }\n \n a.facebook, a.twitter {\n display: block;\n float: left;\n height: 24px;\n padding-left: 17px;\n text-indent: -9999px;\n width: 16px;\n }\n \n a.facebook {\n background: url("../images/facebook.png") no-repeat;\n }\n \n a.twitter {\n background: url("../images/twitter.png") no-repeat;\n }\n \n \n \n/********************\n* Mobile Styles *\n********************/\n@media only screen and (max-width: 850px) {\n \n /* header \n ----------------------------------------------------------*/\n header .float-left, \n header .float-right {\n float: none;\n }\n \n /* logo */\n header .site-title {\n /*margin: 0; */\n /*margin: 10px;*/\n text-align: left;\n padding-left: 0;\n }\n\n /* login */\n #login {\n font-size: .85em;\n margin-top: 0;\n text-align: center;\n }\n \n #login ul {\n margin: 5px 0;\n padding: 0;\n }\n \n #login li {\n display: inline;\n list-style: none;\n margin: 0;\n padding:0;\n }\n\n #login a {\n background: none;\n color: #999;\n font-weight: 600;\n margin: 2px;\n padding: 0;\n }\n \n #login a:hover {\n color: #333;\n }\n\n /* menu */\n nav {\n margin-bottom: 5px;\n }\n \n ul#menu {\n margin: 0;\n padding:0;\n text-align: center;\n }\n\n ul#menu li {\n margin: 0;\n padding: 0;\n }\n\n \n /* main layout \n ----------------------------------------------------------*/\n .main-content,\n .featured + .main-content {\n background-position: 10px 0;\n }\n \n .content-wrapper {\n padding-right: 10px;\n padding-left: 10px;\n }\n\n .featured .content-wrapper {\n padding: 10px;\n }\n \n /* page content */ \n article, aside {\n float: none;\n width: 100%;\n }\n \n /* ordered list */\n ol.round {\n list-style-type: none;\n padding-left: 0;\n }\n\n ol.round li {\n padding-left: 10px;\n margin: 25px 0;\n }\n \n ol.round li.one,\n ol.round li.two,\n ol.round li.three {\n background: none; \n }\n \n /* features */\n section.feature {\n float: none;\n padding: 10px;\n width: auto;\n }\n \n section.feature img {\n color: #999;\n content: attr(alt);\n font-size: 1.5em;\n font-weight: 600;\n }\n \n /* forms */ \n fieldset input[type="text"], \n fieldset input[type="password"] {\n width: 90%;\n }\n \n /* login page */ \n #loginForm {\n border-right: none;\n float: none;\n width: auto;\n }\n\n #loginForm .validation-error {\n display: block;\n margin-left: 15px;\n }\n\n #socialLoginForm {\n margin-left: 0;\n float: none;\n width: auto;\n }\n\n /* footer \n ----------------------------------------------------------*/ \n footer .float-left,\n footer .float-right {\n float: none;\n }\n \n footer {\n text-align: center;\n height: auto;\n padding: 10px 0;\n }\n \n footer p {\n margin: 0;\n }\n \n ul#social {\n padding:0;\n margin: 0;\n }\n \n a.facebook, a.twitter {\n background: none;\n display: inline;\n float: none;\n height: auto;\n padding-left: 0;\n text-indent: 0;\n width: auto;\n } \n}\n\n.subsite {\n\tcolor: #444;\n}\n\nh3 {\n\tfont-weight: normal;\n\tfont-size: 24px;\n\tcolor: #444;\n\tmargin-bottom: 20px;\n}\n\n.tiles {\n\tpadding-bottom: 20px;\n\tbackground-color: #e3e3e3;\n}\n\n#editor {\n\tmargin: 0 auto;\n\theight: 500px;\n\tborder: 1px solid #ccc;\n}\n\n.monaco-editor.monaco, .monaco-editor.vs, .monaco-editor.eclipse {\n\tbackground: #F9F9F9;\n}\n\n.monaco-editor.monaco .monaco-editor-background, .monaco-editor.vs .monaco-editor-background, .monaco-editor.eclipse .monaco-editor-background {\n\tbackground: #F9F9F9;\n}'}}]);
+//# sourceMappingURL=4353.js.map
\ No newline at end of file
diff --git a/4353.js.map b/4353.js.map
new file mode 100644
index 00000000..75c3ee3b
--- /dev/null
+++ b/4353.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"4353.js","mappings":"8IAAA,grf","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.css.txt"],"sourcesContent":["export default \"html {\\n background-color: #e2e2e2;\\n margin: 0;\\n padding: 0;\\n}\\n\\nbody {\\n background-color: #fff;\\n border-top: solid 10px #000;\\n color: #333;\\n font-size: .85em;\\n font-family: \\\"Segoe UI\\\",\\\"HelveticaNeue-Light\\\", sans-serif;\\n margin: 0;\\n padding: 0;\\n}\\n\\na:link, a:visited, \\na:active, a:hover {\\n color: #333;\\n outline: none;\\n padding-left: 0;\\n padding-right: 3px;\\n text-decoration: none;\\n \\n}\\n\\n\\na:hover {\\n background-color: #c7d1d6;\\n}\\n\\n\\nheader, footer, hgroup\\nnav, section {\\n display: block;\\n}\\n\\n.float-left {\\n float: left;\\n}\\n\\n.float-right {\\n float: right;\\n}\\n\\n.highlight {\\n/* background-color: #a6dbed;\\n padding-left: 5px;\\n padding-right: 5px;*/\\n}\\n\\n.clear-fix:after {\\n content: \\\".\\\";\\n clear: both;\\n display: block;\\n height: 0;\\n visibility: hidden;\\n}\\n\\nh1, h2, h3, \\nh4, h5, h6 {\\n color: #000;\\n margin-bottom: 0;\\n padding-bottom: 0;\\n \\n}\\n\\nh1 {\\n font-size: 2em; \\n}\\n\\nh2 {\\n font-size: 1.75em;\\n}\\n\\nh3 {\\n font-size: 1.2em;\\n}\\n\\nh4 {\\n font-size: 1.1em;\\n}\\n\\nh5, h6 {\\n font-size: 1em;\\n}\\n\\n\\n.tile {\\n /* 2px solid #7ac0da; */\\n border: 0;\\n \\n float: left;\\n width: 200px;\\n height: 325px;\\n \\n padding: 5px;\\n margin-right: 5px;\\n margin-bottom: 20px;\\n margin-top: 20px;\\n -webkit-perspective: 0;\\n -webkit-transform-style: preserve-3d;\\n -webkit-transition: -webkit-transform 0.2s;\\n -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.3);\\n background-position: center center;\\n background-repeat: no-repeat;\\n \\n background-color: #fff;\\n}\\n\\n.tile-item {\\n /* 2px solid #7ac0da; */\\n border-color: inherit;\\n float: left;\\n width: 50px;\\n height: 70px;\\n margin-right: 20px;\\n margin-bottom: 20px;\\n margin-top: 20px;\\n background-image: url('../Images/documents.png');\\n background-repeat: no-repeat;\\n \\n}\\n\\n.tile-wrapper {\\n width: 100%;\\n font-family: \\\"Segoe UI\\\" , Tahoma, Geneva, Verdana, sans-serif;\\n line-height: 21px;\\n font-size: 14px;\\n}\\n\\na.blue-box {\\n font-size: 28px;\\n height: 100px;\\n display: block;\\n border-style: solid;\\n border-width: 1px 1px 4px 1px;\\n border-color: #C0C0C0 #C0C0C0 #8ABAE4 #C0C0C0;\\n padding-top: 15px;\\n padding-left: 15px;\\n}\\n\\n a.blue-box:hover {\\n border: 4px solid #8ABAE4; \\n padding-top: 12px;\\n padding-left: 12px;\\n background-color: #FFFFFF;\\n}\\n \\na.green-box {\\n font-size: 28px;\\n height: 100px;\\n display: block;\\n border-style: solid;\\n border-width: 1px 1px 4px 1px;\\n border-color: #C0C0C0 #C0C0C0 #9CCF42 #C0C0C0;\\n padding-top: 15px;\\n padding-left: 15px;\\n}\\n\\n a.green-box:hover {\\n border: 4px solid #9CCF42; \\n padding-top: 12px;\\n padding-left: 12px;\\n background-color: #FFFFFF;\\n}\\n\\n\\na.green-box2 {\\n font-size: 14px;\\n height: 48px;\\n width: 48px;\\n display: block; /* border-color: #C0C0C0; */\\n padding-top: 6px;\\n font-weight: bold;\\n \\n}\\n\\n a.green-box2:hover {\\n border: solid #8ABAE4;\\n padding-top: 0px;\\n padding-left: 0px;\\n background-image: url('../Images/documents.png');\\n background-color: #EFEFEF;\\n}\\n\\na.yellow-box {\\n font-size: 28px;\\n height: 100px;\\n display: block;\\n border-style: solid;\\n border-width: 1px 1px 4px 1px;\\n border-color: #C0C0C0 #C0C0C0 #DECF6B #C0C0C0;\\n padding-top: 15px;\\n padding-left: 15px;\\n}\\n\\n a.yellow-box:hover {\\n border: 4px solid #DECF6B; \\n padding-top: 12px;\\n padding-left: 12px;\\n background-color: #FFFFFF;\\n}\\n \\n \\na.red-box {\\n font-size: 28px;\\n height: 100px;\\n display: block;\\n border-style: solid;\\n border-width: 1px 1px 4px 1px;\\n border-color: #C0C0C0 #C0C0C0 #F79E84 #C0C0C0;\\n padding-top: 15px;\\n padding-left: 15px;\\n}\\n\\n a.red-box:hover {\\n border: 4px solid #F79E84; \\n padding-top: 12px;\\n padding-left: 12px;\\n background-color: #FFFFFF;\\n}\\n \\n/* main layout \\n----------------------------------------------------------*/\\n.content-wrapper {\\n margin: 0 auto;\\n max-width: 960px;\\n}\\n\\n#body {\\n background-color: #efeeef;\\n clear: both;\\n padding-bottom: 35px;\\n}\\n\\n .main-content {\\n background: url(\\\"../images/accent.png\\\") no-repeat;\\n padding-left: 10px;\\n padding-top: 30px;\\n }\\n\\n .featured + .main-content {\\n background: url(\\\"../images/heroaccent.png\\\") no-repeat;\\n }\\n\\nfooter {\\n clear: both;\\n background-color: #e2e2e2;\\n font-size: .8em;\\n height: 100px;\\n}\\n\\n\\n/* site title\\n----------------------------------------------------------*/\\n.site-title {\\n color: #0066CC; /* font-family: Rockwell, Consolas, \\\"Courier New\\\", Courier, monospace; */\\n font-size: 3.3em;\\n margin-top: 40px;\\n margin-bottom: 0;\\n}\\n\\n.site-title a, .site-title a:hover, .site-title a:active {\\n background: none;\\n color: #0066CC;\\n outline: none;\\n text-decoration: none;\\n}\\n\\n\\n/* login \\n----------------------------------------------------------*/\\n#login {\\n display: block;\\n font-size: .85em;\\n margin-top: 20px;\\n text-align: right;\\n}\\n\\n #login a {\\n background-color: #d3dce0;\\n margin-left: 10px;\\n margin-right: 3px;\\n padding: 2px 3px;\\n text-decoration: none;\\n }\\n \\n #login a.username {\\n background: none;\\n margin-left: 0px;\\n text-decoration: underline;\\n }\\n\\n #login li {\\n display: inline;\\n list-style: none;\\n }\\n \\n \\n/* menu \\n----------------------------------------------------------*/\\nul#menu {\\n font-size: 1.3em;\\n font-weight: 600;\\n margin: 0;\\n text-align: right;\\n text-decoration: none;\\n\\n}\\n\\n ul#menu li {\\n display: inline;\\n list-style: none;\\n padding-left: 15px;\\n }\\n\\n ul#menu li a {\\n background: none;\\n color: #999;\\n text-decoration: none;\\n }\\n\\n ul#menu li a:hover {\\n color: #333;\\n text-decoration: none;\\n }\\n\\n\\n\\n/* page elements \\n----------------------------------------------------------*/\\n/* featured */\\n.featured {\\n background-color: #fff;\\n}\\n\\n .featured .content-wrapper {\\n /*background-color: #7ac0da;\\n background-image: -ms-linear-gradient(left, #7AC0DA 0%, #A4D4E6 100%);\\n background-image: -o-linear-gradient(left, #7AC0DA 0%, #A4D4E6 100%);\\n background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #7AC0DA), color-stop(1, #A4D4E6));\\n background-image: -webkit-linear-gradient(left, #7AC0DA 0%, #A4D4E6 100%);\\n background-image: linear-gradient(left, #7AC0DA 0%, #A4D4E6 100%);\\n color: #3e5667;\\n */\\n padding: 0px 40px 30px 40px;\\n }\\n\\n .featured hgroup.title h1, .featured hgroup.title h2 {\\n /* color: #fff;\\n */\\n }\\n\\n .featured p {\\n font-size: 1.1em;\\n }\\n\\n/* page titles */ \\nhgroup.title {\\n margin-bottom: 10px;\\n}\\n\\nhgroup.title h1, hgroup.title h2 {\\ndisplay: inline;\\n}\\n\\nhgroup.title h2 {\\n font-weight: normal;\\n}\\n\\n/* releases */\\n.milestone {\\n color: #fff;\\n background-color: #8ABAE4;\\n font-weight: normal;\\n padding: 10px 10px 10px 10px;\\n margin: 0 0 0 0;\\n}\\n .milestone .primary {\\n font-size: 1.75em;\\n }\\n\\n .milestone .secondary {\\n font-size: 1.2em;\\n font-weight: normal;\\n /* padding: 5px 5px 5px 10px;*/\\n }\\n \\n/* features */\\nsection.feature {\\n width: 200px;\\n float: left;\\n padding: 10px;\\n}\\n\\n/* ordered list */\\nol.round {\\n list-style-type: none;\\n padding-left: 0;\\n}\\n\\n ol.round li {\\n margin: 25px 0;\\n padding-left: 45px;\\n }\\n \\n ol.round li.one {\\n background: url(\\\"../images/orderedlistOne.png\\\") no-repeat; \\n }\\n \\n ol.round li.two {\\n background: url(\\\"../images/orderedlistTwo.png\\\") no-repeat; \\n }\\n \\n ol.round li.three {\\n background: url(\\\"../images/orderedlistThree.png\\\") no-repeat; \\n }\\n \\n/* content */ \\narticle {\\n float: left;\\n width: 70%;\\n}\\n\\naside {\\n float: right;\\n width: 25%;\\n}\\n\\n aside ul {\\n list-style: none;\\n padding: 0;\\n }\\n \\n aside ul li {\\n background: url(\\\"../images/bullet.png\\\") no-repeat 0 50%;\\n padding: 2px 0 2px 20px;\\n }\\n \\n.label {\\n font-weight: 700;\\n}\\n\\n/* login page */ \\n#loginForm {\\n border-right: solid 2px #c8c8c8;\\n float: left;\\n width: 45%;\\n}\\n\\n #loginForm .validation-error {\\n display: block;\\n margin-left: 15px;\\n }\\n\\n#socialLoginForm {\\n margin-left: 40px;\\n float: left;\\n width: 50%;\\n}\\n\\n/* contact */\\n.contact h3 {\\n font-size: 1.2em;\\n}\\n\\n.contact p {\\n margin: 5px 0 0 10px;\\n}\\n\\n.contact iframe {\\n border: solid 1px #333;\\n margin: 5px 0 0 10px;\\n}\\n\\n/* forms */\\nfieldset {\\n border: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n fieldset legend {\\n display: none;\\n }\\n \\n fieldset ol {\\n padding: 0;\\n list-style: none;\\n }\\n \\n fieldset ol li {\\n padding-bottom: 5px;\\n }\\n \\n fieldset label {\\n display: block;\\n font-size: 1.2em;\\n font-weight: 600;\\n }\\n \\n fieldset label.checkbox {\\n display: inline;\\n }\\n \\n fieldset input[type=\\\"text\\\"], \\n fieldset input[type=\\\"password\\\"] {\\n border: 1px solid #e2e2e2;\\n color: #333;\\n font-size: 1.2em;\\n margin: 5px 0 6px 0;\\n padding: 5px;\\n width: 300px;\\n }\\n \\n fieldset input[type=\\\"text\\\"]:focus, \\n fieldset input[type=\\\"password\\\"]:focus {\\n border: 1px solid #7ac0da;\\n }\\n \\n fieldset input[type=\\\"submit\\\"] {\\n background-color: #d3dce0;\\n border: solid 1px #787878;\\n cursor: pointer;\\n font-size: 1.2em;\\n font-weight: 600;\\n padding: 7px;\\n }\\n\\n/* ajax login/registration dialog */\\n.modal-popup {\\n font-size: 0.7em;\\n}\\n\\n/* info and errors */ \\n.message-info {\\n border: solid 1px;\\n clear: both;\\n padding: 10px 20px;\\n}\\n\\n.message-error {\\n clear: both;\\n color: #e80c4d;\\n font-size: 1.1em;\\n font-weight: bold;\\n margin: 20px 0 10px 0;\\n}\\n\\n.message-success {\\n color: #7ac0da;\\n font-size: 1.3em;\\n font-weight: bold;\\n margin: 20px 0 10px 0;\\n}\\n\\n.success {\\n color: #7ac0da;\\n}\\n\\n.error {\\n color: #e80c4d;\\n}\\n\\n/* styles for validation helpers */\\n.field-validation-error {\\n color: #e80c4d;\\n font-weight: bold;\\n}\\n\\n.field-validation-valid {\\n display: none;\\n}\\n\\ninput[type=\\\"text\\\"].input-validation-error,\\ninput[type=\\\"password\\\"].input-validation-error {\\n border: solid 1px #e80c4d;\\n}\\n\\n.validation-summary-errors {\\n color: #e80c4d;\\n font-weight: bold;\\n font-size: 1.1em;\\n}\\n\\n.validation-summary-valid {\\n display: none;\\n}\\n\\n\\n/* social */\\nul#social li {\\n display: inline;\\n list-style: none;\\n}\\n\\n ul#social li a {\\n color: #999;\\n text-decoration: none;\\n }\\n \\n a.facebook, a.twitter {\\n display: block;\\n float: left;\\n height: 24px;\\n padding-left: 17px;\\n text-indent: -9999px;\\n width: 16px;\\n }\\n \\n a.facebook {\\n background: url(\\\"../images/facebook.png\\\") no-repeat;\\n }\\n \\n a.twitter {\\n background: url(\\\"../images/twitter.png\\\") no-repeat;\\n }\\n \\n \\n \\n/********************\\n* Mobile Styles *\\n********************/\\n@media only screen and (max-width: 850px) {\\n \\n /* header \\n ----------------------------------------------------------*/\\n header .float-left, \\n header .float-right {\\n float: none;\\n }\\n \\n /* logo */\\n header .site-title {\\n /*margin: 0; */\\n /*margin: 10px;*/\\n text-align: left;\\n padding-left: 0;\\n }\\n\\n /* login */\\n #login {\\n font-size: .85em;\\n margin-top: 0;\\n text-align: center;\\n }\\n \\n #login ul {\\n margin: 5px 0;\\n padding: 0;\\n }\\n \\n #login li {\\n display: inline;\\n list-style: none;\\n margin: 0;\\n padding:0;\\n }\\n\\n #login a {\\n background: none;\\n color: #999;\\n font-weight: 600;\\n margin: 2px;\\n padding: 0;\\n }\\n \\n #login a:hover {\\n color: #333;\\n }\\n\\n /* menu */\\n nav {\\n margin-bottom: 5px;\\n }\\n \\n ul#menu {\\n margin: 0;\\n padding:0;\\n text-align: center;\\n }\\n\\n ul#menu li {\\n margin: 0;\\n padding: 0;\\n }\\n\\n \\n /* main layout \\n ----------------------------------------------------------*/\\n .main-content,\\n .featured + .main-content {\\n background-position: 10px 0;\\n }\\n \\n .content-wrapper {\\n padding-right: 10px;\\n padding-left: 10px;\\n }\\n\\n .featured .content-wrapper {\\n padding: 10px;\\n }\\n \\n /* page content */ \\n article, aside {\\n float: none;\\n width: 100%;\\n }\\n \\n /* ordered list */\\n ol.round {\\n list-style-type: none;\\n padding-left: 0;\\n }\\n\\n ol.round li {\\n padding-left: 10px;\\n margin: 25px 0;\\n }\\n \\n ol.round li.one,\\n ol.round li.two,\\n ol.round li.three {\\n background: none; \\n }\\n \\n /* features */\\n section.feature {\\n float: none;\\n padding: 10px;\\n width: auto;\\n }\\n \\n section.feature img {\\n color: #999;\\n content: attr(alt);\\n font-size: 1.5em;\\n font-weight: 600;\\n }\\n \\n /* forms */ \\n fieldset input[type=\\\"text\\\"], \\n fieldset input[type=\\\"password\\\"] {\\n width: 90%;\\n }\\n \\n /* login page */ \\n #loginForm {\\n border-right: none;\\n float: none;\\n width: auto;\\n }\\n\\n #loginForm .validation-error {\\n display: block;\\n margin-left: 15px;\\n }\\n\\n #socialLoginForm {\\n margin-left: 0;\\n float: none;\\n width: auto;\\n }\\n\\n /* footer \\n ----------------------------------------------------------*/ \\n footer .float-left,\\n footer .float-right {\\n float: none;\\n }\\n \\n footer {\\n text-align: center;\\n height: auto;\\n padding: 10px 0;\\n }\\n \\n footer p {\\n margin: 0;\\n }\\n \\n ul#social {\\n padding:0;\\n margin: 0;\\n }\\n \\n a.facebook, a.twitter {\\n background: none;\\n display: inline;\\n float: none;\\n height: auto;\\n padding-left: 0;\\n text-indent: 0;\\n width: auto;\\n } \\n}\\n\\n.subsite {\\n\\tcolor: #444;\\n}\\n\\nh3 {\\n\\tfont-weight: normal;\\n\\tfont-size: 24px;\\n\\tcolor: #444;\\n\\tmargin-bottom: 20px;\\n}\\n\\n.tiles {\\n\\tpadding-bottom: 20px;\\n\\tbackground-color: #e3e3e3;\\n}\\n\\n#editor {\\n\\tmargin: 0 auto;\\n\\theight: 500px;\\n\\tborder: 1px solid #ccc;\\n}\\n\\n.monaco-editor.monaco, .monaco-editor.vs, .monaco-editor.eclipse {\\n\\tbackground: #F9F9F9;\\n}\\n\\n.monaco-editor.monaco .monaco-editor-background, .monaco-editor.vs .monaco-editor-background, .monaco-editor.eclipse .monaco-editor-background {\\n\\tbackground: #F9F9F9;\\n}\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/4568.js b/4568.js
new file mode 100644
index 00000000..bb21e3ae
--- /dev/null
+++ b/4568.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[4568],{4568:(n,e,t)=>{t.r(e),t.d(e,{default:()=>l});const l="REPORT zrosetta_base64_encode_data.\n\nDATA: li_client TYPE REF TO if_http_client,\n lv_encoded TYPE string,\n lv_data TYPE xstring.\n\n\ncl_http_client=>create_by_url(\n EXPORTING\n url = 'http://rosettacode.org/favicon.ico'\n IMPORTING\n client = li_client ).\n\nli_client->send( ).\nli_client->receive( ).\n\nlv_data = li_client->response->get_data( ).\n\nCALL FUNCTION 'SSFC_BASE64_ENCODE'\n EXPORTING\n bindata = lv_data\n IMPORTING\n b64data = lv_encoded.\n\nWHILE strlen( lv_encoded ) > 100.\n WRITE: / lv_encoded(100).\n lv_encoded = lv_encoded+100.\nENDWHILE.\nWRITE: / lv_encoded.\n"}}]);
+//# sourceMappingURL=4568.js.map
\ No newline at end of file
diff --git a/4568.js.map b/4568.js.map
new file mode 100644
index 00000000..d9713408
--- /dev/null
+++ b/4568.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"4568.js","mappings":"8IAAA,6nB","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.abap.txt"],"sourcesContent":["export default \"REPORT zrosetta_base64_encode_data.\\n\\nDATA: li_client TYPE REF TO if_http_client,\\n lv_encoded TYPE string,\\n lv_data TYPE xstring.\\n\\n\\ncl_http_client=>create_by_url(\\n EXPORTING\\n url = 'http://rosettacode.org/favicon.ico'\\n IMPORTING\\n client = li_client ).\\n\\nli_client->send( ).\\nli_client->receive( ).\\n\\nlv_data = li_client->response->get_data( ).\\n\\nCALL FUNCTION 'SSFC_BASE64_ENCODE'\\n EXPORTING\\n bindata = lv_data\\n IMPORTING\\n b64data = lv_encoded.\\n\\nWHILE strlen( lv_encoded ) > 100.\\n WRITE: / lv_encoded(100).\\n lv_encoded = lv_encoded+100.\\nENDWHILE.\\nWRITE: / lv_encoded.\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/4720.js b/4720.js
new file mode 100644
index 00000000..1456d1b6
--- /dev/null
+++ b/4720.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[4720],{4720:(e,i,t)=>{t.r(i),t.d(i,{default:()=>a});const a="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec cursus aliquet sapien, sed rhoncus leo ullamcorper ornare. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus feugiat eleifend nisl, aliquet rhoncus quam scelerisque vel. Morbi eu pellentesque ex. Nam suscipit maximus leo blandit cursus. Aenean sollicitudin nisi luctus, ornare nibh viverra, laoreet ex. Donec eget nibh sit amet dolor ornare elementum. Morbi sollicitudin enim vitae risus pretium vestibulum. Ut pretium hendrerit libero, non vulputate ante volutpat et. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nullam malesuada turpis vitae est porttitor, id tincidunt neque dignissim. Integer rhoncus vestibulum justo in iaculis. Praesent nec augue ut dui scelerisque gravida vel id velit. Donec vehicula feugiat mollis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.\n\nPraesent diam lorem, luctus quis ullamcorper non, consequat quis orci. Ut vel massa vel nunc sagittis porttitor a vitae ante. Quisque euismod lobortis imperdiet. Vestibulum tincidunt vehicula posuere. Nulla facilisi. Donec sodales imperdiet risus id ullamcorper. Nulla luctus orci tortor, vitae tincidunt urna aliquet nec. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Etiam consequat dapibus massa. Sed ac pharetra magna, in imperdiet neque. Nullam nunc nisi, consequat vel nunc et, sagittis aliquam arcu. Aliquam non orci magna. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed id sem ut sem pulvinar rhoncus. Aenean venenatis nunc eget mi ornare, vitae maximus lacus varius. Quisque quis vestibulum justo.\n\nDonec euismod luctus volutpat. Donec sed lacinia enim. Vivamus aliquam elit cursus, convallis diam at, volutpat turpis. Sed lacinia nisl in auctor dapibus. Nunc turpis mi, mattis ut rhoncus id, lacinia sed lectus. Donec sodales tellus quis libero gravida pretium et quis magna. Etiam ultricies mollis purus, eget consequat velit. Duis vitae nibh vitae arcu tincidunt congue. Maecenas ut velit in ipsum condimentum dictum quis eget urna. Sed mattis nulla arcu, vitae mattis ligula dictum at.\n\nPraesent at dignissim dolor. Donec quis placerat sem. Cras vitae placerat sapien, eu sagittis ex. Mauris nec luctus risus. Cras imperdiet semper neque suscipit auctor. Mauris nisl massa, commodo sit amet dignissim id, malesuada sed ante. Praesent varius sapien eget eros vehicula porttitor.\n\nMauris auctor nunc in quam tempor, eget consectetur nisi rhoncus. Donec et nulla imperdiet, gravida dui at, accumsan velit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin sollicitudin condimentum auctor. Sed lacinia eleifend nisi, id scelerisque leo laoreet sit amet. Morbi congue augue a malesuada pulvinar. Curabitur nec ante finibus, commodo orci vel, aliquam libero. Morbi molestie purus non nunc placerat fermentum. Pellentesque commodo ligula sed pretium aliquam. Praesent ut nibh ex. Vivamus vestibulum velit in leo suscipit, vitae pellentesque urna vulputate. Suspendisse pretium placerat ligula eu ullamcorper. Nam eleifend mi tellus, ut tristique ante ultricies vitae. Quisque venenatis dapibus tellus sit amet mattis. Donec erat arcu, elementum vel nisl at, sagittis vulputate nisi."}}]);
+//# sourceMappingURL=4720.js.map
\ No newline at end of file
diff --git a/4720.js.map b/4720.js.map
new file mode 100644
index 00000000..2779de38
--- /dev/null
+++ b/4720.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"4720.js","mappings":"8IAAA,u0G","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.plaintext.txt"],"sourcesContent":["export default \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec cursus aliquet sapien, sed rhoncus leo ullamcorper ornare. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus feugiat eleifend nisl, aliquet rhoncus quam scelerisque vel. Morbi eu pellentesque ex. Nam suscipit maximus leo blandit cursus. Aenean sollicitudin nisi luctus, ornare nibh viverra, laoreet ex. Donec eget nibh sit amet dolor ornare elementum. Morbi sollicitudin enim vitae risus pretium vestibulum. Ut pretium hendrerit libero, non vulputate ante volutpat et. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nullam malesuada turpis vitae est porttitor, id tincidunt neque dignissim. Integer rhoncus vestibulum justo in iaculis. Praesent nec augue ut dui scelerisque gravida vel id velit. Donec vehicula feugiat mollis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.\\n\\nPraesent diam lorem, luctus quis ullamcorper non, consequat quis orci. Ut vel massa vel nunc sagittis porttitor a vitae ante. Quisque euismod lobortis imperdiet. Vestibulum tincidunt vehicula posuere. Nulla facilisi. Donec sodales imperdiet risus id ullamcorper. Nulla luctus orci tortor, vitae tincidunt urna aliquet nec. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Etiam consequat dapibus massa. Sed ac pharetra magna, in imperdiet neque. Nullam nunc nisi, consequat vel nunc et, sagittis aliquam arcu. Aliquam non orci magna. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed id sem ut sem pulvinar rhoncus. Aenean venenatis nunc eget mi ornare, vitae maximus lacus varius. Quisque quis vestibulum justo.\\n\\nDonec euismod luctus volutpat. Donec sed lacinia enim. Vivamus aliquam elit cursus, convallis diam at, volutpat turpis. Sed lacinia nisl in auctor dapibus. Nunc turpis mi, mattis ut rhoncus id, lacinia sed lectus. Donec sodales tellus quis libero gravida pretium et quis magna. Etiam ultricies mollis purus, eget consequat velit. Duis vitae nibh vitae arcu tincidunt congue. Maecenas ut velit in ipsum condimentum dictum quis eget urna. Sed mattis nulla arcu, vitae mattis ligula dictum at.\\n\\nPraesent at dignissim dolor. Donec quis placerat sem. Cras vitae placerat sapien, eu sagittis ex. Mauris nec luctus risus. Cras imperdiet semper neque suscipit auctor. Mauris nisl massa, commodo sit amet dignissim id, malesuada sed ante. Praesent varius sapien eget eros vehicula porttitor.\\n\\nMauris auctor nunc in quam tempor, eget consectetur nisi rhoncus. Donec et nulla imperdiet, gravida dui at, accumsan velit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin sollicitudin condimentum auctor. Sed lacinia eleifend nisi, id scelerisque leo laoreet sit amet. Morbi congue augue a malesuada pulvinar. Curabitur nec ante finibus, commodo orci vel, aliquam libero. Morbi molestie purus non nunc placerat fermentum. Pellentesque commodo ligula sed pretium aliquam. Praesent ut nibh ex. Vivamus vestibulum velit in leo suscipit, vitae pellentesque urna vulputate. Suspendisse pretium placerat ligula eu ullamcorper. Nam eleifend mi tellus, ut tristique ante ultricies vitae. Quisque venenatis dapibus tellus sit amet mattis. Donec erat arcu, elementum vel nisl at, sagittis vulputate nisi.\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/4729.js b/4729.js
new file mode 100644
index 00000000..d0163495
--- /dev/null
+++ b/4729.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[4729],{4729:(t,e,n)=>{n.r(e),n.d(e,{default:()=>l});const l="/* Game of Life\n * Implemented in TypeScript\n * To learn more about TypeScript, please visit http://www.typescriptlang.org/\n */\n\nnamespace Conway {\n\n\texport class Cell {\n\t\tpublic row: number;\n\t\tpublic col: number;\n\t\tpublic live: boolean;\n\n\t\tconstructor(row: number, col: number, live: boolean) {\n\t\t\tthis.row = row;\n\t\t\tthis.col = col;\n\t\t\tthis.live = live;\n\t\t}\n\t}\n\n\texport class GameOfLife {\n\t\tprivate gridSize: number;\n\t\tprivate canvasSize: number;\n\t\tprivate lineColor: string;\n\t\tprivate liveColor: string;\n\t\tprivate deadColor: string;\n\t\tprivate initialLifeProbability: number;\n\t\tprivate animationRate: number;\n\t\tprivate cellSize: number;\n\t\tprivate context: CanvasRenderingContext2D;\n\t\tprivate world;\n\n\n\t\tconstructor() {\n\t\t\tthis.gridSize = 50;\n\t\t\tthis.canvasSize = 600;\n\t\t\tthis.lineColor = '#cdcdcd';\n\t\t\tthis.liveColor = '#666';\n\t\t\tthis.deadColor = '#eee';\n\t\t\tthis.initialLifeProbability = 0.5;\n\t\t\tthis.animationRate = 60;\n\t\t\tthis.cellSize = 0;\n\t\t\tthis.world = this.createWorld();\n\t\t\tthis.circleOfLife();\n\t\t}\n\n\t\tpublic createWorld() {\n\t\t\treturn this.travelWorld( (cell : Cell) => {\n\t\t\t\tcell.live = Math.random() < this.initialLifeProbability;\n\t\t\t\treturn cell;\n\t\t\t});\n\t\t}\n\n\t\tpublic circleOfLife() : void {\n\t\t\tthis.world = this.travelWorld( (cell: Cell) => {\n\t\t\t\tcell = this.world[cell.row][cell.col];\n\t\t\t\tthis.draw(cell);\n\t\t\t\treturn this.resolveNextGeneration(cell);\n\t\t\t});\n\t\t\tsetTimeout( () => {this.circleOfLife()}, this.animationRate);\n\t\t}\n\n\t\tpublic resolveNextGeneration(cell : Cell) {\n\t\t\tvar count = this.countNeighbors(cell);\n\t\t\tvar newCell = new Cell(cell.row, cell.col, cell.live);\n\t\t\tif(count < 2 || count > 3) newCell.live = false;\n\t\t\telse if(count == 3) newCell.live = true;\n\t\t\treturn newCell;\n\t\t}\n\n\t\tpublic countNeighbors(cell : Cell) {\n\t\t\tvar neighbors = 0;\n\t\t\tfor(var row = -1; row <=1; row++) {\n\t\t\t\tfor(var col = -1; col <= 1; col++) {\n\t\t\t\t\tif(row == 0 && col == 0) continue;\n\t\t\t\t\tif(this.isAlive(cell.row + row, cell.col + col)) {\n\t\t\t\t\t\tneighbors++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn neighbors;\n\t\t}\n\n\t\tpublic isAlive(row : number, col : number) {\n\t\t\tif(row < 0 || col < 0 || row >= this.gridSize || col >= this.gridSize) return false;\n\t\t\treturn this.world[row][col].live;\n\t\t}\n\n\t\tpublic travelWorld(callback) {\n\t\t\tvar result = [];\n\t\t\tfor(var row = 0; row < this.gridSize; row++) {\n\t\t\t\tvar rowData = [];\n\t\t\t\tfor(var col = 0; col < this.gridSize; col++) {\n\t\t\t\t\trowData.push(callback(new Cell(row, col, false)));\n\t\t\t\t}\n\t\t\t\tresult.push(rowData);\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\n\t\tpublic draw(cell : Cell) {\n\t\t\tif(this.context == null) this.context = this.createDrawingContext();\n\t\t\tif(this.cellSize == 0) this.cellSize = this.canvasSize/this.gridSize;\n\n\t\t\tthis.context.strokeStyle = this.lineColor;\n\t\t\tthis.context.strokeRect(cell.row * this.cellSize, cell.col*this.cellSize, this.cellSize, this.cellSize);\n\t\t\tthis.context.fillStyle = cell.live ? this.liveColor : this.deadColor;\n\t\t\tthis.context.fillRect(cell.row * this.cellSize, cell.col*this.cellSize, this.cellSize, this.cellSize);\n\t\t}\n\n\t\tpublic createDrawingContext() {\n\t\t\tvar canvas = document.getElementById('conway-canvas');\n\t\t\tif(canvas == null) {\n\t\t\t\t\tcanvas = document.createElement('canvas');\n\t\t\t\t\tcanvas.id = 'conway-canvas';\n\t\t\t\t\tcanvas.width = this.canvasSize;\n\t\t\t\t\tcanvas.height = this.canvasSize;\n\t\t\t\t\tdocument.body.appendChild(canvas);\n\t\t\t}\n\t\t\treturn canvas.getContext('2d');\n\t\t}\n\t}\n}\n\nvar game = new Conway.GameOfLife();\n"}}]);
+//# sourceMappingURL=4729.js.map
\ No newline at end of file
diff --git a/4729.js.map b/4729.js.map
new file mode 100644
index 00000000..d6b57de2
--- /dev/null
+++ b/4729.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"4729.js","mappings":"8IAAA,8vH","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.typescript.txt"],"sourcesContent":["export default \"/* Game of Life\\n * Implemented in TypeScript\\n * To learn more about TypeScript, please visit http://www.typescriptlang.org/\\n */\\n\\nnamespace Conway {\\n\\n\\texport class Cell {\\n\\t\\tpublic row: number;\\n\\t\\tpublic col: number;\\n\\t\\tpublic live: boolean;\\n\\n\\t\\tconstructor(row: number, col: number, live: boolean) {\\n\\t\\t\\tthis.row = row;\\n\\t\\t\\tthis.col = col;\\n\\t\\t\\tthis.live = live;\\n\\t\\t}\\n\\t}\\n\\n\\texport class GameOfLife {\\n\\t\\tprivate gridSize: number;\\n\\t\\tprivate canvasSize: number;\\n\\t\\tprivate lineColor: string;\\n\\t\\tprivate liveColor: string;\\n\\t\\tprivate deadColor: string;\\n\\t\\tprivate initialLifeProbability: number;\\n\\t\\tprivate animationRate: number;\\n\\t\\tprivate cellSize: number;\\n\\t\\tprivate context: CanvasRenderingContext2D;\\n\\t\\tprivate world;\\n\\n\\n\\t\\tconstructor() {\\n\\t\\t\\tthis.gridSize = 50;\\n\\t\\t\\tthis.canvasSize = 600;\\n\\t\\t\\tthis.lineColor = '#cdcdcd';\\n\\t\\t\\tthis.liveColor = '#666';\\n\\t\\t\\tthis.deadColor = '#eee';\\n\\t\\t\\tthis.initialLifeProbability = 0.5;\\n\\t\\t\\tthis.animationRate = 60;\\n\\t\\t\\tthis.cellSize = 0;\\n\\t\\t\\tthis.world = this.createWorld();\\n\\t\\t\\tthis.circleOfLife();\\n\\t\\t}\\n\\n\\t\\tpublic createWorld() {\\n\\t\\t\\treturn this.travelWorld( (cell : Cell) => {\\n\\t\\t\\t\\tcell.live = Math.random() < this.initialLifeProbability;\\n\\t\\t\\t\\treturn cell;\\n\\t\\t\\t});\\n\\t\\t}\\n\\n\\t\\tpublic circleOfLife() : void {\\n\\t\\t\\tthis.world = this.travelWorld( (cell: Cell) => {\\n\\t\\t\\t\\tcell = this.world[cell.row][cell.col];\\n\\t\\t\\t\\tthis.draw(cell);\\n\\t\\t\\t\\treturn this.resolveNextGeneration(cell);\\n\\t\\t\\t});\\n\\t\\t\\tsetTimeout( () => {this.circleOfLife()}, this.animationRate);\\n\\t\\t}\\n\\n\\t\\tpublic resolveNextGeneration(cell : Cell) {\\n\\t\\t\\tvar count = this.countNeighbors(cell);\\n\\t\\t\\tvar newCell = new Cell(cell.row, cell.col, cell.live);\\n\\t\\t\\tif(count < 2 || count > 3) newCell.live = false;\\n\\t\\t\\telse if(count == 3) newCell.live = true;\\n\\t\\t\\treturn newCell;\\n\\t\\t}\\n\\n\\t\\tpublic countNeighbors(cell : Cell) {\\n\\t\\t\\tvar neighbors = 0;\\n\\t\\t\\tfor(var row = -1; row <=1; row++) {\\n\\t\\t\\t\\tfor(var col = -1; col <= 1; col++) {\\n\\t\\t\\t\\t\\tif(row == 0 && col == 0) continue;\\n\\t\\t\\t\\t\\tif(this.isAlive(cell.row + row, cell.col + col)) {\\n\\t\\t\\t\\t\\t\\tneighbors++;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\treturn neighbors;\\n\\t\\t}\\n\\n\\t\\tpublic isAlive(row : number, col : number) {\\n\\t\\t\\tif(row < 0 || col < 0 || row >= this.gridSize || col >= this.gridSize) return false;\\n\\t\\t\\treturn this.world[row][col].live;\\n\\t\\t}\\n\\n\\t\\tpublic travelWorld(callback) {\\n\\t\\t\\tvar result = [];\\n\\t\\t\\tfor(var row = 0; row < this.gridSize; row++) {\\n\\t\\t\\t\\tvar rowData = [];\\n\\t\\t\\t\\tfor(var col = 0; col < this.gridSize; col++) {\\n\\t\\t\\t\\t\\trowData.push(callback(new Cell(row, col, false)));\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tresult.push(rowData);\\n\\t\\t\\t}\\n\\t\\t\\treturn result;\\n\\t\\t}\\n\\n\\t\\tpublic draw(cell : Cell) {\\n\\t\\t\\tif(this.context == null) this.context = this.createDrawingContext();\\n\\t\\t\\tif(this.cellSize == 0) this.cellSize = this.canvasSize/this.gridSize;\\n\\n\\t\\t\\tthis.context.strokeStyle = this.lineColor;\\n\\t\\t\\tthis.context.strokeRect(cell.row * this.cellSize, cell.col*this.cellSize, this.cellSize, this.cellSize);\\n\\t\\t\\tthis.context.fillStyle = cell.live ? this.liveColor : this.deadColor;\\n\\t\\t\\tthis.context.fillRect(cell.row * this.cellSize, cell.col*this.cellSize, this.cellSize, this.cellSize);\\n\\t\\t}\\n\\n\\t\\tpublic createDrawingContext() {\\n\\t\\t\\tvar canvas = document.getElementById('conway-canvas');\\n\\t\\t\\tif(canvas == null) {\\n\\t\\t\\t\\t\\tcanvas = document.createElement('canvas');\\n\\t\\t\\t\\t\\tcanvas.id = 'conway-canvas';\\n\\t\\t\\t\\t\\tcanvas.width = this.canvasSize;\\n\\t\\t\\t\\t\\tcanvas.height = this.canvasSize;\\n\\t\\t\\t\\t\\tdocument.body.appendChild(canvas);\\n\\t\\t\\t}\\n\\t\\t\\treturn canvas.getContext('2d');\\n\\t\\t}\\n\\t}\\n}\\n\\nvar game = new Conway.GameOfLife();\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/4773.js b/4773.js
new file mode 100644
index 00000000..aa88ccca
--- /dev/null
+++ b/4773.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[4773],{4773:(t,e,n)=>{n.r(e),n.d(e,{default:()=>a});const a='@{\n var total = 0;\n var totalMessage = "";\n @* a multiline\n razor comment embedded in csharp *@\n if (IsPost) {\n\n // Retrieve the numbers that the user entered.\n var num1 = Request["text1"];\n var num2 = Request["text2"];\n\n // Convert the entered strings into integers numbers and add.\n total = num1.AsInt() + num2.AsInt();\n\t\ttotalMessage = "Total = " + total;\n }\n}\n\n\n\n \n Add Numbers\n \n \n\n
Enter two whole numbers and then click Add.
\n \n\n\t@* now we call the totalMessage method \n\t (a multi line razor comment outside code) *@\n\n
@totalMessage
\n \n
@(totalMessage+"!")
\n \n An email address (with escaped at character): name@@domain.com\n \n\n\n'}}]);
+//# sourceMappingURL=4773.js.map
\ No newline at end of file
diff --git a/4773.js.map b/4773.js.map
new file mode 100644
index 00000000..d6dbdfc6
--- /dev/null
+++ b/4773.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"4773.js","mappings":"8IAAA,msC","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.razor.txt"],"sourcesContent":["export default \"@{\\n var total = 0;\\n var totalMessage = \\\"\\\";\\n @* a multiline\\n razor comment embedded in csharp *@\\n if (IsPost) {\\n\\n // Retrieve the numbers that the user entered.\\n var num1 = Request[\\\"text1\\\"];\\n var num2 = Request[\\\"text2\\\"];\\n\\n // Convert the entered strings into integers numbers and add.\\n total = num1.AsInt() + num2.AsInt();\\n\\t\\ttotalMessage = \\\"Total = \\\" + total;\\n }\\n}\\n\\n\\n\\n \\n Add Numbers\\n \\n \\n\\n
Enter two whole numbers and then click Add.
\\n \\n\\n\\t@* now we call the totalMessage method \\n\\t (a multi line razor comment outside code) *@\\n\\n
@totalMessage
\\n \\n
@(totalMessage+\\\"!\\\")
\\n \\n An email address (with escaped at character): name@@domain.com\\n \\n\\n\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/4942.js b/4942.js
new file mode 100644
index 00000000..d309fb99
--- /dev/null
+++ b/4942.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[4942],{4942:(n,e,i)=>{i.r(e),i.d(e,{default:()=>s});const s='(ns game-of-life\n "Conway\'s Game of Life, based on the work of\n Christophe Grand (http://clj-me.cgrand.net/2011/08/19/conways-game-of-life)\n and Laurent Petit (https://gist.github.com/1200343).")\n\n;;; Core game of life\'s algorithm functions\n\n(defn neighbors\n "Given a cell\'s coordinates `[x y]`, returns the coordinates of its\n neighbors."\n [[x y]]\n (for [dx [-1 0 1]\n dy (if (zero? dx)\n [-1 1]\n [-1 0 1])]\n [(+ dx x) (+ dy y)]))\n\n(defn step\n "Given a set of living `cells`, computes the new set of living cells."\n [cells]\n (set (for [[cell n] (frequencies (mapcat neighbors cells))\n :when (or (= n 3)\n (and (= n 2)\n (cells cell)))]\n cell)))\n\n;;; Utility methods for displaying game on a text terminal\n\n(defn print-grid\n "Prints a `grid` of `w` columns and `h` rows, on *out*, representing a\n step in the game."\n [grid w h]\n (doseq [x (range (inc w))\n y (range (inc h))]\n (when (= y 0) (println))\n (print (if (grid [x y])\n "[X]"\n " . "))))\n\n(defn print-grids\n "Prints a sequence of `grids` of `w` columns and `h` rows on *out*,\n representing several steps."\n [grids w h]\n (doseq [grid grids]\n (print-grid grid w h)\n (println)))\n\n;;; Launches an example grid\n\n(def grid\n "`grid` represents the initial set of living cells"\n #{[2 1] [2 2] [2 3]})\n\n(print-grids (take 3 (iterate step grid)) 5 5)'}}]);
+//# sourceMappingURL=4942.js.map
\ No newline at end of file
diff --git a/4942.js.map b/4942.js.map
new file mode 100644
index 00000000..85f6e024
--- /dev/null
+++ b/4942.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"4942.js","mappings":"8IAAA,s/C","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.clojure.txt"],"sourcesContent":["export default \"(ns game-of-life\\n \\\"Conway's Game of Life, based on the work of\\n Christophe Grand (http://clj-me.cgrand.net/2011/08/19/conways-game-of-life)\\n and Laurent Petit (https://gist.github.com/1200343).\\\")\\n\\n;;; Core game of life's algorithm functions\\n\\n(defn neighbors\\n \\\"Given a cell's coordinates `[x y]`, returns the coordinates of its\\n neighbors.\\\"\\n [[x y]]\\n (for [dx [-1 0 1]\\n dy (if (zero? dx)\\n [-1 1]\\n [-1 0 1])]\\n [(+ dx x) (+ dy y)]))\\n\\n(defn step\\n \\\"Given a set of living `cells`, computes the new set of living cells.\\\"\\n [cells]\\n (set (for [[cell n] (frequencies (mapcat neighbors cells))\\n :when (or (= n 3)\\n (and (= n 2)\\n (cells cell)))]\\n cell)))\\n\\n;;; Utility methods for displaying game on a text terminal\\n\\n(defn print-grid\\n \\\"Prints a `grid` of `w` columns and `h` rows, on *out*, representing a\\n step in the game.\\\"\\n [grid w h]\\n (doseq [x (range (inc w))\\n y (range (inc h))]\\n (when (= y 0) (println))\\n (print (if (grid [x y])\\n \\\"[X]\\\"\\n \\\" . \\\"))))\\n\\n(defn print-grids\\n \\\"Prints a sequence of `grids` of `w` columns and `h` rows on *out*,\\n representing several steps.\\\"\\n [grids w h]\\n (doseq [grid grids]\\n (print-grid grid w h)\\n (println)))\\n\\n;;; Launches an example grid\\n\\n(def grid\\n \\\"`grid` represents the initial set of living cells\\\"\\n #{[2 1] [2 2] [2 3]})\\n\\n(print-grids (take 3 (iterate step grid)) 5 5)\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/5087.js b/5087.js
new file mode 100644
index 00000000..7f1b67f7
--- /dev/null
+++ b/5087.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[5087],{5087:(t,n,e)=>{e.r(n),e.d(n,{default:()=>i});const i='/*\n\tBasic Java example using FizzBuzz\n*/\n\nimport java.util.Random;\n\npublic class Example {\n\tpublic static void main (String[] args){\n\t\t// Generate a random number between 1-100. (See generateRandomNumber method.)\n\t\tint random = generateRandomNumber(100);\n\n\t\t// Output generated number.\n\t\tSystem.out.println("Generated number: " + random + "\\n");\n\n\t\t// Loop between 1 and the number we just generated.\n\t\tfor (int i=1; i<=random; i++){\n\t\t\t// If i is divisible by both 3 and 5, output "FizzBuzz".\n\t\t\tif (i % 3 == 0 && i % 5 == 0){\n\t\t\t\tSystem.out.println("FizzBuzz");\n\t\t\t}\n\t\t\t// If i is divisible by 3, output "Fizz"\n\t\t\telse if (i % 3 == 0){\n\t\t\t\tSystem.out.println("Fizz");\n\t\t\t}\n\t\t\t// If i is divisible by 5, output "Buzz".\n\t\t\telse if (i % 5 == 0){\n\t\t\t\tSystem.out.println("Buzz");\n\t\t\t}\n\t\t\t// If i is not divisible by either 3 or 5, output the number.\n\t\t\telse {\n\t\t\t\tSystem.out.println(i);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t\tGenerates a new random number between 0 and 100.\n\t\t@param bound The highest number that should be generated.\n\t\t@return An integer representing a randomly generated number between 0 and 100.\n\t*/\n\tprivate static int generateRandomNumber(int bound){\n\t\t// Create new Random generator object and generate the random number.\n\t\tRandom randGen = new Random();\n\t\tint randomNum = randGen.nextInt(bound);\n\n\t\t// If the random number generated is zero, use recursion to regenerate the number until it is not zero.\n\t\tif (randomNum < 1){\n\t\t\trandomNum = generateRandomNumber(bound);\n\t\t}\n\n\t\treturn randomNum;\n\t}\n}\n '}}]);
+//# sourceMappingURL=5087.js.map
\ No newline at end of file
diff --git a/5087.js.map b/5087.js.map
new file mode 100644
index 00000000..5602b3d2
--- /dev/null
+++ b/5087.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"5087.js","mappings":"8IAAA,8nD","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.java.txt"],"sourcesContent":["export default \"/*\\n\\tBasic Java example using FizzBuzz\\n*/\\n\\nimport java.util.Random;\\n\\npublic class Example {\\n\\tpublic static void main (String[] args){\\n\\t\\t// Generate a random number between 1-100. (See generateRandomNumber method.)\\n\\t\\tint random = generateRandomNumber(100);\\n\\n\\t\\t// Output generated number.\\n\\t\\tSystem.out.println(\\\"Generated number: \\\" + random + \\\"\\\\n\\\");\\n\\n\\t\\t// Loop between 1 and the number we just generated.\\n\\t\\tfor (int i=1; i<=random; i++){\\n\\t\\t\\t// If i is divisible by both 3 and 5, output \\\"FizzBuzz\\\".\\n\\t\\t\\tif (i % 3 == 0 && i % 5 == 0){\\n\\t\\t\\t\\tSystem.out.println(\\\"FizzBuzz\\\");\\n\\t\\t\\t}\\n\\t\\t\\t// If i is divisible by 3, output \\\"Fizz\\\"\\n\\t\\t\\telse if (i % 3 == 0){\\n\\t\\t\\t\\tSystem.out.println(\\\"Fizz\\\");\\n\\t\\t\\t}\\n\\t\\t\\t// If i is divisible by 5, output \\\"Buzz\\\".\\n\\t\\t\\telse if (i % 5 == 0){\\n\\t\\t\\t\\tSystem.out.println(\\\"Buzz\\\");\\n\\t\\t\\t}\\n\\t\\t\\t// If i is not divisible by either 3 or 5, output the number.\\n\\t\\t\\telse {\\n\\t\\t\\t\\tSystem.out.println(i);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/**\\n\\t\\tGenerates a new random number between 0 and 100.\\n\\t\\t@param bound The highest number that should be generated.\\n\\t\\t@return An integer representing a randomly generated number between 0 and 100.\\n\\t*/\\n\\tprivate static int generateRandomNumber(int bound){\\n\\t\\t// Create new Random generator object and generate the random number.\\n\\t\\tRandom randGen = new Random();\\n\\t\\tint randomNum = randGen.nextInt(bound);\\n\\n\\t\\t// If the random number generated is zero, use recursion to regenerate the number until it is not zero.\\n\\t\\tif (randomNum < 1){\\n\\t\\t\\trandomNum = generateRandomNumber(bound);\\n\\t\\t}\\n\\n\\t\\treturn randomNum;\\n\\t}\\n}\\n \";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/5115.js b/5115.js
new file mode 100644
index 00000000..ace55e84
--- /dev/null
+++ b/5115.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[5115],{4323:(n,e,r)=>{r.r(e),r.d(e,{default:()=>o});const o="targetScope = 'subscription'\n\nparam deployStorage bool = true\n\n@description('The object ID of the principal that will get the role assignment')\nparam aadPrincipalId string\n\nmodule stg './storage.bicep' = if(deployStorage) {\n name: 'storageDeploy'\n scope: resourceGroup('another-rg') // this will target another resource group in the same subscription\n params: {\n storageAccountName: ''\n }\n}\n\nvar contributor = 'b24988ac-6180-42a0-ab88-20f7382dd24c'\nresource roleDef 'Microsoft.Authorization/roleDefinitions@2018-01-01-preview' existing = {\n name: contributor\n}\n\nresource rbac 'Microsoft.Authorization/roleAssignments@2020-04-01-preview' = {\n name: guid(subscription().id, aadPrincipalId, contributor)\n properties: {\n roleDefinitionId: roleDef.id\n principalId: aadPrincipalId\n }\n}\n\noutput storageName array = stg.outputs.containerProps\n"}}]);
+//# sourceMappingURL=5115.js.map
\ No newline at end of file
diff --git a/5115.js.map b/5115.js.map
new file mode 100644
index 00000000..1d269d2c
--- /dev/null
+++ b/5115.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"5115.js","mappings":"8IAAA,k5B","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.bicep.txt"],"sourcesContent":["export default \"targetScope = 'subscription'\\n\\nparam deployStorage bool = true\\n\\n@description('The object ID of the principal that will get the role assignment')\\nparam aadPrincipalId string\\n\\nmodule stg './storage.bicep' = if(deployStorage) {\\n name: 'storageDeploy'\\n scope: resourceGroup('another-rg') // this will target another resource group in the same subscription\\n params: {\\n storageAccountName: ''\\n }\\n}\\n\\nvar contributor = 'b24988ac-6180-42a0-ab88-20f7382dd24c'\\nresource roleDef 'Microsoft.Authorization/roleDefinitions@2018-01-01-preview' existing = {\\n name: contributor\\n}\\n\\nresource rbac 'Microsoft.Authorization/roleAssignments@2020-04-01-preview' = {\\n name: guid(subscription().id, aadPrincipalId, contributor)\\n properties: {\\n roleDefinitionId: roleDef.id\\n principalId: aadPrincipalId\\n }\\n}\\n\\noutput storageName array = stg.outputs.containerProps\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/5147.js b/5147.js
new file mode 100644
index 00000000..f553ee76
--- /dev/null
+++ b/5147.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[5147],{5147:(n,e,s)=>{s.r(e),s.d(e,{default:()=>i});const i="program GreetingsNumberOfTimes;\n\n{$APPTYPE CONSOLE}\n\n{$R *.res}\n\nuses\n System.SysUtils;\n\nvar\n greetingsMessage: string;\n numberOfTimes, i: integer;\n\nbegin\n try\n { TODO -oUser -cConsole Main : Insert code here }\n greetingsMessage := 'Hello World!';\n numberOfTimes := 10;\n\n for i := 1 to numberOfTimes do\n begin\n Writeln(greetingsMessage);\n end;\n except\n on E: Exception do\n Writeln(E.ClassName, ': ', E.Message);\n end;\nend.\n"}}]);
+//# sourceMappingURL=5147.js.map
\ No newline at end of file
diff --git a/5147.js.map b/5147.js.map
new file mode 100644
index 00000000..e99cca23
--- /dev/null
+++ b/5147.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"5147.js","mappings":"8IAAA,kf","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.pascal.txt"],"sourcesContent":["export default \"program GreetingsNumberOfTimes;\\n\\n{$APPTYPE CONSOLE}\\n\\n{$R *.res}\\n\\nuses\\n System.SysUtils;\\n\\nvar\\n greetingsMessage: string;\\n numberOfTimes, i: integer;\\n\\nbegin\\n try\\n { TODO -oUser -cConsole Main : Insert code here }\\n greetingsMessage := 'Hello World!';\\n numberOfTimes := 10;\\n\\n for i := 1 to numberOfTimes do\\n begin\\n Writeln(greetingsMessage);\\n end;\\n except\\n on E: Exception do\\n Writeln(E.ClassName, ': ', E.Message);\\n end;\\nend.\\n\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/5161.js b/5161.js
new file mode 100644
index 00000000..1d581fc6
--- /dev/null
+++ b/5161.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[5161],{5161:(c,e,s)=>{s.r(e),s.d(e,{default:()=>i});const i="Content-Security-Policy: default-src 'self'; img-src *; media-src media1.com media2.com; script-src userscripts.example.com"}}]);
+//# sourceMappingURL=5161.js.map
\ No newline at end of file
diff --git a/5161.js.map b/5161.js.map
new file mode 100644
index 00000000..b872de84
--- /dev/null
+++ b/5161.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"5161.js","mappings":"8IAAA,qI","sources":["file:////home/runner/work/monaco-editor/monaco-editor/website/src/website/data/home-samples/sample.csp.txt"],"sourcesContent":["export default \"Content-Security-Policy: default-src 'self'; img-src *; media-src media1.com media2.com; script-src userscripts.example.com\";"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/5196.js b/5196.js
new file mode 100644
index 00000000..e5cace16
--- /dev/null
+++ b/5196.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkmy_application=self.webpackChunkmy_application||[]).push([[5196],{5196:(e,n,t)=>{t.r(n),t.d(n,{default:()=>i});const i='//\n// Copyright (c) Microsoft Corporation. All rights reserved.\n//\n\n#import "UseQuotes.h"\n#import
{{title}}
\n\t