Skip to content

Commit

Permalink
Merge pull request #40709 from code-dot-org/levelbuilder
Browse files Browse the repository at this point in the history
DTS (Levelbuilder > Staging) [robo-dts]
  • Loading branch information
deploy-code-org committed May 21, 2021
2 parents af92401 + e4db832 commit 20865c5
Show file tree
Hide file tree
Showing 58 changed files with 5,017 additions and 1,165 deletions.
67 changes: 44 additions & 23 deletions dashboard/config/locales/scripts.en.yml

Large diffs are not rendered by default.

2 changes: 0 additions & 2 deletions dashboard/config/scripts/csa3-pilot.script
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
curriculum_umbrella 'CSA'
is_migrated true

2 changes: 0 additions & 2 deletions dashboard/config/scripts/csa4-pilot.script
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
curriculum_umbrella 'CSA'
is_migrated true

2 changes: 0 additions & 2 deletions dashboard/config/scripts/csa5-pilot.script
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
curriculum_umbrella 'CSA'
is_migrated true

2 changes: 0 additions & 2 deletions dashboard/config/scripts/csa6-pilot.script
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
curriculum_umbrella 'CSA'
is_migrated true

2 changes: 0 additions & 2 deletions dashboard/config/scripts/csa7-pilot.script
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
curriculum_umbrella 'CSA'
is_migrated true

2 changes: 0 additions & 2 deletions dashboard/config/scripts/csa8-pilot.script
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
curriculum_umbrella 'CSA'
is_migrated true

2 changes: 0 additions & 2 deletions dashboard/config/scripts/csa9-pilot.script
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
curriculum_umbrella 'CSA'
is_migrated true

20 changes: 20 additions & 0 deletions dashboard/config/scripts/levels/App Lab Data Viz Tool 1_2021.level
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<StandaloneVideo>
<config><![CDATA[{
"properties": {
"video_key": "csp_applab_processing_lists",
"instructions_important": "false",
"skip_dialog": true,
"skip_sound": true,
"parent_level_id": 27956,
"name_suffix": "_2021",
"encrypted": "false"
},
"game_id": 54,
"published": true,
"created_at": "2021-05-19T00:14:39.000Z",
"level_num": "custom",
"user_id": 566,
"notes": "",
"audit_log": "[{\"changed_at\":\"2021-05-19 00:07:03 +0000\",\"changed\":[],\"changed_by_id\":1574,\"changed_by_email\":\"ken.akiha@code.org\"},{\"changed_at\":\"2021-05-19 00:12:37 +0000\",\"changed\":[],\"changed_by_id\":1574,\"changed_by_email\":\"ken.akiha@code.org\"},{\"changed_at\":\"2021-05-19 00:13:26 +0000\",\"changed\":[],\"changed_by_id\":1574,\"changed_by_email\":\"ken.akiha@code.org\"},{\"changed_at\":\"2021-05-19 00:15:03 +0000\",\"changed\":[],\"changed_by_id\":1574,\"changed_by_email\":\"ken.akiha@code.org\"}]"
}]]></config>
</StandaloneVideo>
20 changes: 20 additions & 0 deletions dashboard/config/scripts/levels/App Lab Data Viz Tool 2_2021.level
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<StandaloneVideo>
<config><![CDATA[{
"properties": {
"video_key": "csp_applab_processing_lists",
"instructions_important": "false",
"skip_dialog": true,
"skip_sound": true,
"parent_level_id": 27957,
"name_suffix": "_2021",
"encrypted": "false"
},
"game_id": 54,
"published": true,
"created_at": "2021-05-19T00:18:01.000Z",
"level_num": "custom",
"user_id": 566,
"notes": "",
"audit_log": "[{\"changed_at\":\"2021-05-19 00:07:03 +0000\",\"changed\":[],\"changed_by_id\":1574,\"changed_by_email\":\"ken.akiha@code.org\"},{\"changed_at\":\"2021-05-19 00:12:37 +0000\",\"changed\":[],\"changed_by_id\":1574,\"changed_by_email\":\"ken.akiha@code.org\"},{\"changed_at\":\"2021-05-19 00:13:26 +0000\",\"changed\":[],\"changed_by_id\":1574,\"changed_by_email\":\"ken.akiha@code.org\"},{\"changed_at\":\"2021-05-19 00:15:03 +0000\",\"changed\":[],\"changed_by_id\":1574,\"changed_by_email\":\"ken.akiha@code.org\"},{\"changed_at\":\"2021-05-19 00:18:36 +0000\",\"changed\":[],\"changed_by_id\":1574,\"changed_by_email\":\"ken.akiha@code.org\"}]"
}]]></config>
</StandaloneVideo>
16 changes: 10 additions & 6 deletions dashboard/config/scripts/levels/CourseD_Dance_2020_01_2021.level

