Skip to content

Commit 56aa6f5

Browse files
authored
Merge pull request #528 from IETS3/bugfix/typedefs-with-units
typedefs with units
2 parents aa6e541 + 348eb05 commit 56aa6f5

File tree

3 files changed

+253
-4
lines changed

3 files changed

+253
-4
lines changed

code/languages/org.iets3.opensource/languages/org.iets3.core.expr.typetags.units/models/typesystem.mps

Lines changed: 214 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
<import index="zdxd" ref="r:8397e61b-8602-4a1e-97b1-3469618bad2d(org.iets3.core.expr.typetags.units.plugin)" />
2727
<import index="tpd5" ref="r:00000000-0000-4000-0000-011c895902b5(jetbrains.mps.lang.typesystem.dependencies)" />
2828
<import index="pbu6" ref="r:83e946de-2a7f-4a4c-b3c9-4f671aa7f2db(org.iets3.core.expr.base.behavior)" />
29+
<import index="yv47" ref="r:da65683e-ff6f-430d-ab68-32a77df72c93(org.iets3.core.expr.toplevel.structure)" implicit="true" />
2930
</imports>
3031
<registry>
3132
<language id="a247e09e-2435-45ba-b8d2-07e93feba96a" name="jetbrains.mps.baseLanguage.tuples">
@@ -335,6 +336,9 @@
335336
<child id="1144104376918" name="parameter" index="1xVPHs" />
336337
</concept>
337338
<concept id="1179409122411" name="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" flags="nn" index="2qgKlT" />
339+
<concept id="4693937538533521280" name="jetbrains.mps.lang.smodel.structure.OfConceptOperation" flags="ng" index="v3k3i">
340+
<child id="4693937538533538124" name="requestedConcept" index="v3oSu" />
341+
</concept>
338342
<concept id="7453996997717780434" name="jetbrains.mps.lang.smodel.structure.Node_GetSConceptOperation" flags="nn" index="2yIwOk" />
339343
<concept id="2396822768958367367" name="jetbrains.mps.lang.smodel.structure.AbstractTypeCastExpression" flags="nn" index="$5XWr">
340344
<child id="6733348108486823193" name="leftExpression" index="1m5AlR" />
@@ -359,6 +363,7 @@
359363
<child id="1177027386292" name="conceptArgument" index="cj9EA" />
360364
</concept>
361365
<concept id="1171999116870" name="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" flags="nn" index="3w_OXm" />
366+
<concept id="1172008320231" name="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" flags="nn" index="3x8VRR" />
362367
<concept id="1144100932627" name="jetbrains.mps.lang.smodel.structure.OperationParm_Inclusion" flags="ng" index="1xIGOp" />
363368
<concept id="1144101972840" name="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" flags="ng" index="1xMEDy">
364369
<child id="1207343664468" name="conceptArgument" index="ri$Ld" />
@@ -438,6 +443,7 @@
438443
<concept id="1165525191778" name="jetbrains.mps.baseLanguage.collections.structure.GetFirstOperation" flags="nn" index="1uHKPH" />
439444
<concept id="1165530316231" name="jetbrains.mps.baseLanguage.collections.structure.IsEmptyOperation" flags="nn" index="1v1jN8" />
440445
<concept id="1202128969694" name="jetbrains.mps.baseLanguage.collections.structure.SelectOperation" flags="nn" index="3$u5V9" />
446+
<concept id="1176501494711" name="jetbrains.mps.baseLanguage.collections.structure.IsNotEmptyOperation" flags="nn" index="3GX2aA" />
441447
</language>
442448
</registry>
443449
<node concept="1YbPZF" id="yGiRIEU5yw">
@@ -4618,5 +4624,213 @@
46184624
<ref role="1YaFvo" to="b0gq:7SygLIkPJP$" resolve="ConvertToTarget" />
46194625
</node>
46204626
</node>
4627+
<node concept="18kY7G" id="3vbD2CjyZMy">
4628+
<property role="TrG5h" value="TypeDefsWithUnits" />
4629+
<node concept="3clFbS" id="3vbD2CjyZMz" role="18ibNy">
4630+
<node concept="3clFbJ" id="3vbD2CjyZQP" role="3cqZAp">
4631+
<node concept="1Wc70l" id="3vbD2Cjz8yV" role="3clFbw">
4632+
<node concept="2OqwBi" id="3vbD2CjziQ1" role="3uHU7w">
4633+
<node concept="2OqwBi" id="3vbD2CjzgDF" role="2Oq$k0">
4634+
<node concept="2OqwBi" id="3vbD2CjzdTu" role="2Oq$k0">
4635+
<node concept="1PxgMI" id="3vbD2Cjzddb" role="2Oq$k0">
4636+
<node concept="chp4Y" id="3vbD2CjzdD6" role="3oSUPX">
4637+
<ref role="cht4Q" to="w1hl:1xEzHAktP2Q" resolve="TaggedType" />
4638+
</node>
4639+
<node concept="2OqwBi" id="3vbD2Cjzchu" role="1m5AlR">
4640+
<node concept="1PxgMI" id="3vbD2CjzbnA" role="2Oq$k0">
4641+
<node concept="chp4Y" id="3vbD2Cjzc1o" role="3oSUPX">
4642+
<ref role="cht4Q" to="yv47:6HHp2WngtVm" resolve="TypedefType" />
4643+
</node>
4644+
<node concept="2OqwBi" id="3vbD2CjzahU" role="1m5AlR">
4645+
<node concept="2OqwBi" id="3vbD2Cjz9b6" role="2Oq$k0">
4646+
<node concept="1YBJjd" id="3vbD2Cjz8D0" role="2Oq$k0">
4647+
<ref role="1YBMHb" node="3vbD2CjyZQG" resolve="ur" />
4648+
</node>
4649+
<node concept="2Xjw5R" id="3vbD2Cj$Sdr" role="2OqNvi">
4650+
<node concept="1xMEDy" id="3vbD2Cj$Sds" role="1xVPHs">
4651+
<node concept="chp4Y" id="3vbD2Cj$Sdt" role="ri$Ld">
4652+
<ref role="cht4Q" to="w1hl:1xEzHAktP2Q" resolve="TaggedType" />
4653+
</node>
4654+
</node>
4655+
</node>
4656+
</node>
4657+
<node concept="3TrEf2" id="3vbD2CjzaYH" role="2OqNvi">
4658+
<ref role="3Tt5mk" to="w1hl:1xEzHAktP2T" resolve="baseType" />
4659+
</node>
4660+
</node>
4661+
</node>
4662+
<node concept="2qgKlT" id="3vbD2CjzcWi" role="2OqNvi">
4663+
<ref role="37wK5l" to="pbu6:XhdFKv3UAU" resolve="baseType" />
4664+
</node>
4665+
</node>
4666+
</node>
4667+
<node concept="3Tsc0h" id="3vbD2CjzeEf" role="2OqNvi">
4668+
<ref role="3TtcxE" to="w1hl:1xEzHAktP2R" resolve="tags" />
4669+
</node>
4670+
</node>
4671+
<node concept="v3k3i" id="3vbD2Cjzi9N" role="2OqNvi">
4672+
<node concept="chp4Y" id="3vbD2Cj_2Ra" role="v3oSu">
4673+
<ref role="cht4Q" to="b0gq:7eOyx9r3k4t" resolve="UnitSpecification" />
4674+
</node>
4675+
</node>
4676+
</node>
4677+
<node concept="3GX2aA" id="3vbD2Cjzj64" role="2OqNvi" />
4678+
</node>
4679+
<node concept="1Wc70l" id="3vbD2Cjz3w0" role="3uHU7B">
4680+
<node concept="1Wc70l" id="3vbD2Cjz0Qw" role="3uHU7B">
4681+
<node concept="2OqwBi" id="3vbD2Cjz0mO" role="3uHU7B">
4682+
<node concept="2OqwBi" id="3vbD2Cjz01B" role="2Oq$k0">
4683+
<node concept="1YBJjd" id="3vbD2CjyZR4" role="2Oq$k0">
4684+
<ref role="1YBMHb" node="3vbD2CjyZQG" resolve="ur" />
4685+
</node>
4686+
<node concept="2Xjw5R" id="3vbD2Cj$Qgo" role="2OqNvi">
4687+
<node concept="1xMEDy" id="3vbD2Cj$Qgq" role="1xVPHs">
4688+
<node concept="chp4Y" id="3vbD2Cj$QB_" role="ri$Ld">
4689+
<ref role="cht4Q" to="w1hl:1xEzHAktP2Q" resolve="TaggedType" />
4690+
</node>
4691+
</node>
4692+
</node>
4693+
</node>
4694+
<node concept="3x8VRR" id="3vbD2Cj$RjV" role="2OqNvi" />
4695+
</node>
4696+
<node concept="2OqwBi" id="3vbD2Cjz2As" role="3uHU7w">
4697+
<node concept="2OqwBi" id="3vbD2Cjz1ZL" role="2Oq$k0">
4698+
<node concept="2OqwBi" id="3vbD2Cjz12x" role="2Oq$k0">
4699+
<node concept="1YBJjd" id="3vbD2Cjz0Ry" role="2Oq$k0">
4700+
<ref role="1YBMHb" node="3vbD2CjyZQG" resolve="ur" />
4701+
</node>
4702+
<node concept="2Xjw5R" id="3vbD2Cj$Rop" role="2OqNvi">
4703+
<node concept="1xMEDy" id="3vbD2Cj$Roq" role="1xVPHs">
4704+
<node concept="chp4Y" id="3vbD2Cj$Ror" role="ri$Ld">
4705+
<ref role="cht4Q" to="w1hl:1xEzHAktP2Q" resolve="TaggedType" />
4706+
</node>
4707+
</node>
4708+
</node>
4709+
</node>
4710+
<node concept="3TrEf2" id="3vbD2Cjz2mt" role="2OqNvi">
4711+
<ref role="3Tt5mk" to="w1hl:1xEzHAktP2T" resolve="baseType" />
4712+
</node>
4713+
</node>
4714+
<node concept="1mIQ4w" id="3vbD2Cjz2Xo" role="2OqNvi">
4715+
<node concept="chp4Y" id="3vbD2Cjz30E" role="cj9EA">
4716+
<ref role="cht4Q" to="yv47:6HHp2WngtVm" resolve="TypedefType" />
4717+
</node>
4718+
</node>
4719+
</node>
4720+
</node>
4721+
<node concept="2OqwBi" id="3vbD2Cjz7lQ" role="3uHU7w">
4722+
<node concept="2OqwBi" id="3vbD2Cjz6Fo" role="2Oq$k0">
4723+
<node concept="1PxgMI" id="3vbD2Cjz5T_" role="2Oq$k0">
4724+
<node concept="chp4Y" id="3vbD2Cjz6eM" role="3oSUPX">
4725+
<ref role="cht4Q" to="yv47:6HHp2WngtVm" resolve="TypedefType" />
4726+
</node>
4727+
<node concept="2OqwBi" id="3vbD2Cjz4Nq" role="1m5AlR">
4728+
<node concept="2OqwBi" id="3vbD2Cjz3Ua" role="2Oq$k0">
4729+
<node concept="1YBJjd" id="3vbD2Cjz3yf" role="2Oq$k0">
4730+
<ref role="1YBMHb" node="3vbD2CjyZQG" resolve="ur" />
4731+
</node>
4732+
<node concept="2Xjw5R" id="3vbD2Cj$RNi" role="2OqNvi">
4733+
<node concept="1xMEDy" id="3vbD2Cj$RNj" role="1xVPHs">
4734+
<node concept="chp4Y" id="3vbD2Cj$RNk" role="ri$Ld">
4735+
<ref role="cht4Q" to="w1hl:1xEzHAktP2Q" resolve="TaggedType" />
4736+
</node>
4737+
</node>
4738+
</node>
4739+
</node>
4740+
<node concept="3TrEf2" id="3vbD2Cjz5m7" role="2OqNvi">
4741+
<ref role="3Tt5mk" to="w1hl:1xEzHAktP2T" resolve="baseType" />
4742+
</node>
4743+
</node>
4744+
</node>
4745+
<node concept="2qgKlT" id="3vbD2Cjz6ZN" role="2OqNvi">
4746+
<ref role="37wK5l" to="pbu6:XhdFKv3UAU" resolve="baseType" />
4747+
</node>
4748+
</node>
4749+
<node concept="1mIQ4w" id="3vbD2Cjz7R2" role="2OqNvi">
4750+
<node concept="chp4Y" id="3vbD2Cjz7Tq" role="cj9EA">
4751+
<ref role="cht4Q" to="w1hl:1xEzHAktP2Q" resolve="TaggedType" />
4752+
</node>
4753+
</node>
4754+
</node>
4755+
</node>
4756+
</node>
4757+
<node concept="3clFbS" id="3vbD2CjyZQR" role="3clFbx">
4758+
<node concept="3SKdUt" id="3vbD2Cjzkhm" role="3cqZAp">
4759+
<node concept="1PaTwC" id="3vbD2Cjzkhn" role="1aUNEU">
4760+
<node concept="3oM_SD" id="3vbD2Cjzkho" role="1PaTwD">
4761+
<property role="3oM_SC" value="if" />
4762+
</node>
4763+
<node concept="3oM_SD" id="3vbD2Cjzkhz" role="1PaTwD">
4764+
<property role="3oM_SC" value="a" />
4765+
</node>
4766+
<node concept="3oM_SD" id="3vbD2CjzkhA" role="1PaTwD">
4767+
<property role="3oM_SC" value="typeDef" />
4768+
</node>
4769+
<node concept="3oM_SD" id="3vbD2CjzkhE" role="1PaTwD">
4770+
<property role="3oM_SC" value="already" />
4771+
</node>
4772+
<node concept="3oM_SD" id="3vbD2CjzkhJ" role="1PaTwD">
4773+
<property role="3oM_SC" value="has" />
4774+
</node>
4775+
<node concept="3oM_SD" id="3vbD2CjzkhP" role="1PaTwD">
4776+
<property role="3oM_SC" value="a" />
4777+
</node>
4778+
<node concept="3oM_SD" id="3vbD2CjzkhW" role="1PaTwD">
4779+
<property role="3oM_SC" value="unit," />
4780+
</node>
4781+
<node concept="3oM_SD" id="3vbD2Cjzki4" role="1PaTwD">
4782+
<property role="3oM_SC" value="we" />
4783+
</node>
4784+
<node concept="3oM_SD" id="3vbD2Cjzkid" role="1PaTwD">
4785+
<property role="3oM_SC" value="don't" />
4786+
</node>
4787+
<node concept="3oM_SD" id="3vbD2Cjzkin" role="1PaTwD">
4788+
<property role="3oM_SC" value="allow" />
4789+
</node>
4790+
<node concept="3oM_SD" id="3vbD2Cjzkiy" role="1PaTwD">
4791+
<property role="3oM_SC" value="adding" />
4792+
</node>
4793+
<node concept="3oM_SD" id="3vbD2CjzkiI" role="1PaTwD">
4794+
<property role="3oM_SC" value="another" />
4795+
</node>
4796+
<node concept="3oM_SD" id="3vbD2CjzkiV" role="1PaTwD">
4797+
<property role="3oM_SC" value="unit" />
4798+
</node>
4799+
<node concept="3oM_SD" id="3vbD2Cjzkj9" role="1PaTwD">
4800+
<property role="3oM_SC" value="to" />
4801+
</node>
4802+
<node concept="3oM_SD" id="3vbD2Cjzkjo" role="1PaTwD">
4803+
<property role="3oM_SC" value="the" />
4804+
</node>
4805+
<node concept="3oM_SD" id="3vbD2CjzkjC" role="1PaTwD">
4806+
<property role="3oM_SC" value="TypeDefType" />
4807+
</node>
4808+
</node>
4809+
</node>
4810+
<node concept="2MkqsV" id="3vbD2Cjzjw1" role="3cqZAp">
4811+
<node concept="Xl_RD" id="3vbD2Cjzjwd" role="2MkJ7o">
4812+
<property role="Xl_RC" value="The TypeDef is already defined using a Unit, so units are not applicable here" />
4813+
</node>
4814+
<node concept="2OqwBi" id="3vbD2CjzjG$" role="1urrMF">
4815+
<node concept="1YBJjd" id="3vbD2Cjzjz0" role="2Oq$k0">
4816+
<ref role="1YBMHb" node="3vbD2CjyZQG" resolve="ur" />
4817+
</node>
4818+
<node concept="2Xjw5R" id="3vbD2Cj_dZM" role="2OqNvi">
4819+
<node concept="1xMEDy" id="3vbD2Cj_dZO" role="1xVPHs">
4820+
<node concept="chp4Y" id="3vbD2Cj_e16" role="ri$Ld">
4821+
<ref role="cht4Q" to="w1hl:1xEzHAktP2Q" resolve="TaggedType" />
4822+
</node>
4823+
</node>
4824+
</node>
4825+
</node>
4826+
</node>
4827+
</node>
4828+
</node>
4829+
</node>
4830+
<node concept="1YaCAy" id="3vbD2CjyZQG" role="1YuTPh">
4831+
<property role="TrG5h" value="ur" />
4832+
<ref role="1YaFvo" to="b0gq:7eOyx9r3kR5" resolve="UnitReference" />
4833+
</node>
4834+
</node>
46214835
</model>
46224836

