nadesiko3 3.3.52 → 3.3.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/batch/command.txt CHANGED
@@ -1042,6 +1042,7 @@
1042
1042
  | 関数 | クッキーオプション設定 | Vを/Vへ/Vに | cookieのオプションを辞書型で設定する | くっきーおぷしょんせってい | https://github.com/kujirahand/nadesiko3php/blob/master/src/plugin_php.php#L90
1043
1043
  | 定数 | GET | | [] | GET | https://github.com/kujirahand/nadesiko3php/blob/master/src/plugin_php.php#L90
1044
1044
  | 定数 | POST | | [] | POST | https://github.com/kujirahand/nadesiko3php/blob/master/src/plugin_php.php#L90
1045
+ | 定数 | SERVER | | [] | SERVER | https://github.com/kujirahand/nadesiko3php/blob/master/src/plugin_php.php#L90
1045
1046
  | 定数 | FILES | | [] | FILES | https://github.com/kujirahand/nadesiko3php/blob/master/src/plugin_php.php#L90
1046
1047
  | 定数 | SESSION | | [] | SESSION | https://github.com/kujirahand/nadesiko3php/blob/master/src/plugin_php.php#L90
1047
1048
  | 関数 | GET取得 | KEYをDEFで/DEFにて | GETパラメータのKEYを、省略値DEFで取得する | GETしゅとく | https://github.com/kujirahand/nadesiko3php/blob/master/src/plugin_php.php#L90