Large diffs are not rendered by default.

16 changes: 10 additions & 6 deletions dashboard/config/scripts/levels/CourseD_Dance_2020_02_2021.level

Large diffs are not rendered by default.

16 changes: 10 additions & 6 deletions dashboard/config/scripts/levels/CourseD_Dance_2020_03_2021.level

Large diffs are not rendered by default.

16 changes: 10 additions & 6 deletions dashboard/config/scripts/levels/CourseD_Dance_2020_04_2021.level

Large diffs are not rendered by default.

16 changes: 10 additions & 6 deletions dashboard/config/scripts/levels/CourseD_Dance_2020_05_2021.level

Large diffs are not rendered by default.

16 changes: 10 additions & 6 deletions dashboard/config/scripts/levels/CourseD_Dance_2020_06_2021.level

Large diffs are not rendered by default.

16 changes: 10 additions & 6 deletions dashboard/config/scripts/levels/CourseD_Dance_2020_07_2021.level

Large diffs are not rendered by default.

16 changes: 10 additions & 6 deletions dashboard/config/scripts/levels/CourseD_Dance_2020_08_2021.level

Large diffs are not rendered by default.

16 changes: 10 additions & 6 deletions dashboard/config/scripts/levels/CourseD_Dance_2020_09_2021.level

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dashboard/config/scripts/levels/Dance Party 3_2021.level

Large diffs are not rendered by default.

