nadesiko3 3.3.76 → 3.3.78

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
@@ -279,14 +279,16 @@
279
279
  ●プラグイン管理
280
280
  | 定数 | プラグイン名 | | 'メイン' | ぷらぐいんめい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2664
281
281
  | 関数 | プラグイン名設定 | Sに/Sへ | プラグイン名をSに変更する(システムにより自動的に「メイン」あるいはプラグインのファイル名が呼ばれる) | プラグインめいせってい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2669
282
- | 関数 | 名前空間設定 | Sに/Sへ | 名前空間が変更される | なまえくうかんせってい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2678
282
+ | 定数 | 名前空間 | | '' | なまえくうかん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2674
283
+ | 関数 | 名前空間設定 | Sに/Sへ | 名前空間をSに設定する(システムにより自動的に変更される。ファイル名から拡張子を削ったもの) | なまえくうかんせってい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2679
284
+ | 関数 | 名前空間ポップ | | システム利用のため呼ぶべからず。(名前空間を一つ前の値に戻す) | なまえくうかんぽっぷ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2690
283
285
  ●URLエンコードとパラメータ
284
- | 関数 | URLエンコード | TEXTを/TEXTから | URLエンコードして返す | URLえんこーど | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2689
285
- | 関数 | URLデコード | TEXTを/TEXTへ/TEXTに | URLデコードして返す | URLでこーど | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2697
286
- | 関数 | URLパラメータ解析 | URLを/URLの/URLから | URLパラメータを解析してハッシュで返す | URLぱらめーたかいせき | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2705
286
+ | 関数 | URLエンコード | TEXTを/TEXTから | URLエンコードして返す | URLえんこーど | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2706
287
+ | 関数 | URLデコード | TEXTを/TEXTへ/TEXTに | URLデコードして返す | URLでこーど | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2714
288
+ | 関数 | URLパラメータ解析 | URLを/URLの/URLから | URLパラメータを解析してハッシュで返す | URLぱらめーたかいせき | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2722
287
289
  ●BASE64
288
- | 関数 | BASE64エンコード | TEXTを/TEXTから | BASE64エンコードして返す | BASE64えんこーど | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2729
289
- | 関数 | BASE64デコード | TEXTを/TEXTへ/TEXTに | BASE64デコードして返す | BASE64でこーど | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2747
290
+ | 関数 | BASE64エンコード | TEXTを/TEXTから | BASE64エンコードして返す | BASE64えんこーど | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2746
291
+ | 関数 | BASE64デコード | TEXTを/TEXTへ/TEXTに | BASE64デコードして返す | BASE64でこーど | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2764
290
292
 
291
293
 
292
294
  ■plugin_csv(基本プラグイン,wnako,cnako)
@@ -279,7 +279,9 @@
279
279
  - �v���O�C���Ǘ�
280
280
  |�v���O�C����,"","'���C��'",0,,�ϐ�,�Ղ炮����߂�
281
281
  |�v���O�C�����ݒ�,"S��|S��","�v���O�C������S�ɕύX����(�V�X�e���ɂ�莩���I�Ɂu���C���v���邢�̓v���O�C���̃t�@�C�������Ă΂��)",0,,����,�v���O�C���߂������Ă�
282
- |���O��Ԑݒ�,"S��|S��","���O��Ԃ��ύX�����",0,,����,�Ȃ܂��������񂹂��Ă�
282
+ |���O���,"","''",0,,�ϐ�,�Ȃ܂���������
283
+ |���O��Ԑݒ�,"S��|S��","���O��Ԃ�S�ɐݒ肷��(�V�X�e���ɂ�莩���I�ɕύX�����B�t�@�C��������g���q�����������)",0,,����,�Ȃ܂��������񂹂��Ă�
284
+ |���O��ԃ|�b�v,"","�V�X�e�����p�̂��ߌĂԂׂ��炸�B(���O��Ԃ���‘O�̒l�ɖ߂�)",0,,����,�Ȃ܂���������ۂ���
283
285
  - URL�G���R�[�h�ƃp�����[�^
284
286
  |URL�G���R�[�h,"TEXT��|TEXT����","URL�G���R�[�h���ĕԂ�",0,,����,URL���񂱁[��
285
287
  |URL�f�R�[�h,"TEXT��|TEXT��|TEXT��","URL�f�R�[�h���ĕԂ�",0,,����,URL�ł��[��
package/core/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nadesiko3core",
3
- "version": "3.3.76",
3
+ "version": "3.3.77",
4
4
  "description": "Japanese Programming Language Nadesiko v3 core",
5
5
  "main": "index.mjs",
6
6
  "type": "module",
@@ -36,8 +36,8 @@
36
36
  "sample"
37
37
  ],
38
38
  "devDependencies": {
39
- "@types/mocha": "^9.1.1",
40
- "@types/node": "^17.0.35",
39
+ "@types/mocha": "^10.0.0",
40
+ "@types/node": "^18.11.7",
41
41
  "chai": "^4.3.6",
42
42
  "eslint": "^8.23.1",
43
43
  "eslint-plugin-import": "^2.26.0",
@@ -159,7 +159,6 @@ export class NakoCompiler {
159
159
  _loadDependencies(code, filename, preCode, tools) {
160
160
  const dependencies = {};
161
161
  const compiler = new NakoCompiler({ useBasicPlugin: true });
162
- const defaultNamespace = NakoLexer.filenameToModName(this.filename);
163
162
  /**
164
163
  * @param {any} item
165
164
  * @param {any} tasks
@@ -182,8 +181,7 @@ export class NakoCompiler {
182
181
  // preDefineFuncはトークン列に変更を加えるため、事前にクローンしておく。
183
182
  // 「プラグイン名設定」を行う (#956)
184
183
  const modName = NakoLexer.filenameToModName(item.filePath);
185
- code = `『${modName}』にプラグイン名設定;『${modName}』に名前空間設定;` + code +
186
- `『メイン』にプラグイン名設定;『${defaultNamespace}』に名前空間設定。`;
184
+ code = `『${modName}』に名前空間設定;『${modName}』にプラグイン名設定;` + code + ';名前空間ポップ;';
187
185
  const tokens = this.rawtokenize(code, 0, item.filePath);
188
186
  dependencies[item.filePath].tokens = tokens;
189
187
  const funclist = {};
@@ -685,7 +683,7 @@ export class NakoCompiler {
685
683
  options = newCompilerOptions(options);
686
684
  const out = this.compileFromCode(code, filename, options);
687
685
  // 実行前に環境を生成
688
- const nakoGlobal = this.getNakoGlobal(options, out.gen);
686
+ const nakoGlobal = this.getNakoGlobal(options, out.gen, filename);
689
687
  // 実行
690
688
  this.evalJS(out.runtimeEnv, nakoGlobal);
691
689
  return nakoGlobal;
@@ -702,12 +700,12 @@ export class NakoCompiler {
702
700
  options = newCompilerOptions(options);
703
701
  const out = this.compileFromCode(code, filename, options);
704
702
  // 実行前に環境を生成
705
- const nakoGlobal = this.getNakoGlobal(options, out.gen);
703
+ const nakoGlobal = this.getNakoGlobal(options, out.gen, filename);
706
704
  // 実行
707
705
  this.evalJS(out.runtimeEnv, nakoGlobal);
708
706
  return nakoGlobal;
709
707
  }
710
- getNakoGlobal(options, gen) {
708
+ getNakoGlobal(options, gen, filename) {
711
709
  // オプションを参照
712
710
  let g = options.nakoGlobal;
713
711
  if (!g) {
@@ -718,6 +716,8 @@ export class NakoCompiler {
718
716
  else {
719
717
  g = new NakoGlobal(this, gen, (this.__globals.length + 1));
720
718
  }
719
+ // 名前空間を設定
720
+ g.__varslist[0]['名前空間'] = NakoLexer.filenameToModName(filename);
721
721
  }
722
722
  if (this.__globals.indexOf(g) < 0) {
723
723
  this.__globals.push(g);
@@ -239,7 +239,6 @@ export class NakoCompiler {
239
239
  _loadDependencies (code: string, filename: string, preCode: string, tools: LoaderTool) {
240
240
  const dependencies: Dependencies = {}
241
241
  const compiler = new NakoCompiler({ useBasicPlugin: true })
242
- const defaultNamespace: string = NakoLexer.filenameToModName(this.filename)
243
242
  /**
244
243
  * @param {any} item
245
244
  * @param {any} tasks
@@ -262,8 +261,7 @@ export class NakoCompiler {
262
261
  // preDefineFuncはトークン列に変更を加えるため、事前にクローンしておく。
263
262
  // 「プラグイン名設定」を行う (#956)
264
263
  const modName = NakoLexer.filenameToModName(item.filePath)
265
- code = `『${modName}』にプラグイン名設定;『${modName}』に名前空間設定;` + code +
266
- `『メイン』にプラグイン名設定;『${defaultNamespace}』に名前空間設定。`
264
+ code = `『${modName}』に名前空間設定;『${modName}』にプラグイン名設定;` + code + ';名前空間ポップ;'
267
265
  const tokens = this.rawtokenize(code, 0, item.filePath)
268
266
  dependencies[item.filePath].tokens = tokens
269
267
  const funclist = {}
@@ -794,7 +792,7 @@ export class NakoCompiler {
794
792
  options = newCompilerOptions(options)
795
793
  const out = this.compileFromCode(code, filename, options)
796
794
  // 実行前に環境を生成
797
- const nakoGlobal = this.getNakoGlobal(options, out.gen)
795
+ const nakoGlobal = this.getNakoGlobal(options, out.gen, filename)
798
796
  // 実行
799
797
  this.evalJS(out.runtimeEnv, nakoGlobal)
800
798
  return nakoGlobal
@@ -812,13 +810,13 @@ export class NakoCompiler {
812
810
  options = newCompilerOptions(options)
813
811
  const out = this.compileFromCode(code, filename, options)
814
812
  // 実行前に環境を生成
815
- const nakoGlobal = this.getNakoGlobal(options, out.gen)
813
+ const nakoGlobal = this.getNakoGlobal(options, out.gen, filename)
816
814
  // 実行
817
815
  this.evalJS(out.runtimeEnv, nakoGlobal)
818
816
  return nakoGlobal
819
817
  }
820
818
 
821
- private getNakoGlobal (options: CompilerOptions, gen: NakoGen): NakoGlobal {
819
+ private getNakoGlobal (options: CompilerOptions, gen: NakoGen, filename: string): NakoGlobal {
822
820
  // オプションを参照
823
821
  let g: NakoGlobal|null = options.nakoGlobal
824
822
  if (!g) {
@@ -828,6 +826,8 @@ export class NakoCompiler {
828
826
  } else {
829
827
  g = new NakoGlobal(this, gen, (this.__globals.length + 1))
830
828
  }
829
+ // 名前空間を設定
830
+ g.__varslist[0]['名前空間'] = NakoLexer.filenameToModName(filename)
831
831
  }
832
832
  if (this.__globals.indexOf(g) < 0) { this.__globals.push(g) }
833
833
  return g
@@ -1,8 +1,8 @@
1
1
  // 実際のバージョン定義 (自動生成されるので以下を編集しない)
2
2
  const coreVersion = {
3
- version: '3.3.76',
3
+ version: '3.3.77',
4
4
  major: 3,
5
5
  minor: 3,
6
- patch: 76
6
+ patch: 77
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.76',
14
+ version: '3.3.77',
15
15
  major: 3,
16
16
  minor: 3,
17
- patch: 76
17
+ patch: 77
18
18
  }
19
19
  export default coreVersion
@@ -857,7 +857,17 @@ export class NakoGen {
857
857
  const idx = this._convGen(list[i], true);
858
858
  code += '[' + idx + ']';
859
859
  }
860
- const value = this._convGen(node.value, true);
860
+ // value
861
+ let value = null;
862
+ if (this.speedMode.invalidSore === 0) {
863
+ value = this.varname('それ');
864
+ }
865
+ if (node.value) {
866
+ value = this._convGen(node.value, true);
867
+ }
868
+ if (value == null) {
869
+ throw NakoSyntaxError.fromNode('代入する先の変数名がありません。', node);
870
+ }
861
871
  code += ' = ' + value + ';\n';
862
872
  // generate code
863
873
  const src = this.convLineno(node, false) + codeInit + code;
@@ -922,7 +922,13 @@ export class NakoGen {
922
922
  const idx = this._convGen(list[i], true)
923
923
  code += '[' + idx + ']'
924
924
  }
925
- const value = this._convGen(node.value, true)
925
+ // value
926
+ let value = null
927
+ if (this.speedMode.invalidSore === 0) { value = this.varname('それ') }
928
+ if (node.value) { value = this._convGen(node.value, true) }
929
+ if (value == null) {
930
+ throw NakoSyntaxError.fromNode('代入する先の変数名がありません。', node)
931
+ }
926
932
  code += ' = ' + value + ';\n'
927
933
  // generate code
928
934
  const src = this.convLineno(node, false) + codeInit + code
@@ -17,7 +17,7 @@ export default {
17
17
  // 言語バージョンを設定
18
18
  sys.__v0['ナデシコバージョン'] = sys.version;
19
19
  sys.__v0['ナデシコ言語バージョン'] = sys.coreVersion;
20
- sys.__namespace = '*';
20
+ sys.__namespaceList = [];
21
21
  // なでしこの関数や変数を探して返す
22
22
  sys.__findVar = function (nameStr, def) {
23
23
  if (typeof nameStr === 'function') {
@@ -2820,12 +2820,29 @@ export default {
2820
2820
  },
2821
2821
  return_none: true
2822
2822
  },
2823
+ '名前空間': { type: 'const', value: '' },
2823
2824
  '名前空間設定': {
2824
2825
  type: 'func',
2825
2826
  josi: [['に', 'へ']],
2826
2827
  pure: true,
2827
2828
  fn: function (s, sys) {
2828
- sys.__namespace = s;
2829
+ // push namespace
2830
+ sys.__namespaceList.push([sys.__v0['名前空間'], sys.__v0['プラグイン名']]);
2831
+ sys.__v0['名前空間'] = s;
2832
+ },
2833
+ return_none: true
2834
+ },
2835
+ '名前空間ポップ': {
2836
+ type: 'func',
2837
+ josi: [],
2838
+ pure: true,
2839
+ fn: function (sys) {
2840
+ // pop namespace
2841
+ const a = sys.__namespaceList.pop();
2842
+ if (a) {
2843
+ sys.__v0['名前空間'] = a[0];
2844
+ sys.__v0['プラグイン名'] = a[1];
2845
+ }
2829
2846
  },
2830
2847
  return_none: true
2831
2848
  },
@@ -18,7 +18,7 @@ export default {
18
18
  // 言語バージョンを設定
19
19
  sys.__v0['ナデシコバージョン'] = sys.version
20
20
  sys.__v0['ナデシコ言語バージョン'] = sys.coreVersion
21
- sys.__namespace = '*'
21
+ sys.__namespaceList = []
22
22
  // なでしこの関数や変数を探して返す
23
23
  sys.__findVar = function (nameStr: any, def: any): any {
24
24
  if (typeof nameStr === 'function') { return nameStr }
@@ -2671,12 +2671,29 @@ export default {
2671
2671
  },
2672
2672
  return_none: true
2673
2673
  },
2674
- '名前空間設定': { // @名前空間が変更される // @なまえくうかんせってい
2674
+ '名前空間': { type: 'const', value: '' }, // @なまえくうかん
2675
+ '名前空間設定': { // @名前空間をSに設定する(システムにより自動的に変更される。ファイル名から拡張子を削ったもの) // @なまえくうかんせってい
2675
2676
  type: 'func',
2676
2677
  josi: [['に', 'へ']],
2677
2678
  pure: true,
2678
2679
  fn: function (s: string, sys: any) {
2679
- sys.__namespace = s
2680
+ // push namespace
2681
+ sys.__namespaceList.push([sys.__v0['名前空間'], sys.__v0['プラグイン名']])
2682
+ sys.__v0['名前空間'] = s
2683
+ },
2684
+ return_none: true
2685
+ },
2686
+ '名前空間ポップ': { // @システム利用のため呼ぶべからず。(名前空間を一つ前の値に戻す) // @なまえくうかんぽっぷ
2687
+ type: 'func',
2688
+ josi: [],
2689
+ pure: true,
2690
+ fn: function (sys: any) {
2691
+ // pop namespace
2692
+ const a = sys.__namespaceList.pop()
2693
+ if (a) {
2694
+ sys.__v0['名前空間'] = a[0]
2695
+ sys.__v0['プラグイン名'] = a[1]
2696
+ }
2680
2697
  },
2681
2698
  return_none: true
2682
2699
  },
@@ -32,4 +32,7 @@ describe('array_test', async () => {
32
32
  it('要素から配列を記述する際に明示的な()が必要になる不具合 #1000', async () => {
33
33
  await cmp('Aは[0,1,2];Bは[A[1], A[1], A[2]];B[1]を表示', '1')
34
34
  })
35
+ it('配列を「代入」文するとエラーが出る問題 (nadesiko3 #1354)(core #75)', async () => {
36
+ await cmp('Aは[];1に2を足して、A[0]に代入。A[0]を表示。', '3')
37
+ })
35
38
  })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nadesiko3",
3
- "version": "3.3.76",
3
+ "version": "3.3.78",
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): a1196ca630750603e78448894f982c15
3
- sha256(hex): 0021d821abdc81087849105b174016d4f6d349f6d5b6463d722042f616c8d16d
4
- sha256(base64): ACHYIavcgQh4SRBbF0AW1PbTSfbVtkY9ciBC9hbI0W0=
5
- sha512(base64): vIV8kPMEosj8vnooWxLYSGWiye3Qp19nVK+kRUSr8zEFaFLxqpksI/lM6Z1o4fxN0oCWyPeEH7/S9Rc4/7jMUg==
2
+ md5(hex): 20c663129d0d0e7000122fa42e774729
3
+ sha256(hex): a6dfcea2774670ac7ba3f3fc44290df771977929622efcf6495b2328add7626b
4
+ sha256(base64): pt/OondGcKx7o/P8RCkN93GXeSliLvz2SVsjKK3XYms=
5
+ sha512(base64): eRc1b2nQXqFgUvurwCQG+ZyglDftp/YIg8bok/STRkn/OGSaTpiy8y1MEC382ZvPafv0Jf/qa70T3nCQDnxB6w==
6
6
  editor.js:
7
- md5(hex): c5caffbf70afca358f5d42d3c15c479c
8
- sha256(hex): 2bf2f99c965515bc449fb4e5f578bee74b0d6d5899488274f4cfd55599043995
9
- sha256(base64): K/L5nJZVFbxEn7Tl9Xi+50sNbViZSIJ09M/VVZkEOZU=
10
- sha512(base64): bZMZ6cCFxqZr0pTBZbYuboftNTfGInCs0sKLtZmJxcoZTjXZaAtRhnAG9oW9fRL1fOwvvRDVApknZiAnYEjZnw==
7
+ md5(hex): 0372dd3a0e3fdc3b377896827897ec22
8
+ sha256(hex): 64d6fd24e35729ad796589b3bd3847165e6f0a0e7d4571f8938bf35495a4b063
9
+ sha256(base64): ZNb9JONXKa15ZYmzvThHFl5vCg59RXH4k4vzVJWksGM=
10
+ sha512(base64): rCqM2o4PmQk+Iis5RgUn4zIuSp84DsRKcr+cIFd8XOD8BGLMUoKOdigCX20l+/mOh20uPpgEHuCLqkG/wUv7Hw==
11
11
  nako_gen_async.js:
12
- md5(hex): 91eac9c1b76a4abfa4b34d8a7f2d20ed
13
- sha256(hex): 3d561c32993276df5d8ce98be3929f0a7dce86c5aab1a75a0b78a8eae67fc328
14
- sha256(base64): PVYcMpkydt9djOmL45KfCn3OhsWqsadaC3io6uZ/wyg=
15
- sha512(base64): VflnUiD2mcubUPjGl4VniefJTOVdkNL1N7NB1tViHiX/B3ikOhuHjPnxP/3C/1FHfCcy/HooaC+kv1VZAX4eQA==
12
+ md5(hex): 3f69bbce3a562184da9ca56de5247ee6
13
+ sha256(hex): 9aef2d09c48de79bf91ed82504208e232f65f7aec7fcd60a4b0ad843d7b0b5c8
14
+ sha256(base64): mu8tCcSN55v5HtglBCCOIy9l967H/NYKSwrYQ9ewtcg=
15
+ sha512(base64): /rlPkDABsQaz0xio0ybU1oUiYFe6TOw4a/lCScF72FK5JjwulvEfWuhNGTAHxyHfrrQPMOFnTf/XCR65PRb4iw==
16
16
  plugin_caniuse.js:
17
17
  md5(hex): 95a7a5c98a92a46b6435e577daba3241
18
18
  sha256(hex): 57638b3979be70b45ab8085861f6b2ece43200bd6aa92765d73caf76b9e6fea9
@@ -34,10 +34,10 @@ plugin_kansuji.js:
34
34
  sha256(base64): /vSpciFHzGuGH90g/ZCsP/cRkhYsnrjyX1O6YmlVIoE=
35
35
  sha512(base64): tXC9Q6LejwYG+HUbXcwBHFmhwTsqiMHOBohLNcSx8b02hxk3waPUEQRWeNP7QxAFMv5BOAY+Grruf+XKmmU26g==
36
36
  plugin_markup.js:
37
- md5(hex): 73b25f7059c28ec66f8e19fc86479d96
38
- sha256(hex): 9c91289d9986763c650a29d87b46ed77efe27e2977e665d57e8d83aa5829c696
39
- sha256(base64): nJEonZmGdjxlCinYe0btd+/ifil35mXVfo2DqlgpxpY=
40
- sha512(base64): MfyP8ktqZKVTD1j70QZ1qO7W8Zh8eI6113ivwJGXwkks2rTkLR9XTIj0VX3UGa4tilLHlEuROGwwamAdbkxM7A==
37
+ md5(hex): 9ea1f4b318a99070f86a08484a95ff1c
38
+ sha256(hex): 954f82ca489f193801376cbd06aaa7cdafdb648f33e01fac0bbbc82ce9e45e8d
39
+ sha256(base64): lU+CykifGTgBN2y9Bqqnza/bZI8z4B+sC7vILOnkXo0=
40
+ sha512(base64): pvb+QYO9LMUH055nPJJ5QaWyEYR3wDkHHilV5LLNyxObs7enlHGiF7Jt3Csd93JTdJ3n9hxFbTqWa1QuzVmTfQ==
41
41
  plugin_turtle.js:
42
42
  md5(hex): 8bf3b5e2b8796b41900b39f3eead9d2a
43
43
  sha256(hex): 2546eb4dcc6f47464ca7cd5682473e76bd2185607ecd6c06e1ce79b62e8fa930
@@ -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): ca0c8bb437523d6d3d6f12c8dff0792b
58
- sha256(hex): aec7fc3a0751588fb3cada644ef54e15974f94af80e00cffbb1f338879a94ed1
59
- sha256(base64): rsf8OgdRWI+zytpkTvVOFZdPlK+A4Az/ux8ziHmpTtE=
60
- sha512(base64): X0HA8my6Bx+TdfT5X4N49/ZNanL/LEhwYRhIUc+QDSCFUdLbO/2Q8WpZPvsJbK++rq7w8sQF1E9C5n6Dyffxuw==
57
+ md5(hex): b895ce22534ca9ef77553c54721c3c48
58
+ sha256(hex): bd5452ff1fb605a64ccb20ea3a1ec20bd2af00c7c3c042741755887902ba555b
59
+ sha256(base64): vVRS/x+2BaZMyyDqOh7CC9KvAMfDwEJ0F1WIeQK6VVs=
60
+ sha512(base64): F0HhBrE/P7ufHk0OpT27ij/PVbgPZJG1J8zhuhfj/Zf0H4hJIfRS2+qEFfSJN/vBJtv9cNVB+z/m4Yt2bTdxDg==
61
61
  wnako3.js:
62
- md5(hex): 1b9fd37cdacadd98d7b643768a60a3e1
63
- sha256(hex): 30f5f0277787b28f77cff36d5529895180caefcfb4d849000188c23ce677a4c7
64
- sha256(base64): MPXwJ3eHso93z/NtVSmJUYDK78+02EkAAYjCPOZ3pMc=
65
- sha512(base64): L4MqH0aiLaiVqQpO7c3U5UrCeGjTBFwFc2Vv+W0YB6/HsFtQbzaB8zRmy5aHLVe99Sw5htU30jm9zhb+vcURUA==
62
+ md5(hex): 089a2364b4bd9390d4d8175d0dd62ebd
63
+ sha256(hex): 9efd7cc5fd5d9422b846f9109080ac1fae5cfbe5d397b277385dcd65bc3c6ba0
64
+ sha256(base64): nv18xf1dlCK4RvkQkICsH65c++XTl7J3OF3NZbw8a6A=
65
+ sha512(base64): DyiV/dV8MDGEBl0j28x6QmnhUrGoUheUUoEOBKN2uUSLvwp30iuVo0hQv7fKjL3xvw7kYB0sIf1qngxqlqo5Ww==
66
66
  wnako3webworker.js:
67
- md5(hex): e69bbc0d9d5ccc6d2d64a2eb238106a8
68
- sha256(hex): e17c9ea388e449a1445978fb7d3551c81cab69748b2b77843a3c1be786f5fb69
69
- sha256(base64): 4Xyeo4jkSaFEWXj7fTVRyByraXSLK3eEOjwb54b1+2k=
70
- sha512(base64): /y1r/EWdtvbAYtiozTy1W0oc0GsoctXn5H0hAYmGUbjw1FLnUD/Gy1VeYmbiL9Jst8daOTN+KarHYYnedamOzg==
67
+ md5(hex): 1af12755c353246d18ba3af4208e3b26
68
+ sha256(hex): 50fef34edadfa813046e693b135f354d2cb524a30dc61d99011d93c972f9c59b
69
+ sha256(base64): UP7zTtrfqBMEbmk7E181TSy1JKMNxh2ZAR2TyXL5xZs=
70
+ sha512(base64): Yzo8f3byHfU6/h67u6wv9dhe+tTTg69hlTgZCgdBiolMa0uLs9UgFzhRIdD4QV7jDGQbUslonBqjUOmdsneZUQ==
@@ -1,14 +1,14 @@
1
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.76&f=release/command.json.js" integrity="sha512-vIV8kPMEosj8vnooWxLYSGWiye3Qp19nVK+kRUSr8zEFaFLxqpksI/lM6Z1o4fxN0oCWyPeEH7/S9Rc4/7jMUg==" crossorigin="anonymous"></script>
2
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.76&f=release/editor.js" integrity="sha512-bZMZ6cCFxqZr0pTBZbYuboftNTfGInCs0sKLtZmJxcoZTjXZaAtRhnAG9oW9fRL1fOwvvRDVApknZiAnYEjZnw==" crossorigin="anonymous"></script>
3
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.76&f=release/nako_gen_async.js" integrity="sha512-VflnUiD2mcubUPjGl4VniefJTOVdkNL1N7NB1tViHiX/B3ikOhuHjPnxP/3C/1FHfCcy/HooaC+kv1VZAX4eQA==" crossorigin="anonymous"></script>
4
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.76&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.76&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.76&f=release/plugin_datetime.js" integrity="sha512-1ADTZFkcfU6vpEEJZEYmIbqS6G2XViooDFD4198P61n7VKZ0PhEVj9l8ULFGrW7woSbDqfSPZmkZ7yvcRqPKYA==" crossorigin="anonymous"></script>
7
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.76&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.76&f=release/plugin_markup.js" integrity="sha512-MfyP8ktqZKVTD1j70QZ1qO7W8Zh8eI6113ivwJGXwkks2rTkLR9XTIj0VX3UGa4tilLHlEuROGwwamAdbkxM7A==" crossorigin="anonymous"></script>
9
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.76&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.76&f=release/plugin_webworker.js" integrity="sha512-JLlIg9cW9UgM2AT+qMgEuKvea3t8R+1jihhlN/QGDQe7iCaGEfXfKG5gpvRb0IUyisNfzncUN8AfLn9wyxGGiw==" crossorigin="anonymous"></script>
11
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.76&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.76&f=release/version.js" integrity="sha512-X0HA8my6Bx+TdfT5X4N49/ZNanL/LEhwYRhIUc+QDSCFUdLbO/2Q8WpZPvsJbK++rq7w8sQF1E9C5n6Dyffxuw==" crossorigin="anonymous"></script>
13
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.76&f=release/wnako3.js" integrity="sha512-L4MqH0aiLaiVqQpO7c3U5UrCeGjTBFwFc2Vv+W0YB6/HsFtQbzaB8zRmy5aHLVe99Sw5htU30jm9zhb+vcURUA==" crossorigin="anonymous"></script>
14
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.76&f=release/wnako3webworker.js" integrity="sha512-/y1r/EWdtvbAYtiozTy1W0oc0GsoctXn5H0hAYmGUbjw1FLnUD/Gy1VeYmbiL9Jst8daOTN+KarHYYnedamOzg==" crossorigin="anonymous"></script>
1
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.78&f=release/command.json.js" integrity="sha512-eRc1b2nQXqFgUvurwCQG+ZyglDftp/YIg8bok/STRkn/OGSaTpiy8y1MEC382ZvPafv0Jf/qa70T3nCQDnxB6w==" crossorigin="anonymous"></script>
2
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.78&f=release/editor.js" integrity="sha512-rCqM2o4PmQk+Iis5RgUn4zIuSp84DsRKcr+cIFd8XOD8BGLMUoKOdigCX20l+/mOh20uPpgEHuCLqkG/wUv7Hw==" crossorigin="anonymous"></script>
3
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.78&f=release/nako_gen_async.js" integrity="sha512-/rlPkDABsQaz0xio0ybU1oUiYFe6TOw4a/lCScF72FK5JjwulvEfWuhNGTAHxyHfrrQPMOFnTf/XCR65PRb4iw==" crossorigin="anonymous"></script>
4
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.78&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.78&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.78&f=release/plugin_datetime.js" integrity="sha512-1ADTZFkcfU6vpEEJZEYmIbqS6G2XViooDFD4198P61n7VKZ0PhEVj9l8ULFGrW7woSbDqfSPZmkZ7yvcRqPKYA==" crossorigin="anonymous"></script>
7
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.78&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.78&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.78&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.78&f=release/plugin_webworker.js" integrity="sha512-JLlIg9cW9UgM2AT+qMgEuKvea3t8R+1jihhlN/QGDQe7iCaGEfXfKG5gpvRb0IUyisNfzncUN8AfLn9wyxGGiw==" crossorigin="anonymous"></script>
11
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.78&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.78&f=release/version.js" integrity="sha512-F0HhBrE/P7ufHk0OpT27ij/PVbgPZJG1J8zhuhfj/Zf0H4hJIfRS2+qEFfSJN/vBJtv9cNVB+z/m4Yt2bTdxDg==" crossorigin="anonymous"></script>
13
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.78&f=release/wnako3.js" integrity="sha512-DyiV/dV8MDGEBl0j28x6QmnhUrGoUheUUoEOBKN2uUSLvwp30iuVo0hQv7fKjL3xvw7kYB0sIf1qngxqlqo5Ww==" crossorigin="anonymous"></script>
14
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.78&f=release/wnako3webworker.js" integrity="sha512-Yzo8f3byHfU6/h67u6wv9dhe+tTTg69hlTgZCgdBiolMa0uLs9UgFzhRIdD4QV7jDGQbUslonBqjUOmdsneZUQ==" crossorigin="anonymous"></script>