@@ -990,6 +990,7 @@
990
990
  |�N�b�L�[�I�v�V�����ݒ�,"V��|V��|V��","cookie�̃I�v�V�����������^�Őݒ肷��",0,,����,�������[���Ղ���񂹂��Ă�
991
991
  |GET,"","[]",0,,�ϐ�,GET
992
992
  |POST,"","[]",0,,�ϐ�,POST
993
+ |SERVER,"","[]",0,,�ϐ�,SERVER
993
994
  |FILES,"","[]",0,,�ϐ�,FILES
994
995
  |SESSION,"","[]",0,,�ϐ�,SESSION
995
996
  |GET�擾,"KEY��DEF��|DEF�ɂ�","GET�p�����[�^��KEY���A�ȗ��lDEF�Ŏ擾����",0,,����,GET����Ƃ�
package/core/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nadesiko3core",
3
- "version": "3.3.52",
3
+ "version": "3.3.53",
4
4
  "description": "Japanese Programming Language Nadesiko v3 core",
5
5
  "main": "index.mjs",
6
6
  "type": "module",
@@ -62,6 +62,7 @@ export class NakoCompiler {
62
62
  this.commandlist = new Set(); // プラグインで定義された定数・変数・関数の名前
63
63
  this.nakoFuncList = {}; // __v1に配置するJavaScriptのコードで定義された関数
64
64
  this.eventList = []; // 実行前に環境を変更するためのイベント
65
+ this.codeGenerateor = {}; // コードジェネレータ
65
66
  this.logger = new NakoLogger();
66
67
  /**
67
68
  * 取り込み文を置換するためのオブジェクト。
@@ -581,23 +582,31 @@ export class NakoCompiler {
581
582
  }
582
583
  /**
583
584
  * プログラムをコンパイルしてJavaScriptのコードオブジェクトを返す
584
- * @param {AST} ast
585
+ * @param ast
585
586
  * @param opt テストかどうか
586
- * @return {Object}
587
587
  */
588
588
  generateCode(ast, opt) {
589
589
  // Select Code Generator #637
590
- switch (ast.genMode) {
591
- // ノーマルモード
592
- case 'sync':
593
- return generateJS(this, ast, opt);
594
- // 『!非同期モード』は非推奨
595
- case '非同期モード':
596
- this.logger.warn('『!非同期モード』の利用は非推奨です。[詳細](https://github.com/kujirahand/nadesiko3/issues/1164)');
597
- return NakoGenASync.generate(this, ast, opt.isTest);
598
- default:
599
- throw new Error(`コードジェネレータの「${ast.genMode}」はサポートされていません。`);
600
- }
590
+ const mode = ast.genMode || '';
591
+ // normal mode
592
+ if (mode === 'sync') {
593
+ return generateJS(this, ast, opt);
594
+ }
595
+ // 非推奨の非同期モード #1164
596
+ if (mode === '非同期モード') {
597
+ this.logger.warn('『!非同期モード』の利用は非推奨です。[詳細](https://github.com/kujirahand/nadesiko3/issues/1164)');
598
+ return NakoGenASync.generate(this, ast, opt.isTest);
599
+ }
600
+ // その他のコードジェネレータ(PHPなど)
601
+ const genObj = this.codeGenerateor[mode];
602
+ if (!genObj) {
603
+ throw new Error(`コードジェネレータの「${mode}」はサポートされていません。`);
604
+ }
605
+ return genObj.generate(this, ast, opt.isTest);
606
+ }
607
+ /** コードジェネレータを追加する */
608
+ addCodeGenerator(mode, obj) {
609
+ this.codeGenerateor[mode] = obj;
601
610
  }
602
611
  /** (非推奨)
603
612
  * @param code
@@ -84,6 +84,7 @@ export class NakoCompiler {
84
84
  private lexer: NakoLexer;
85
85
  private dependencies: Dependencies;
86
86
  private usedFuncs: Set<string>;
87
+ private codeGenerateor: {[key: string]: any};
87
88
  protected logger: NakoLogger;
88
89
  protected eventList: NakoEvent[];
89
90
  // global objects
@@ -127,6 +128,7 @@ export class NakoCompiler {
127
128
  this.commandlist = new Set() // プラグインで定義された定数・変数・関数の名前
128
129
  this.nakoFuncList = {} // __v1に配置するJavaScriptのコードで定義された関数
129
130
  this.eventList = [] // 実行前に環境を変更するためのイベント
131
+ this.codeGenerateor = {} // コードジェネレータ
130
132
 
131
133
  this.logger = new NakoLogger()
132
134
 
@@ -685,23 +687,32 @@ export class NakoCompiler {
685
687
 
686
688
  /**
687
689
  * プログラムをコンパイルしてJavaScriptのコードオブジェクトを返す
688
- * @param {AST} ast
690
+ * @param ast
689
691
  * @param opt テストかどうか
690
- * @return {Object}
691
692
  */
692
693
  generateCode (ast: Ast, opt: NakoGenOptions): NakoGenResult {
693
694
  // Select Code Generator #637
694
- switch (ast.genMode) {
695
- // ノーマルモード
696
- case 'sync':
697
- return generateJS(this, ast, opt)
698
- // 『!非同期モード』は非推奨
699
- case '非同期モード':
700
- this.logger.warn('『!非同期モード』の利用は非推奨です。[詳細](https://github.com/kujirahand/nadesiko3/issues/1164)')
701
- return NakoGenASync.generate(this, ast, opt.isTest)
702
- default:
703
- throw new Error(`コードジェネレータの「${ast.genMode}」はサポートされていません。`)
695
+ const mode: string = ast.genMode || ''
696
+ // normal mode
697
+ if (mode === 'sync') {
698
+ return generateJS(this, ast, opt)
704
699
  }
700
+ // 非推奨の非同期モード #1164
701
+ if (mode === '非同期モード') {
702
+ this.logger.warn('『!非同期モード』の利用は非推奨です。[詳細](https://github.com/kujirahand/nadesiko3/issues/1164)')
703
+ return NakoGenASync.generate(this, ast, opt.isTest)
704
+ }
705
+ // その他のコードジェネレータ(PHPなど)
706
+ const genObj: any|undefined = this.codeGenerateor[mode]
707
+ if (!genObj) {
708
+ throw new Error(`コードジェネレータの「${mode}」はサポートされていません。`)
709
+ }
710
+ return genObj.generate(this, ast, opt.isTest)
711
+ }
712
+
713
+ /** コードジェネレータを追加する */
714
+ addCodeGenerator (mode: string, obj: any) {
715
+ this.codeGenerateor[mode] = obj
705
716
  }
706
717
 
707
718
  /** (非推奨)
@@ -1,8 +1,8 @@
1
1
  // 実際のバージョン定義 (自動生成されるので以下を編集しない)
2
2
  const coreVersion = {
3
- version: '3.3.52',
3
+ version: '3.3.53',
4
4
  major: 3,
5
5
  minor: 3,
6
- patch: 52
6
+ patch: 53
7
7
  };
8
8
  export default coreVersion;
@@ -11,9 +11,9 @@ export interface NakoCoreVersion {
11
11
  }
12
12
  // 実際のバージョン定義 (自動生成されるので以下を編集しない)
13
13
  const coreVersion: NakoCoreVersion = {
14
- version: '3.3.52',
14
+ version: '3.3.53',
15
15
  major: 3,
16
16
  minor: 3,
17
- patch: 52
17
+ patch: 53
18
18
  }
19
19
  export default coreVersion
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nadesiko3",
3
- "version": "3.3.52",
3
+ "version": "3.3.53",
4
4
  "description": "Japanese Programming Language",
5
5
  "type": "module",
6
6
  "main": "src/index.mjs",
package/release/_hash.txt CHANGED
@@ -1,18 +1,18 @@
1
1
  command.json.js:
2
- md5(hex): ea2156938ebcbe939e1f8526b363f76b
3
- sha256(hex): 97bae848a6aba16865f8b7be06edb52446dcc0690a28fce1ec5ff983dd8aba0d
4
- sha256(base64): l7roSKaroWhl+Le+Bu21JEbcwGkKKPzh7F/5g92Kug0=
5
- sha512(base64): amSpft8keA6AyQ55uzbk1L78UMyv6EA2YeESukiT4sDIbrwEo+XVNleuy2FCN2k1ANGiDrZ9mRuHtXAh2lnQFA==
2
+ md5(hex): 0b07401bb999fa1143703ec2cb9077c0
3
+ sha256(hex): b0da21296422b9f4586e3576e93ea2d46c8db89f62279e1b70ca6a72290f09a9
4
+ sha256(base64): sNohKWQiufRYbjV26T6i1GyNuJ9iJ54bcMpqcikPCak=
5
+ sha512(base64): X6EwYB26O3wqG3uEN9zr/3QxrQWP6rHPWbOIIvSni5RWxoiSNTX4jm4Zy+2NkfTafPa8Eb9pdDj1qH7Lc++7qA==
6
6
  editor.js:
7
- md5(hex): 5c72df7fc8265a2031045db19325955a
8
- sha256(hex): bd5a01d98acc2ed2ee0e41ac1311d638cab98e88c73cc16d30731384f4cc4c5a
9
- sha256(base64): vVoB2YrMLtLuDkGsExHWOMq5jojHPMFtMHMThPTMTFo=
10
- sha512(base64): Y6iT28EVKl6MupxHc11oiY17JLzBluHR7yJmoW2l0s9uvdWkdUywfBmviX68TAVyPkWm+E0xfx5z29IeYBOu/w==
7
+ md5(hex): b2dc936c0e63935b79396883a42c6156
8
+ sha256(hex): 4be69a81d67f33da801d6d26fc5c7ccceb711fe9d58ca5f3403820c91ae3a267
9
+ sha256(base64): S+aagdZ/M9qAHW0m/Fx8zOtxH+nVjKXzQDggyRrjomc=
10
+ sha512(base64): PG1V7hE1qjbqt2apfdfNNoTLBbXdd4E9RxVY/60g49mfiEgulpMX2iV1jtcwlN2PYVaIHswUfQ/ok9bl2ktVUQ==
11
11
  nako_gen_async.js:
12
- md5(hex): 5d15cedac44a5e78b8fc7b3286931199
13
- sha256(hex): 2b0f0187d2a660e84b643d2a98f7e0b2ce33642ff23f3acb8f9b6ee4ad3575ad
14
- sha256(base64): Kw8Bh9KmYOhLZD0qmPfgss4zZC/yPzrLj5tu5K01da0=
15
- sha512(base64): jY4vgaTISc9f3qQBt4iuixx8GMtAXL+V8h868RotnXqW8yy+aBsa8huKHA+5tTKvk5WTFZDwc/XkYr71oXWsFQ==
12
+ md5(hex): 8cc79d76aef0d94ff21f03f47c917060
13
+ sha256(hex): 8afe3dbd771a5d36dd83a7e23897b0ece33c747af4d9f1443c59eddbc679a014
14
+ sha256(base64): iv49vXcaXTbdg6fiOJew7OM8dHr02fFEPFnt28Z5oBQ=
15
+ sha512(base64): Vz+PqHE9YnMiJXnZ0oNYWL9xq1jJJDR3KOlCZzMPozKytAQDYMismtxVCPd/ffJwlR0iumKdVZGl1hEQygdA7Q==
16
16
  plugin_caniuse.js:
17
17
  md5(hex): 95a7a5c98a92a46b6435e577daba3241
18
18
  sha256(hex): 57638b3979be70b45ab8085861f6b2ece43200bd6aa92765d73caf76b9e6fea9
@@ -54,17 +54,17 @@ plugin_weykturtle3d.js:
54
54
  sha256(base64): ND/1JqYrFVGTIPYsbBk+tScnF8RVzgYPM0/E2aE8GRw=
55
55
  sha512(base64): T4B8Cvhn9j5YdMGk4rwPInfqmcXtGEjD2g6X6wSqXvYyIXuSy+t1RVf1viZ2zljHlk3wN6pwKvvg/NIJvfMAzw==
56
56
  version.js:
57
- md5(hex): 604fdf2812a87745fbe574888468033b
58
- sha256(hex): a590ffdefb1e2138cff1764dab3dc53dcfcb7e78a56e6d36fd3f2196b022b0f3
59
- sha256(base64): pZD/3vseITjP8XZNqz3FPc/Lfnilbm02/T8hlrAisPM=
60
- sha512(base64): HxiXnZmQOxwyyb4nuISDUAZDxCejv2qPrQ+TFvV+C+3roYcGr88R49rubpUFigsWmWeo6UfBBnFfurhoULB4tg==
57
+ md5(hex): 39b83249e25a9787ea654383540a1e3d
58
+ sha256(hex): c3f754cb141d2cec576a34561f526bc756fc247864a239348d7222e8bea246f2
59
+ sha256(base64): w/dUyxQdLOxXajRWH1Jrx1b8JHhkojk0jXIi6L6iRvI=
60
+ sha512(base64): YVT40se2zVkHPG2uJcuA5bdJ9HSbcHQf7ruXugvFmzZzA06FvLzWSDpj29F/izEkXzGfbcehUzmELKneievvnA==
61
61
  wnako3.js:
62
- md5(hex): be991ed88d9554162a6abbb8df013232
63
- sha256(hex): 0c057b81fffbe0a1031abc3e69803bdfc05bc1c116de1e1ecd9dc4e8448d6243
64
- sha256(base64): DAV7gf/74KEDGrw+aYA738BbwcEW3h4ezZ3E6ESNYkM=
65
- sha512(base64): Ky1VMY8s8KZH5P/EcWWU1wX9I45dz1K+Xt3/x1Ow6wzFxf1V6bICc+WKNWP/Z8IWB2WEUd0vhKnjS2ZVoGRfWg==
62
+ md5(hex): 71d37a99f79e22d7d37d0c6fc73ff4c5
63
+ sha256(hex): 7c2f81e529cba05e84a49f2c7a18cfddc7cf29b57e62cffb6c0a5034aacda013
64
+ sha256(base64): fC+B5SnLoF6EpJ8sehjP3cfPKbV+Ys/7bApQNKrNoBM=
65
+ sha512(base64): eubK6t3t7STKIBJAgTW7mj+aCF/RtX/CbrDevn89jrsgAaoc3IH9AB/V4cHFIVF5pQRkHVtHwMD2yzrL0o9TtA==
66
66
  wnako3webworker.js:
67
- md5(hex): 0d06af5529e5ada6e084bb790699fea1
68
- sha256(hex): 7885955e8cc3a0f3fe5422b1a582105d31f6370e2afc7f6c1ff53d9894c49788
69
- sha256(base64): eIWVXozDoPP+VCKxpYIQXTH2Nw4q/H9sH/U9mJTEl4g=
70
- sha512(base64): bRCgX7J/A34du3xGAhmOWobEeeq6En3Zcdi4GdxA4GJjjtQSsZz9yJ7/2Q0s9tMJyzcjhz0h7y9pRfrUbNttZw==
67
+ md5(hex): a27a30b686bce992021c1252cc65dde9
68
+ sha256(hex): da5568e9b1c2c95473dd50d677708b287022b81aa28887bf2038bcc39a92f002
69
+ sha256(base64): 2lVo6bHCyVRz3VDWd3CLKHAiuBqiiIe/IDi8w5qS8AI=
70
+ sha512(base64): b0IgPdyIl0uwvvf6hKMfNCyV2Z0SMyqe7us8C+XhRtFMgz/o7jkswqFrBVUfB1FVDaVsc5Nlkt1KyrrhzW1pXw==
@@ -1,14 +1,14 @@
1
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.52&f=release/command.json.js" integrity="sha512-amSpft8keA6AyQ55uzbk1L78UMyv6EA2YeESukiT4sDIbrwEo+XVNleuy2FCN2k1ANGiDrZ9mRuHtXAh2lnQFA==" crossorigin="anonymous"></script>
2
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.52&f=release/editor.js" integrity="sha512-Y6iT28EVKl6MupxHc11oiY17JLzBluHR7yJmoW2l0s9uvdWkdUywfBmviX68TAVyPkWm+E0xfx5z29IeYBOu/w==" crossorigin="anonymous"></script>
3
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.52&f=release/nako_gen_async.js" integrity="sha512-jY4vgaTISc9f3qQBt4iuixx8GMtAXL+V8h868RotnXqW8yy+aBsa8huKHA+5tTKvk5WTFZDwc/XkYr71oXWsFQ==" crossorigin="anonymous"></script>
4
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.52&f=release/plugin_caniuse.js" integrity="sha512-NbX6BKUNq1J8xwtv5CThQC54Lb/KxaPlimRpsF745nxqjYeuGD7S70j4yOgNm4Uwd7AN5FgezS6NDyhlvoJF2w==" crossorigin="anonymous"></script>
5
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.52&f=release/plugin_csv.js" integrity="sha512-mQvmj25L2Nc2L7gN1rTjayHVMMPhc7TCSiBsuKS4JKOQqN+91uj9qpLAOejzR1ib5jIOBdtrhN+secNTU9BJtw==" crossorigin="anonymous"></script>
6
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.52&f=release/plugin_datetime.js" integrity="sha512-1ADTZFkcfU6vpEEJZEYmIbqS6G2XViooDFD4198P61n7VKZ0PhEVj9l8ULFGrW7woSbDqfSPZmkZ7yvcRqPKYA==" crossorigin="anonymous"></script>
7
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.52&f=release/plugin_kansuji.js" integrity="sha512-tXC9Q6LejwYG+HUbXcwBHFmhwTsqiMHOBohLNcSx8b02hxk3waPUEQRWeNP7QxAFMv5BOAY+Grruf+XKmmU26g==" crossorigin="anonymous"></script>
8
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.52&f=release/plugin_markup.js" integrity="sha512-pvb+QYO9LMUH055nPJJ5QaWyEYR3wDkHHilV5LLNyxObs7enlHGiF7Jt3Csd93JTdJ3n9hxFbTqWa1QuzVmTfQ==" crossorigin="anonymous"></script>
9
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.52&f=release/plugin_turtle.js" integrity="sha512-3/BlAe3uVDBgJrgFWzLJa3bvNQVhAQuL343Icict5hI3LndcPjV6mAD8KoWRlxmF8A8S6n8eKnmrh6NFWTjyEw==" crossorigin="anonymous"></script>
10
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.52&f=release/plugin_webworker.js" integrity="sha512-i+Z6Tg1xuS7TmJx/NrvGlEgPRGR9VUvaN6aqi5zVu1YpdabJ2p4rXWXNx3aBj6brCQ7co+D7Y+RhLm3S3gbXPQ==" crossorigin="anonymous"></script>
11
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.52&f=release/plugin_weykturtle3d.js" integrity="sha512-T4B8Cvhn9j5YdMGk4rwPInfqmcXtGEjD2g6X6wSqXvYyIXuSy+t1RVf1viZ2zljHlk3wN6pwKvvg/NIJvfMAzw==" crossorigin="anonymous"></script>
12
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.52&f=release/version.js" integrity="sha512-HxiXnZmQOxwyyb4nuISDUAZDxCejv2qPrQ+TFvV+C+3roYcGr88R49rubpUFigsWmWeo6UfBBnFfurhoULB4tg==" crossorigin="anonymous"></script>
13
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.52&f=release/wnako3.js" integrity="sha512-Ky1VMY8s8KZH5P/EcWWU1wX9I45dz1K+Xt3/x1Ow6wzFxf1V6bICc+WKNWP/Z8IWB2WEUd0vhKnjS2ZVoGRfWg==" crossorigin="anonymous"></script>
14
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.52&f=release/wnako3webworker.js" integrity="sha512-bRCgX7J/A34du3xGAhmOWobEeeq6En3Zcdi4GdxA4GJjjtQSsZz9yJ7/2Q0s9tMJyzcjhz0h7y9pRfrUbNttZw==" crossorigin="anonymous"></script>
1
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.53&f=release/command.json.js" integrity="sha512-X6EwYB26O3wqG3uEN9zr/3QxrQWP6rHPWbOIIvSni5RWxoiSNTX4jm4Zy+2NkfTafPa8Eb9pdDj1qH7Lc++7qA==" crossorigin="anonymous"></script>
2
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.53&f=release/editor.js" integrity="sha512-PG1V7hE1qjbqt2apfdfNNoTLBbXdd4E9RxVY/60g49mfiEgulpMX2iV1jtcwlN2PYVaIHswUfQ/ok9bl2ktVUQ==" crossorigin="anonymous"></script>
3
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.53&f=release/nako_gen_async.js" integrity="sha512-Vz+PqHE9YnMiJXnZ0oNYWL9xq1jJJDR3KOlCZzMPozKytAQDYMismtxVCPd/ffJwlR0iumKdVZGl1hEQygdA7Q==" crossorigin="anonymous"></script>
4
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.53&f=release/plugin_caniuse.js" integrity="sha512-NbX6BKUNq1J8xwtv5CThQC54Lb/KxaPlimRpsF745nxqjYeuGD7S70j4yOgNm4Uwd7AN5FgezS6NDyhlvoJF2w==" crossorigin="anonymous"></script>
5
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.53&f=release/plugin_csv.js" integrity="sha512-mQvmj25L2Nc2L7gN1rTjayHVMMPhc7TCSiBsuKS4JKOQqN+91uj9qpLAOejzR1ib5jIOBdtrhN+secNTU9BJtw==" crossorigin="anonymous"></script>
6
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.53&f=release/plugin_datetime.js" integrity="sha512-1ADTZFkcfU6vpEEJZEYmIbqS6G2XViooDFD4198P61n7VKZ0PhEVj9l8ULFGrW7woSbDqfSPZmkZ7yvcRqPKYA==" crossorigin="anonymous"></script>
7
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.53&f=release/plugin_kansuji.js" integrity="sha512-tXC9Q6LejwYG+HUbXcwBHFmhwTsqiMHOBohLNcSx8b02hxk3waPUEQRWeNP7QxAFMv5BOAY+Grruf+XKmmU26g==" crossorigin="anonymous"></script>
8
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.53&f=release/plugin_markup.js" integrity="sha512-pvb+QYO9LMUH055nPJJ5QaWyEYR3wDkHHilV5LLNyxObs7enlHGiF7Jt3Csd93JTdJ3n9hxFbTqWa1QuzVmTfQ==" crossorigin="anonymous"></script>
9
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.53&f=release/plugin_turtle.js" integrity="sha512-3/BlAe3uVDBgJrgFWzLJa3bvNQVhAQuL343Icict5hI3LndcPjV6mAD8KoWRlxmF8A8S6n8eKnmrh6NFWTjyEw==" crossorigin="anonymous"></script>
10
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.53&f=release/plugin_webworker.js" integrity="sha512-i+Z6Tg1xuS7TmJx/NrvGlEgPRGR9VUvaN6aqi5zVu1YpdabJ2p4rXWXNx3aBj6brCQ7co+D7Y+RhLm3S3gbXPQ==" crossorigin="anonymous"></script>
11
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.53&f=release/plugin_weykturtle3d.js" integrity="sha512-T4B8Cvhn9j5YdMGk4rwPInfqmcXtGEjD2g6X6wSqXvYyIXuSy+t1RVf1viZ2zljHlk3wN6pwKvvg/NIJvfMAzw==" crossorigin="anonymous"></script>
12
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.53&f=release/version.js" integrity="sha512-YVT40se2zVkHPG2uJcuA5bdJ9HSbcHQf7ruXugvFmzZzA06FvLzWSDpj29F/izEkXzGfbcehUzmELKneievvnA==" crossorigin="anonymous"></script>
13
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.53&f=release/wnako3.js" integrity="sha512-eubK6t3t7STKIBJAgTW7mj+aCF/RtX/CbrDevn89jrsgAaoc3IH9AB/V4cHFIVF5pQRkHVtHwMD2yzrL0o9TtA==" crossorigin="anonymous"></script>
14
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.53&f=release/wnako3webworker.js" integrity="sha512-b0IgPdyIl0uwvvf6hKMfNCyV2Z0SMyqe7us8C+XhRtFMgz/o7jkswqFrBVUfB1FVDaVsc5Nlkt1KyrrhzW1pXw==" crossorigin="anonymous"></script>