code/languages/org.iets3.opensource/languages/org.iets3.core.expr.typetags.units/org.iets3.core.expr.typetags.units.mpl

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,9 @@
5555
<language slang="l:18bc6592-03a6-4e29-a83a-7ff23bde13ba:jetbrains.mps.lang.editor" version="14" />
5656
<language slang="l:c0080a47-7e37-4558-bee9-9ae18e690549:jetbrains.mps.lang.extension" version="2" />
5757
<language slang="l:64d34fcd-ad02-4e73-aff8-a581124c2e30:jetbrains.mps.lang.findUsages" version="0" />
58-
<language slang="l:b401a680-8325-4110-8fd3-84331ff25bef:jetbrains.mps.lang.generator" version="3" />
58+
<language slang="l:b401a680-8325-4110-8fd3-84331ff25bef:jetbrains.mps.lang.generator" version="4" />
5959
<language slang="l:d7706f63-9be2-479c-a3da-ae92af1e64d5:jetbrains.mps.lang.generator.generationContext" version="2" />
6060
<language slang="l:d7a92d38-f7db-40d0-8431-763b0c3c9f20:jetbrains.mps.lang.intentions" version="1" />
61-
<language slang="l:ad93155d-79b2-4759-b10c-55123e763903:jetbrains.mps.lang.messages" version="0" />
6261
<language slang="l:90746344-04fd-4286-97d5-b46ae6a81709:jetbrains.mps.lang.migration" version="2" />
6362
<language slang="l:9882f4ad-1955-46fe-8269-94189e5dbbf2:jetbrains.mps.lang.migration.util" version="0" />
6463
<language slang="l:446c26eb-2b7b-4bf0-9b35-f83fa582753e:jetbrains.mps.lang.modelapi" version="0" />
@@ -71,7 +70,7 @@
7170
<language slang="l:d8f591ec-4d86-4af2-9f92-a9e93c803ffa:jetbrains.mps.lang.scopes" version="0" />
7271
<language slang="l:0eddeefa-c2d6-4437-bc2c-de50fd4ce470:jetbrains.mps.lang.script" version="1" />
7372
<language slang="l:13744753-c81f-424a-9c1b-cf8943bf4e86:jetbrains.mps.lang.sharedConcepts" version="0" />
74-
<language slang="l:7866978e-a0f0-4cc7-81bc-4d213d9375e1:jetbrains.mps.lang.smodel" version="17" />
73+
<language slang="l:7866978e-a0f0-4cc7-81bc-4d213d9375e1:jetbrains.mps.lang.smodel" version="18" />
7574
<language slang="l:1a8554c4-eb84-43ba-8c34-6f0d90c6e75a:jetbrains.mps.lang.smodel.query" version="3" />
7675
<language slang="l:c72da2b9-7cce-4447-8389-f407dc1158b7:jetbrains.mps.lang.structure" version="9" />
7776
<language slang="l:c7fb639f-be78-4307-89b0-b5959c3fa8c8:jetbrains.mps.lang.text" version="0" />
@@ -119,7 +118,6 @@
119118
<module reference="ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)" version="0" />
120119
<module reference="a9e4c532-c5f5-4bb7-99ef-42abb73bbb70(jetbrains.mps.lang.descriptor.aspects)" version="0" />
121120
<module reference="18bc6592-03a6-4e29-a83a-7ff23bde13ba(jetbrains.mps.lang.editor)" version="0" />
122-
<module reference="9e98f4e2-decf-4e97-bf80-9109e8b759aa(jetbrains.mps.lang.feedback.context)" version="0" />
123121
<module reference="528ff3b9-5fc4-40dd-931f-c6ce3650640e(jetbrains.mps.lang.migration.runtime)" version="0" />
124122
<module reference="446c26eb-2b7b-4bf0-9b35-f83fa582753e(jetbrains.mps.lang.modelapi)" version="0" />
125123
<module reference="d7eb0a2a-bd50-4576-beae-e4a89db35f20(jetbrains.mps.lang.scopes.runtime)" version="0" />