20 changes: 20 additions & 0 deletions dashboard/config/scripts/levels/Data Tab in App Lab_2021.level
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<StandaloneVideo>
<config><![CDATA[{
"properties": {
"video_key": "csp_applab_processing_lists",
"instructions_important": "false",
"skip_dialog": true,
"skip_sound": true,
"parent_level_id": 26150,
"name_suffix": "_2021",
"encrypted": "false"
},
"game_id": 54,
"published": true,
"created_at": "2021-05-19T00:06:56.000Z",
"level_num": "custom",
"user_id": 566,
"notes": "",
"audit_log": "[{\"changed_at\":\"2021-05-19 00:07:03 +0000\",\"changed\":[],\"changed_by_id\":1574,\"changed_by_email\":\"ken.akiha@code.org\"}]"
}]]></config>
</StandaloneVideo>
20 changes: 20 additions & 0 deletions dashboard/config/scripts/levels/Libraries in App Lab_2021.level
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<StandaloneVideo>
<config><![CDATA[{
"properties": {
"video_key": "csp_applab_processing_lists",
"instructions_important": "false",
"skip_dialog": true,
"skip_sound": true,
"parent_level_id": 27955,
"name_suffix": "_2021",
"encrypted": "false"
},
"game_id": 54,
"published": true,
"created_at": "2021-05-19T00:11:54.000Z",
"level_num": "custom",
"user_id": 566,
"notes": "",
"audit_log": "[{\"changed_at\":\"2021-05-19 00:07:03 +0000\",\"changed\":[],\"changed_by_id\":1574,\"changed_by_email\":\"ken.akiha@code.org\"},{\"changed_at\":\"2021-05-19 00:12:37 +0000\",\"changed\":[],\"changed_by_id\":1574,\"changed_by_email\":\"ken.akiha@code.org\"},{\"changed_at\":\"2021-05-19 00:13:26 +0000\",\"changed\":[],\"changed_by_id\":1574,\"changed_by_email\":\"ken.akiha@code.org\"}]"
}]]></config>
</StandaloneVideo>
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
<Applab>
<config><![CDATA[{
"properties": {
"skin": "applab",
"code_functions": {
"addOperator": null,
"subtractOperator": null,
"multiplyOperator": null,
"divideOperator": null,
"equalityOperator": null,
"inequalityOperator": null,
"greaterThanOperator": null,
"greaterThanOrEqualOperator": null,
"lessThanOperator": null,
"lessThanOrEqualOperator": null,
"declareAssign_x": null,
"declareNoAssign_x": null,
"assign_x": null,
"declareAssign_x_prompt": null,
"declareAssign_x_promptNum": null,
"console.log": null,
"onEvent": null,
"ifBlock": null,
"getNumber": null,
"getText": null,
"image": null,
"showElement": null,
"hideElement": null,
"randomNumber_min_max": null
},
"embed": "false",
"instructions_important": "false",
"submittable": "false",
"start_blocks": "// Create and assign variables\r\nvar score;\r\nvar lives;\r\n\r\n// Button to start the game\r\nonEvent(\"playButton\", \"click\", function( ) {\r\n // Set starting values for variables and properties\r\n score = 0;\r\n lives = 3;\r\n setProperty(\"scoreLivesLabel\",\"text\",\"Score: \" + score + \" Lives: \" + lives);\r\n playSound(\"sound://category_alerts/vibrant_game_carton_start_game_2_long.mp3\", false);\r\n setScreen(\"gameScreen\");\r\n});\r\n\r\n// Event handler for when the mouse touches a lemon\r\nonEvent(\"lemon\", \"mouseover\", function( ) {\r\n playSound(\"sound://category_collect/collect_item_bling_1.mp3\");\r\n \r\n // Increase the score\r\n score = score + 1;\r\n \r\n // Move the lemon and lime to random locations\r\n setProperty(\"lemon\",\"x\", randomNumber(50,220));\r\n setProperty(\"lemon\",\"y\", randomNumber(50,320));\r\n setProperty(\"lime\",\"x\", randomNumber(50,220));\r\n setProperty(\"lime\",\"y\", randomNumber(50,320));\r\n \r\n // Update screen text\r\n setProperty(\"scoreLivesLabel\",\"text\", \"Score: \" + score + \" Lives: \" + lives);\r\n});\r\n\r\n// Event handler for when the mouse touches a lime\r\nonEvent(\"lime\", \"mouseover\", function( ) {\r\n playSound(\"sound://category_retro/retro_game_enemy_spawn_7.mp3\", false);\r\n \r\n // Decrease lives\r\n lives = lives - 1;\r\n\r\n // Move the lemon and lime to random locations\r\n setProperty(\"lemon\",\"x\",randomNumber(50,220));\r\n setProperty(\"lemon\",\"y\", randomNumber(50,320));\r\n setProperty(\"lime\",\"x\", randomNumber(50,220));\r\n setProperty(\"lime\",\"y\", randomNumber(50,320));\r\n \r\n // Update screen text\r\n setProperty(\"scoreLivesLabel\",\"text\",\"Score: \" + score + \" Lives: \" + lives);\r\n\r\n // End game when you run out of lives\r\n if(lives < 0){\r\n setScreen(\"startScreen\"); \r\n setProperty(\"startLabel\",\"text\",\"You collected \" + score + \" lemons! Play again?\");\r\n }\r\n});\r\n",
"never_autoplay_video": "false",
"hide_share_and_remix": "false",
"droplet_tooltips_disabled": "false",
"lock_zero_param_functions": "false",
"free_play": "true",
"validation_enabled": "true",
"text_mode_at_start": "false",
"hide_view_data_button": "true",
"show_debug_watch": "false",
"expand_debugger": "false",
"debugger_disabled": "false",
"show_turtle_before_run": "false",
"autocomplete_palette_apis_only": "false",
"execute_palette_apis_only": "false",
"design_mode_at_start": "false",
"hide_design_mode": "false",
"beginner_mode": "false",
"start_html": "<div id=\"designModeViz\" class=\"appModern clip-content\" tabindex=\"1\" data-radium=\"true\" style=\"width: 320px; height: 450px;\"><div class=\"screen\" tabindex=\"1\" data-theme=\"citrus\" id=\"startScreen\" style=\"height: 450px; width: 320px; left: 0px; top: 0px; position: absolute; z-index: 0; background-color: rgb(150, 194, 87);\"><label style=\"margin: 0px; line-height: 1; overflow: hidden; overflow-wrap: break-word; max-width: 320px; border-style: solid; color: rgb(247, 236, 96); background-color: rgb(105, 136, 61); border-color: rgb(105, 136, 61); border-radius: 2px; border-width: 0px; font-family: Georgia, serif; padding: 2px 15px; height: 40px; position: absolute; top: 0px; width: 320px; left: 0px; font-size: 36px;\" id=\"appName\">Lemon Squeeze</label><button id=\"playButton\" style=\"padding: 0px; margin: 0px; border-style: solid; height: 50px; background-color: rgb(247, 236, 96); color: rgb(0, 0, 0); border-color: rgb(105, 136, 61); border-radius: 2px; border-width: 2px; font-family: Georgia, serif; position: absolute; left: 10px; top: 390px; font-size: 30px; width: 300px;\">Play!</button><img data-canonical-image-url=\"icon://fa-lemon-o\" data-object-fit=\"contain\" id=\"appImage\" style=\"height: 40px; border-style: solid; border-width: 0px; border-color: rgb(0, 0, 0); border-radius: 0px; position: absolute; left: 280px; top: 0px; margin: 0px; width: 40px;\" data-icon-color=\"#f7ec60\"><div contenteditable=\"true\" class=\"textArea\" id=\"startLabel\" style=\"height: 140px; border-style: solid; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); border-color: rgb(105, 136, 61); border-radius: 4px; border-width: 0px; font-family: &quot;Palatino Linotype&quot;, &quot;Book Antiqua&quot;, Palatino, serif; padding: 5px 15px; position: absolute; left: 10px; top: 50px; margin: 0px; width: 300px; font-size: 15px; text-align: center;\">Welcome Lemon Lovers!<div>Collect lemons! Avoid limes!</div></div></div><div class=\"screen\" tabindex=\"1\" data-theme=\"citrus\" id=\"gameScreen\" style=\"height: 450px; width: 320px; left: 0px; top: 0px; position: absolute; z-index: 0; background-color: rgb(150, 194, 87); display: none;\"><img src=\"//levelbuilder-studio.code.org/media?u=https%3A%2F%2Fcdn.pixabay.com%2Fphoto%2F2012%2F04%2F05%2F00%2F27%2Flime-25314_960_720.png\" data-canonical-image-url=\"https://cdn.pixabay.com/photo/2012/04/05/00/27/lime-25314_960_720.png\" data-object-fit=\"contain\" id=\"lime\" style=\"height: 100px; width: 100px; border-style: solid; border-width: 0px; border-color: rgb(0, 0, 0); border-radius: 0px; position: absolute; left: 205px; top: 15px; margin: 0px;\"><img src=\"//levelbuilder-studio.code.org/media?u=http%3A%2F%2Fres.freestockphotos.biz%2Fpictures%2F16%2F16786-illustration-of-a-yellow-lemon-slice-pv.png\" data-canonical-image-url=\"http://res.freestockphotos.biz/pictures/16/16786-illustration-of-a-yellow-lemon-slice-pv.png\" data-object-fit=\"contain\" id=\"lemon\" style=\"height: 100px; width: 100px; border-style: solid; border-width: 0px; border-color: rgb(0, 0, 0); border-radius: 0px; position: absolute; left: 40px; top: 205px; margin: 0px;\"><label style=\"margin: 0px; line-height: 1; overflow: hidden; overflow-wrap: break-word; max-width: 320px; border-style: solid; color: rgb(247, 236, 96); background-color: rgb(105, 136, 61); border-color: rgb(105, 136, 61); border-radius: 2px; border-width: 0px; font-family: Georgia, serif; padding: 2px 15px; width: 320px; position: absolute; left: 0px; top: 420px; height: 30px; font-size: 20px;\" id=\"scoreLivesLabel\">Score: 0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Lives: 3</label></div></div>",
"fail_on_lint_errors": "false",
"makerlab_enabled": "false",
"long_instructions": "**Do This**\r\n\r\nPlay the game at least once. Then with a partner, choose one of the three code sections below\r\n\r\n* Section 1: lines 1 - 13\r\n* Section 2: lines 16 - 30\r\n* Section 3: lines 33 - 53\r\n\r\nRead the code in your section carefully, making sure you understand how each line works.\r\n\r\n**Discuss**\r\n\r\nFind partners from the two other groups and:\r\n\r\n* Explain what your section does\r\n* Call out any lines of code you thought were interesting or confusing\r\n* Ask good questions about how their section works\r\n\r\n**Modify**\r\n\r\n* Right now the game keeps going when the player has 0 lives. Fix this problem.",
"parent_level_id": 26023,
"mini_rubric": "false",
"encrypted": "false",
"widget_mode": "false",
"encrypted_examples": "cyKcEE2X10Asdfvr82rO3rTFPgZ1c7Rdjn7YmfkY7vluYgx5RuAS19EwpicZ\n5xiApIF7rwDSazifl5COVAFyVQ==\n",
"libraries_enabled": "false",
"name_suffix": "_2021",
"preload_asset_list": null,
"ai_enabled": "false"
},
"game_id": 41,
"published": true,
"created_at": "2021-05-21T16:58:33.000Z",
"level_num": "custom",
"user_id": 832,
"notes": "",
"audit_log": "[{\"changed_at\":\"2019-02-07 17:12:42 +0000\",\"changed\":[\"notes\",\"code_functions\",\"preload_asset_list\"],\"changed_by_id\":832,\"changed_by_email\":\"hannah@code.org\"},{\"changed_at\":\"2019-02-07 17:17:14 +0000\",\"changed\":[\"code_functions\",\"preload_asset_list\",\"encrypted_examples\"],\"changed_by_id\":832,\"changed_by_email\":\"hannah@code.org\"},{\"changed_at\":\"2019-02-13 19:07:59 +0000\",\"changed\":[\"code_functions\",\"start_blocks\",\"start_html\",\"long_instructions\",\"preload_asset_list\"],\"changed_by_id\":832,\"changed_by_email\":\"hannah@code.org\"},{\"changed_at\":\"2019-02-13 19:08:42 +0000\",\"changed\":[\"code_functions\",\"start_blocks\",\"preload_asset_list\",\"encrypted_examples\"],\"changed_by_id\":832,\"changed_by_email\":\"hannah@code.org\"},{\"changed_at\":\"2019-02-18 17:58:51 +0000\",\"changed\":[\"code_functions\",\"display_name\",\"long_instructions\",\"preload_asset_list\"],\"changed_by_id\":106,\"changed_by_email\":\"gtwrobel@gmail.com\"},{\"changed_at\":\"2019-02-19 17:03:43 +0000\",\"changed\":[\"code_functions\",\"embed\",\"hide_design_mode\",\"preload_asset_list\",\"contained_level_names\"],\"changed_by_id\":106,\"changed_by_email\":\"gtwrobel@gmail.com\"},{\"changed_at\":\"2019-02-19 17:12:19 +0000\",\"changed\":[\"code_functions\",\"start_blocks\",\"preload_asset_list\",\"encrypted_examples\"],\"changed_by_id\":106,\"changed_by_email\":\"gtwrobel@gmail.com\"},{\"changed_at\":\"2019-02-19 17:14:49 +0000\",\"changed\":[\"code_functions\",\"embed\",\"hide_design_mode\",\"preload_asset_list\"],\"changed_by_id\":106,\"changed_by_email\":\"gtwrobel@gmail.com\"},{\"changed_at\":\"2019-02-19 17:24:44 +0000\",\"changed\":[\"code_functions\",\"embed\",\"long_instructions\",\"preload_asset_list\"],\"changed_by_id\":106,\"changed_by_email\":\"gtwrobel@gmail.com\"},{\"changed_at\":\"2019-02-19 22:03:41 +0000\",\"changed\":[\"code_functions\",\"start_blocks\",\"preload_asset_list\"],\"changed_by_id\":106,\"changed_by_email\":\"gtwrobel@gmail.com\"},{\"changed_at\":\"2019-02-25 22:56:26 +0000\",\"changed\":[\"code_functions\",\"preload_asset_list\",\"contained_level_names\"],\"changed_by_id\":106,\"changed_by_email\":\"gtwrobel@gmail.com\"},{\"changed_at\":\"2019-02-25 23:24:27 +0000\",\"changed\":[\"code_functions\",\"long_instructions\",\"preload_asset_list\",\"encrypted_examples\"],\"changed_by_id\":106,\"changed_by_email\":\"gtwrobel@gmail.com\"},{\"changed_at\":\"2019-09-04 23:43:28 +0000\",\"changed\":[\"code_functions\",\"start_blocks\",\"start_html\",\"preload_asset_list\"],\"changed_by_id\":106,\"changed_by_email\":\"gtwrobel@gmail.com\"},{\"changed_at\":\"2019-09-05 00:13:50 +0000\",\"changed\":[\"start_blocks\",\"start_html\"],\"changed_by_id\":106,\"changed_by_email\":\"gtwrobel@gmail.com\"},{\"changed_at\":\"2019-09-05 00:14:04 +0000\",\"changed\":[\"code_functions\",\"start_blocks\",\"hide_design_mode\",\"preload_asset_list\"],\"changed_by_id\":106,\"changed_by_email\":\"gtwrobel@gmail.com\"},{\"changed_at\":\"2019-09-05 00:20:28 +0000\",\"changed\":[\"start_blocks\",\"start_html\"],\"changed_by_id\":106,\"changed_by_email\":\"gtwrobel@gmail.com\"},{\"changed_at\":\"2019-09-05 00:27:03 +0000\",\"changed\":[\"code_functions\",\"start_blocks\",\"long_instructions\",\"preload_asset_list\"],\"changed_by_id\":106,\"changed_by_email\":\"gtwrobel@gmail.com\"},{\"changed_at\":\"2019-09-05 00:36:54 +0000\",\"changed\":[\"code_functions\",\"long_instructions\",\"preload_asset_list\",\"encrypted_examples\"],\"changed_by_id\":106,\"changed_by_email\":\"gtwrobel@gmail.com\"},{\"changed_at\":\"2019-09-05 00:37:31 +0000\",\"changed\":[\"code_functions\",\"start_blocks\",\"preload_asset_list\",\"encrypted_examples\"],\"changed_by_id\":106,\"changed_by_email\":\"gtwrobel@gmail.com\"},{\"changed_at\":\"2019-09-05 00:39:03 +0000\",\"changed\":[\"code_functions\",\"long_instructions\",\"preload_asset_list\",\"encrypted_examples\"],\"changed_by_id\":106,\"changed_by_email\":\"gtwrobel@gmail.com\"},{\"changed_at\":\"2019-09-05 15:41:25 +0000\",\"changed\":[\"code_functions\",\"display_name\",\"long_instructions\",\"preload_asset_list\"],\"changed_by_id\":106,\"changed_by_email\":\"gtwrobel@gmail.com\"},{\"changed_at\":\"2019-09-05 15:42:54 +0000\",\"changed\":[\"start_blocks\",\"start_html\"],\"changed_by_id\":106,\"changed_by_email\":\"gtwrobel@gmail.com\"},{\"changed_at\":\"2019-09-05 17:51:44 +0000\",\"changed\":[\"code_functions\",\"start_blocks\",\"long_instructions\",\"preload_asset_list\"],\"changed_by_id\":106,\"changed_by_email\":\"gtwrobel@gmail.com\"},{\"changed_at\":\"2019-09-05 22:01:16 +0000\",\"changed\":[\"code_functions\",\"long_instructions\",\"preload_asset_list\"],\"changed_by_id\":106,\"changed_by_email\":\"gtwrobel@gmail.com\"},{\"changed_at\":\"2020-04-24 17:32:42 +0000\",\"changed\":[\"code_functions\",\"preload_asset_list\",\"contained_level_names\"],\"changed_by_id\":959,\"changed_by_email\":\"george.zhang@code.org\"},{\"changed_at\":\"2020-05-11 22:39:47 +0000\",\"changed\":[\"code_functions\",\"encrypted_examples\",\"preload_asset_list\",\"contained_level_names\"],\"changed_by_id\":106,\"changed_by_email\":\"gtwrobel@gmail.com\"},{\"changed_at\":\"2021-05-21 16:59:02 +0000\",\"changed\":[\"code_functions\",\"encrypted_examples\",\"preload_asset_list\"],\"changed_by_id\":1574,\"changed_by_email\":\"ken.akiha@code.org\"}]"
}]]></config>
<blocks/>
</Applab>

0 comments on commit 20865c5

Please sign in to comment.