code/languages/org.iets3.opensource/tests/test.ts.expr.os/models/[email protected]

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,12 @@
341341
</concept>
342342
<concept id="4790956042240570348" name="org.iets3.core.expr.toplevel.structure.FunctionCall" flags="ng" index="1af_rf" />
343343
<concept id="4790956042240148643" name="org.iets3.core.expr.toplevel.structure.Function" flags="ng" index="1aga60" />
344+
<concept id="7740953487936183912" name="org.iets3.core.expr.toplevel.structure.Typedef" flags="ng" index="1WbbD7">
345+
<child id="7740953487936183915" name="originalType" index="1WbbD4" />
346+
</concept>
347+
<concept id="7740953487936184022" name="org.iets3.core.expr.toplevel.structure.TypedefType" flags="ng" index="1WbbFT">
348+
<reference id="7740953487936184023" name="typedef" index="1WbbFS" />
349+
</concept>
344350
</language>
345351
<language id="fd392034-7849-419d-9071-12563d152375" name="jetbrains.mps.baseLanguage.closures">
346352
<concept id="1199569711397" name="jetbrains.mps.baseLanguage.closures.structure.ClosureLiteral" flags="nn" index="1bVj0M">
@@ -2229,6 +2235,37 @@
22292235
</node>
22302236
</node>
22312237
</node>
2238+
<node concept="1WbbD7" id="3vbD2Cjzqz1" role="_iOnC">
2239+
<property role="TrG5h" value="numInM" />
2240+
<node concept="2c7tTJ" id="3vbD2Cjzq_i" role="1WbbD4">
2241+
<node concept="CIsGf" id="3vbD2Cjzq_A" role="2c7tTI">
2242+
<node concept="CIsvn" id="3vbD2Cjzq_$" role="CIi4h">
2243+
<ref role="CIi3I" to="ku0a:5XaocLWHSS4" resolve="m" />
2244+
</node>
2245+
</node>
2246+
<node concept="mLuIC" id="3vbD2Cjzq_a" role="2c7tTw" />
2247+
</node>
2248+
</node>
2249+
<node concept="1WbbD7" id="3vbD2Cj$PEP" role="_iOnC">
2250+
<property role="TrG5h" value="doubleUnit" />
2251+
<node concept="2c7tTJ" id="3vbD2Cj$PHm" role="1WbbD4">
2252+
<node concept="CIsGf" id="3vbD2Cj$PI2" role="2c7tTI">
2253+
<node concept="CIsvn" id="3vbD2Cj$PI0" role="CIi4h">
2254+
<ref role="CIi3I" to="ku0a:5XaocLWHSS4" resolve="m" />
2255+
</node>
2256+
</node>
2257+
<node concept="1WbbFT" id="3vbD2Cj$PH3" role="2c7tTw">
2258+
<ref role="1WbbFS" node="3vbD2Cjzqz1" resolve="numInM" />
2259+
</node>
2260+
<node concept="7CXmI" id="3vbD2Cj_d1N" role="lGtFl">
2261+
<node concept="1TM$A" id="3vbD2Cj_d1O" role="7EUXB">
2262+
<node concept="2PYRI3" id="3vbD2Cj_nNm" role="3lydEf">
2263+
<ref role="39XzEq" to="xqtf:3vbD2Cjzjw1" />
2264+
</node>
2265+
</node>
2266+
</node>
2267+
</node>
2268+
</node>
22322269
<node concept="7CXmI" id="2S3ZC$oC8QF" role="lGtFl">
22332270
<node concept="7OXhh" id="2S3ZC$oC8QG" role="7EUXB" />
22342271
</node>

0 commit comments

Comments
 (0)