diff --git a/bugs2fix-checklist.ipynb b/bugs2fix-checklist.ipynb index 57d035b..0ffb2b6 100644 --- a/bugs2fix-checklist.ipynb +++ b/bugs2fix-checklist.ipynb @@ -108,7 +108,7 @@ " replacements[\"STRING_4\"] = ['\"abcdefghijklmnopqrstuvwxyz!.(){}\"', '\"00000000\"']\n", " replacements[\"STRING_5\"] = ['\"unchecked\"', '\"Courier New\"']\n", " replacements[\"STRING_6\"] = ['\"> \"', '\"EOF\"']\n", - " replacements[\"STRING_7\"] = ['\"Hello, World!', '\"\\\\t\"']\n", + " replacements[\"STRING_7\"] = ['\"Hello, World!\"', '\"\\\\t\"']\n", " replacements[\"STRING_8\"] = ['\"\\\\r\\\\n\"', '\"________\"']\n", " replacements[\"STRING_9\"] = ['\"asdjiopfapsdfjpoiajdfpoais\"', '\"9999888666441\"']\n", "\n", @@ -252,19 +252,10 @@ "id": "e5954682-cfba-4820-8f63-17e35922b2d9", "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Loaded 100 cases!\n", - "Loading base config (does not run base config battery)...\n", - "Loaded 100 cases!\n" - ] - }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8da06fdb0c344a4980a34ddf726b189e", + "model_id": "5bd88a8293ce4c5bbc30526aec8441da", "version_major": 2, "version_minor": 0 }, @@ -290,7 +281,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6b631d5e6a0f4c16a10d1ed6a116cc7d", + "model_id": "eea73a6577e64f96840d3b21ee2b6e0a", "version_major": 2, "version_minor": 0 }, @@ -306,13 +297,54 @@ "output_type": "stream", "text": [ "## Loading 350M (Salesforce/codegen-350M-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Opening ./output/bugs2fix_checklist/prompt0/codegen1-multi-350M.output...\n", + "Preparing file for patching...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d9a7ddd46d434333ab9dd9276122acad", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Regenerating empty test case index 14 for 'public void grault ( Nicknack o ) { super . grault ( o ) ; e . garply ( o ) ; q . qux ( o ) ; z . bar ( o ) ; w . bar ( o ) ; fred ( o ) ; }' with prompt '// the buggy version of the code\\npublic void grault ( Nicknack o ) { super . grault ( o ) ; e . garply ( o ) ; q . qux ( o ) ; z . bar ( o ) ; w . bar ( o ) ; fred ( o ) ; }\\n// the fixed version of the code\\n'...\n", + "[2024-06-25@21:13:35|model.device] Starting timer.\n", + "Configuring torch device...\n", + "Using device: cuda:0 aka cuda:0\n", + "[2024-06-25@21:13:35|model.device] Time elapsed: 46ms\n", + "[2024-06-25@21:13:35|model.tokenizer] Starting timer.\n", + "[2024-06-25@21:13:35|model.tokenizer] Time elapsed: 233ms\n", + "[2024-06-25@21:13:35|model.model] Starting timer.\n", + "Obtaining model...\n", + "[2024-06-25@21:13:39|model.model] Time elapsed: 3s 355ms\n", + "Patched output: 'public void grault ( Nicknack o, int i ) { super. grault ( o, i ) ; e. garply ( o, i ) ; q. qux ( o, i ) ; z. bar ( o, i ) ; w. bar ( o, i ) ; fred ( o, i ) ; }'\n", + "Regenerating empty test case index 27 for 'public void waldo ( android.view.View u ) { Thingy . foo ( \"truth\" , \"\\\\n\" ) ; e . thud ( ( ( Nicknack ) ( d . garply ( ) ) ) . fred ( ) ) ; }' with prompt '// the buggy version of the code\\npublic void waldo ( android.view.View u ) { Thingy . foo ( \"truth\" , \"\\\\n\" ) ; e . thud ( ( ( Nicknack ) ( d . garply ( ) ) ) . fred ( ) ) ; }\\n// the fixed version of the code\\n'...\n", + "Patched output: 'public void waldo ( android.view.View u ) { Thingy. foo ( \"truth\", \"\\\\n\" ) ; e. thud ( ( ( Nicknack ) ( d. garply ( ) ) ). fred ( ) ) ; }'\n", + "Regenerating empty test case index 29 for 'public int update ( java.lang.Object r ) { c . grault ( r ) ; baz ( ) ; try { return qux ( c . fred ( ) ) . execute ( ) ; } finally { c . garply ( ) ; } }' with prompt '// the buggy version of the code\\npublic int update ( java.lang.Object r ) { c . grault ( r ) ; baz ( ) ; try { return qux ( c . fred ( ) ) . execute ( ) ; } finally { c . garply ( ) ; } }\\n// the fixed version of the code\\n'...\n", + "Patched output: 'public int update ( java.lang.Object r ) { c. grault ( r ) ; baz ( ) ; try { return qux ( c. fred ( ) ). execute ( ) ; } finally { c. garply ( ) ; } }'\n", + "Regenerating empty test case index 51 for 'public boolean bar ( Cardigan q , java.util.Map < Gadget , java.util.List < Cardigan > > d , java.util.List < Apple > w , Nicknack u , boolean z ) { return true ; }' with prompt '// the buggy version of the code\\npublic boolean bar ( Cardigan q , java.util.Map < Gadget , java.util.List < Cardigan > > d , java.util.List < Apple > w , Nicknack u , boolean z ) { return true ; }\\n// the fixed version of the code\\n'...\n", + "Patched output: 'public boolean bar ( Cardigan q, java.util.Map < Gadget, java.util.List < Cardigan > > d, java.util.List < Apple > w, Nicknack u, boolean z ) { return true ; }'\n", + "Regenerating empty test case index 79 for 'public java.lang.Object corge ( java.lang.Integer t , java.lang.Integer size , java.lang.Long o ) throws java.lang.Exception { return x . corge ( o , t , size ) ; }' with prompt '// the buggy version of the code\\npublic java.lang.Object corge ( java.lang.Integer t , java.lang.Integer size , java.lang.Long o ) throws java.lang.Exception { return x . corge ( o , t , size ) ; }\\n// the fixed version of the code\\n'...\n", + "Patched output: 'public java.lang.Object corge ( java.lang.Integer t, java.lang.Integer size, java.lang.Long o, java.lang.Object v ) throws java.lang.Exception { return x. corge ( o, t, size, v ) ; }'\n", + "Done, 23s 691ms elapsed.\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b5c1b2c3589f4db08d4e16e75cdccd3b", + "model_id": "8c5358a04ee24d598ff6627c61bab4cf", "version_major": 2, "version_minor": 0 }, @@ -328,13 +360,35 @@ "output_type": "stream", "text": [ "## Loading 2B (Salesforce/codegen-2B-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Opening ./output/bugs2fix_checklist/prompt0/codegen1-multi-2B.output...\n", + "Preparing file for patching...\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "809dccf359034aa7b4b5a33ffb482ce8", + "model_id": "8f36962bdfdf496b87177c2ed477d5eb", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 41ms elapsed.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c43cb2aa79c54f0ca7dc60a017ec63ec", "version_major": 2, "version_minor": 0 }, @@ -350,13 +404,35 @@ "output_type": "stream", "text": [ "## Loading 6B (Salesforce/codegen-6B-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Opening ./output/bugs2fix_checklist/prompt0/codegen1-multi-6B.output...\n", + "Preparing file for patching...\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4e9302f21b1f4755a96d8d4698201183", + "model_id": "fdc69e8d74e644e1beac9dadb05b16b9", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 39ms elapsed.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c0e909168119471d8c63192ac709463f", "version_major": 2, "version_minor": 0 }, @@ -372,13 +448,35 @@ "output_type": "stream", "text": [ "## Loading 16B (Salesforce/codegen-16B-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Opening ./output/bugs2fix_checklist/prompt0/codegen1-multi-16B.output...\n", + "Preparing file for patching...\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9e3eb4872ac34ff0adf83af44b98b7df", + "model_id": "4e421efd3e1441a2a279cb8e43a22da3", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 39ms elapsed.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "16b1a56c513d4cc9b0d9c4dcc8d0fcae", "version_major": 2, "version_minor": 0 }, @@ -403,7 +501,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "db8c77e4fc9940a9afd1dec0c7d63208", + "model_id": "964d6a5c8d27485bb7e55dc14be44297", "version_major": 2, "version_minor": 0 }, @@ -419,13 +517,35 @@ "output_type": "stream", "text": [ "## Loading 350M (Salesforce/codegen-350M-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Opening ./output/bugs2fix_checklist/prompt1/codegen1-multi-350M.output...\n", + "Preparing file for patching...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "601d8e58436540a8a790c79ead773eda", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 49ms elapsed.\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1005a3206b44403097b62bbd12b8fda3", + "model_id": "029a5abd73994023a7ef8e8c5b16520e", "version_major": 2, "version_minor": 0 }, @@ -441,13 +561,35 @@ "output_type": "stream", "text": [ "## Loading 2B (Salesforce/codegen-2B-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Opening ./output/bugs2fix_checklist/prompt1/codegen1-multi-2B.output...\n", + "Preparing file for patching...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d2c4d2ab093c4f548c8ce75cea023904", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 38ms elapsed.\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5e4e373361bc41ddb1f1b4e45861526a", + "model_id": "c7a3c523a8b543f39effad2177a88f3b", "version_major": 2, "version_minor": 0 }, @@ -463,13 +605,35 @@ "output_type": "stream", "text": [ "## Loading 6B (Salesforce/codegen-6B-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Opening ./output/bugs2fix_checklist/prompt1/codegen1-multi-6B.output...\n", + "Preparing file for patching...\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8ac44f11ada54bd5bdf32f128ff74cd3", + "model_id": "69cb65743d9b4a52b6fd0633e1272603", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 38ms elapsed.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "4d5064dd46bb4d9b9dbc6219524db9fc", "version_major": 2, "version_minor": 0 }, @@ -485,13 +649,35 @@ "output_type": "stream", "text": [ "## Loading 16B (Salesforce/codegen-16B-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Opening ./output/bugs2fix_checklist/prompt1/codegen1-multi-16B.output...\n", + "Preparing file for patching...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "226c4effd1cf433097e5f69d997f6ad8", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 40ms elapsed.\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b2218233956945f9a854a5fc036cbe52", + "model_id": "1d032b182018498d859d60d2367c6dfa", "version_major": 2, "version_minor": 0 }, @@ -517,7 +703,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6a29c367b7594adaaaf816eeb67da460", + "model_id": "966f75a6c186430bb191ceeb9f82e4e3", "version_major": 2, "version_minor": 0 }, @@ -533,13 +719,35 @@ "output_type": "stream", "text": [ "## Loading 350M (Salesforce/codegen-350M-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Opening ./output/bugs2fix_checklist/prompt2/codegen1-multi-350M.output...\n", + "Preparing file for patching...\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2de70bb2650a4896b2074fd6782e073e", + "model_id": "0af1ff0177fc48568f38d81319a3d57b", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 48ms elapsed.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "6c7df50e3dbd42d8b6b0f928e78f77a0", "version_major": 2, "version_minor": 0 }, @@ -555,13 +763,35 @@ "output_type": "stream", "text": [ "## Loading 2B (Salesforce/codegen-2B-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Opening ./output/bugs2fix_checklist/prompt2/codegen1-multi-2B.output...\n", + "Preparing file for patching...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a8ee4d23b44644b8a0348409fd4946bb", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 54ms elapsed.\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1ddfe86986b441468c3c8e1f38da2297", + "model_id": "ca2cc7e06ba5450d8a041cdb5672853a", "version_major": 2, "version_minor": 0 }, @@ -577,13 +807,35 @@ "output_type": "stream", "text": [ "## Loading 6B (Salesforce/codegen-6B-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Opening ./output/bugs2fix_checklist/prompt2/codegen1-multi-6B.output...\n", + "Preparing file for patching...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "3ae62433d8664ce68ef9a3553f568c74", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 38ms elapsed.\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "38bc6889ecbe4001be44cc8aea51cba2", + "model_id": "dc77477c6d3e43d79db5ef54dbfe6456", "version_major": 2, "version_minor": 0 }, @@ -599,15 +851,37 @@ "output_type": "stream", "text": [ "## Loading 16B (Salesforce/codegen-16B-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Opening ./output/bugs2fix_checklist/prompt2/codegen1-multi-16B.output...\n", + "Preparing file for patching...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d687c808caa54c6ab3de39e5ac43d516", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 41ms elapsed.\n" ] } ], "source": [ "runner.run_battery(\n", " family=ModelFamily.CodeGen1.multi,\n", - " patch=False,\n", - " # patch=True,\n", + " # patch=False,\n", + " patch=True,\n", ")" ] }, @@ -636,6 +910,14 @@ "id": "dac5f865-7520-4704-acc4-aed1b5526547", "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.8/dist-packages/tree_sitter/__init__.py:36: FutureWarning: Language(path, name) is deprecated. Use Language(ptr, name) instead.\n", + " warn(\"{} is deprecated. Use {} instead.\".format(old, new), FutureWarning)\n" + ] + }, { "name": "stdout", "output_type": "stream", @@ -645,7 +927,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -659,7 +941,7 @@ "[{'prompt0': [0.01, 0.0, 0.01, 0.01],\n", " 'prompt1': [0.0, 0.0, 0.0, 0.0],\n", " 'prompt2': [0.0, 0.0, 0.02, 0.01]},\n", - " {'prompt0': [0.573686953047881,\n", + " {'prompt0': [0.5918350248483545,\n", " 0.600406931103176,\n", " 0.5455959474120977,\n", " 0.6042161527054498],\n", @@ -671,8 +953,8 @@ " 0.6197289251181732,\n", " 0.5398913802834645,\n", " 0.6149254940943188]},\n", - " {'prompt0': [0.6531550591670596,\n", - " 0.6766499011162042,\n", + " {'prompt0': [0.6802196789348955,\n", + " 0.6760881033633952,\n", " 0.6131400256475396,\n", " 0.6867325572543022],\n", " 'prompt1': [0.18533060752934005,\n", @@ -680,7 +962,7 @@ " 0.4194327258702645,\n", " 0.052124209943583],\n", " 'prompt2': [0.6154307107316426,\n", - " 0.6988592588806936,\n", + " 0.6982974611278845,\n", " 0.6321488085639098,\n", " 0.6982595332477076]}]" ] diff --git a/bugs2fix.ipynb b/bugs2fix.ipynb index b312731..86178bd 100644 --- a/bugs2fix.ipynb +++ b/bugs2fix.ipynb @@ -595,6 +595,14 @@ "id": "f2db0345-0256-42e4-8f1d-2e5609d511f7", "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.8/dist-packages/tree_sitter/__init__.py:36: FutureWarning: Language(path, name) is deprecated. Use Language(ptr, name) instead.\n", + " warn(\"{} is deprecated. Use {} instead.\".format(old, new), FutureWarning)\n" + ] + }, { "name": "stdout", "output_type": "stream", @@ -604,7 +612,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -630,15 +638,15 @@ " 0.5989108295800651,\n", " 0.4641603674764887,\n", " 0.5688964125027325]},\n", - " {'prompt0': [0.6133823854504274,\n", + " {'prompt0': [0.6139429235670194,\n", " 0.6463875095979323,\n", " 0.5699422358685238,\n", " 0.6491634904813729],\n", - " 'prompt1': [0.18617262820091549,\n", + " 'prompt1': [0.18673316631750742,\n", " 0.2634117729357921,\n", - " 0.31108544782004577,\n", - " 0.26415028332874624],\n", - " 'prompt2': [0.5917528825148218,\n", + " 0.3133276002864135,\n", + " 0.2635897452121543],\n", + " 'prompt2': [0.5934344968645976,\n", " 0.6908598542659203,\n", " 0.5498833751741166,\n", " 0.6594912699189425]}]" diff --git a/code2code-trans.ipynb b/code2code-trans.ipynb index 68493e3..91de929 100644 --- a/code2code-trans.ipynb +++ b/code2code-trans.ipynb @@ -66,7 +66,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "494ac94577a149e7a5695e8971c2931c", + "model_id": "5c20de1b49d6423c8db4a2f6aa2963d5", "version_major": 2, "version_minor": 0 }, @@ -92,7 +92,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "378c689f8d83405589f5fd6e84f4fb3d", + "model_id": "ec3dba23b69f4775bdff3a42060f42a3", "version_major": 2, "version_minor": 0 }, @@ -108,13 +108,237 @@ "output_type": "stream", "text": [ "## Loading 350M (Salesforce/codegen-350M-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Opening ./output/code2code-trans/prompt0/codegen1-multi-350M.output...\n", + "Preparing file for patching...\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ebe662e2d8a347c184550f5dea099d51", + "model_id": "53c9642052de4ebc84cdd89cf5da12de", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 46ms elapsed.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "1efce9703b2a48938167e755678ccc68", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HTML(value=\"

Loading 2B (Salesforce/codegen-2B-multi)…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "## Loading 2B (Salesforce/codegen-2B-multi)\n", + "Opening ./output/code2code-trans/prompt0/codegen1-multi-2B.output...\n", + "Preparing file for patching...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5aa8f57718bf4e30b38ec4833e704848", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 45ms elapsed.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "55d41573bd514211b19f7f31a376668a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HTML(value=\"

Loading 6B (Salesforce/codegen-6B-multi)…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "## Loading 6B (Salesforce/codegen-6B-multi)\n", + "Opening ./output/code2code-trans/prompt0/codegen1-multi-6B.output...\n", + "Preparing file for patching...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "19bbf84a82c842589085d3d11f574f52", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 45ms elapsed.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "e826044103ac49b19e8e66c31b9a07d8", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HTML(value=\"

Loading 16B (Salesforce/codegen-16B-mult…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "## Loading 16B (Salesforce/codegen-16B-multi)\n", + "Opening ./output/code2code-trans/prompt0/codegen1-multi-16B.output...\n", + "Preparing file for patching...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "120688b932484bee9aa7e81746cc027c", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 52ms elapsed.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "86e5aabd640745ad8c4f9b5f5e1facd3", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HTML(value=\"

Testing prompt index 1

\")" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "# Testing prompt index 1\n", + "Prompt to be tested:\n", + "// code.java\n", + "{prompt}\n", + "// code.cs\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "52416395cf6442a79a5a37ebee2225fa", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HTML(value=\"

Loading 350M (Salesforce/codegen-350M-mu…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "## Loading 350M (Salesforce/codegen-350M-multi)\n", + "Opening ./output/code2code-trans/prompt1/codegen1-multi-350M.output...\n", + "Preparing file for patching...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "6db27932ae3e47b88dfc4f50bd91cd8c", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 44ms elapsed.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "1dfb510754d342338091ee20e56679a1", "version_major": 2, "version_minor": 0 }, @@ -129,19 +353,206 @@ "name": "stdout", "output_type": "stream", "text": [ - "## Loading 2B (Salesforce/codegen-2B-multi)\n", - "No new cases necessary to generate, not loading model\n" + "## Loading 2B (Salesforce/codegen-2B-multi)\n", + "Opening ./output/code2code-trans/prompt1/codegen1-multi-2B.output...\n", + "Preparing file for patching...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b3c2cf095f654d2b98aff96ecae81c93", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Regenerating empty test case index 4 for 'public DeleteDomainEntryResult deleteDomainEntry(DeleteDomainEntryRequest request) {request = beforeClientExecution(request);return executeDeleteDomainEntry(request);}' with prompt '// code.java\\npublic DeleteDomainEntryResult deleteDomainEntry(DeleteDomainEntryRequest request) {request = beforeClientExecution(request);return executeDeleteDomainEntry(request);}\\n// code.cs\\n'...\n", + "[2024-06-25@21:21:20|model.device] Starting timer.\n", + "Configuring torch device...\n", + "Using device: cuda:0 aka cuda:0\n", + "[2024-06-25@21:21:20|model.device] Time elapsed: 44ms\n", + "[2024-06-25@21:21:20|model.tokenizer] Starting timer.\n", + "[2024-06-25@21:21:20|model.tokenizer] Time elapsed: 197ms\n", + "[2024-06-25@21:21:20|model.model] Starting timer.\n", + "Obtaining model...\n", + "[2024-06-25@21:21:31|model.model] Time elapsed: 10s 623ms\n", + "Patched output: '<|endoftext|>'\n", + "Regenerating empty test case index 10 for 'public ListIngestionsResult listIngestions(ListIngestionsRequest request) {request = beforeClientExecution(request);return executeListIngestions(request);}' with prompt '// code.java\\npublic ListIngestionsResult listIngestions(ListIngestionsRequest request) {request = beforeClientExecution(request);return executeListIngestions(request);}\\n// code.cs\\n'...\n", + "Patched output: '<|endoftext|>'\n", + "Regenerating empty test case index 37 for 'public GetIceServerConfigResult getIceServerConfig(GetIceServerConfigRequest request) {request = beforeClientExecution(request);return executeGetIceServerConfig(request);}' with prompt '// code.java\\npublic GetIceServerConfigResult getIceServerConfig(GetIceServerConfigRequest request) {request = beforeClientExecution(request);return executeGetIceServerConfig(request);}\\n// code.cs\\n'...\n", + "Patched output: '<|endoftext|>'\n", + "Regenerating empty test case index 72 for 'public AllocateHostedConnectionResult allocateHostedConnection(AllocateHostedConnectionRequest request) {request = beforeClientExecution(request);return executeAllocateHostedConnection(request);}' with prompt '// code.java\\npublic AllocateHostedConnectionResult allocateHostedConnection(AllocateHostedConnectionRequest request) {request = beforeClientExecution(request);return executeAllocateHostedConnection(request);}\\n// code.cs\\n'...\n", + "Patched output: '<|endoftext|>'\n", + "Regenerating empty test case index 76 for 'public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++] = byte2 & 63;}}' with prompt '// code.java\\npublic void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++] = byte2 & 63;}}\\n// code.cs\\n'...\n", + "Patched output: '<|endoftext|>'\n", + "Regenerating empty test case index 81 for 'public DescribeVoicesResult describeVoices(DescribeVoicesRequest request) {request = beforeClientExecution(request);return executeDescribeVoices(request);}' with prompt '// code.java\\npublic DescribeVoicesResult describeVoices(DescribeVoicesRequest request) {request = beforeClientExecution(request);return executeDescribeVoices(request);}\\n// code.cs\\n'...\n", + "Patched output: '<|endoftext|>'\n", + "Regenerating empty test case index 82 for 'public ListMonitoringExecutionsResult listMonitoringExecutions(ListMonitoringExecutionsRequest request) {request = beforeClientExecution(request);return executeListMonitoringExecutions(request);}' with prompt '// code.java\\npublic ListMonitoringExecutionsResult listMonitoringExecutions(ListMonitoringExecutionsRequest request) {request = beforeClientExecution(request);return executeListMonitoringExecutions(request);}\\n// code.cs\\n'...\n", + "Patched output: '<|endoftext|>'\n", + "Regenerating empty test case index 86 for 'public DeleteSmsChannelResult deleteSmsChannel(DeleteSmsChannelRequest request) {request = beforeClientExecution(request);return executeDeleteSmsChannel(request);}' with prompt '// code.java\\npublic DeleteSmsChannelResult deleteSmsChannel(DeleteSmsChannelRequest request) {request = beforeClientExecution(request);return executeDeleteSmsChannel(request);}\\n// code.cs\\n'...\n", + "Patched output: '<|endoftext|>'\n", + "Regenerating empty test case index 94 for 'public PutVoiceConnectorStreamingConfigurationResult putVoiceConnectorStreamingConfiguration(PutVoiceConnectorStreamingConfigurationRequest request) {request = beforeClientExecution(request);return executePutVoiceConnectorStreamingConfiguration(request);}' with prompt '// code.java\\npublic PutVoiceConnectorStreamingConfigurationResult putVoiceConnectorStreamingConfiguration(PutVoiceConnectorStreamingConfigurationRequest request) {request = beforeClientExecution(request);return executePutVoiceConnectorStreamingConfiguration(request);}\\n// code.cs\\n'...\n", + "Patched output: '<|endoftext|>'\n", + "Regenerating empty test case index 98 for 'public CreateWorkspacesResult createWorkspaces(CreateWorkspacesRequest request) {request = beforeClientExecution(request);return executeCreateWorkspaces(request);}' with prompt '// code.java\\npublic CreateWorkspacesResult createWorkspaces(CreateWorkspacesRequest request) {request = beforeClientExecution(request);return executeCreateWorkspaces(request);}\\n// code.cs\\n'...\n", + "Patched output: '<|endoftext|>'\n", + "Done, 12s 449ms elapsed.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "22b3e36b4851447ea78acda635631946", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HTML(value=\"

Loading 6B (Salesforce/codegen-6B-multi)…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "## Loading 6B (Salesforce/codegen-6B-multi)\n", + "Opening ./output/code2code-trans/prompt1/codegen1-multi-6B.output...\n", + "Preparing file for patching...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "f9a7efcf9e734fea8c001035b4a6a58b", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 38ms elapsed.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "f68e1eb6377945b8a08ff3d51cbc2f22", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HTML(value=\"

Loading 16B (Salesforce/codegen-16B-mult…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "## Loading 16B (Salesforce/codegen-16B-multi)\n", + "Opening ./output/code2code-trans/prompt1/codegen1-multi-16B.output...\n", + "Preparing file for patching...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "05ce8e140b434e3faac997beec8edada", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 40ms elapsed.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a92e0fb3d8fb44749b28f7e397a6e01a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HTML(value=\"

Testing prompt index 2

\")" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "# Testing prompt index 2\n", + "Prompt to be tested:\n", + "// This code is written in Java. Reproduce the same exact code in C#.\n", + "{prompt}\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "2c72052ceaab4153b297976864a4db4e", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HTML(value=\"

Loading 350M (Salesforce/codegen-350M-mu…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "## Loading 350M (Salesforce/codegen-350M-multi)\n", + "Opening ./output/code2code-trans/prompt2/codegen1-multi-350M.output...\n", + "Preparing file for patching...\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4516c792f1e24a28831112e2f7e7a207", + "model_id": "7ae3ff053bd14d88af73e0800290133d", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HTML(value=\"

Loading 6B (Salesforce/codegen-6B-multi)…" + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" ] }, "metadata": {}, @@ -151,19 +562,18 @@ "name": "stdout", "output_type": "stream", "text": [ - "## Loading 6B (Salesforce/codegen-6B-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Done, 39ms elapsed.\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a4da78707c1a4234861c2baa1e013e11", + "model_id": "9312aab033424bcaa716b786f13b2412", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HTML(value=\"

Loading 16B (Salesforce/codegen-16B-mult…" + "HTML(value=\"

Loading 2B (Salesforce/codegen-2B-multi)…" ] }, "metadata": {}, @@ -173,19 +583,20 @@ "name": "stdout", "output_type": "stream", "text": [ - "## Loading 16B (Salesforce/codegen-16B-multi)\n", - "No new cases necessary to generate, not loading model\n" + "## Loading 2B (Salesforce/codegen-2B-multi)\n", + "Opening ./output/code2code-trans/prompt2/codegen1-multi-2B.output...\n", + "Preparing file for patching...\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a3a83cc22b0146559f963afd8056b53e", + "model_id": "cf500cc3e93f43c0815f4b8412574a93", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HTML(value=\"

Testing prompt index 1

\")" + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" ] }, "metadata": {}, @@ -195,23 +606,29 @@ "name": "stdout", "output_type": "stream", "text": [ - "# Testing prompt index 1\n", - "Prompt to be tested:\n", - "// code.java\n", - "{prompt}\n", - "// code.cs\n", - "\n" + "Regenerating empty test case index 76 for 'public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++] = byte2 & 63;}}' with prompt '// This code is written in Java. Reproduce the same exact code in C#.\\npublic void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++] = byte2 & 63;}}\\n'...\n", + "[2024-06-25@21:21:33|model.device] Starting timer.\n", + "Configuring torch device...\n", + "Using device: cuda:0 aka cuda:0\n", + "[2024-06-25@21:21:33|model.device] Time elapsed: ~0s\n", + "[2024-06-25@21:21:33|model.tokenizer] Starting timer.\n", + "[2024-06-25@21:21:33|model.tokenizer] Time elapsed: 124ms\n", + "[2024-06-25@21:21:33|model.model] Starting timer.\n", + "Obtaining model...\n", + "[2024-06-25@21:21:41|model.model] Time elapsed: 8s 182ms\n", + "Patched output: '<|endoftext|>'\n", + "Done, 8s 517ms elapsed.\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "53353fa13de04523ba58af48327d2e80", + "model_id": "dd32ab253f59443cae0bd5009ca45cdf", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HTML(value=\"

Loading 350M (Salesforce/codegen-350M-mu…" + "HTML(value=\"

Loading 6B (Salesforce/codegen-6B-multi)…" ] }, "metadata": {}, @@ -221,19 +638,20 @@ "name": "stdout", "output_type": "stream", "text": [ - "## Loading 350M (Salesforce/codegen-350M-multi)\n", - "No new cases necessary to generate, not loading model\n" + "## Loading 6B (Salesforce/codegen-6B-multi)\n", + "Opening ./output/code2code-trans/prompt2/codegen1-multi-6B.output...\n", + "Preparing file for patching...\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8a197ec473da4220990cefeafd185e47", + "model_id": "ac8c0e9411bd407c8f89cca33ba50d07", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HTML(value=\"

Loading 2B (Salesforce/codegen-2B-multi)…" + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" ] }, "metadata": {}, @@ -243,19 +661,58 @@ "name": "stdout", "output_type": "stream", "text": [ - "## Loading 2B (Salesforce/codegen-2B-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Regenerating empty test case index 10 for 'public ListIngestionsResult listIngestions(ListIngestionsRequest request) {request = beforeClientExecution(request);return executeListIngestions(request);}' with prompt '// This code is written in Java. Reproduce the same exact code in C#.\\npublic ListIngestionsResult listIngestions(ListIngestionsRequest request) {request = beforeClientExecution(request);return executeListIngestions(request);}\\n'...\n", + "[2024-06-25@21:21:42|model.device] Starting timer.\n", + "Configuring torch device...\n", + "Using device: cuda:0 aka cuda:0\n", + "[2024-06-25@21:21:42|model.device] Time elapsed: ~0s\n", + "[2024-06-25@21:21:42|model.tokenizer] Starting timer.\n", + "[2024-06-25@21:21:42|model.tokenizer] Time elapsed: 121ms\n", + "[2024-06-25@21:21:42|model.model] Starting timer.\n", + "Obtaining model...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:root:Some parameters are on the meta device device because they were offloaded to the cpu.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2024-06-25@21:22:01|model.model] Time elapsed: 18s 898ms\n", + "Patched output: ''\n", + "Regenerating empty test case index 12 for 'public GetShardIteratorResult getShardIterator(GetShardIteratorRequest request) {request = beforeClientExecution(request);return executeGetShardIterator(request);}' with prompt '// This code is written in Java. Reproduce the same exact code in C#.\\npublic GetShardIteratorResult getShardIterator(GetShardIteratorRequest request) {request = beforeClientExecution(request);return executeGetShardIterator(request);}\\n'...\n", + "Patched output: ''\n", + "Regenerating empty test case index 31 for 'public GetDashboardResult getDashboard(GetDashboardRequest request) {request = beforeClientExecution(request);return executeGetDashboard(request);}' with prompt '// This code is written in Java. Reproduce the same exact code in C#.\\npublic GetDashboardResult getDashboard(GetDashboardRequest request) {request = beforeClientExecution(request);return executeGetDashboard(request);}\\n'...\n", + "Patched output: ''\n", + "Regenerating empty test case index 34 for 'public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append(\"\\\\\\\\Q\");int apos = 0;int k;while ((k = string.indexOf(\"\\\\\\\\E\", apos)) >= 0) {sb.append(string.substring(apos, k + 2)).append(\"\\\\\\\\\\\\\\\\E\\\\\\\\Q\");apos = k + 2;}return sb.append(string.substring(apos)).append(\"\\\\\\\\E\").toString();}' with prompt '// This code is written in Java. Reproduce the same exact code in C#.\\npublic static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append(\"\\\\\\\\Q\");int apos = 0;int k;while ((k = string.indexOf(\"\\\\\\\\E\", apos)) >= 0) {sb.append(string.substring(apos, k + 2)).append(\"\\\\\\\\\\\\\\\\E\\\\\\\\Q\");apos = k + 2;}return sb.append(string.substring(apos)).append(\"\\\\\\\\E\").toString();}\\n'...\n", + "Patched output: '<|endoftext|>'\n", + "Regenerating empty test case index 41 for 'public UpdateConfigurationSetSendingEnabledResult updateConfigurationSetSendingEnabled(UpdateConfigurationSetSendingEnabledRequest request) {request = beforeClientExecution(request);return executeUpdateConfigurationSetSendingEnabled(request);}' with prompt '// This code is written in Java. Reproduce the same exact code in C#.\\npublic UpdateConfigurationSetSendingEnabledResult updateConfigurationSetSendingEnabled(UpdateConfigurationSetSendingEnabledRequest request) {request = beforeClientExecution(request);return executeUpdateConfigurationSetSendingEnabled(request);}\\n'...\n", + "Patched output: ''\n", + "Regenerating empty test case index 52 for 'public GetGatewayResponsesResult getGatewayResponses(GetGatewayResponsesRequest request) {request = beforeClientExecution(request);return executeGetGatewayResponses(request);}' with prompt '// This code is written in Java. Reproduce the same exact code in C#.\\npublic GetGatewayResponsesResult getGatewayResponses(GetGatewayResponsesRequest request) {request = beforeClientExecution(request);return executeGetGatewayResponses(request);}\\n'...\n", + "Patched output: ''\n", + "Regenerating empty test case index 71 for 'public MergeShardsResult mergeShards(MergeShardsRequest request) {request = beforeClientExecution(request);return executeMergeShards(request);}' with prompt '// This code is written in Java. Reproduce the same exact code in C#.\\npublic MergeShardsResult mergeShards(MergeShardsRequest request) {request = beforeClientExecution(request);return executeMergeShards(request);}\\n'...\n", + "Patched output: ''\n", + "Regenerating empty test case index 72 for 'public AllocateHostedConnectionResult allocateHostedConnection(AllocateHostedConnectionRequest request) {request = beforeClientExecution(request);return executeAllocateHostedConnection(request);}' with prompt '// This code is written in Java. Reproduce the same exact code in C#.\\npublic AllocateHostedConnectionResult allocateHostedConnection(AllocateHostedConnectionRequest request) {request = beforeClientExecution(request);return executeAllocateHostedConnection(request);}\\n'...\n", + "Patched output: ''\n", + "Regenerating empty test case index 81 for 'public DescribeVoicesResult describeVoices(DescribeVoicesRequest request) {request = beforeClientExecution(request);return executeDescribeVoices(request);}' with prompt '// This code is written in Java. Reproduce the same exact code in C#.\\npublic DescribeVoicesResult describeVoices(DescribeVoicesRequest request) {request = beforeClientExecution(request);return executeDescribeVoices(request);}\\n'...\n", + "Patched output: ''\n", + "Done, 5min 58s elapsed.\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7ee6575828104e18bf2f2c01634bd786", + "model_id": "72df8984a172433bb3f243513f189cfa", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HTML(value=\"

Loading 6B (Salesforce/codegen-6B-multi)…" + "HTML(value=\"

Loading 16B (Salesforce/codegen-16B-mult…" ] }, "metadata": {}, @@ -265,19 +722,20 @@ "name": "stdout", "output_type": "stream", "text": [ - "## Loading 6B (Salesforce/codegen-6B-multi)\n", - "No new cases necessary to generate, not loading model\n" + "## Loading 16B (Salesforce/codegen-16B-multi)\n", + "Opening ./output/code2code-trans/prompt2/codegen1-multi-16B.output...\n", + "Preparing file for patching...\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2a64323ef346443f8fe546661c95ae10", + "model_id": "9e7934f3f162406e84dc8f901ed6e334", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HTML(value=\"

Loading 16B (Salesforce/codegen-16B-mult…" + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" ] }, "metadata": {}, @@ -287,19 +745,42 @@ "name": "stdout", "output_type": "stream", "text": [ - "## Loading 16B (Salesforce/codegen-16B-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Regenerating empty test case index 77 for 'public String getHumanishName() throws IllegalArgumentException {String s = getPath();if (\"/\".equals(s) || \"\".equals(s)) s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if (\"file\".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split(\"[\\\\\\\\\" + File.separatorChar + \"/]\"); elseelements = s.split(\"/+\"); if (elements.length == 0)throw new IllegalArgumentException();String result = elements[elements.length - 1];if (Constants.DOT_GIT.equals(result))result = elements[elements.length - 2];else if (result.endsWith(Constants.DOT_GIT_EXT))result = result.substring(0, result.length()- Constants.DOT_GIT_EXT.length());return result;}' with prompt '// This code is written in Java. Reproduce the same exact code in C#.\\npublic String getHumanishName() throws IllegalArgumentException {String s = getPath();if (\"/\".equals(s) || \"\".equals(s)) s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if (\"file\".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split(\"[\\\\\\\\\" + File.separatorChar + \"/]\"); elseelements = s.split(\"/+\"); if (elements.length == 0)throw new IllegalArgumentException();String result = elements[elements.length - 1];if (Constants.DOT_GIT.equals(result))result = elements[elements.length - 2];else if (result.endsWith(Constants.DOT_GIT_EXT))result = result.substring(0, result.length()- Constants.DOT_GIT_EXT.length());return result;}\\n'...\n", + "[2024-06-25@21:27:41|model.device] Starting timer.\n", + "Configuring torch device...\n", + "Using device: cuda:0 aka cuda:0\n", + "[2024-06-25@21:27:41|model.device] Time elapsed: ~0s\n", + "[2024-06-25@21:27:41|model.tokenizer] Starting timer.\n", + "[2024-06-25@21:27:41|model.tokenizer] Time elapsed: 212ms\n", + "[2024-06-25@21:27:41|model.model] Starting timer.\n", + "Obtaining model...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:root:Some parameters are on the meta device device because they were offloaded to the cpu.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2024-06-25@21:30:57|model.model] Time elapsed: 3min 15s\n", + "Patched output: '<|endoftext|>'\n", + "Done, 3min 21s elapsed.\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "076f3e81bdd44698b9253dc945496af4", + "model_id": "f345679d0af446399c20bc26336cde47", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HTML(value=\"

Testing prompt index 2

\")" + "HTML(value=\"

Testing prompt index 3

\")" ] }, "metadata": {}, @@ -309,17 +790,19 @@ "name": "stdout", "output_type": "stream", "text": [ - "# Testing prompt index 2\n", + "# Testing prompt index 3\n", "Prompt to be tested:\n", - "// This code is written in Java. Reproduce the same exact code in C#.\n", + "// original code.java\n", "{prompt}\n", + "\n", + "// code.cs version of code.java\n", "\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "04177e77f71c49f9a173f70d887251c1", + "model_id": "6f51b090e11840a7b484f5a713707335", "version_major": 2, "version_minor": 0 }, @@ -335,13 +818,95 @@ "output_type": "stream", "text": [ "## Loading 350M (Salesforce/codegen-350M-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Opening ./output/code2code-trans/prompt3/codegen1-multi-350M.output...\n", + "Preparing file for patching...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b265d673b09842f5bfbf285c7c7703c2", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Regenerating empty test case index 1 for 'public void addAll(BlockList src) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdx < src.tailDirIdx; srcDirIdx++)addAll(src.directory[srcDirIdx], 0, BLOCK_SIZE);if (src.tailBlkIdx != 0)addAll(src.tailBlock, 0, src.tailBlkIdx);}' with prompt '// original code.java\\npublic void addAll(BlockList src) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdx < src.tailDirIdx; srcDirIdx++)addAll(src.directory[srcDirIdx], 0, BLOCK_SIZE);if (src.tailBlkIdx != 0)addAll(src.tailBlock, 0, src.tailBlkIdx);}\\n\\n// code.cs version of code.java\\n'...\n", + "[2024-06-25@21:31:04|model.device] Starting timer.\n", + "Configuring torch device...\n", + "Using device: cuda:0 aka cuda:0\n", + "[2024-06-25@21:31:04|model.device] Time elapsed: ~0s\n", + "[2024-06-25@21:31:04|model.tokenizer] Starting timer.\n", + "[2024-06-25@21:31:05|model.tokenizer] Time elapsed: 183ms\n", + "[2024-06-25@21:31:05|model.model] Starting timer.\n", + "Obtaining model...\n", + "[2024-06-25@21:31:10|model.model] Time elapsed: 4s 912ms\n", + "Patched output: 'public void addAll(int srcDirIdx, int srcBlkIdx, int srcBlkSize) {if (srcBlkSize == 0)return;int srcDirIdx2 = 0;for (; srcDirpublic void addAll(int srcDirIdx, int srcBlkIdx, int srcBlkSize) {if (srcBlkSize == 0)return;int srcDirIdx2 = 0;for (; srcDirIdx2 < srcDirIdx; srcDirIdx2++)addAll(src.directory[srcDirIdx2], 0, srcBlkSize);if (srcBlkIdx!= 0)addAll(src.block[srcBlkIdx], 0, srcBlkSize);}'\n", + "Regenerating empty test case index 2 for 'public void writeByte(byte b) {if (upto == blockSize) {if (currentBlock != null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}currentBlock[upto++] = b;}' with prompt '// original code.java\\npublic void writeByte(byte b) {if (upto == blockSize) {if (currentBlock != null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}currentBlock[upto++] = b;}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public void writeShort(short s) {if (upto == blockSize) {if (currentBlock!= null) {addBlock(currentBlock);}currentBlock = new short[blockSize];upto = 0;}currentBlock[upto++] = s;}'\n", + "Regenerating empty test case index 5 for 'public long ramBytesUsed() {return ((termOffsets!=null)? termOffsets.ramBytesUsed() : 0) +((termsDictOffsets!=null)? termsDictOffsets.ramBytesUsed() : 0);}' with prompt '// original code.java\\npublic long ramBytesUsed() {return ((termOffsets!=null)? termOffsets.ramBytesUsed() : 0) +((termsDictOffsets!=null)? termsDictOffsets.ramBytesUsed() : 0);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public long ramBytesUsed() {return ((termOffsets!=null)? termOffsets.ramBytesUsed() : 0) +((termsDictOffsets!=null)? termsDictOffsets.ramBytesUsed() : 0);}'\n", + "Regenerating empty test case index 6 for 'public final String getFullMessage() {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return \"\"; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);}' with prompt '// original code.java\\npublic final String getFullMessage() {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return \"\"; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public final String getFullMessage(int offset) {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, offset);if (msgB < 0) {return \"\"; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);}'\n", + "Regenerating empty test case index 7 for 'public POIFSFileSystem() {this(true);_header.setBATCount(1);_header.setBATArray(new int[]{1});BATBlock bb = BATBlock.createEmptyBATBlock(bigBlockSize, false);bb.setOurBlockIndex(1);_bat_blocks.add(bb);setNextBlock(0, POIFSConstants.END_OF_CHAIN);setNextBlock(1, POIFSConstants.FAT_SECTOR_BLOCK);_property_table.setStartBlock(0);}' with prompt '// original code.java\\npublic POIFSFileSystem() {this(true);_header.setBATCount(1);_header.setBATArray(new int[]{1});BATBlock bb = BATBlock.createEmptyBATBlock(bigBlockSize, false);bb.setOurBlockIndex(1);_bat_blocks.add(bb);setNextBlock(0, POIFSConstants.END_OF_CHAIN);setNextBlock(1, POIFSConstants.FAT_SECTOR_BLOCK);_property_table.setStartBlock(0);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public POIFSFileSystem(boolean b) {this(b, true);_header.setBATCount(1);_header.setBATArray(new int[]{1});BATBlock bb = BATBlock.createEmptypublic POIFSFileSystem(boolean b) {this(b, true);_header.setBATCount(1);_header.setBATArray(new int[]{1});BATBlock bb = BATBlock.createEmptyBATBlock(bigBlockSize, false);bb.setOurBlockIndex(1);_bat_blocks.add(bb);setNextBlock(0, POIFSConstants.END_OF_CHAIN);setNextBlock(1, POIFSConstants.FAT_SECTOR_BLOCK);_property_table.setStartBlock(0);}'\n", + "Regenerating empty test case index 8 for 'public void init(int address) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice != null;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;assert upto < slice.length;}' with prompt '// original code.java\\npublic void init(int address) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice != null;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;assert upto < slice.length;}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public void init(int address, int size) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice!= null;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;assert upto < slice.length;}'\n", + "Regenerating empty test case index 14 for 'public boolean ready() throws IOException {synchronized (lock) {if (in == null) {throw new IOException(\"InputStreamReader is closed\");}try {return bytes.hasRemaining() || in.available() > 0;} catch (IOException e) {return false;}}}' with prompt '// original code.java\\npublic boolean ready() throws IOException {synchronized (lock) {if (in == null) {throw new IOException(\"InputStreamReader is closed\");}try {return bytes.hasRemaining() || in.available() > 0;} catch (IOException e) {return false;}}}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public int read() throws IOException {synchronized (lock) {if (in == null) {throw new IOException(\"InputStreamReader is closed\");}try {return in.read();} catch (IOException e) {return -1;}}}}'\n", + "Regenerating empty test case index 16 for 'public synchronized int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException(\"buffer == null\");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length ? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (byte) this.buffer.charAt(pos + i);}pos += copylen;return copylen;}' with prompt '// original code.java\\npublic synchronized int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException(\"buffer == null\");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length ? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (byte) this.buffer.charAt(pos + i);}pos += copylen;return copylen;}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public synchronized int read(char[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException(\"buffer == null\");}Arrays.checkOffsetAndCount(buffer.length, offset, lengthpublic synchronized int read(char[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException(\"buffer == null\");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (char) this.buffer.charAt(pos + i);}pos += copylen;return copylen;}'\n", + "Regenerating empty test case index 21 for 'public final void readBytes(byte[] b, int offset, int len, boolean useBuffer) throws IOException {int available = bufferLength - bufferPosition;if(len <= available){if(len>0) System.arraycopy(buffer, bufferPosition, b, offset, len);bufferPosition+=len;} else {if(available > 0){System.arraycopy(buffer, bufferPosition, b, offset, available);offset += available;len -= available;bufferPosition += available;}if (useBuffer && len length())throw new EOFException(\"read past EOF: \" + this);readInternal(b, offset, len);bufferStart = after;bufferPosition = 0;bufferLength = 0; }}}' with prompt '// original code.java\\npublic final void readBytes(byte[] b, int offset, int len, boolean useBuffer) throws IOException {int available = bufferLength - bufferPosition;if(len <= available){if(len>0) System.arraycopy(buffer, bufferPosition, b, offset, len);bufferPosition+=len;} else {if(available > 0){System.arraycopy(buffer, bufferPosition, b, offset, available);offset += available;len -= available;bufferPosition += available;}if (useBuffer && len length())throw new EOFException(\"read past EOF: \" + this);readInternal(b, offset, len);bufferStart = after;bufferPosition = 0;bufferLength = 0; }}}\\n\\n// code.cs version of code.java\\n'...\n", + "!! max size might be exceeded !!\n", + "inputs so far: // original code.java\n", + "public final void readBytes(byte[] b, int offset, int len, boolean useBuffer) throws IOException {int available = bufferLength - bufferPosition;if(len <= available){if(len>0) System.arraycopy(buffer, bufferPosition, b, offset, len);bufferPosition+=len;} else {if(available > 0){System.arraycopy(buffer, bufferPosition, b, offset, available);offset += available;len -= available; [ ... 1762 bytes abbreviated ... ] stem.arraycopy(buffer, 0, b, offset, bufferLength);throw new EOFException(\"read past EOF: \" + this);\n", + "Patched output: 'public final void readBytes(byte[] b, int offset, int len) throws IOException {int available = bufferLength - bufferPosition;if(len <= available){if(len>0) System.arraycopy(buffer, bufferPositionpublic final void readBytes(byte[] b, int offset, int len) throws IOException {int available = bufferLength - bufferPosition;if(len <= available){if(len>0) System.arraycopy(buffer, bufferPosition, b, offset, len);bufferPosition+=len;} else {if(available > 0){System.arraycopy(buffer, bufferPosition, b, offset, available);offset += available;len -= available;bufferPosition += available;}ifpublic final void readBytes(byte[] b, int offset, int len) throws IOException {int available = bufferLength - bufferPosition;if(len <= available){if(len>0) System.arraycopy(buffer, bufferPositionpublic final void readBytes(byte[] b, int offset, int len) throws IOException {int available = bufferLength - bufferPosition;if(len <= available){if(len>0) System.arraycopy(buffer, bufferPosition, b, offset, len);bufferPosition+=len;} else {if(available > 0){System.arraycopy(buffer, bufferPosition, b, offset, available);offset += available;len -= available;bufferPosition += available;}if (useBuffer && len= 0) {sb.append(string.substring(apos, k + 2)).append(\"\\\\\\\\\\\\\\\\E\\\\\\\\Q\");apos = k + 2;}return sb.append(string.substring(apos)).append(\"\\\\\\\\E\").toString();}' with prompt '// original code.java\\npublic static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append(\"\\\\\\\\Q\");int apos = 0;int k;while ((k = string.indexOf(\"\\\\\\\\E\", apos)) >= 0) {sb.append(string.substring(apos, k + 2)).append(\"\\\\\\\\\\\\\\\\E\\\\\\\\Q\");apos = k + 2;}return sb.append(string.substring(apos)).append(\"\\\\\\\\E\").toString();}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append(\"\\\\\\\\Q\");int apos = 0;int k;while ((k = string.indexOf(\"\\\\\\\\E\", apos)) >=public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append(\"\\\\\\\\Q\");int apos = 0;int k;while ((k = string.indexOf(\"\\\\\\\\E\", apos)) >= 0) {sb.append(string.substring(apos, k + 2)).append(\"\\\\\\\\\\\\\\\\E\\\\\\\\Q\");apos = k + 2;}return sb.append(string.substring(apos)).append(\"\\\\\\\\E\").toString();}'\n", + "Regenerating empty test case index 44 for 'public String toString(){final StringBuilder b = new StringBuilder();final int l = length();b.append(File.separatorChar);for (int i = 0; i < l; i++){b.append(getComponent(i));if (i < l - 1){b.append(File.separatorChar);}}return b.toString();}' with prompt '// original code.java\\npublic String toString(){final StringBuilder b = new StringBuilder();final int l = length();b.append(File.separatorChar);for (int i = 0; i < l; i++){b.append(getComponent(i));if (i < l - 1){b.append(File.separatorChar);}}return b.toString();}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public String toString(){final StringBuilder b = new StringBuilder();final int l = length();b.append(File.separatorChar);for (int i = 0; i < l; i++){b.append(getComponent(i));if (i < l - 1){b.append(File.separatorChar);}}return b.toString();}'\n", + "Regenerating empty test case index 51 for 'public List uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;}' with prompt '// original code.java\\npublic List uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public List uniqueStems(char word[], int length, boolean ignoreCase) {List stems = stem(word, length, ignoreCase);if (stems.size() < 2)public List uniqueStems(char word[], int length, boolean ignoreCase) {List stems = stem(word, length, ignoreCase);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;}'\n", + "Regenerating empty test case index 56 for 'public void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(field_4_shapeid);out.writeShort(field_6_author.length());out.writeByte(field_5_hasMultibyte ? 0x01 : 0x00);if (field_5_hasMultibyte) {StringUtil.putUnicodeLE(field_6_author, out);} else {StringUtil.putCompressedUnicode(field_6_author, out);}if (field_7_padding != null) {out.writeByte(field_7_padding.intValue());}}' with prompt '// original code.java\\npublic void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(field_4_shapeid);out.writeShort(field_6_author.length());out.writeByte(field_5_hasMultibyte ? 0x01 : 0x00);if (field_5_hasMultibyte) {StringUtil.putUnicodeLE(field_6_author, out);} else {StringUtil.putCompressedUnicode(field_6_author, out);}if (field_7_padding != null) {out.writeByte(field_7_padding.intValue());}}\\n\\n// code.cs version of code.java\\n'...\n", + "!! max size might be exceeded !!\n", + "inputs so far: // original code.java\n", + "public void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(field_4_shapeid);out.writeShort(field_6_author.length());out.writeByte(field_5_hasMultibyte? 0x01 : 0x00);if (field_5_hasMultibyte) {StringUtil.putUnicodeLE(field_6_author, out);} else {StringUtil.putCompressedUnicode(field_6_auth [ ... 970 bytes abbreviated ... ] codeLE(in);} else {field_6_author = StringUtil.getCompressedUnicode(in);}if (field_7_padding!= null)\n", + "Patched output: 'public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_shapeid = in.readShort();field_6_author.length();field_5_hasMultibyte = in.readByte()==0x01;if (field_5_hasMultibyte) {fieldpublic void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_shapeid = in.readShort();field_6_author.length();field_5_hasMultibyte = in.readByte()==0x01;if (field_5_hasMultibyte) {field_6_author = StringUtil.getUnicodeLE(in);} else {field_6_author = StringUtil.getCompressedUnicode(in);}if (field_7_padding!= null)'\n", + "Regenerating empty test case index 68 for 'public CreateRepoRequest() {super(\"cr\", \"2016-06-07\", \"CreateRepo\", \"cr\");setUriPattern(\"/repos\");setMethod(MethodType.PUT);}' with prompt '// original code.java\\npublic CreateRepoRequest() {super(\"cr\", \"2016-06-07\", \"CreateRepo\", \"cr\");setUriPattern(\"/repos\");setMethod(MethodType.PUT);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public CreateRepoRequest(String name, String description, String url, String username, String password) {super(\"cr\", name, description, url, username, password);setUriPattern(\"/repos\");setMethod(MethodType.POST);}'\n", + "Regenerating empty test case index 70 for 'public void remove() {if (expectedModCount == list.modCount) {if (lastLink != null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastLink == link) {pos--;}link = previous;lastLink = null;expectedModCount++;list.size--;list.modCount++;} else {throw new IllegalStateException();}} else {throw new ConcurrentModificationException();}}' with prompt '// original code.java\\npublic void remove() {if (expectedModCount == list.modCount) {if (lastLink != null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastLink == link) {pos--;}link = previous;lastLink = null;expectedModCount++;list.size--;list.modCount++;} else {throw new IllegalStateException();}} else {throw new ConcurrentModificationException();}}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public boolean add(ET e) {if (expectedModCount == list.modCount) {if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previouspublic boolean add(ET e) {if (expectedModCount == list.modCount) {if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastLink == link) {pos++;;}link = previous;lastLink = null;expectedModCount++;list.size++;list.modCount++;}} else {throw new ConcurrentModificationException();}} else {throw new ConcurrentModificationException();}} else {throw new ConcurrentModificationException();}}'\n", + "Regenerating empty test case index 76 for 'public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++] = byte2 & 63;}}' with prompt '// original code.java\\npublic void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++] = byte2 & 63;}}\\n\\n// code.cs version of code.java\\n'...\n", + "!! max size might be exceeded !!\n", + "inputs so far: // original code.java\n", + "public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & [ ... 1187 bytes abbreviated ... ] sOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++\n", + "Patched output: 'public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) |public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++'\n", + "Regenerating empty test case index 80 for 'public CreateVpnConnectionResult createVpnConnection(CreateVpnConnectionRequest request) {request = beforeClientExecution(request);return executeCreateVpnConnection(request);}' with prompt '// original code.java\\npublic CreateVpnConnectionResult createVpnConnection(CreateVpnConnectionRequest request) {request = beforeClientExecution(request);return executeCreateVpnConnection(request);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: '// all methods that have the \"execute\" annotation are considered part of the \"code\" cs version'\n", + "Regenerating empty test case index 82 for 'public ListMonitoringExecutionsResult listMonitoringExecutions(ListMonitoringExecutionsRequest request) {request = beforeClientExecution(request);return executeListMonitoringExecutions(request);}' with prompt '// original code.java\\npublic ListMonitoringExecutionsResult listMonitoringExecutions(ListMonitoringExecutionsRequest request) {request = beforeClientExecution(request);return executeListMonitoringExecutions(request);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public static com.amazonaws.services.elasticfilesystem.model.ListMonitoringExecutionsResult executeListMonitoringExecutions(com.amazonaws.services.elasticfilesystem.model.ListMonitoringExecutionsRequest request) {'\n", + "Regenerating empty test case index 96 for 'public String toString() {String symbol = \"\";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), \"%s(\\'%s\\')\", LexerNoViableAltException.class.getSimpleName(), symbol);}' with prompt '// original code.java\\npublic String toString() {String symbol = \"\";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), \"%s(\\'%s\\')\", LexerNoViableAltException.class.getSimpleName(), symbol);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public String toString() {String symbol = \"\";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));sypublic String toString() {String symbol = \"\";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), \"%s(\\'%s\\')\", LexerNoViableAltException.class.getSimpleName(), symbol);}'\n", + "Done, 1min 46s elapsed.\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "460593f369cd45a68f07818544ed39bb", + "model_id": "d2cea8e9c7904b559f450186cf48bbb1", "version_major": 2, "version_minor": 0 }, @@ -357,13 +922,99 @@ "output_type": "stream", "text": [ "## Loading 2B (Salesforce/codegen-2B-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Opening ./output/code2code-trans/prompt3/codegen1-multi-2B.output...\n", + "Preparing file for patching...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "fcce11ac0bca425ca4f4b012103076b6", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Regenerating empty test case index 1 for 'public void addAll(BlockList src) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdx < src.tailDirIdx; srcDirIdx++)addAll(src.directory[srcDirIdx], 0, BLOCK_SIZE);if (src.tailBlkIdx != 0)addAll(src.tailBlock, 0, src.tailBlkIdx);}' with prompt '// original code.java\\npublic void addAll(BlockList src) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdx < src.tailDirIdx; srcDirIdx++)addAll(src.directory[srcDirIdx], 0, BLOCK_SIZE);if (src.tailBlkIdx != 0)addAll(src.tailBlock, 0, src.tailBlkIdx);}\\n\\n// code.cs version of code.java\\n'...\n", + "[2024-06-25@21:32:51|model.device] Starting timer.\n", + "Configuring torch device...\n", + "Using device: cuda:0 aka cuda:0\n", + "[2024-06-25@21:32:51|model.device] Time elapsed: 5ms\n", + "[2024-06-25@21:32:51|model.tokenizer] Starting timer.\n", + "[2024-06-25@21:32:51|model.tokenizer] Time elapsed: 170ms\n", + "[2024-06-25@21:32:51|model.model] Starting timer.\n", + "Obtaining model...\n", + "[2024-06-25@21:33:26|model.model] Time elapsed: 35s 313ms\n", + "Patched output: 'public void addAll(BlockList src, int srcDirIdx, int srcBlkIdx) {if (src.size == 0)return;int srcDirIdx2 = srcDirIdx + 1;public void addAll(BlockList src, int srcDirIdx, int srcBlkIdx) {if (src.size == 0)return;int srcDirIdx2 = srcDirIdx + 1;for (; srcDirIdx2 < src.tailDirIdx; srcDirIdx2++)addAll(src.directory[srcDirIdx2], srcDirIdx, srcBlkIdx);if (src.tailBlkIdx!= 0)addAll(src.tailBlock, srcDirIdx, srcBlkIdx);}}'\n", + "Regenerating empty test case index 2 for 'public void writeByte(byte b) {if (upto == blockSize) {if (currentBlock != null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}currentBlock[upto++] = b;}' with prompt '// original code.java\\npublic void writeByte(byte b) {if (upto == blockSize) {if (currentBlock != null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}currentBlock[upto++] = b;}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public void writeBytes(String s) {if (upto + s.length() > blockSize) {if (currentBlock!= null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}'\n", + "Regenerating empty test case index 6 for 'public final String getFullMessage() {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return \"\"; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);}' with prompt '// original code.java\\npublic final String getFullMessage() {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return \"\"; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public final String getFullMessage() {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return \"\"; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);}'\n", + "Regenerating empty test case index 8 for 'public void init(int address) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice != null;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;assert upto < slice.length;}' with prompt '// original code.java\\npublic void init(int address) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice != null;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;assert upto < slice.length;}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public void init(int address, int length) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice!= null;upto = address + length;offset0 = address;assert upto < slice.length;}'\n", + "Regenerating empty test case index 13 for 'public ModifyStrategyRequest() {super(\"aegis\", \"2016-11-11\", \"ModifyStrategy\", \"vipaegis\");setMethod(MethodType.POST);}' with prompt '// original code.java\\npublic ModifyStrategyRequest() {super(\"aegis\", \"2016-11-11\", \"ModifyStrategy\", \"vipaegis\");setMethod(MethodType.POST);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public ModifyStrategyRequest(String requestName) {super(requestName, \"aegis\", \"2016-11-11\", \"ModifyStrategy\", \"vipaegis\");setMethod(MethodType.POST);}'\n", + "Regenerating empty test case index 14 for 'public boolean ready() throws IOException {synchronized (lock) {if (in == null) {throw new IOException(\"InputStreamReader is closed\");}try {return bytes.hasRemaining() || in.available() > 0;} catch (IOException e) {return false;}}}' with prompt '// original code.java\\npublic boolean ready() throws IOException {synchronized (lock) {if (in == null) {throw new IOException(\"InputStreamReader is closed\");}try {return bytes.hasRemaining() || in.available() > 0;} catch (IOException e) {return false;}}}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public boolean ready() throws IOException {synchronized (lock) {if (in == null) {throw new IOException(\"InputStreamReader is closed\");}try {return bytes.hasRemaining() || in.available() > 0;} catch (IOException e) {return false;}}}'\n", + "Regenerating empty test case index 16 for 'public synchronized int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException(\"buffer == null\");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length ? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (byte) this.buffer.charAt(pos + i);}pos += copylen;return copylen;}' with prompt '// original code.java\\npublic synchronized int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException(\"buffer == null\");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length ? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (byte) this.buffer.charAt(pos + i);}pos += copylen;return copylen;}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public synchronized int read(char[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException(\"buffer == null\");}Arrays.checkOffsetAndCount(buffer.length, offset, lengthpublic synchronized int read(char[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException(\"buffer == null\");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (char) this.buffer.charAt(pos + i);}pos += copylen;return copylen;}'\n", + "Regenerating empty test case index 29 for 'public HSSFPolygon createPolygon(HSSFChildAnchor anchor) {HSSFPolygon shape = new HSSFPolygon(this, anchor);shape.setParent(this);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;}' with prompt '// original code.java\\npublic HSSFPolygon createPolygon(HSSFChildAnchor anchor) {HSSFPolygon shape = new HSSFPolygon(this, anchor);shape.setParent(this);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public HSSFChildAnchor createAnchor() {HSSFChildAnchor anchor = new HSSFChildAnchor(this);anchor.setParent(this);anchor.setAnchor(new HSSFChildAnchor(this));shapes.add(anchor);onCreate(anchor);return anchor;}'\n", + "Regenerating empty test case index 33 for 'public void addMultipleBlanks(MulBlankRecord mbr) {for (int j = 0; j < mbr.getNumColumns(); j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}}' with prompt '// original code.java\\npublic void addMultipleBlanks(MulBlankRecord mbr) {for (int j = 0; j < mbr.getNumColumns(); j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public void addMultipleBlanks(MulBlankRecord mbr) {for (int j = 0; j < mbr.getNumColumns(); j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}}'\n", + "Regenerating empty test case index 34 for 'public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append(\"\\\\\\\\Q\");int apos = 0;int k;while ((k = string.indexOf(\"\\\\\\\\E\", apos)) >= 0) {sb.append(string.substring(apos, k + 2)).append(\"\\\\\\\\\\\\\\\\E\\\\\\\\Q\");apos = k + 2;}return sb.append(string.substring(apos)).append(\"\\\\\\\\E\").toString();}' with prompt '// original code.java\\npublic static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append(\"\\\\\\\\Q\");int apos = 0;int k;while ((k = string.indexOf(\"\\\\\\\\E\", apos)) >= 0) {sb.append(string.substring(apos, k + 2)).append(\"\\\\\\\\\\\\\\\\E\\\\\\\\Q\");apos = k + 2;}return sb.append(string.substring(apos)).append(\"\\\\\\\\E\").toString();}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public static String quote(String string, char quote) {StringBuilder sb = new StringBuilder();sb.append(quote);int apos = 0;int k;while ((k = string.indexOf(quote, apos))public static String quote(String string, char quote) {StringBuilder sb = new StringBuilder();sb.append(quote);int apos = 0;int k;while ((k = string.indexOf(quote, apos)) >= 0) {sb.append(string.substring(apos, k + 1)).append(quote).append(quote);apos = k + 1;}return sb.append(string.substring(apos)).append(quote).toString();}'\n", + "Regenerating empty test case index 36 for 'public ArrayPtg(Object[][] values2d) {int nColumns = values2d[0].length;int nRows = values2d.length;_nColumns = (short) nColumns;_nRows = (short) nRows;Object[] vv = new Object[_nColumns * _nRows];for (int r=0; r uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;}' with prompt '// original code.java\\npublic List uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public List uniqueStems(char word[], int length, Set dictionary) {List stems = stem(word, length);if (stems.size() < 2public List uniqueStems(char word[], int length, Set dictionary) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;}'\n", + "Regenerating empty test case index 56 for 'public void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(field_4_shapeid);out.writeShort(field_6_author.length());out.writeByte(field_5_hasMultibyte ? 0x01 : 0x00);if (field_5_hasMultibyte) {StringUtil.putUnicodeLE(field_6_author, out);} else {StringUtil.putCompressedUnicode(field_6_author, out);}if (field_7_padding != null) {out.writeByte(field_7_padding.intValue());}}' with prompt '// original code.java\\npublic void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(field_4_shapeid);out.writeShort(field_6_author.length());out.writeByte(field_5_hasMultibyte ? 0x01 : 0x00);if (field_5_hasMultibyte) {StringUtil.putUnicodeLE(field_6_author, out);} else {StringUtil.putCompressedUnicode(field_6_author, out);}if (field_7_padding != null) {out.writeByte(field_7_padding.intValue());}}\\n\\n// code.cs version of code.java\\n'...\n", + "!! max size might be exceeded !!\n", + "inputs so far: // original code.java\n", + "public void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(field_4_shapeid);out.writeShort(field_6_author.length());out.writeByte(field_5_hasMultibyte? 0x01 : 0x00);if (field_5_hasMultibyte) {StringUtil.putUnicodeLE(field_6_author, out);} else {StringUtil.putCompressedUnicode(field_6_auth [ ... 979 bytes abbreviated ... ] icodeLE(field_6_author, out);} else {StringUtil.putCompressedUnicode(field_6_author, out);}if (field\n", + "Patched output: 'public void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(public void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(field_4_shapeid);out.writeShort(field_6_author.length());out.writeByte(field_5_hasMultibyte? 0x01 : 0x00);if (field_5_haspublic void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(public void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(field_4_shapeid);out.writeShort(field_6_author.length());out.writeByte(field_5_hasMultibyte? 0x01 : 0x00);if (field_5_hasMultibyte) {StringUtil.putUnicodeLE(field_6_author, out);} else {StringUtil.putCompressedUnicode(field_6_author, out);}if (field'\n", + "Regenerating empty test case index 66 for 'public Pair(ContentSource oldSource, ContentSource newSource) {this.oldSource = oldSource;this.newSource = newSource;}' with prompt '// original code.java\\npublic Pair(ContentSource oldSource, ContentSource newSource) {this.oldSource = oldSource;this.newSource = newSource;}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public Pair(ContentSource oldSource, ContentSource newSource, String oldName, String newName) {this.oldSource = oldSource;this.newSource = newSource;this.oldName = oldName;this.newName = newName;}'\n", + "Regenerating empty test case index 68 for 'public CreateRepoRequest() {super(\"cr\", \"2016-06-07\", \"CreateRepo\", \"cr\");setUriPattern(\"/repos\");setMethod(MethodType.PUT);}' with prompt '// original code.java\\npublic CreateRepoRequest() {super(\"cr\", \"2016-06-07\", \"CreateRepo\", \"cr\");setUriPattern(\"/repos\");setMethod(MethodType.PUT);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public CreateRepoRequest(String repoName) {super(\"cr\", \"2016-06-07\", \"CreateRepo\", \"cr\");setUriPattern(\"/repos\");setMethod(MethodType.PUT);setRequestHeader(\"Content-Type\", \"application/json\");setRequestBody(\"{\\\\\"repo_name\\\\\":\\\\\"\"+repoName+\"\\\\\"}\");}'\n", + "Regenerating empty test case index 70 for 'public void remove() {if (expectedModCount == list.modCount) {if (lastLink != null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastLink == link) {pos--;}link = previous;lastLink = null;expectedModCount++;list.size--;list.modCount++;} else {throw new IllegalStateException();}} else {throw new ConcurrentModificationException();}}' with prompt '// original code.java\\npublic void remove() {if (expectedModCount == list.modCount) {if (lastLink != null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastLink == link) {pos--;}link = previous;lastLink = null;expectedModCount++;list.size--;list.modCount++;} else {throw new IllegalStateException();}} else {throw new ConcurrentModificationException();}}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}} else {throw new ConcurrentModificationException();}}'\n", + "Regenerating empty test case index 76 for 'public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++] = byte2 & 63;}}' with prompt '// original code.java\\npublic void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++] = byte2 & 63;}}\\n\\n// code.cs version of code.java\\n'...\n", + "!! max size might be exceeded !!\n", + "inputs so far: // original code.java\n", + "public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & [ ... 1187 bytes abbreviated ... ] sOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++\n", + "Patched output: 'public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) |public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++'\n", + "Regenerating empty test case index 80 for 'public CreateVpnConnectionResult createVpnConnection(CreateVpnConnectionRequest request) {request = beforeClientExecution(request);return executeCreateVpnConnection(request);}' with prompt '// original code.java\\npublic CreateVpnConnectionResult createVpnConnection(CreateVpnConnectionRequest request) {request = beforeClientExecution(request);return executeCreateVpnConnection(request);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public CreateVpnConnectionResult createVpnConnection(CreateVpnConnectionRequest request, AsyncHandler asyncHandler) {request = beforeClientExecution(request);return executeCreateVpnConnection(request, asyncHandler);}'\n", + "Regenerating empty test case index 83 for 'public DescribeJobRequest(String vaultName, String jobId) {setVaultName(vaultName);setJobId(jobId);}' with prompt '// original code.java\\npublic DescribeJobRequest(String vaultName, String jobId) {setVaultName(vaultName);setJobId(jobId);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public DescribeJobRequest(String vaultName, String jobId, String vaultName2, String jobId2) {setVaultName(vaultName);setJobId(jobId);setVaultName2(vaultName2);setJobId2(jobId2);}'\n", + "Regenerating empty test case index 96 for 'public String toString() {String symbol = \"\";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), \"%s(\\'%s\\')\", LexerNoViableAltException.class.getSimpleName(), symbol);}' with prompt '// original code.java\\npublic String toString() {String symbol = \"\";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), \"%s(\\'%s\\')\", LexerNoViableAltException.class.getSimpleName(), symbol);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public String toString() {String symbol = \"\";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));sypublic String toString() {String symbol = \"\";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), \"%s(\\'%s\\')\", LexerNoViableAltException.class.getSimpleName(), symbol);}'\n", + "Done, 3min 30s elapsed.\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c8c547864b1149acb099fb8f13a42ecc", + "model_id": "b8c52f21311141e0bb573ca0c15b820e", "version_major": 2, "version_minor": 0 }, @@ -379,13 +1030,117 @@ "output_type": "stream", "text": [ "## Loading 6B (Salesforce/codegen-6B-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Opening ./output/code2code-trans/prompt3/codegen1-multi-6B.output...\n", + "Preparing file for patching...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "7bda10efdfc04ab3b8b65f3cef66d11f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Regenerating empty test case index 1 for 'public void addAll(BlockList src) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdx < src.tailDirIdx; srcDirIdx++)addAll(src.directory[srcDirIdx], 0, BLOCK_SIZE);if (src.tailBlkIdx != 0)addAll(src.tailBlock, 0, src.tailBlkIdx);}' with prompt '// original code.java\\npublic void addAll(BlockList src) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdx < src.tailDirIdx; srcDirIdx++)addAll(src.directory[srcDirIdx], 0, BLOCK_SIZE);if (src.tailBlkIdx != 0)addAll(src.tailBlock, 0, src.tailBlkIdx);}\\n\\n// code.cs version of code.java\\n'...\n", + "[2024-06-25@21:36:22|model.device] Starting timer.\n", + "Configuring torch device...\n", + "Using device: cuda:0 aka cuda:0\n", + "[2024-06-25@21:36:22|model.device] Time elapsed: ~0s\n", + "[2024-06-25@21:36:22|model.tokenizer] Starting timer.\n", + "[2024-06-25@21:36:22|model.tokenizer] Time elapsed: 199ms\n", + "[2024-06-25@21:36:22|model.model] Starting timer.\n", + "Obtaining model...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:root:Some parameters are on the meta device device because they were offloaded to the cpu.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2024-06-25@21:37:48|model.model] Time elapsed: 1min 25s\n", + "Patched output: 'public void addAll(BlockList src) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdx < src.tailDirIdx; srcDirIdxpublic void addAll(BlockList src) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdx < src.tailDirIdx; srcDirIdx++)addAll(src.directory[srcDirIdx], 0, BLOCK_SIZE);if (src.tailBlkIdx!= 0)addAll(src.tailBlock, 0, src.tailBlkIdx);}}'\n", + "Regenerating empty test case index 2 for 'public void writeByte(byte b) {if (upto == blockSize) {if (currentBlock != null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}currentBlock[upto++] = b;}' with prompt '// original code.java\\npublic void writeByte(byte b) {if (upto == blockSize) {if (currentBlock != null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}currentBlock[upto++] = b;}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public void writeByte(byte b) {if (upto == blockSize) {if (currentBlock!= null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}currentBlock[upto++] = b;}'\n", + "Regenerating empty test case index 6 for 'public final String getFullMessage() {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return \"\"; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);}' with prompt '// original code.java\\npublic final String getFullMessage() {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return \"\"; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public final String getFullMessage() {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return \"\"; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);}'\n", + "Regenerating empty test case index 8 for 'public void init(int address) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice != null;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;assert upto < slice.length;}' with prompt '// original code.java\\npublic void init(int address) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice != null;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;assert upto < slice.length;}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public void init(int address, int length) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice!= null;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;assert upto + length <= slice.length;}'\n", + "Regenerating empty test case index 13 for 'public ModifyStrategyRequest() {super(\"aegis\", \"2016-11-11\", \"ModifyStrategy\", \"vipaegis\");setMethod(MethodType.POST);}' with prompt '// original code.java\\npublic ModifyStrategyRequest() {super(\"aegis\", \"2016-11-11\", \"ModifyStrategy\", \"vipaegis\");setMethod(MethodType.POST);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public ModifyStrategyRequest(String vip_id, String strategy_id, String strategy_name, String strategy_type, String strategy_status, String strategy_desc, String strategy_price, String strategy_start_time,public ModifyStrategyRequest(String vip_id, String strategy_id, String strategy_name, String strategy_type, String strategy_status, String strategy_desc, String strategy_price, String strategy_start_time, String strategy_end_time, String strategy_create_time, String strategy_update_time) {super(\"aegis\", \"2016-11-11\", \"ModifyStrategy\", \"vipaegis\");setMethod(MethodType.POST);'\n", + "Regenerating empty test case index 14 for 'public boolean ready() throws IOException {synchronized (lock) {if (in == null) {throw new IOException(\"InputStreamReader is closed\");}try {return bytes.hasRemaining() || in.available() > 0;} catch (IOException e) {return false;}}}' with prompt '// original code.java\\npublic boolean ready() throws IOException {synchronized (lock) {if (in == null) {throw new IOException(\"InputStreamReader is closed\");}try {return bytes.hasRemaining() || in.available() > 0;} catch (IOException e) {return false;}}}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public boolean ready() throws IOException {synchronized (lock) {if (in == null) {throw new IOException(\"InputStreamReader is closed\");}try {return bytes.hasRemaining() || in.available() > 0;} catch (IOException e) {return false;}}}'\n", + "Regenerating empty test case index 16 for 'public synchronized int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException(\"buffer == null\");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length ? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (byte) this.buffer.charAt(pos + i);}pos += copylen;return copylen;}' with prompt '// original code.java\\npublic synchronized int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException(\"buffer == null\");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length ? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (byte) this.buffer.charAt(pos + i);}pos += copylen;return copylen;}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public synchronized int read(char[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException(\"buffer == null\");}Arrays.checkOffsetAndCount(buffer.length, offset, lengthpublic synchronized int read(char[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException(\"buffer == null\");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = this.buffer.charAt(pos + i);}pos += copylen;return copylen;}'\n", + "Regenerating empty test case index 25 for 'public void setParams(String params) {super.setParams(params);language = country = variant = \"\";StringTokenizer st = new StringTokenizer(params, \",\");if (st.hasMoreTokens())language = st.nextToken();if (st.hasMoreTokens())country = st.nextToken();if (st.hasMoreTokens())variant = st.nextToken();}' with prompt '// original code.java\\npublic void setParams(String params) {super.setParams(params);language = country = variant = \"\";StringTokenizer st = new StringTokenizer(params, \",\");if (st.hasMoreTokens())language = st.nextToken();if (st.hasMoreTokens())country = st.nextToken();if (st.hasMoreTokens())variant = st.nextToken();}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public void setParams(String params) {super.setParams(params);language = country = variant = \"\";StringTokenizer st = new StringTokenizer(params, \",\");if (st.hasMoreTokens())language = st.nextToken();if (st.hasMoreTokens())country = st.nextToken();if (st.hasMoreTokens())variant = st.nextToken();}'\n", + "Regenerating empty test case index 27 for 'public boolean equals(Object obj) {if (!(obj instanceof FacetLabel)) {return false;}FacetLabel other = (FacetLabel) obj;if (length != other.length) {return false; }for (int i = length - 1; i >= 0; i--) {if (!components[i].equals(other.components[i])) {return false;}}return true;}' with prompt '// original code.java\\npublic boolean equals(Object obj) {if (!(obj instanceof FacetLabel)) {return false;}FacetLabel other = (FacetLabel) obj;if (length != other.length) {return false; }for (int i = length - 1; i >= 0; i--) {if (!components[i].equals(other.components[i])) {return false;}}return true;}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public boolean equals(Object obj) {if (!(obj instanceof FacetLabel)) {return false;}FacetLabel other = (FacetLabel) obj;if (length!= other.length) {return false; }for (int i = length - 1; i >= 0; i--) {if (!components[i].equals(other.components[i])) {return false;}}return true;}'\n", + "Regenerating empty test case index 29 for 'public HSSFPolygon createPolygon(HSSFChildAnchor anchor) {HSSFPolygon shape = new HSSFPolygon(this, anchor);shape.setParent(this);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;}' with prompt '// original code.java\\npublic HSSFPolygon createPolygon(HSSFChildAnchor anchor) {HSSFPolygon shape = new HSSFPolygon(this, anchor);shape.setParent(this);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public HSSFPolygon createPolygon(HSSFChildAnchor anchor, boolean isClosed) {HSSFPolygon shape = new HSSFPolygon(this, anchor, isClosed);shape.setParent(this);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;}'\n", + "Regenerating empty test case index 33 for 'public void addMultipleBlanks(MulBlankRecord mbr) {for (int j = 0; j < mbr.getNumColumns(); j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}}' with prompt '// original code.java\\npublic void addMultipleBlanks(MulBlankRecord mbr) {for (int j = 0; j < mbr.getNumColumns(); j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public void addMultipleBlanks(MulBlankRecord mbr) {for (int j = 0; j < mbr.getNumColumns(); j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}}'\n", + "Regenerating empty test case index 34 for 'public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append(\"\\\\\\\\Q\");int apos = 0;int k;while ((k = string.indexOf(\"\\\\\\\\E\", apos)) >= 0) {sb.append(string.substring(apos, k + 2)).append(\"\\\\\\\\\\\\\\\\E\\\\\\\\Q\");apos = k + 2;}return sb.append(string.substring(apos)).append(\"\\\\\\\\E\").toString();}' with prompt '// original code.java\\npublic static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append(\"\\\\\\\\Q\");int apos = 0;int k;while ((k = string.indexOf(\"\\\\\\\\E\", apos)) >= 0) {sb.append(string.substring(apos, k + 2)).append(\"\\\\\\\\\\\\\\\\E\\\\\\\\Q\");apos = k + 2;}return sb.append(string.substring(apos)).append(\"\\\\\\\\E\").toString();}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public static String quote(String string) {StringBuilder sb = new StringBuilder();int apos = 0;int k;while ((k = string.indexOf(\"\\\\\\\\\", apos)) >= 0) {sb.append(string.substring(apos, k)).append(\"\\\\\\\\\");apos = k;}return sb.append(string.substring(apos)).toString();}'\n", + "Regenerating empty test case index 36 for 'public ArrayPtg(Object[][] values2d) {int nColumns = values2d[0].length;int nRows = values2d.length;_nColumns = (short) nColumns;_nRows = (short) nRows;Object[] vv = new Object[_nColumns * _nRows];for (int r=0; r uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;}' with prompt '// original code.java\\npublic List uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public List uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySetpublic List uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;}'\n", + "Regenerating empty test case index 56 for 'public void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(field_4_shapeid);out.writeShort(field_6_author.length());out.writeByte(field_5_hasMultibyte ? 0x01 : 0x00);if (field_5_hasMultibyte) {StringUtil.putUnicodeLE(field_6_author, out);} else {StringUtil.putCompressedUnicode(field_6_author, out);}if (field_7_padding != null) {out.writeByte(field_7_padding.intValue());}}' with prompt '// original code.java\\npublic void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(field_4_shapeid);out.writeShort(field_6_author.length());out.writeByte(field_5_hasMultibyte ? 0x01 : 0x00);if (field_5_hasMultibyte) {StringUtil.putUnicodeLE(field_6_author, out);} else {StringUtil.putCompressedUnicode(field_6_author, out);}if (field_7_padding != null) {out.writeByte(field_7_padding.intValue());}}\\n\\n// code.cs version of code.java\\n'...\n", + "!! max size might be exceeded !!\n", + "inputs so far: // original code.java\n", + "public void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(field_4_shapeid);out.writeShort(field_6_author.length());out.writeByte(field_5_hasMultibyte? 0x01 : 0x00);if (field_5_hasMultibyte) {StringUtil.putUnicodeLE(field_6_author, out);} else {StringUtil.putCompressedUnicode(field_6_auth [ ... 979 bytes abbreviated ... ] icodeLE(field_6_author, out);} else {StringUtil.putCompressedUnicode(field_6_author, out);}if (field\n", + "Patched output: 'public void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(public void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(field_4_shapeid);out.writeShort(field_6_author.length());out.writeByte(field_5_hasMultibyte? 0x01 : 0x00);if (field_5_haspublic void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(public void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(field_4_shapeid);out.writeShort(field_6_author.length());out.writeByte(field_5_hasMultibyte? 0x01 : 0x00);if (field_5_hasMultibyte) {StringUtil.putUnicodeLE(field_6_author, out);} else {StringUtil.putCompressedUnicode(field_6_author, out);}if (field'\n", + "Regenerating empty test case index 59 for 'public void unsetSection(String section, String subsection) {ConfigSnapshot src, res;do {src = state.get();res = unsetSection(src, section, subsection);} while (!state.compareAndSet(src, res));}' with prompt '// original code.java\\npublic void unsetSection(String section, String subsection) {ConfigSnapshot src, res;do {src = state.get();res = unsetSection(src, section, subsection);} while (!state.compareAndSet(src, res));}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public void unsetSection(String section, String subsection) {ConfigSnapshot src, res;do {src = state.get();res = unsetSection(src, section, subsection);} while (!state.compareAndSet(src, res));}'\n", + "Regenerating empty test case index 68 for 'public CreateRepoRequest() {super(\"cr\", \"2016-06-07\", \"CreateRepo\", \"cr\");setUriPattern(\"/repos\");setMethod(MethodType.PUT);}' with prompt '// original code.java\\npublic CreateRepoRequest() {super(\"cr\", \"2016-06-07\", \"CreateRepo\", \"cr\");setUriPattern(\"/repos\");setMethod(MethodType.PUT);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public CreateRepoRequest(String repoName, String description, String homepage, String privateRepo, String gitUrl, String gitUsername, String gitPassword, String gitEmail, String gitPrivateKey, String gitPublicKey, String gitpublic CreateRepoRequest(String repoName, String description, String homepage, String privateRepo, String gitUrl, String gitUsername, String gitPassword, String gitEmail, String gitPrivateKey, String gitPublicKey, String gitPrivateKeyPassphrase, String gitPublicKeyPassphrase, String gitPrivateKeyPassphraseType, String gitPublicKeyPassphraseType, String gitPrivateKeyType, String gitPublicKeyType, String gitPrivateKeyPassphraseFile, String gitpublic CreateRepoRequest(String repoName, String description, String homepage, String privateRepo, String gitUrl, String gitUsername, String gitPassword, String gitEmail, String gitPrivateKey, String gitPublicKey, String gitpublic CreateRepoRequest(String repoName, String description, String homepage, String privateRepo, String gitUrl, String gitUsername, String gitPassword, String gitEmail, String gitPrivateKey, String gitPublicKey, String gitPrivateKeyPassphrase, String gitPublicKeyPassphrase, String gitPrivateKeyPassphraseType, String gitPublicKeyPassphraseType, String gitPrivateKeyType, String gitPublicKeyType, String gitPrivateKeyPassphraseFile, String gitPublicKeyPassphraseFile, String gitPrivateKeyPassphraseFileType, String gitPublicKeyPassphraseFileType, String gitPrivateKeyFile, String gitPublicKeyFile, String gitPrivateKeyFileType, String gitPublicKeyFileType) {'\n", + "Regenerating empty test case index 70 for 'public void remove() {if (expectedModCount == list.modCount) {if (lastLink != null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastLink == link) {pos--;}link = previous;lastLink = null;expectedModCount++;list.size--;list.modCount++;} else {throw new IllegalStateException();}} else {throw new ConcurrentModificationException();}}' with prompt '// original code.java\\npublic void remove() {if (expectedModCount == list.modCount) {if (lastLink != null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastLink == link) {pos--;}link = previous;lastLink = null;expectedModCount++;list.size--;list.modCount++;} else {throw new IllegalStateException();}} else {throw new ConcurrentModificationException();}}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public void remove() {if (expectedModCount == list.modCount) {if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.public void remove() {if (expectedModCount == list.modCount) {if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastLink == link) {pos--;}link = previous;lastLink = null;expectedModCount++;list.size--;list.modCount++;} else {throw new IllegalStateException();}} else {throw new ConcurrentModificationException();}}}} else {throw new ConcurrentModificationException();}}'\n", + "Regenerating empty test case index 76 for 'public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++] = byte2 & 63;}}' with prompt '// original code.java\\npublic void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++] = byte2 & 63;}}\\n\\n// code.cs version of code.java\\n'...\n", + "!! max size might be exceeded !!\n", + "inputs so far: // original code.java\n", + "public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & [ ... 1187 bytes abbreviated ... ] sOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++\n", + "Patched output: 'public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) |public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++'\n", + "Regenerating empty test case index 77 for 'public String getHumanishName() throws IllegalArgumentException {String s = getPath();if (\"/\".equals(s) || \"\".equals(s)) s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if (\"file\".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split(\"[\\\\\\\\\" + File.separatorChar + \"/]\"); elseelements = s.split(\"/+\"); if (elements.length == 0)throw new IllegalArgumentException();String result = elements[elements.length - 1];if (Constants.DOT_GIT.equals(result))result = elements[elements.length - 2];else if (result.endsWith(Constants.DOT_GIT_EXT))result = result.substring(0, result.length()- Constants.DOT_GIT_EXT.length());return result;}' with prompt '// original code.java\\npublic String getHumanishName() throws IllegalArgumentException {String s = getPath();if (\"/\".equals(s) || \"\".equals(s)) s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if (\"file\".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split(\"[\\\\\\\\\" + File.separatorChar + \"/]\"); elseelements = s.split(\"/+\"); if (elements.length == 0)throw new IllegalArgumentException();String result = elements[elements.length - 1];if (Constants.DOT_GIT.equals(result))result = elements[elements.length - 2];else if (result.endsWith(Constants.DOT_GIT_EXT))result = result.substring(0, result.length()- Constants.DOT_GIT_EXT.length());return result;}\\n\\n// code.cs version of code.java\\n'...\n", + "!! max size might be exceeded !!\n", + "inputs so far: // original code.java\n", + "public String getHumanishName() throws IllegalArgumentException {String s = getPath();if (\"/\".equals(s) || \"\".equals(s)) s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if (\"file\".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split(\"[\\\\\" + File.separatorChar + \"/]\"); elseelements = s.split(\"/+\"); if (elements.length == 0)t [ ... 1367 bytes abbreviated ... ] new IllegalArgumentException();String result = elements[elements.length - 1];if (Constants.DOT_GIT.\n", + "Patched output: 'public String getHumanishName() throws IllegalArgumentException {String s = getPath();if (\"/\".equals(s) || \"\".equals(s)) s = getHost();if (s == null) throw new Illegalpublic String getHumanishName() throws IllegalArgumentException {String s = getPath();if (\"/\".equals(s) || \"\".equals(s)) s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if (\"file\".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split(\"[\\\\\\\\\" + File.separatorChar + \"/]public String getHumanishName() throws IllegalArgumentException {String s = getPath();if (\"/\".equals(s) || \"\".equals(s)) s = getHost();if (s == null) throw new Illegalpublic String getHumanishName() throws IllegalArgumentException {String s = getPath();if (\"/\".equals(s) || \"\".equals(s)) s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if (\"file\".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split(\"[\\\\\\\\\" + File.separatorChar + \"/]\"); elseelements = s.split(\"/+\"); if (elements.length == 0)throw new IllegalArgumentException();String result = elements[elements.length - 1];if (Constants.DOT_GIT.'\n", + "Regenerating empty test case index 96 for 'public String toString() {String symbol = \"\";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), \"%s(\\'%s\\')\", LexerNoViableAltException.class.getSimpleName(), symbol);}' with prompt '// original code.java\\npublic String toString() {String symbol = \"\";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), \"%s(\\'%s\\')\", LexerNoViableAltException.class.getSimpleName(), symbol);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public String toString() {String symbol = \"\";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));sypublic String toString() {String symbol = \"\";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), \"%s(\\'%s\\')\", LexerNoViableAltException.class.getSimpleName(), symbol);}'\n", + "Done, 43min 57s elapsed.\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7b94113f6b9b4fdab0be1d20770eccd6", + "model_id": "be6d221802c04beebb2707be2ff43036", "version_major": 2, "version_minor": 0 }, @@ -401,18 +1156,19 @@ "output_type": "stream", "text": [ "## Loading 16B (Salesforce/codegen-16B-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Opening ./output/code2code-trans/prompt3/codegen1-multi-16B.output...\n", + "Preparing file for patching...\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b752f0d69fed43c4b1e18643a12b95f9", + "model_id": "9f6b7826b79145a1a4b6d3a0bb4d6885", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HTML(value=\"

Testing prompt index 3

\")" + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" ] }, "metadata": {}, @@ -422,19 +1178,119 @@ "name": "stdout", "output_type": "stream", "text": [ - "# Testing prompt index 3\n", + "Regenerating empty test case index 1 for 'public void addAll(BlockList src) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdx < src.tailDirIdx; srcDirIdx++)addAll(src.directory[srcDirIdx], 0, BLOCK_SIZE);if (src.tailBlkIdx != 0)addAll(src.tailBlock, 0, src.tailBlkIdx);}' with prompt '// original code.java\\npublic void addAll(BlockList src) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdx < src.tailDirIdx; srcDirIdx++)addAll(src.directory[srcDirIdx], 0, BLOCK_SIZE);if (src.tailBlkIdx != 0)addAll(src.tailBlock, 0, src.tailBlkIdx);}\\n\\n// code.cs version of code.java\\n'...\n", + "[2024-06-25@22:20:20|model.device] Starting timer.\n", + "Configuring torch device...\n", + "Using device: cuda:0 aka cuda:0\n", + "[2024-06-25@22:20:20|model.device] Time elapsed: ~0s\n", + "[2024-06-25@22:20:20|model.tokenizer] Starting timer.\n", + "[2024-06-25@22:20:21|model.tokenizer] Time elapsed: 253ms\n", + "[2024-06-25@22:20:21|model.model] Starting timer.\n", + "Obtaining model...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:root:Some parameters are on the meta device device because they were offloaded to the cpu.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2024-06-25@22:23:35|model.model] Time elapsed: 3min 14s\n", + "Patched output: 'public void addAll(BlockList src, int srcDirIdx, int srcBlkIdx, int srcOff) {if (src.size == 0)return;int srcOff2 = srcOff;for (public void addAll(BlockList src, int srcDirIdx, int srcBlkIdx, int srcOff) {if (src.size == 0)return;int srcOff2 = srcOff;for (; srcDirIdx < src.tailDirIdx; srcDirIdx++)addAll(src.directory[srcDirIdx], srcBlkIdx, srcOff2);if (src.tailBlkIdx!= 0)addAll(src.tailBlock, srcBlkIdx, srcOff2);}'\n", + "Regenerating empty test case index 2 for 'public void writeByte(byte b) {if (upto == blockSize) {if (currentBlock != null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}currentBlock[upto++] = b;}' with prompt '// original code.java\\npublic void writeByte(byte b) {if (upto == blockSize) {if (currentBlock != null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}currentBlock[upto++] = b;}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public void writeByte(byte b) {if (upto == blockSize) {if (currentBlock!= null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}currentBlock[upto++] = b;}'\n", + "Regenerating empty test case index 5 for 'public long ramBytesUsed() {return ((termOffsets!=null)? termOffsets.ramBytesUsed() : 0) +((termsDictOffsets!=null)? termsDictOffsets.ramBytesUsed() : 0);}' with prompt '// original code.java\\npublic long ramBytesUsed() {return ((termOffsets!=null)? termOffsets.ramBytesUsed() : 0) +((termsDictOffsets!=null)? termsDictOffsets.ramBytesUsed() : 0);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public long ramBytesUsed(int version) {return ((termOffsets!=null)? termOffsets.ramBytesUsed(version) : 0) +((termsDictOffsets!=null)? termsDictOffsets.ramBytesUsed(version) : 0);}'\n", + "Regenerating empty test case index 6 for 'public final String getFullMessage() {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return \"\"; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);}' with prompt '// original code.java\\npublic final String getFullMessage() {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return \"\"; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public final String getFullMessage() {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return \"\"; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);}'\n", + "Regenerating empty test case index 12 for 'public GetShardIteratorResult getShardIterator(GetShardIteratorRequest request) {request = beforeClientExecution(request);return executeGetShardIterator(request);}' with prompt '// original code.java\\npublic GetShardIteratorResult getShardIterator(GetShardIteratorRequest request) {request = beforeClientExecution(request);return executeGetShardIterator(request);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public GetShardIteratorResult getShardIterator(String streamName, String shardId, String shardIteratorType) {request = new GetShardIteratorRequest();request.setStreamName(streamName);request.setShardId(shardId);request.setShardIteratorType(shardIteratorType);return executeGetShardIterator(request);}'\n", + "Regenerating empty test case index 16 for 'public synchronized int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException(\"buffer == null\");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length ? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (byte) this.buffer.charAt(pos + i);}pos += copylen;return copylen;}' with prompt '// original code.java\\npublic synchronized int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException(\"buffer == null\");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length ? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (byte) this.buffer.charAt(pos + i);}pos += copylen;return copylen;}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public synchronized int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException(\"buffer == null\");}Arrays.checkOffsetAndCount(buffer.length, offset, lengthpublic synchronized int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException(\"buffer == null\");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (byte) this.buffer.charAt(pos + i);}pos += copylen;return copylen;}'\n", + "Regenerating empty test case index 24 for 'public CacheSubnetGroup modifyCacheSubnetGroup(ModifyCacheSubnetGroupRequest request) {request = beforeClientExecution(request);return executeModifyCacheSubnetGroup(request);}' with prompt '// original code.java\\npublic CacheSubnetGroup modifyCacheSubnetGroup(ModifyCacheSubnetGroupRequest request) {request = beforeClientExecution(request);return executeModifyCacheSubnetGroup(request);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public CacheSubnetGroup modifyCacheSubnetGroup(String subnetGroupName, String cacheSubnetGroupDescription) {request = new ModifyCacheSubnetGroupRequest();request.setCacheSubnetGroupName(subnetGroupName);request.setCacheSubnetGroupDescription(cacheSubnetGroupDescription);return modifyCacheSubnetGroup(request);}'\n", + "Regenerating empty test case index 27 for 'public boolean equals(Object obj) {if (!(obj instanceof FacetLabel)) {return false;}FacetLabel other = (FacetLabel) obj;if (length != other.length) {return false; }for (int i = length - 1; i >= 0; i--) {if (!components[i].equals(other.components[i])) {return false;}}return true;}' with prompt '// original code.java\\npublic boolean equals(Object obj) {if (!(obj instanceof FacetLabel)) {return false;}FacetLabel other = (FacetLabel) obj;if (length != other.length) {return false; }for (int i = length - 1; i >= 0; i--) {if (!components[i].equals(other.components[i])) {return false;}}return true;}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public boolean equals(Object obj) {if (!(obj instanceof FacetLabel)) {return false;}FacetLabel other = (FacetLabel) obj;if (length!= other.length) {return false; }for (int i = length - 1; i >= 0; i--) {if (!components[i].equals(other.components[i])) {return false;}}return true;}'\n", + "Regenerating empty test case index 29 for 'public HSSFPolygon createPolygon(HSSFChildAnchor anchor) {HSSFPolygon shape = new HSSFPolygon(this, anchor);shape.setParent(this);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;}' with prompt '// original code.java\\npublic HSSFPolygon createPolygon(HSSFChildAnchor anchor) {HSSFPolygon shape = new HSSFPolygon(this, anchor);shape.setParent(this);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public HSSFPolygon createPolygon(HSSFChildAnchor anchor, int[] points) {HSSFPolygon shape = new HSSFPolygon(this, anchor, points);shape.setParent(this);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;}'\n", + "Regenerating empty test case index 33 for 'public void addMultipleBlanks(MulBlankRecord mbr) {for (int j = 0; j < mbr.getNumColumns(); j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}}' with prompt '// original code.java\\npublic void addMultipleBlanks(MulBlankRecord mbr) {for (int j = 0; j < mbr.getNumColumns(); j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public void addMultipleBlanks(MulBlankRecord mbr) {for (int j = 0; j < mbr.getNumColumns(); j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}}'\n", + "Regenerating empty test case index 34 for 'public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append(\"\\\\\\\\Q\");int apos = 0;int k;while ((k = string.indexOf(\"\\\\\\\\E\", apos)) >= 0) {sb.append(string.substring(apos, k + 2)).append(\"\\\\\\\\\\\\\\\\E\\\\\\\\Q\");apos = k + 2;}return sb.append(string.substring(apos)).append(\"\\\\\\\\E\").toString();}' with prompt '// original code.java\\npublic static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append(\"\\\\\\\\Q\");int apos = 0;int k;while ((k = string.indexOf(\"\\\\\\\\E\", apos)) >= 0) {sb.append(string.substring(apos, k + 2)).append(\"\\\\\\\\\\\\\\\\E\\\\\\\\Q\");apos = k + 2;}return sb.append(string.substring(apos)).append(\"\\\\\\\\E\").toString();}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append(\"\\\\\\\\Q\");int apos = 0;int k;while ((k = string.indexOf(\"\\\\\\\\E\", apos)) >=public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append(\"\\\\\\\\Q\");int apos = 0;int k;while ((k = string.indexOf(\"\\\\\\\\E\", apos)) >= 0) {sb.append(string.substring(apos, k + 2)).append(\"\\\\\\\\\\\\\\\\E\\\\\\\\Q\");apos = k + 2;}return sb.append(string.substring(apos)).append(\"\\\\\\\\E\").toString();}'\n", + "Regenerating empty test case index 36 for 'public ArrayPtg(Object[][] values2d) {int nColumns = values2d[0].length;int nRows = values2d.length;_nColumns = (short) nColumns;_nRows = (short) nRows;Object[] vv = new Object[_nColumns * _nRows];for (int r=0; r uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;}' with prompt '// original code.java\\npublic List uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public List uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySetpublic List uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;}'\n", + "Regenerating empty test case index 56 for 'public void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(field_4_shapeid);out.writeShort(field_6_author.length());out.writeByte(field_5_hasMultibyte ? 0x01 : 0x00);if (field_5_hasMultibyte) {StringUtil.putUnicodeLE(field_6_author, out);} else {StringUtil.putCompressedUnicode(field_6_author, out);}if (field_7_padding != null) {out.writeByte(field_7_padding.intValue());}}' with prompt '// original code.java\\npublic void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(field_4_shapeid);out.writeShort(field_6_author.length());out.writeByte(field_5_hasMultibyte ? 0x01 : 0x00);if (field_5_hasMultibyte) {StringUtil.putUnicodeLE(field_6_author, out);} else {StringUtil.putCompressedUnicode(field_6_author, out);}if (field_7_padding != null) {out.writeByte(field_7_padding.intValue());}}\\n\\n// code.cs version of code.java\\n'...\n", + "!! max size might be exceeded !!\n", + "inputs so far: // original code.java\n", + "public void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(field_4_shapeid);out.writeShort(field_6_author.length());out.writeByte(field_5_hasMultibyte? 0x01 : 0x00);if (field_5_hasMultibyte) {StringUtil.putUnicodeLE(field_6_author, out);} else {StringUtil.putCompressedUnicode(field_6_auth [ ... 985 bytes abbreviated ... ] author = StringUtil.readUnicodeLE(in);} else {field_6_author = StringUtil.readCompressedUnicode(in);\n", + "Patched output: 'public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_shapeid = in.readShort();field_6_author = StringUtil.readCompressedUnicode(in);field_5_hasMultibyte = in.readByte() == 0x01;if (fieldpublic void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_shapeid = in.readShort();field_6_author = StringUtil.readCompressedUnicode(in);field_5_hasMultibyte = in.readByte() == 0x01;if (field_5_hasMultibyte) {field_6_author = StringUtil.readUnicodeLE(in);} else {field_6_author = StringUtil.readCompressedUnicode(in);'\n", + "Regenerating empty test case index 59 for 'public void unsetSection(String section, String subsection) {ConfigSnapshot src, res;do {src = state.get();res = unsetSection(src, section, subsection);} while (!state.compareAndSet(src, res));}' with prompt '// original code.java\\npublic void unsetSection(String section, String subsection) {ConfigSnapshot src, res;do {src = state.get();res = unsetSection(src, section, subsection);} while (!state.compareAndSet(src, res));}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public ConfigSnapshot unsetSection(ConfigSnapshot src, String section, String subsection) {ConfigSnapshot res = src;if (src.hasSection(section, subsection)) {res = src.removeSection(section, subsection);} return res;}'\n", + "Regenerating empty test case index 70 for 'public void remove() {if (expectedModCount == list.modCount) {if (lastLink != null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastLink == link) {pos--;}link = previous;lastLink = null;expectedModCount++;list.size--;list.modCount++;} else {throw new IllegalStateException();}} else {throw new ConcurrentModificationException();}}' with prompt '// original code.java\\npublic void remove() {if (expectedModCount == list.modCount) {if (lastLink != null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastLink == link) {pos--;}link = previous;lastLink = null;expectedModCount++;list.size--;list.modCount++;} else {throw new IllegalStateException();}} else {throw new ConcurrentModificationException();}}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public void remove() {if (expectedModCount == list.modCount) {if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.public void remove() {if (expectedModCount == list.modCount) {if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastLink == link) {pos--;}link = previous;lastLink = null;expectedModCount++;list.size--;list.modCount++;} else {throw new IllegalStateException();}} else {throw new ConcurrentModificationException();}}'\n", + "Regenerating empty test case index 71 for 'public MergeShardsResult mergeShards(MergeShardsRequest request) {request = beforeClientExecution(request);return executeMergeShards(request);}' with prompt '// original code.java\\npublic MergeShardsResult mergeShards(MergeShardsRequest request) {request = beforeClientExecution(request);return executeMergeShards(request);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public MergeShardsResult mergeShards(String index, String shard, String target, String[] source, String[] targetShards) {request = new MergeShardsRequest(index, shard, target, source, targetShards);return executeMergeShards(request);}'\n", + "Regenerating empty test case index 72 for 'public AllocateHostedConnectionResult allocateHostedConnection(AllocateHostedConnectionRequest request) {request = beforeClientExecution(request);return executeAllocateHostedConnection(request);}' with prompt '// original code.java\\npublic AllocateHostedConnectionResult allocateHostedConnection(AllocateHostedConnectionRequest request) {request = beforeClientExecution(request);return executeAllocateHostedConnection(request);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public AllocateHostedConnectionResult allocateHostedConnection(AllocateHostedConnectionRequest request, IEnumerable requestIds) {request = beforeClientExecution(request);return executeAllocateHostedConnection(request, requestIds);}'\n", + "Regenerating empty test case index 76 for 'public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++] = byte2 & 63;}}' with prompt '// original code.java\\npublic void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++] = byte2 & 63;}}\\n\\n// code.cs version of code.java\\n'...\n", + "!! max size might be exceeded !!\n", + "inputs so far: // original code.java\n", + "public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & [ ... 1187 bytes abbreviated ... ] sOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++\n", + "Patched output: 'public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) |public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++'\n", + "Regenerating empty test case index 77 for 'public String getHumanishName() throws IllegalArgumentException {String s = getPath();if (\"/\".equals(s) || \"\".equals(s)) s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if (\"file\".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split(\"[\\\\\\\\\" + File.separatorChar + \"/]\"); elseelements = s.split(\"/+\"); if (elements.length == 0)throw new IllegalArgumentException();String result = elements[elements.length - 1];if (Constants.DOT_GIT.equals(result))result = elements[elements.length - 2];else if (result.endsWith(Constants.DOT_GIT_EXT))result = result.substring(0, result.length()- Constants.DOT_GIT_EXT.length());return result;}' with prompt '// original code.java\\npublic String getHumanishName() throws IllegalArgumentException {String s = getPath();if (\"/\".equals(s) || \"\".equals(s)) s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if (\"file\".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split(\"[\\\\\\\\\" + File.separatorChar + \"/]\"); elseelements = s.split(\"/+\"); if (elements.length == 0)throw new IllegalArgumentException();String result = elements[elements.length - 1];if (Constants.DOT_GIT.equals(result))result = elements[elements.length - 2];else if (result.endsWith(Constants.DOT_GIT_EXT))result = result.substring(0, result.length()- Constants.DOT_GIT_EXT.length());return result;}\\n\\n// code.cs version of code.java\\n'...\n", + "!! max size might be exceeded !!\n", + "inputs so far: // original code.java\n", + "public String getHumanishName() throws IllegalArgumentException {String s = getPath();if (\"/\".equals(s) || \"\".equals(s)) s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if (\"file\".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split(\"[\\\\\" + File.separatorChar + \"/]\"); elseelements = s.split(\"/+\"); if (elements.length == 0)t [ ... 1367 bytes abbreviated ... ] new IllegalArgumentException();String result = elements[elements.length - 1];if (Constants.DOT_GIT.\n", + "Patched output: 'public String getHumanishName() throws IllegalArgumentException {String s = getPath();if (\"/\".equals(s) || \"\".equals(s)) s = getHost();if (s == null) throw new Illegalpublic String getHumanishName() throws IllegalArgumentException {String s = getPath();if (\"/\".equals(s) || \"\".equals(s)) s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if (\"file\".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split(\"[\\\\\\\\\" + File.separatorChar + \"/]public String getHumanishName() throws IllegalArgumentException {String s = getPath();if (\"/\".equals(s) || \"\".equals(s)) s = getHost();if (s == null) throw new Illegalpublic String getHumanishName() throws IllegalArgumentException {String s = getPath();if (\"/\".equals(s) || \"\".equals(s)) s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if (\"file\".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split(\"[\\\\\\\\\" + File.separatorChar + \"/]\"); elseelements = s.split(\"/+\"); if (elements.length == 0)throw new IllegalArgumentException();String result = elements[elements.length - 1];if (Constants.DOT_GIT.'\n", + "Regenerating empty test case index 96 for 'public String toString() {String symbol = \"\";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), \"%s(\\'%s\\')\", LexerNoViableAltException.class.getSimpleName(), symbol);}' with prompt '// original code.java\\npublic String toString() {String symbol = \"\";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), \"%s(\\'%s\\')\", LexerNoViableAltException.class.getSimpleName(), symbol);}\\n\\n// code.cs version of code.java\\n'...\n", + "Patched output: 'public String toString() {String symbol = \"\";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));sypublic String toString() {String symbol = \"\";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), \"%s(\\'%s\\')\", LexerNoViableAltException.class.getSimpleName(), symbol);}'\n", + "Done, 3hr 57min 40s elapsed.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "8412d231b1964716b15aa70b9aa69396", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HTML(value=\"

Testing prompt index 4

\")" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "# Testing prompt index 4\n", "Prompt to be tested:\n", - "// original code.java\n", + "// This code is written in Java. Reproduce the same exact code in C#.\n", "{prompt}\n", - "\n", - "// code.cs version of code.java\n", + "// This code is written in C#.\n", "\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f9f25fc73adb4547805f8b79575ab56f", + "model_id": "d2088acec4384e2998218e21e071b190", "version_major": 2, "version_minor": 0 }, @@ -450,13 +1306,35 @@ "output_type": "stream", "text": [ "## Loading 350M (Salesforce/codegen-350M-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Opening ./output/code2code-trans/prompt4/codegen1-multi-350M.output...\n", + "Preparing file for patching...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "20ca84eb3ff94be58ad0adec4df742f9", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 50ms elapsed.\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3d356bc0e6dc41d9aa0329c23a0f5c77", + "model_id": "7f027af7ebe1427b9b26126aac8e98e2", "version_major": 2, "version_minor": 0 }, @@ -472,13 +1350,35 @@ "output_type": "stream", "text": [ "## Loading 2B (Salesforce/codegen-2B-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Opening ./output/code2code-trans/prompt4/codegen1-multi-2B.output...\n", + "Preparing file for patching...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "bbee28faf3a043c2b1cf3507295fc983", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 52ms elapsed.\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1def7340c9b04a39b3a9fadd6f168150", + "model_id": "c292d9076a594cfb9e4234739b835677", "version_major": 2, "version_minor": 0 }, @@ -494,13 +1394,35 @@ "output_type": "stream", "text": [ "## Loading 6B (Salesforce/codegen-6B-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Opening ./output/code2code-trans/prompt4/codegen1-multi-6B.output...\n", + "Preparing file for patching...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c67ba8a94bf84115a672a4ccf982cf60", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 45ms elapsed.\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "fa24192254c84f94ad355a0053bbf4b9", + "model_id": "7b2af446f624414c868b74dbe8365757", "version_major": 2, "version_minor": 0 }, @@ -516,14 +1438,36 @@ "output_type": "stream", "text": [ "## Loading 16B (Salesforce/codegen-16B-multi)\n", - "No new cases necessary to generate, not loading model\n" + "Opening ./output/code2code-trans/prompt4/codegen1-multi-16B.output...\n", + "Preparing file for patching...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5d5f59f190d143c6a98dad1d8e911481", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntProgress(value=0, description='Progress:'), Label(value='Estimated time remaining: calculati…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done, 39ms elapsed.\n" ] } ], "source": [ "runner.run_battery(\n", " family=ModelFamily.CodeGen1.multi,\n", - " #patch=True,\n", + " patch=True,\n", ")" ] }, @@ -537,7 +1481,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 7, "id": "d8f3fcc3-8b54-41ae-9cda-50ef4da47efd", "metadata": {}, "outputs": [], @@ -548,10 +1492,18 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "id": "d34b9b8e-4b89-4f95-8f45-fbc177940664", "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.8/dist-packages/tree_sitter/__init__.py:36: FutureWarning: Language(path, name) is deprecated. Use Language(ptr, name) instead.\n", + " warn(\"{} is deprecated. Use {} instead.\".format(old, new), FutureWarning)\n" + ] + }, { "name": "stdout", "output_type": "stream", @@ -561,7 +1513,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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55wZLRoDt0bzrzWfMDSpT6V1CwoKAHDw/QWr5ogJ0DhxITc31+3+Qar1uIxGDCNG0Oapp9DKPa+vjEYuLliApX37+u289LGpJuCu5wua5ticLSaA88cF+RtzPXJc9rEnLjg0sTh//jxms5mwsDCb5WFhYRyt2IPFddnZ2VWun52dXeX6CxcuZP78+ZWWR0VF1bmc43pP5bfql5WW/6X3u/wzbUWdv6fWfaQ17T7s5YxlEjWr6pwZLRrr//wPxk26u9rtCgoKCAwMbOri1ao5YgI0TlxoySYDK9D/ASkBpprN/C021rGFEo3KWWICSFwQwlnUJS44vI1FU5s9e7bNXQuLxcKFCxcIDg5G07Qat83Pz6djx4689uEzVVb9/I2+/I2XG73MTb2P0uM6depUvaq6m+O466uhx+asmuqcKaUoKCigfX3vNLuoxogLLf1vrLDc/J+uT87IXc8XNM2xtdSYAPWPC/I35nrkuOxjT1xwaGIREhKC0WgkJyfHZnlOTg7h1QzYFB4ebtf63t7eeHt72yxr06aNXeUMCAhwqz+8Uu56XOC+x9YUx+UsdyWheWICSFyoiRyX62nsY3OmmACuExfkb8z1yHHVXV3jgkO7xfDy8qJfv35s377dusxisbB9+3YGlR/sqZxBgwbZrA+wbdu2atcXQrgOiQlCiIokLgjhOhz+KNSMGTNITk6mf//+DBgwgNdee40rV64wadIkACZMmECHDh1YuHAhANOnT2fo0KEsXryYUaNG8e6777J//35WrlzpyMMQQjQSiQlCiIokLgjhGhyeWIwfP56ffvqJ5557juzsbHr37s1HH31kbXR18uRJvU/16wYPHsz69et55plnmDNnDjExMWzatKlJ+qX29vZm7ty5lapGXZ27Hhe477G563FVxZljArjvuZDjcj3ufGwVOXNccOfz4K7HJsfVdBw+joUQQgghhBDC9bWwoUeFEEIIIYQQTUESCyGEEEIIIUSDSWIhhBBCCCGEaDBJLIQQQgghhBANJolFDZYuXcoNN9yAj48P8fHxfPXVV44uUoPMmzcPTdNspptuusnRxbLbzp07SUpKon379miaxqZNm2w+V0rx3HPPERERga+vL8OHDyczM9MxhbVTbcc2ceLESudwxIgRjilsC+RuMQEkLjg7iQnOz93igrvEBJC44Ii4IIlFNTZu3MiM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dg0Ag8HA66+/zpEjR1i7di2ffvops2bNslm/sLCQRYsW8dZbb3HkyBFCQ0MpKCggOTmZL774gr179xITE0NiYiIFBQU2277wwgtMmDCBtLQ0brrpJh544AGmTp3K7Nmz2b9/P0opfvvb31rX37VrFxMmTGD69Ol8++23rFixgjVr1rBgwQIA9u3bB8Dq1as5e/as9X1t25WaN28e9913H9988w2TJ0/m2Wef5dtvv+U///kP3333HcuWLSMkJKTa327Xrl3069evys+efPJJFi9ezL59+2jXrh1JSUn1utNRlYkTJ7J//342b95MamoqSikSExNtvr+wsJBXX32VdevWsXPnTk6ePMnMmTMBKCkpYezYsQwdOpSvv/6a1NRUHnnkETRNs27fv39/SkpK+PLLLxulzMK1SFyQuCBxQZQnMUFigkvGBCWaVHJyshozZoxSSimLxaK2bdumvL291cyZM6tc//3331fBwcHW96tXr1aASktLq3E/ZrNZtW7dWn344YfWZYB65plnrO9TU1MVoFatWmVdtmHDBuXj42N9P2zYMPXSSy/ZfPe6detURESEzfd+8MEHNuvUdbvHH3/cZp2kpCQ1adKkGo+tvDFjxqjJkyfbLPvss88UoN59913rstzcXOXr66s2btyolNJ/x8DAQOvnc+fOVXFxcdb35c+TUkoNHTpUTZ8+XSmlVEZGhgLU7t27rZ+fP39e+fr6qvfee8/6/YDKysqyrrN06VIVFhZmLQ+gduzYUePxtW3bVq1Zs6b2H0K4NIkLEhdKyyNxQSglMUFigvvEBI9myl9atC1bttCqVStMJhMWi4UHHniAefPmAfDJJ5+wcOFCjh49Sn5+PiUlJRQXF1NYWIifnx+gP1MXGxtr8505OTk888wz7Nixg3PnzmE2myksLOTkyZM265XfLiwsDIBevXrZLCsuLiY/P5+AgAAOHTrE7t27be4emM3mSmWqqK7b9e/f32a7adOmMW7cOA4ePMg999zD2LFjGTx4cLW/ZVFRET4+PlV+NmjQIOt8UFAQ3bp147vvvqv2u+rqu+++w8PDg/j4eOuy4ODgSt/v5+fHjTfeaH0fERHBuXPnrOWZOHEiCQkJ3H333QwfPpz/+7//IyIiwmZfvr6+FBYWNrjMwvlJXJC4IHFBlCcxQWKCO8QEeRSqGdx5552kpaWRmZlJUVERa9euxd/fnxMnTjB69GhiY2P55z//yYEDB1i6dCmAtfoT9D+g8tVgAMnJyaSlpfHnP/+ZPXv2kJaWRnBwsM12AJ6entb50u+oallpI6/Lly8zf/580tLSrNM333xDZmZmtf+T2rOdv7+/zXYjR47khx9+4Pe//z1nzpxh2LBh1irBqoSEhJCXl1ft545U/ncF/bdVSlnfr169mtTUVAYPHszGjRvp2rUre/futdnmwoULtGvXrlnKKxxL4oLEBZC4IMpITJCYAK4fE6TGohn4+/sTHR1dafmBAwewWCwsXrwYg0HP8d577706fefu3bt58803SUxMBODUqVOcP3++wWXt27cv6enpVZa3lKenJ2az2e7tqtOuXTuSk5NJTk7mtttu48knn+TVV1+tct0+ffrw97//vcrP9u7dS6dOnQC9AVVGRgbdu3e3uzwVde/e3fo8Y+kdktzcXNLT0+nRo4dd39WnTx/69OnD7NmzGTRoEOvXr7c2Ljt27BjFxcX06dOnwWUWzk/iQs0kLkhcaGkkJtRMYoJrxARJLBwoOjoak8nEG2+8QVJSErt372b58uV12jYmJoZ169bRv39/8vPzefLJJ/H19W1wmZ577jlGjx5Np06d+PnPf47BYODQoUMcPnyYF198EdB7e9i+fTtDhgzB29ubtm3b1mm76vbXr18/evbsydWrV9myZUuN/4MnJCQwe/Zs8vLyaNu2rc1nzz//PMHBwYSFhfH0008TEhJiM5BNfcXExDBmzBgefvhhVqxYQevWrXnqqafo0KEDY8aMqdN3HD9+nJUrV3LvvffSvn170tPTyczMZMKECdZ1du3aRZcuXWyqSEXLI3FB4oLEBVGexASJCa4UE+RRKAeKi4tjyZIlLFq0iJtvvpl33nmHhQsX1mnbVatWkZeXR9++fXnooYf43e9+Z1ffy9VJSEhgy5YtfPzxx9xyyy0MHDiQP/3pT3Tu3Nm6zuLFi9m2bRsdO3a0Zsx12a4qXl5ezJ49m9jYWG6//XaMRiPvvvtutev36tWLvn37Vnm35o9//CPTp0+nX79+ZGdn8+GHH+Ll5VXPX8LW6tWr6devH6NHj2bQoEEopUhJSalUpVkdPz8/jh49yrhx4+jatSuPPPIIv/nNb5g6dap1nQ0bNvDwww83SnmF65K4IHFB4oIoT2KCxARXigmaKv9glxAuYOvWrTz55JMcPnzYWi3s6o4cOcJdd91FRkYGgYGBji6OEC5H4oIQojyJCY4hj0IJlzNq1CgyMzP58ccf6dixo6OL0yjOnj3L22+/7bSBQghnJ3FBCFGexATHkBoLIYQQQgghRIO5R92QEEIIIYQQwqEksRBCCCGEEEI0mCQWQgghhBBCiAaTxEIIIYQQQgjRYJJYCCGEEEIIIRpMEgshhBBCCCFEg0liIYQQQgghhGgwSSyEEEIIIYQQDSaJhRBCCCGEEKLB/h/yoh43eSlJjwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] @@ -575,7 +1527,8 @@ "[{'prompt0': [0.0, 0.0, 0.0, 0.0],\n", " 'prompt1': [0.0, 0.0, 0.0, 0.0],\n", " 'prompt2': [0.0, 0.0, 0.0, 0.0],\n", - " 'prompt3': [0.0, 0.0, 0.0, 0.0]},\n", + " 'prompt3': [0.0, 0.0, 0.0, 0.0],\n", + " 'prompt4': [0.0, 0.0, 0.0, 0.0]},\n", " {'prompt0': [0.14744789748224357,\n", " 0.12727270151090614,\n", " 0.1393528404051602,\n", @@ -588,29 +1541,37 @@ " 0.03637304434009434,\n", " 0.008308461926085538,\n", " 0.02466904576809074],\n", - " 'prompt3': [0.015706555118775244,\n", - " 0.020436617309708652,\n", - " 0.020881900494266446,\n", - " 0.02689716575735942]},\n", - " {'prompt0': [0.22905727956582494,\n", - " 0.23617902012442155,\n", - " 0.2613782829466277,\n", + " 'prompt3': [0.12950326298150572,\n", + " 0.1217671970249805,\n", + " 0.11636460025696847,\n", + " 0.12809497381086776],\n", + " 'prompt4': [0.07166091662227538,\n", + " 0.1021041026142536,\n", + " 0.0993892353238927,\n", + " 0.1029306162766804]},\n", + " {'prompt0': [0.2286190674711711,\n", + " 0.23661723221907538,\n", + " 0.2607209648046469,\n", " 0.26818107073706954],\n", - " 'prompt1': [0.19402742458113337,\n", - " 0.15936101249631518,\n", - " 0.18051152500315965,\n", + " 'prompt1': [0.1935892124864796,\n", + " 0.15958011854364207,\n", + " 0.17963510081385203,\n", " 0.26547690149663683],\n", - " 'prompt2': [0.18166417631938353,\n", - " 0.09415470281717575,\n", - " 0.03251950621663942,\n", - " 0.06503135542869536],\n", - " 'prompt3': [0.07928639158475127,\n", - " 0.08881636926079384,\n", - " 0.08986404204424117,\n", - " 0.10575441586271458]}]" + " 'prompt2': [0.18144507027205664,\n", + " 0.09481202095915646,\n", + " 0.03295771831129324,\n", + " 0.06459314333404155],\n", + " 'prompt3': [0.2168927246110565,\n", + " 0.2186657990926788,\n", + " 0.23695721447989634,\n", + " 0.25288623768046614],\n", + " 'prompt4': [0.1991849648815438,\n", + " 0.18156185152262655,\n", + " 0.15509100253937574,\n", + " 0.18656894207313873]}]" ] }, - "execution_count": 7, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } diff --git a/figs/b2f-all.png b/figs/b2f-all.png index b259b39..dfe3d81 100644 Binary files a/figs/b2f-all.png and b/figs/b2f-all.png differ diff --git a/figs/b2f-cl-all.png b/figs/b2f-cl-all.png index ca42299..7d3a9a1 100644 Binary files a/figs/b2f-cl-all.png and b/figs/b2f-cl-all.png differ diff --git a/figs/c2c-all.png b/figs/c2c-all.png index d528aa1..e4317e6 100644 Binary files a/figs/c2c-all.png and b/figs/c2c-all.png differ diff --git a/output/bugs2fix/metrics.json b/output/bugs2fix/metrics.json index d7f9fdf..ec9031f 100644 --- a/output/bugs2fix/metrics.json +++ b/output/bugs2fix/metrics.json @@ -1 +1 @@ -{"case_count": 100, "results": {"em": {"prompt0": [0.0, 0.0, 0.0, 0.0], "prompt1": [0.0, 0.0, 0.0, 0.0], "prompt2": [0.0, 0.0, 0.0, 0.01]}, "bleu": {"prompt0": [0.48820137569847905, 0.5006341113747632, 0.45705067969834523, 0.5606953700959482], "prompt1": [0.14156945771243312, 0.18010279725351888, 0.22966604098260265, 0.17465742390969388], "prompt2": [0.49204938063614584, 0.5989108295800651, 0.4641603674764887, 0.5688964125027325]}, "codebleu-java": {"prompt0": [0.6133823854504274, 0.6463875095979323, 0.5699422358685238, 0.6491634904813729], "prompt1": [0.18617262820091549, 0.2634117729357921, 0.31108544782004577, 0.26415028332874624], "prompt2": [0.5917528825148218, 0.6908598542659203, 0.5498833751741166, 0.6594912699189425]}}} \ No newline at end of file +{"case_count": 100, "results": {"em": {"prompt0": [0.0, 0.0, 0.0, 0.0], "prompt1": [0.0, 0.0, 0.0, 0.0], "prompt2": [0.0, 0.0, 0.0, 0.01]}, "bleu": {"prompt0": [0.48820137569847905, 0.5006341113747632, 0.45705067969834523, 0.5606953700959482], "prompt1": [0.14156945771243312, 0.18010279725351888, 0.22966604098260265, 0.17465742390969388], "prompt2": [0.49204938063614584, 0.5989108295800651, 0.4641603674764887, 0.5688964125027325]}, "codebleu-java": {"prompt0": [0.6139429235670194, 0.6463875095979323, 0.5699422358685238, 0.6491634904813729], "prompt1": [0.18673316631750742, 0.2634117729357921, 0.3133276002864135, 0.2635897452121543], "prompt2": [0.5934344968645976, 0.6908598542659203, 0.5498833751741166, 0.6594912699189425]}}} \ No newline at end of file diff --git a/output/bugs2fix/prompt2/.ipynb_checkpoints/codegen1-multi-16B-checkpoint.output b/output/bugs2fix/prompt2/.ipynb_checkpoints/codegen1-multi-16B-checkpoint.output new file mode 100644 index 0000000..495e666 --- /dev/null +++ b/output/bugs2fix/prompt2/.ipynb_checkpoints/codegen1-multi-16B-checkpoint.output @@ -0,0 +1,100 @@ +private TYPE_1 getType ( TYPE_2 VAR_1 ) { return new TYPE_1 ( VAR_1, VAR_1 ) ; } +public TYPE_1 METHOD_1 ( ) { TYPE_1 output = VAR_1 [ VAR_2 ] ; if ( ( VAR_2 ) > 0 ) { VAR_2 = ( VAR_2 ) - 1 ; } else { } return output ; } +private void METHOD_2 ( android.content.Intent intent ) { android.content.Intent intent = new android.content.Intent ( this, VAR_1 ) ; } +public void METHOD_1 ( ) { for ( TYPE_1 VAR_1 : VAR_2 ) VAR_1. METHOD_2 ( ) ; METHOD_3 ( ) ; if ( ( VAR_3 )!= null ) VAR_3. METHOD_1 ( ) ; } +public void METHOD_1 ( ) { TYPE_1. METHOD_2 ( METHOD_3 ( ), METHOD_4 ( ). getString ( VAR_1 ), VAR_2 ). show ( ) ; } +public TYPE_1 METHOD_1 ( TYPE_1 VAR_1 ) { VAR_2 [ ( VAR_1. position ) ] = isEmpty ( ) ; VAR_1. position += 1 ; VAR_3 = METHOD_2 ( VAR_1. position ) ; return VAR_1 ; } +private static boolean METHOD_2 ( final byte status ) { return status == ( VAR_2 ) ; } +public void METHOD_2 ( int VAR_1, TYPE_1 VAR_2 ) { this. VAR_3. add ( VAR_1, VAR_2 ) ; } +public char getColor ( ) throws java.io.IOException { VAR_1. METHOD_1 ( ( STRING_1 + "\n" ) ) ; java.lang.String response = VAR_2. METHOD_2 ( ) ; java.lang.System.out.println ( response ) ; return response. METHOD_3 ( 0 ) ; } +public void METHOD_1 ( final java.lang.String... VAR_1 ) { if ( VAR_1!= null ) format. METHOD_2 ( ). METHOD_3 ( VAR_2, VAR_1 ) ; } +public void METHOD_2 ( TYPE_2 VAR_2, TYPE_3 VAR_3 ) { VAR_4 = 0 ; VAR_5 = ( ( double ) ( VAR_2 ) ) / FLOAT_1 ; VAR_6 = new java.lang.Double ( VAR_5 ). toString ( ) ; VAR_7. setText ( VAR_6 ) ; } +public boolean METHOD_1 ( TYPE_1 item ) { switch ( item. METHOD_2 ( ) ) { case VAR_1 : return true ; case VAR_2 : return true ; default : return super. METHOD_1 ( item ) ; } } +public void METHOD_1 ( TYPE_1 VAR_1 ) { } +public java.lang.Boolean METHOD_1 ( java.lang.String id ) { return VAR_1. METHOD_1 ( id ) ; } +public void METHOD_1 ( TYPE_1 VAR_1 ) { super. METHOD_1 ( VAR_1 ) ; VAR_2. METHOD_2 ( VAR_1 ) ; VAR_3.public void METHOD_1 ( TYPE_1 VAR_1 ) { super. METHOD_1 ( VAR_1 ) ; VAR_2. METHOD_2 ( VAR_1 ) ; VAR_3. METHOD_3 ( VAR_1 ) ; VAR_4. METHOD_4 ( VAR_1 ) ; VAR_5. METHOD_4 ( VAR_1 ) ; METHOD_5 ( VAR_1 ) ; } +private static native void METHOD_2 ( long set ) ; +public java.lang.Boolean METHOD_1 ( TYPE_1 VAR_1, TYPE_2 VAR_2 ) { int count = VAR_3. METHOD_2 ( VAR_1 ) ; return count > 0 ; } +public void METHOD_1 ( ) { if ( ( VAR_1. METHOD_2 ( ) ) && ( VAR_1. METHOD_3 ( VAR_1, this ) ) ) { VAR_1. METHOD_4 ( ) ; } VAR_2 = false ; } +public < TYPE_1 > TYPE_1 METHOD_1 ( final java.lang.Object VAR_1, final java.lang.Class < TYPE_1 > VAR_2, final java.lang.Object VAR_3 ) { return METHOD_1 ( VAR_1, VAR_2, VAR_3 ) ; } +public void METHOD_1 ( TYPE_1 VAR_1 ) { TYPE_2. METHOD_2 ( VAR_2, ( STRING_1 + VAR_1 ) ) ; TYPE_3. METHOD_3 ( this, STRING_2, VAR_3 ). show ( ) ; } +public void METHOD_1 ( TYPE_1 VAR_1 ) { if ( VAR_2 ) { VAR_3. setText ( TYPE_2. METHOD_2 ( ( ( TYPE_3 ) ( VAR_3. getContext ( ) ) ) ) ) ; } VAR_2 =! ( VAR_2 ) ; } +private void METHOD_2 ( ) { METHOD_3 ( ) ; } +public void METHOD_1 ( TYPE_1 VAR_1, boolean VAR_2, boolean VAR_3 ) { this. METHOD_1 ( VAR_1, VAR_2, VAR_3 ) ; } +private void METHOD_1 ( ) { android.content.Intent intent = new android.content.Intent ( this, VAR_1 class ) ; int index = TYPE_1. METHOD_2 ( ). METHOD_3 ( ) ; intent. METHOD_4 ( STRING_1, index ) ; METHOD_5 ( intent ) ; } +public void METHOD_1 ( TYPE_1 arg ) { VAR_1. METHOD_2 ( VAR_2. getId ( ), VAR_3. METHOD_3 ( ), VAR_3. METHOD_4 ( ) ) ; METHOD_5 ( ) ; } +public void METHOD_1 ( ) { if (! ( VAR_1 ) ) { VAR_2. update ( ) ; } VAR_3. METHOD_2 ( ) ; } +public TYPE_1 METHOD_1 ( TYPE_1 VAR_1 ) throws TYPE_2, TYPE_3 { if ( VAR_1 == null ) return null ; if (! ( METHOD_2 ( ) ) ) return null ; TYPE_1 response = VAR_2. METHOD_1 ( VAR_1 ) ; return response ; } +public void METHOD_1 ( android.view.View VAR_1 ) { TYPE_1. METHOD_2 ( STRING_1, STRING_2 ) ; VAR_2. METHOD_3 ( ( ( TYPE_2 ) ( VAR_3. METHOD_4 ( ) ) ). METHOD_5 ( ) ) ; } +public void METHOD_1 ( ) { VAR_1. METHOD_2 ( VAR_2 ) ; VAR_3. METHOD_2 ( VAR_2 ) ; VAR_3. METHOD_3 ( VAR_1 ) ; } +public int update ( java.lang.Object VAR_1 ) { VAR_2. METHOD_1 ( VAR_1 ) ; METHOD_2 ( ) ; try { return METHOD_3 ( VAR_2. METHOD_4 ( ) ). execute ( ) ; } finally { VAR_2. METHOD_5 ( ) ; } } +public void METHOD_1 ( java.lang.Throwable VAR_1 ) { VAR_2. METHOD_2 ( ( STRING_1 + ( VAR_3. name ( ) ) ), VAR_1 ) ; METHOD_3 ( ) ; } +private int METHOD_2 ( ) { return this. VAR_2 ; } +public float op ( float VAR_1 ) { return num. METHOD_2 ( ) ; } +public void METHOD_1 ( ) { super. METHOD_1 ( ) ; VAR_1 = this ; METHOD_2 ( ) ; } +public void METHOD_1 ( ) { if ( VAR_1 ) { VAR_1 = false ; VAR_2. METHOD_2 ( ) ; startTime = ( TYPE_1. METHOD_3 ( ) ) - ( VAR_3 ) ; } } +public TYPE_1 METHOD_1 ( java.lang.Integer id ) { return VAR_1. METHOD_2 ( id ) ; } +private void METHOD_1 ( TYPE_1 VAR_1 ) { java.lang.System.out.println ( STRING_1 ) ; VAR_2. METHOD_2 ( new TYPE_2 ( STRING_2, STRING_3 ) ) ; } +private void METHOD_1 ( TYPE_1 VAR_1 ) { java.lang.Object [ ] VAR_2 = METHOD_2 ( VAR_1 ) ; METHOD_3 ( ) ; TYPE_2. METHOD_4 ( VAR_2 ) ; METHOD_5 ( new TYPE_3 ( VAR_2 ) ) ; } +public static void main ( java.lang.String [ ] args ) { java.lang.System.out.println ( TYPE_2. METHOD_1 ( STRING_1 ). METHOD_2 ( ) ) ; } +public int getId ( ) { return VAR_2. id ; } +public void METHOD_1 ( TYPE_1 VAR_1, TYPE_2 VAR_2 ) { if ( VAR_1 == null ) { TYPE_3. METHOD_2 ( VAR_3, ( STRING_1 + path ) ) ; METHOD_3 ( ) ; } else { METHOD_4 ( VAR_1. METHOD_5 ( ) ) ; } } +private static int METHOD_2 ( int VAR_1 ) { return VAR_1 ; } +public long METHOD_2 ( int i ) { return i ; } +private static void METHOD_1 ( TYPE_1 VAR_1, TYPE_1 VAR_2 ) { for ( java.lang.String key : VAR_1. METHOD_2 ( ) ) { VAR_2. METHOD_3 ( key, VAR_1. METHOD_4 ( key ) ) ; } } +public void METHOD_1 ( ) { while ( ( VAR_1 ) <= ( VAR_2 ) ) { TYPE_1 VAR_3 = TYPE_2. METHOD_2 ( ) ; add ( VAR_3 ) ; ( VAR_1 ) ++ ; } } +public void METHOD_1 ( ) throws java.io.IOException { TYPE_1. METHOD_1 ( VAR_1 ) ; } +private static TYPE_1 METHOD_1 ( int n ) { TYPE_1 VAR_1 = VAR_2 ; for ( int i = n ; i > 1 ; i -- ) { VAR_1 = VAR_1. METHOD_2 ( new TYPE_1 ( java.lang.Integer.toString ( i ) ) ) ; } return VAR_1 ; } +public void METHOD_1 ( ) { super. METHOD_1 ( ) ; TYPE_1. i ( VAR_1, STRING_1 ) ; METHOD_2 ( ) ; TYPE_1. i ( VAR_1, STRING_2 ) ; } +public static TYPE_1 METHOD_1 ( TYPE_2 VAR_1, double VAR_2, double height ) { if ( ( VAR_3 ) == null ) { VAR_3 = new TYPE_1 ( VAR_1, VAR_2, height ) ; } return VAR_3 ; } +public void METHOD_1 ( TYPE_1 c ) { c. MEMBER_1. METHOD_2 ( ) ; VAR_1. add ( c ) ; } +protected void METHOD_2 ( ) { super. METHOD_2 ( ) ; TYPE_2. i ( VAR_2, STRING_2 ) ; } +public boolean METHOD_2 ( TYPE_1 VAR_1, java.util.Map < TYPE_2, java.util.List < TYPE_1 > > VAR_2, java.util.List < TYPE_3 > VAR_3, TYPE_4 VAR_4, boolean VAR_5 ) { return true ; } +public boolean METHOD_2 ( ) { return (! ( this. VAR_1. isEmpty ( ) ) ) && (! ( this. VAR_2. isEmpty ( ) ) ) ; } +public boolean METHOD_2 ( ) { java.lang.System.out.println ( VAR_2 ) ; return this. VAR_2 ; } +public int METHOD_2 ( int VAR_1, int VAR_2 ) { return VAR_1 + VAR_2 ; } +public int METHOD_2 ( java.lang.Object VAR_2 ) { return 0 ; } +public void METHOD_1 ( java.lang.String url, TYPE_1 VAR_1, TYPE_2 VAR_2, TYPE_3 status ) { VAR_3. id ( VAR_1 ). METHOD_2 ( VAR_2 ). METHOD_5 ( VAR_4 ) ; } +public void init ( ) { METHOD_1 ( new TYPE_1 ( ) ) ; add ( VAR_1, VAR_2 ) ; METHOD_2 ( VAR_3 ) ; METHOD_3 ( VAR_3 ) ; METHOD_4 ( VAR_3 ) ; VAR_4 = VAR_5 ; VAR_6 = true ; } +public java.lang.String METHOD_1 ( ) { switch ( METHOD_2 ( ) ) { case 1 : return null ; case INT_1 : return null ; case INT_2 : return getType ( ). toString ( ) ; default : return null ; } } +public void METHOD_1 ( java.lang.CharSequence title ) { super. METHOD_1 ( title ) ; if ( ( title!= null ) || ( ( METHOD_2 ( ) )!= null ) ) { METHOD_2 ( ). METHOD_1 ( title. toString ( ) ) ; } } +public static boolean equals ( TYPE_1 VAR_1, TYPE_1 VAR_2 ) { return ( VAR_1. METHOD_1 ( VAR_2 ) ) && ( VAR_1. toString ( ). equals ( VAR_2. toString ( ) ) ) ; } +public boolean METHOD_1 ( android.content.Intent intent ) { int VAR_1 = VAR_2. METHOD_2 ( ) ; if ( VAR_1 == ( VAR_3 ) ) { VAR_4. METHOD_3 ( ) ; VAR_5. METHOD_4 ( VAR_6 ) ; return true ; } return false ; } +private static double METHOD_1 ( java.util.ArrayList < java.lang.Double > p ) { double sum = 0 ; for ( double i : p ) { sum -= i * ( TYPE_1. METHOD_2 ( i ) ) ; } return sum ; } +public void METHOD_1 ( int VAR_1, java.lang.String VAR_2, java.lang.String VAR_3 ) { TYPE_1. METHOD_2 ( VAR_1 ). remove ( TYPE_2. METHOD_3 ( VAR_2, VAR_3 ) ) ; } +private TYPE_1 METHOD_1 ( TYPE_2 VAR_1 ) { java.lang.String VAR_2 = VAR_1. METHOD_2 ( ) ; return new TYPE_1 ( VAR_2 ) ; } +public void METHOD_1 ( final boolean VAR_1 ) { VAR_2. METHOD_2 ( VAR_1 ) ; } +public int METHOD_1 ( ) { java.lang.String str = java.lang.String. METHOD_2 ( ( ( TYPE_1 ) ( VAR_1 ) ). getText ( ) ) ; METHOD_3 ( str ) ; return VAR_2 ; } +public void METHOD_2 ( android.content.Intent VAR_1, int VAR_2 ) { android.content.Intent VAR_3 = new android.content.Intent ( VAR_1 ) ; VAR_3. putExtra ( VAR_4, VAR_5 ) ; } +public TYPE_1 METHOD_1 ( ) { int VAR_1 = java.lang.Math.abs ( ( ( VAR_2. METHOD_2 ( ) ) % ( VAR_3. size ( ) ) ) ) ; return VAR_4. get ( VAR_1 ) ; } +public void METHOD_2 ( final TYPE_2 VAR_2 ) { METHOD_3 ( VAR_2 ) ; METHOD_4 ( VAR_2 ) ; METHOD_5 ( VAR_2 ) ; } +public java.lang.String METHOD_2 ( TYPE_1 VAR_1, TYPE_2 VAR_2 ) { return STRING_2 ; } +public int METHOD_2 ( ) { if ( ( METHOD_3 ( ) ) == 0 ) { return 0 ; } return ( VAR_1. size ( ) ) + ( VAR_2 ) ; } +public TYPE_1 < TYPE_2 > METHOD_1 ( TYPE_1 < TYPE_2 > a, TYPE_1 < TYPE_2 > b ) { VAR_1. append ( new TYPE_3 ( a, b ) ) ; return new TYPE_3 ( a, b ) ; } +public TYPE_1 METHOD_1 ( ) { TYPE_1 VAR_1 = new TYPE_1 ( ) ; VAR_2. add ( VAR_1 ) ; for ( TYPE_2 listener : VAR_3 ) listener. METHOD_2 ( ) ; METHOD_3 ( ) ; return VAR_1 ; } +protected java.lang.Object METHOD_1 ( java.lang.Object value ) { return value ; } +public void METHOD_1 ( java.util.List < TYPE_1 > VAR_1 ) { for ( TYPE_1 VAR_2 : VAR_1 ) { if ( VAR_2!= null ) { METHOD_2 ( java.lang.String.format ( STRING_1 ) ) ; } } } +public void METHOD_1 ( java.lang.String VAR_1 ) { if ( TYPE_1. METHOD_2 ( VAR_1 ) ) { return ; } this. VAR_1 = VAR_1 ; } +public void METHOD_1 ( ) { for ( int i = 0 ; i < ( VAR_1. size ( ) ) ; i ++ ) { VAR_1. get ( i ). METHOD_2 ( ) ; } } +public float METHOD_2 ( long VAR_1, long VAR_2 ) { return ( ( ( float ) ( VAR_1 ) ) / ( 0.0F + VAR_2 ) ) * INT_2 ; } +public java.lang.Object METHOD_1 ( java.lang.Integer VAR_1, java.lang.Integer size, java.lang.Long VAR_2 ) throws java.lang.Exception { return VAR_3. METHOD_1 ( VAR_2, VAR_1, size ) ; } +public TYPE_1 METHOD_1 ( final TYPE_1 VAR_1 ) { return VAR_3. METHOD_2 ( VAR_1 ) ; } +public void METHOD_1 ( java.lang.String text ) { VAR_1. setText ( text ) ; VAR_1. METHOD_2 ( 0 ) ; } +public TYPE_1 METHOD_1 ( java.lang.String text ) { return TYPE_1. METHOD_2 ( STRING_1, STRING_2, id, STRING_3, text ) ; } +public void METHOD_2 ( TYPE_1 VAR_1 ) { if ( VAR_2 ) { throw new TYPE_2 ( ) ; } } +public void METHOD_1 ( ) { super. METHOD_1 ( ) ; TYPE_1. METHOD_2 ( VAR_1, STRING_1 ) ; VAR_2. METHOD_3 ( ) ; } +public boolean METHOD_2 ( android.view.View VAR_1, TYPE_1 VAR_2 ) { return false ; } +public void METHOD_1 ( ) throws TYPE_1 { TYPE_2 VAR_1 = new TYPE_2 ( this. VAR_2, STRING_1 ) ; VAR_1. METHOD_2 ( ) ; VAR_1. METHOD_3 ( ) ; TYPE_3. assertNotNull ( VAR_1. METHOD_4 ( ) ) ; } +public boolean METHOD_1 ( TYPE_1 VAR_1 ) { if ( VAR_2 ) { VAR_1. METHOD_2 ( 1 ). METHOD_3 ( STRING_1 ) ; } else { VAR_1. METHOD_2 ( 1 ). METHOD_3 ( STRING_2 ) ; } return true ; } +public void METHOD_1 ( android.view.View view, TYPE_1 VAR_1 ) { super. METHOD_1 ( view, VAR_1 ) ; TYPE_2 VAR_2 = ( ( TYPE_2 ) ( view. METHOD_2 ( VAR_3 ) ) ) ; METHOD_3 ( VAR_2 ) ; METHOD_4 ( ) ; } +private void METHOD_1 ( ) { if ( ( VAR_1. METHOD_2 ( ) ) && ( ( VAR_2 )!= null ) ) VAR_2. METHOD_3 ( VAR_3 ) ; else VAR_2. METHOD_3 ( VAR_4 ) ; } +private static java.lang.String METHOD_1 ( ) { try { return VAR_1 class. METHOD_2 ( ). METHOD_3 ( ) ; } catch ( java.lang.Throwable VAR_2 ) { VAR_3. METHOD_4 ( STRING_1, VAR_2 ) ; return null ; } } +void METHOD_2 ( ) { if ( METHOD_3 ( ) ) { VAR_1. METHOD_4 ( ) ; java.lang.System.out.println ( ( ( STRING_1 + ( VAR_2 ) ) + STRING_2 ) ) ; METHOD_5 ( ) ; } VAR_3 = false ; } +private synchronized void METHOD_1 ( ) { VAR_1. METHOD_2 ( VAR_2 ) ; VAR_1. METHOD_3 ( VAR_3 ) ; } +public void METHOD_1 ( ) { VAR_1. METHOD_2 ( VAR_2 ) ; METHOD_3 ( ) ; setState ( VAR_3 ) ; METHOD_4 ( ) ; } +public boolean METHOD_2 ( TYPE_1 VAR_1 ) { TYPE_1 result = TYPE_2. METHOD_3 ( VAR_1 ) ; result. METHOD_4 ( ) ; return true ; } +protected void METHOD_1 ( TYPE_1 VAR_1 ) { super. METHOD_1 ( VAR_1 ) ; METHOD_2 ( VAR_2 ) ; METHOD_3 ( ). METHOD_4 ( VAR_3, VAR_3 ) ; METHOD_5 ( VAR_4 ) ; METHOD_6 ( ) ; } +public void METHOD_1 ( java.util.List < java.lang.String > VAR_1 ) { this. VAR_2. METHOD_2 ( VAR_1 ) ; } +public void METHOD_2 ( TYPE_1 event, TYPE_2 target, TYPE_2 VAR_1 ) { VAR_2. String class. getName ( ) ; } +public void METHOD_2 ( ) { if (! ( VAR_1. equals ( VAR_2. intValue ( ) ) ) ) { ( VAR_1 ) ++ ; METHOD_3 ( ) ; } } +public void METHOD_2 ( TYPE_1 VAR_1 ) { int VAR_2 = VAR_3 ; java.lang.System.out.println ( ( ( STRING_1 + VAR_2 ) + STRING_2 ) ) ; } diff --git a/output/bugs2fix/prompt2/.ipynb_checkpoints/codegen1-multi-2B-checkpoint.output b/output/bugs2fix/prompt2/.ipynb_checkpoints/codegen1-multi-2B-checkpoint.output new file mode 100644 index 0000000..8135e37 --- /dev/null +++ b/output/bugs2fix/prompt2/.ipynb_checkpoints/codegen1-multi-2B-checkpoint.output @@ -0,0 +1,100 @@ +private TYPE_1 getType ( TYPE_2 VAR_1 ) { TYPE_3 VAR_2 = new TYPE_3 ( STRING_1 ) ; return new TYPE_1 ( VAR_2, VAR_2 ) ; } +public TYPE_1 METHOD_1 ( ) { TYPE_1 output = VAR_1 [ VAR_2 ] ; if ( ( VAR_2 ) > 0 ) { VAR_2 = ( VAR_2 ) - 1 ; } else { } return output ; } +private void METHOD_2 ( android.content.Intent intent ) { android.content.Intent intent = new android.content.Intent ( this, intent. getComponent (). getClass () ) ; } +public void METHOD_1 ( ) { for ( TYPE_1 VAR_1 : VAR_2 ) VAR_1. METHOD_2 ( ) ; METHOD_3 ( ) ; if ( ( VAR_3 )!= null ) VAR_3. METHOD_1 ( ) ; } +public void METHOD_1 ( ) { TYPE_1. METHOD_2 ( METHOD_3 ( ), METHOD_4 ( ). getString ( VAR_1 ), VAR_2 ). show ( ) ; } +public TYPE_1 METHOD_1 ( TYPE_1 VAR_1 ) { VAR_2 [ ( ( VAR_1. position ) + 1 ) ] = isEmpty ( ) ; VAR_1. position += 1 ; VAR_3 = METHOD_2 ( VAR_1. position ) ; return VAR_1 ; } +private static boolean METHOD_2 ( final byte status ) { return status == ( VAR_2 ) ; } +public void METHOD_1 ( int VAR_1, TYPE_1 VAR_2 ) { this. VAR_3. add ( VAR_1, VAR_2 ) ; } +public char getColor ( ) throws java.io.IOException { VAR_1. METHOD_1 ( ( STRING_1 + "\n" ) ) ; java.lang.String response = VAR_2. METHOD_2 ( ) ; java.lang.System.out.println ( response ) ; return response. METHOD_3 ( 0 ) ; } +public void METHOD_1 ( final java.lang.String... VAR_1 ) { if ( VAR_1!= null ) format. METHOD_2 ( ). METHOD_3 ( VAR_2, VAR_1 ) ; } +public void METHOD_1 ( TYPE_1 VAR_1 ) { VAR_2 = 0 ; VAR_3 = ( ( double ) ( VAR_2 ) ) / FLOAT_1 ; VAR_4 = new java.lang.Double ( VAR_3 ). toString ( ) ; VAR_5. setText ( VAR_4 ) ; } +public boolean METHOD_1 ( TYPE_1 item ) { switch ( item. METHOD_2 ( ) ) { case VAR_1 : return true ; case VAR_2 : return true ; default : return super. METHOD_1 ( item ) ; } } +public void METHOD_1 ( TYPE_1 VAR_1 ) { this. VAR_1 = VAR_1 ; } +public java.lang.Boolean METHOD_1 ( java.lang.String id ) { return VAR_1. METHOD_1 ( id ) ; } +public void METHOD_1 ( TYPE_1 VAR_1 ) { super. METHOD_1 ( VAR_1 ) ; VAR_2. METHOD_2 ( VAR_1 ) ; VAR_3. METHOD_3 ( VAR_1 ) ; VAR_4. METHOD_4 ( VAR_1 ) ; VAR_5. METHOD_4 ( VAR_1 ) ; } +private static native void METHOD_1 ( long set ) ; +public java.lang.Boolean METHOD_1 ( TYPE_1 VAR_1, TYPE_2 VAR_2 ) { int count = VAR_3. METHOD_2 ( VAR_1 ) ; return count > 0 ; } +public void METHOD_1 ( ) { if ( ( ( VAR_1 )!= null ) && ( VAR_1. METHOD_2 ( ) ) ) { TYPE_1. METHOD_3 ( VAR_1, this ) ; VAR_1. METHOD_4 ( ) ; } VAR_2 = false ; } +public < TYPE_1 > TYPE_1 METHOD_1 ( final java.lang.Object VAR_1, final java.lang.Class < TYPE_1 > VAR_2, final java.lang.Object VAR_3 ) { return METHOD_1 ( VAR_1, VAR_2, VAR_3 ) ; } +public void METHOD_1 ( TYPE_1 VAR_1 ) { TYPE_2. METHOD_2 ( VAR_2, ( STRING_1 + VAR_1 ) ) ; TYPE_3. METHOD_3 ( this, STRING_2, VAR_3 ). show ( ) ; } +public void METHOD_1 ( TYPE_1 VAR_1 ) { if ( VAR_2 ) { VAR_3. setText ( TYPE_2. METHOD_2 ( ( ( TYPE_3 ) ( VAR_3. getContext ( ) ) ) ) ) ; } VAR_2 =! ( VAR_2 ) ; } +private void METHOD_2 ( ) { METHOD_3 ( ) ; } +public void METHOD_1 ( TYPE_1 VAR_1, boolean VAR_2 ) { this. METHOD_1 ( VAR_1, VAR_2, VAR_2 ) ; } +private void METHOD_1 ( ) { android.content.Intent intent = new android.content.Intent ( this, VAR_1 class ) ; int index = TYPE_1. METHOD_2 ( ). METHOD_3 ( ) ; intent. METHOD_4 ( STRING_1, index ) ; METHOD_5 ( intent ) ; } +public void METHOD_1 ( TYPE_1 arg ) { VAR_1. METHOD_2 ( VAR_2. getId ( ), arg. METHOD_3 ( ), arg. METHOD_4 ( ) ) ; } +public void METHOD_1 ( ) { if (! ( VAR_1 ) ) { VAR_2. update ( ) ; } VAR_3. METHOD_1 ( ) ; } +public TYPE_1 METHOD_1 ( TYPE_1 VAR_1 ) throws TYPE_2, TYPE_3 { if ( VAR_1 == null ) return null ; if (! ( METHOD_2 ( ) ) ) return null ; TYPE_1 response = VAR_2. METHOD_1 ( VAR_1 ) ; return response ; } +public void METHOD_1 ( android.view.View VAR_1 ) { TYPE_1. METHOD_2 ( STRING_1, STRING_2 ) ; VAR_2. METHOD_3 ( ( ( TYPE_2 ) ( VAR_3. METHOD_4 ( ) ) ). METHOD_5 ( ) ) ; } +public void METHOD_1 ( ) { VAR_1. METHOD_2 ( VAR_2 ) ; VAR_3. METHOD_2 ( VAR_2 ) ; } +public int update ( java.lang.Object VAR_1 ) { VAR_2. METHOD_1 ( VAR_1 ) ; METHOD_2 ( ) ; try { return METHOD_3 ( VAR_2. METHOD_4 ( ) ). execute ( ) ; } finally { VAR_2. METHOD_5 ( ) ; } } +public void METHOD_1 ( java.lang.Throwable VAR_1 ) { VAR_2. METHOD_2 ( ( STRING_1 + ( VAR_3. name ( ) ) ), VAR_1 ) ; } +private int METHOD_2 ( ) { return this. VAR_2 ; } +public float op ( float VAR_1 ) { return TYPE_1. METHOD_1 ( VAR_1, num. METHOD_2 ( ) ) ; } +public void METHOD_1 ( ) { super. METHOD_1 ( ) ; VAR_1 = this ; } +public void METHOD_1 ( ) { if ( VAR_1 ) { VAR_1 = false ; VAR_2. METHOD_2 ( ) ; startTime = ( TYPE_1. METHOD_3 ( )public void METHOD_1 ( ) { if ( VAR_1 ) { VAR_1 = false ; VAR_2. METHOD_2 ( ) ; startTime = ( TYPE_1. METHOD_3 ( ) ) - ( VAR_3 ) ; } else { VAR_1 = true ; VAR_2. METHOD_2 ( ) ; startTime = ( TYPE_1. METHOD_3 ( ) ) - ( VAR_3 ) ; } } +public TYPE_1 METHOD_1 ( java.lang.Integer id ) { return VAR_1. METHOD_2 ( id ) ; } +private void METHOD_1 ( TYPE_1 VAR_1 ) { java.lang.System.out.println ( STRING_1 ) ; VAR_2. METHOD_2 ( new TYPE_2 ( TYPE_3. METHOD_3 ( STRING_2, STRING_3 ) ) ) ; } +private void METHOD_1 ( TYPE_1 VAR_1 ) { java.lang.Object [ ] VAR_2 = METHOD_2 ( VAR_1 ) ; TYPE_2. METHOD_4 ( VAR_2 ) ; METHOD_5 ( new TYPE_3 ( VAR_2 ) ) ; } +public static void main ( java.lang.String [ ] args ) { TYPE_1 VAR_1 = TYPE_2. METHOD_1 ( STRING_1 ) ; java.lang.System.out.println ( VAR_1. METHOD_2 ( ) ) ; } +public int getId ( ) { return VAR_1. id ; } +public void METHOD_1 ( TYPE_1 VAR_1, TYPE_2 VAR_2 ) { if ( VAR_1 == null ) { TYPE_3. METHOD_2 ( VAR_3, ( STRING_1 + path ) ) ; METHOD_3 ( ) ; } else { METHOD_4 ( VAR_1. METHOD_5 ( ) ) ; } } +private static int METHOD_2 ( int VAR_1 ) { return VAR_3. METHOD_1 ( VAR_1 ). compareTo ( VAR_3. METHOD_1 ( VAR_1 ) ) ; } +public long METHOD_1 ( int i ) { return i ; } +private static void METHOD_2 ( TYPE_1 VAR_1, TYPE_1 VAR_2 ) { for ( java.lang.String key : VAR_1. METHOD_3 ( ) ) VAR_2. METHOD_4 ( key, VAR_1. METHOD_5 ( key ) ) ; } +public void METHOD_1 ( ) { while ( ( VAR_1 ) <= ( VAR_2 ) ) { TYPE_1 VAR_3 = TYPE_2. METHOD_2 ( ) ; add ( VAR_3 ) ; ( VAR_1 ) ++ ; } } +public void METHOD_1 ( ) throws java.io.IOException { TYPE_1. METHOD_1 ( VAR_1 ) ; this. VAR_1 = null ; } +private static TYPE_1 METHOD_1 ( int n ) { TYPE_1 VAR_1 = VAR_2 ; for ( int i = n ; i > 1 ; i -- ) { VAR_1 = VAR_1. METHOD_2 ( new TYPE_1 ( java.lang.Integer.toString ( i ) ) ) ; } return VAR_1 ; } +public void METHOD_1 ( ) { super. METHOD_1 ( ) ; TYPE_1. i ( VAR_1, STRING_1 ) ; TYPE_2. i ( VAR_2, STRING_2 ) ; METHOD_2 ( ) ; TYPE_1. i ( VAR_1, STRING_1 ) ; } +public static TYPE_1 METHOD_1 ( TYPE_2 VAR_1, double VAR_2, double height ) { if ( ( VAR_3 ) == null ) { VAR_3 = new TYPE_1 ( VAR_1, VAR_2, height ) ; } return VAR_3 ; } +public void METHOD_1 ( TYPE_1 c ) { c. METHOD_2 ( ) ; VAR_1. add ( c ) ; } +protected void METHOD_1 ( ) { super. METHOD_1 ( ) ; TYPE_1. i ( VAR_1, STRING_1 ) ; } +public boolean METHOD_1 ( TYPE_1 VAR_1, java.util.Map < TYPE_2, java.util.List < TYPE_1 > > VAR_2, java.util.List < TYPE_3 > VAR_3, TYPE_4 VAR_4, boolean VAR_5 ) { return true ; } +public boolean METHOD_1 ( ) { return (! ( this. VAR_1. isEmpty ( ) ) ) || (! ( this. VAR_2. isEmpty ( ) ) ) ; } +public boolean METHOD_1 ( ) { java.lang.System.out.println ( VAR_1 ) ; return this. VAR_1 ; } +public int METHOD_2 ( int VAR_1, int VAR_2 ) { return VAR_1 + VAR_2 ; } +public int METHOD_1 ( java.lang.Object VAR_1 ) { return 1 ; } +public void METHOD_1 ( java.lang.String url, TYPE_1 VAR_1, TYPE_2 VAR_2, TYPE_3 status ) { VAR_3. id ( VAR_1 ). METHOD_2 ( TYPE_4. METHOD_3 ( TYPE_4. METHOD_4 ( VAR_2 ) ) ). METHOD_5 ( VAR_4 ) ; } +public void init ( ) { METHOD_1 ( new TYPE_1 ( ) ) ; add ( VAR_1, VAR_2 ) ; METHOD_2 ( VAR_3 ) ; METHOD_3 ( VAR_3 ) ; METHOD_4 ( VAR_3 ) ; VAR_4 = VAR_5 ; VAR_6 = true ; } +public java.lang.String METHOD_1 ( ) { switch ( METHOD_2 ( ) ) { case 1 : return null ; case INT_1 : return null ; case INT_2 : return getType ( ). toString ( ) ; default : return null ; } } +public void METHOD_1 ( java.lang.CharSequence title ) { super. METHOD_1 ( title ) ; if ( ( title!= null ) || ( ( METHOD_2 ( ) )!= null ) ) { METHOD_2 ( ). METHOD_1 ( title. toString ( ) ) ; } } +public static boolean equals ( TYPE_1 VAR_1, TYPE_1 VAR_2 ) { return ( VAR_1. METHOD_1 ( VAR_2 ) ) && ( VAR_1. toString ( ). equals ( VAR_2. toString ( ) ) ) ; } +public boolean METHOD_1 ( android.content.Intent intent ) { int VAR_1 = VAR_2. METHOD_2 ( ) ; if ( VAR_1 == ( VAR_3 ) ) { VAR_4. METHOD_3 ( ) ; VAR_5. METHOD_4 ( VAR_6 ) ; return true ; } return false ; } +private static double METHOD_2 ( java.lang.Double i ) { return i * ( TYPE_1. METHOD_3 ( i ) ) ; } +public void METHOD_1 ( int VAR_1, java.lang.String VAR_2, java.lang.String VAR_3 ) { TYPE_1. METHOD_2 ( VAR_1 ). remove ( TYPE_2. METHOD_3 ( VAR_2, VAR_3 ) ) ; } +private TYPE_1 METHOD_1 ( TYPE_2 VAR_1 ) { java.lang.String VAR_2 = VAR_1. METHOD_2 ( ) ; return new TYPE_1 ( VAR_2 ) ; } +public void METHOD_1 ( final boolean VAR_1 ) { VAR_2. METHOD_1 ( VAR_1 ) ; } +public int METHOD_1 ( ) { java.lang.String str = java.lang.String. METHOD_2 ( ( TYPE_1 ) ( VAR_1 ) ). getText ( ) ; METHOD_3 ( str ) ; return VAR_2 ; } +public void METHOD_1 ( ) { android.content.Intent VAR_1 = new android.content.Intent ( VAR_2 ) ; METHOD_2 ( VAR_1, 0 ) ; android.content.Intent i = new android.content.Intent ( this, VAR_3 class ) ; METHOD_3 ( i ) ; } +public TYPE_1 METHOD_1 ( ) { int VAR_1 = java.lang.Math.abs ( ( ( VAR_2. METHOD_2 ( ) ) % ( VAR_3. size ( ) ) ) ) ; return VAR_4. get ( VAR_1 ) ; } +public void METHOD_1 ( final TYPE_1 VAR_1, final TYPE_2 VAR_2 ) { METHOD_2 ( VAR_2 ) ; METHOD_3 ( VAR_2 ) ; METHOD_4 ( VAR_2 ) ; METHOD_5 ( VAR_2 ) ; } +public java.lang.String METHOD_1 ( TYPE_1 VAR_1, TYPE_2 VAR_2 ) { return STRING_1 ; } +public int METHOD_2 ( ) { if ( ( VAR_1. size ( ) ) == 0 ) { return 0 ; } return ( VAR_1. size ( ) ) + ( VAR_2 ) ; } +public TYPE_1 < TYPE_2 > METHOD_1 ( TYPE_1 < TYPE_2 > a, TYPE_1 < TYPE_2 > b ) { TYPE_3 c = new TYPE_3 ( a, b ) ; VAR_1. append ( c ) ; return c ; } +public TYPE_1 METHOD_1 ( ) { TYPE_1 VAR_1 = new TYPE_1 ( ) ; VAR_2. add ( VAR_1 ) ; for ( TYPE_2 listener : VAR_3 ) listener. METHOD_2 ( ) ; return VAR_1 ; } +protected java.lang.Object METHOD_1 ( java.lang.Object value ) { return value ; } +public void METHOD_1 ( java.util.List < TYPE_1 > VAR_1 ) { for ( TYPE_1 VAR_2 : VAR_1 ) { if ( VAR_2!= null ) { METHOD_2 ( VAR_2.toString () ) ; } } } +public void METHOD_1 ( java.lang.String VAR_1 ) { if ( TYPE_1. METHOD_2 ( VAR_1 ) ) { return ; } this. VAR_1 = VAR_1 ; } +public void METHOD_2 ( ) { for ( int i = 0 ; i < ( VAR_1. size ( ) ) ; i ++ ) { VAR_1. get ( i ). METHOD_1 ( ) ; } } +public float METHOD_1 ( long VAR_1, long VAR_2 ) { return ( ( ( float ) ( VAR_1 ) ) / ( 0.0F + VAR_2 ) ) * INT_1 ; } +public java.lang.Object METHOD_1 ( java.lang.Integer VAR_1, java.lang.Integer size, java.lang.Long VAR_2 ) throws java.lang.Exception { return VAR_3. METHOD_1 ( VAR_2, VAR_1, size ) ; } +public TYPE_1 METHOD_1 ( final TYPE_1 VAR_1 ) { final TYPE_2 < TYPE_1 > VAR_2 = VAR_3. METHOD_2 ( VAR_1 ) ; return VAR_4. METHOD_3 ( VAR_2 ) ; } +public void METHOD_1 ( java.lang.String text ) { VAR_1. setText ( text ) ; VAR_1. METHOD_2 ( 0 ) ; } +public TYPE_1 METHOD_1 ( java.lang.String text ) { return TYPE_1. METHOD_2 ( STRING_1, STRING_2, id, STRING_3, text ) ; } +public void METHOD_1 ( TYPE_1 VAR_1 ) { if ( VAR_2 ) { throw new TYPE_2 ( ) ; } } +public void METHOD_1 ( ) { super. METHOD_1 ( ) ; TYPE_1. METHOD_2 ( VAR_1, STRING_1 ) ; VAR_2. METHOD_3 ( ) ; } +public boolean METHOD_1 ( android.view.View VAR_1, TYPE_1 VAR_2 ) { return true ; } +public void METHOD_1 ( ) throws TYPE_1 { TYPE_2 VAR_1 = new TYPE_2 ( this. VAR_2, STRING_1 ) ; VAR_1. METHOD_2 ( ) ; VAR_1. METHOD_3 ( ) ; TYPE_3. assertNotNull ( VAR_1. METHOD_4 ( ) ) ; } +public boolean METHOD_1 ( TYPE_1 VAR_1 ) { if ( VAR_2 ) { VAR_1. METHOD_2 ( 1 ). METHOD_3 ( STRING_1 ) ; } else { VAR_1. METHOD_2 ( 1 ). METHOD_3 ( STRING_2 ) ; } return true ; } +public void METHOD_1 ( android.view.View view, TYPE_1 VAR_1 ) { super. METHOD_1 ( view, VAR_1 ) ; TYPE_2 VAR_2 = ( ( TYPE_2 ) ( view. METHOD_2 ( VAR_3 ) ) ) ; METHOD_3 ( VAR_2 ) ; } +private void METHOD_2 ( ) { if ( ( VAR_1. METHOD_2 ( ) ) && ( ( VAR_2 )!= null ) ) VAR_2. METHOD_3 ( VAR_3 ) ; else VAR_2. METHOD_3 ( VAR_4 ) ; } +private static java.lang.String METHOD_1 ( ) { try { return VAR_1 class. METHOD_2 ( ). METHOD_3 ( ) ; } catch ( java.lang.Throwable VAR_2 ) { VAR_3. METHOD_4 ( STRING_1, VAR_2 ) ; return null ; } } +void METHOD_1 ( ) { if ( METHOD_2 ( ) ) { VAR_1. METHOD_3 ( ) ; METHOD_4 ( ) ; java.lang.System.out.println ( ( ( STRING_1 + ( VAR_2 ) ) + STRING_2 ) ) ; METHOD_5 ( ) ; } VAR_3 = false ; } +private synchronized void METHOD_1 ( ) { VAR_1. METHOD_2 ( VAR_2 ) ; VAR_1. METHOD_3 ( listener ) ; } +public void METHOD_1 ( ) { VAR_1. METHOD_2 ( VAR_2 ) ; METHOD_3 ( ) ; setState ( VAR_3 ) ; METHOD_4 ( ) ; } +public boolean METHOD_1 ( TYPE_1 VAR_1 ) { TYPE_1 result = TYPE_2. METHOD_2 ( VAR_1 ) ; return true ; } +protected void METHOD_1 ( TYPE_1 VAR_1 ) { super. METHOD_1 ( VAR_1 ) ; METHOD_2 ( VAR_2 ) ; METHOD_3 ( ). METHOD_4 ( VAR_3, VAR_3 ) ; METHOD_5 ( VAR_4 ) ; METHOD_6 ( ) ; } +public void METHOD_1 ( java.util.List < java.lang.String > VAR_1 ) { this. VAR_2. METHOD_2 ( VAR_1 ) ; } +public void METHOD_1 ( TYPE_1 event, TYPE_2 target, TYPE_2 VAR_1 ) { VAR_2. String class. getName ( ) ; } +public void METHOD_2 ( ) { if (! ( VAR_1. equals ( VAR_2. intValue ( ) ) ) ) { ( VAR_1 ) ++ ; METHOD_1 ( ) ; } } +public void METHOD_1 ( TYPE_1 VAR_1 ) { int VAR_2 = VAR_3 ; java.lang.System.out.println ( ( ( STRING_1 + VAR_2 ) + STRING_2 ) ) ; } diff --git a/output/bugs2fix/prompt2/.ipynb_checkpoints/codegen1-multi-350M-checkpoint.output b/output/bugs2fix/prompt2/.ipynb_checkpoints/codegen1-multi-350M-checkpoint.output new file mode 100644 index 0000000..de0eed8 --- /dev/null +++ b/output/bugs2fix/prompt2/.ipynb_checkpoints/codegen1-multi-350M-checkpoint.output @@ -0,0 +1,100 @@ +public TYPE_1 getType ( TYPE_2 VAR_1 ) { TYPE_3 VAR_2 = new TYPE_3 ( STRING_1 ) ; return new TYPE_1 ( VAR_2, VAR_2 ) ; } +public TYPE_1 METHOD_1 ( TYPE_1 VAR_1 ) { TYPE_1 output = VAR_1 [ VAR_2 ] ; if ( ( VAR_2 ) > 0 ) { VAR_2 = ( VAR_2 ) - 1 ; } else { } return output ; } +private void METHOD_2 ( android.content.Intent VAR_2 ) { android.content.Intent intent = new android.content.Intent ( this, VAR_2 ) ; METHOD_3 ( intent ) ; } +public void METHOD_2 ( ) { for ( TYPE_2 VAR_2 : VAR_3 ) VAR_2. METHOD_1 ( ) ; } +public void METHOD_1 ( ) { TYPE_1. METHOD_2 ( METHOD_3 ( ), METHOD_4 ( ). getString ( VAR_1 ), VAR_2 ). show ( ) ; } +public TYPE_1 METHOD_1 ( TYPE_1 VAR_1 ) { VAR_2 [ ( ( VAR_1. position ) + 1 ) ] = isEmpty ( ) ; VAR_1. position += 1 ; VAR_3 = METHOD_2 ( VAR_1. position ) ; return VAR_1 ; } +private static boolean METHOD_2 ( final byte status ) { return status == ( VAR_2 ) ; } +public void METHOD_2 ( int VAR_1, TYPE_1 VAR_2 ) { this. VAR_3. add ( VAR_1, VAR_2 ) ; VAR_4. add ( this ) ; } +public char getColor ( ) throws java.io.IOException { VAR_1. METHOD_1 ( ( STRING_1 + "\n" ) ) ; java.lang.String response = VAR_2. METHOD_2 ( ) ; java.lang.System.out.println ( response ) ; return response. METHOD_3 ( 0 ) ; } +public void METHOD_2 ( final java.lang.String... VAR_1 ) { if ( VAR_1!= null ) format. METHOD_3 ( ). METHOD_4 ( VAR_2, VAR_1 ) ; } +public void METHOD_2 ( TYPE_2 VAR_2 ) { VAR_3 = ( ( double ) ( VAR_2 ) ) / FLOAT_2 ; VAR_4 = new java.lang.Double ( VAR_3 ). toString ( ) ; VAR_5. setText ( VAR_4 ) ; } +public boolean METHOD_1 ( TYPE_1 item ) { switch ( item. METHOD_2 ( ) ) { case VAR_1 : return true ; case VAR_2 : return true ; default : return super. METHOD_1 ( item ) ; } } +public void METHOD_2 ( TYPE_2 VAR_2 ) { this. VAR_2 = VAR_2 ; } +public java.lang.Boolean METHOD_1 ( java.lang.String id ) { return VAR_1. METHOD_1 ( id ) ; } +public void METHOD_1 ( TYPE_1 VAR_1 ) { super. METHOD_1 ( VAR_1 ) ; VAR_2. METHOD_2 ( VAR_1 ) ; VAR_3.public void METHOD_1 ( TYPE_1 VAR_1 ) { super. METHOD_1 ( VAR_1 ) ; VAR_2. METHOD_2 ( VAR_1 ) ; VAR_3. METHOD_3 ( VAR_1 ) ; VAR_4. METHOD_4 ( VAR_1 ) ; VAR_5. METHOD_4 ( VAR_1 ) ; METHOD_5 ( VAR_1 ) ; } +private static native void METHOD_2 ( long set ) ; +public java.lang.Boolean METHOD_2 ( TYPE_1 VAR_1, TYPE_2 VAR_2 ) { int count = VAR_3. METHOD_2 ( VAR_1 ) ; return count > 0 ; } +public void METHOD_2 ( ) { if ( ( ( VAR_2 )!= null ) && ( VAR_2. METHOD_3 ( ) ) ) { TYPE_2. METHOD_4 ( VAR_2, this ) ; VAR_2. METHOD_5 ( ) ; } VAR_3 = false ; } +public < TYPE_1 > TYPE_1 METHOD_1 ( final java.lang.Object VAR_1, final java.lang.Class < TYPE_1 > VAR_2, final java.lang.Object VAR_3 ) { return METHOD_1 ( VAR_1, VAR_2, VAR_3 ) ; } +public void METHOD_2 ( TYPE_1 VAR_1 ) { TYPE_2. METHOD_2 ( VAR_2, ( STRING_1 + VAR_1 ) ) ; TYPE_3. METHOD_3 ( this, STRING_2, VAR_3 ). show ( ) ; } +public void METHOD_2 ( TYPE_2 VAR_2 ) { if ( VAR_3. getContext ( ) ) { VAR_3. setText ( TYPE_2. METHOD_2 ( ( ( TYPE_3 ) ( VAR_3. getContext ( ) ) ) ) ) ; } VAR_2 =! ( VAR_2 ) ; } +private void METHOD_2 ( ) { } +public void METHOD_1 ( TYPE_1 VAR_1, boolean VAR_2, boolean VAR_3 ) { this. METHOD_1 ( VAR_1, VAR_2, VAR_3 ) ; } +private void METHOD_1 ( ) { android.content.Intent intent = new android.content.Intent ( this, VAR_1 class ) ; int index = TYPE_1. METHOD_2 ( ). METHOD_3 ( ) ; intent. METHOD_4 ( STRING_1, index ) ; METHOD_5 ( intent ) ; } +public void METHOD_1 ( TYPE_1 arg ) { VAR_1. METHOD_2 ( VAR_2. getId ( ), arg. METHOD_3 ( ), arg. METHOD_4 ( ) ) ; METHOD_5 ( ) ; } +public void METHOD_2 ( ) { if (! ( VAR_2 ) ) { VAR_3. update ( ) ; } VAR_4. METHOD_2 ( ) ; } +public TYPE_1 METHOD_1 ( TYPE_1 VAR_1 ) throws TYPE_2, TYPE_3 { if ( VAR_1 == null ) return null ; if (! ( METHOD_2 ( ) ) ) return null ; TYPE_1 response = VAR_2. METHOD_1 ( VAR_1 ) ; return response ; } +public void METHOD_2 ( android.view.View VAR_1 ) { TYPE_1. METHOD_2 ( STRING_1, STRING_2 ) ; VAR_2. METHOD_3 ( ( ( TYPE_2 ) ( VAR_3. METHOD_4 ( ) ) ). METHOD_5 ( ) ) ; } +public void METHOD_2 ( ) { VAR_1. METHOD_2 ( VAR_2 ) ; VAR_3. METHOD_2 ( VAR_2 ) ; VAR_3. METHOD_3 ( this ) ; } +public int update ( java.lang.Object VAR_1 ) { VAR_2. METHOD_1 ( VAR_1 ) ; METHOD_2 ( ) ; try { return METHOD_3 ( VAR_2. METHOD_4 ( ) ). execute ( ) ; } finally { VAR_2. METHOD_5 ( ) ; } } +public void METHOD_2 ( java.lang.String VAR_1, java.lang.Throwable VAR_2 ) { VAR_3. METHOD_4 ( ( STRING_1 + ( VAR_3. name ( ) ) ), VAR_1 ) ; } +private int METHOD_2 ( ) { return this. VAR_2 ; } +public float op ( float VAR_1, float VAR_2 ) { return TYPE_1. METHOD_1 ( VAR_1, VAR_2 ) ; } +public void METHOD_2 ( ) { super. METHOD_2 ( ) ; VAR_2 = this ; METHOD_3 ( ) ; } +public void METHOD_2 ( ) { if ( VAR_1 ) { VAR_1 = false ; VAR_2. METHOD_2 ( ) ; startTime = ( TYPE_1. METHOD_3 ( ) ) - ( VAR_3 ) ; } } +public TYPE_1 METHOD_1 ( java.lang.Integer id ) { return VAR_1. METHOD_2 ( id ) ; } +private void METHOD_2 ( TYPE_2 VAR_2 ) { java.lang.System.out.println ( STRING_2 ) ; VAR_1. METHOD_1 ( new TYPE_1 ( TYPE_3. METHOD_3 ( STRING_1, STRING_3 ) ) ) ; } +private void METHOD_2 ( TYPE_1 VAR_1 ) { java.lang.Object [ ] VAR_2 = METHOD_2 ( VAR_1 ) ; METHOD_3 ( ) ; TYPE_2. METHOD_4 ( VAR_2 ) ; METHOD_5 ( new TYPE_3 ( VAR_2 ) ) ; } +public static void TYPE_1 ( java.lang.String STRING_1 ) { TYPE_2. METHOD_1 ( STRING_1 ) ; } +public int getId ( ) { return VAR_1. id ; } +public void METHOD_1 ( TYPE_1 VAR_1, TYPE_2 VAR_2 ) { if ( VAR_1 == null ) { TYPE_3. METHOD_2 ( VAR_3, ( STRING_1 + path ) ) ; METHOD_3 ( ) ; } else { METHOD_4 ( VAR_1. METHOD_5 ( ) ) ; } } +private static int METHOD_2 ( int VAR_1 ) { return VAR_1. METHOD_1 ( VAR_2 ) ; } +public long METHOD_2 ( int i ) { return i ; } +private static void METHOD_2 ( TYPE_1 VAR_1, TYPE_1 VAR_2 ) { for ( java.lang.String key : VAR_1. METHOD_2 ( ) ) VAR_2. METHOD_3 ( key, VAR_1. METHOD_4 ( key ) ) ; } +public void METHOD_2 ( ) { while ( ( VAR_1 ) <= ( VAR_2 ) ) { TYPE_1 VAR_3 = TYPE_2. METHOD_2 ( ) ; add ( VAR_3 ) ; ( VAR_1 ) ++ ; } } +public void METHOD_2 ( ) throws java.io.IOException { TYPE_2. METHOD_2 ( VAR_1 ) ; this. VAR_1 = null ; this. VAR_2 = null ; } +private static TYPE_1 METHOD_1 ( TYPE_1 VAR_1 ) { TYPE_1 VAR_2 = VAR_1. METHOD_2 ( new TYPE_1 ( java.lang.Integer.toString ( VAR_1. getValue ( ) ) ) ) ; return VAR_2 ; } +public void METHOD_2 ( ) { super. METHOD_2 ( ) ; TYPE_1. i ( VAR_1, STRING_1 ) ; METHOD_1 ( ) ; TYPE_1. i ( VAR_1, STRING_2 ) ; } +public static TYPE_1 METHOD_1 ( TYPE_2 VAR_1, double VAR_2, double height ) { if ( ( VAR_3 ) == null ) { VAR_3 = new TYPE_1 ( VAR_1, VAR_2, height ) ; } return VAR_3 ; } +public void METHOD_2 ( ) { c. METHOD_1 ( ) ; VAR_1. add ( c ) ; } +protected void METHOD_2 ( ) { super. METHOD_2 ( ) ; TYPE_2. i ( VAR_2, STRING_2 ) ; } +public boolean METHOD_1 ( TYPE_1 VAR_1, java.util.Map < TYPE_2, java.util.List < TYPE_1 > > VAR_2, java.util.List < TYPE_3 > VAR_3, TYPE_4 VAR_4, boolean VAR_5 ) { return true ; } +public boolean METHOD_2 ( ) { return (! ( this. VAR_1. isEmpty ( ) ) ) || (! ( this. VAR_2. isEmpty ( ) ) ) ; } +public boolean METHOD_2 ( ) { java.lang.System.out.println ( VAR_2 ) ; return this. VAR_2 ; } +public int METHOD_2 ( int VAR_1, int VAR_2 ) { return VAR_1 + VAR_2 ; } +public int METHOD_1 ( java.lang.Object VAR_1 ) { return 0 ; } +public void METHOD_1 ( java.lang.String url, TYPE_1 VAR_1, TYPE_2 VAR_2, TYPE_3 status ) { VAR_3. id ( VAR_1 ). METHOD_2 ( TYPE_4. METHOD_3 ( TYPE_4. METHOD_4 ( VAR_2 ) ) ). METHOD_5 ( VAR_4 ) ; } +public void init ( ) { METHOD_1 ( new TYPE_1 ( ) ) ; add ( VAR_1, VAR_2 ) ; METHOD_2 ( VAR_3 ) ; METHOD_3 ( VAR_3 ) ; METHOD_4 ( VAR_3 ) ; VAR_4 = VAR_5 ; VAR_6 = true ; } +public java.lang.String METHOD_2 ( ) { switch ( METHOD_1 ( ) ) { case 1 : return null ; case INT_1 : return null ; case INT_2 : return getType ( ). toString ( ) ; default : return null ; } } +public void METHOD_2 ( ) { super. METHOD_2 ( ) ; } +public static boolean equals ( TYPE_1 VAR_1, TYPE_2 VAR_2 ) { return ( VAR_1. METHOD_1 ( VAR_2 ) ) && ( VAR_1. toString ( ). equals ( VAR_2. toString ( ) ) ) ; } +public boolean METHOD_1 ( android.content.Intent intent ) { int VAR_1 = VAR_2. METHOD_2 ( ) ; if ( VAR_1 == ( VAR_3 ) ) { VAR_4. METHOD_3 ( ) ; VAR_5. METHOD_4 ( VAR_6 ) ; return true ; } return false ; } +private static double METHOD_2 ( double p ) { return p * ( TYPE_2. METHOD_1 ( p ) ) ; } +public void METHOD_2 ( int VAR_1, java.lang.String VAR_2, java.lang.String VAR_3 ) { TYPE_1. METHOD_2 ( VAR_1 ). remove ( TYPE_2. METHOD_3 ( VAR_2, VAR_3 ) ) ; } +public TYPE_1 METHOD_1 ( TYPE_2 VAR_1 ) { java.lang.String VAR_2 = VAR_1. METHOD_2 ( ) ; return new TYPE_1 ( VAR_2 ) ; } +public void METHOD_2 ( final boolean VAR_1 ) { VAR_2. METHOD_2 ( VAR_1 ) ; } +public int METHOD_1 ( ) { java.lang.String str = java.lang.String. METHOD_2 ( ( ( TYPE_1 ) ( VAR_1 ) ). getText ( ) ) ; METHOD_3 ( str ) ; return VAR_2 ; } +public void METHOD_2 ( android.content.Intent VAR_1, int VAR_2 ) { android.content.Intent VAR_3 = new android.content.Intent ( VAR_1 ) ; METHOD_4 ( VAR_3, VAR_2 ) ; } +public TYPE_1 METHOD_1 ( ) { int VAR_1 = java.lang.Math.abs ( ( ( VAR_2. METHOD_2 ( ) ) % ( VAR_3. size ( ) ) ) ) ; return VAR_4. get ( VAR_1 ) ; } +public void METHOD_1 ( final TYPE_1 VAR_1, final TYPE_2 VAR_2 ) { METHOD_2 ( VAR_2 ) ; METHOD_3 ( VAR_2 ) ; METHOD_4 ( VAR_2 ) ; METHOD_5 ( VAR_2 ) ; } +public java.lang.String METHOD_1 ( TYPE_1 VAR_1, TYPE_2 VAR_2 ) { return STRING_1 ; } +public int METHOD_2 ( ) { if ( ( METHOD_1 ( ) ) == 0 ) { return 0 ; } return ( VAR_1. size ( ) ) + ( VAR_2 ) ; } +public TYPE_1 < TYPE_2 > METHOD_1 ( TYPE_1 < TYPE_2 > a, TYPE_1 < TYPE_2 > b ) { TYPE_3 c = new TYPE_3 ( a, b ) ; VAR_1. append ( c ) ; return c ; } +public TYPE_1 METHOD_1 ( TYPE_1 VAR_1 ) { TYPE_1 VAR_2. add ( VAR_1 ) ; for ( TYPE_2 listener : VAR_3 ) listener. METHOD_2 ( ) ; METHOD_3 ( ) ; return VAR_1 ; } +protected java.lang.Object METHOD_2 ( java.lang.Object value ) { return value ; } +public void METHOD_2 ( java.lang.String str ) { +public void METHOD_2 ( java.lang.String VAR_1 ) { if ( TYPE_1. METHOD_2 ( VAR_1 ) ) { return ; } this. VAR_1 = VAR_1 ; } +public void METHOD_2 ( ) { for ( int i = 0 ; i < ( VAR_2. size ( ) ) ; i ++ ) { VAR_2. get ( i ). METHOD_1 ( ) ; } } +public float METHOD_2 ( long VAR_1, long VAR_2 ) { return ( ( ( float ) ( VAR_1 ) ) / ( 0.0F + VAR_2 ) ) * INT_2 ; } +public java.lang.Object METHOD_1 ( java.lang.Integer VAR_1, java.lang.Integer size, java.lang.Long VAR_2 ) throws java.lang.Exception { return VAR_3. METHOD_1 ( VAR_2, VAR_1, size ) ; } +public TYPE_1 METHOD_1 ( final TYPE_1 VAR_1 ) { final TYPE_2 < TYPE_1 > VAR_2 = VAR_3. METHOD_2 ( VAR_1 ) ; return VAR_4. METHOD_3 ( VAR_2 ) ; } +public void METHOD_2 ( int i ) { VAR_2. setInt ( i ) ; } +public TYPE_1 METHOD_1 ( java.lang.String text ) { return TYPE_1. METHOD_2 ( STRING_1, STRING_2, id, STRING_3, text ) ; } +public void METHOD_2 ( TYPE_2 VAR_2 ) { if ( VAR_3 ) { throw new TYPE_3 ( ) ; } } +public void METHOD_2 ( ) { super. METHOD_2 ( ) ; TYPE_2. METHOD_3 ( ) ; } +public boolean METHOD_2 ( android.view.View VAR_1, TYPE_1 VAR_2 ) { return false ; } +public void METHOD_2 ( ) throws TYPE_2 { TYPE_3. assertNotNull ( VAR_1. METHOD_4 ( ) ) ; } +public boolean METHOD_2 ( TYPE_1 VAR_1 ) { if ( VAR_2 ) { VAR_1. METHOD_2 ( 1 ) ; } else { VAR_1. METHOD_2 ( 1 ) ; } return true ; } +public void METHOD_1 ( android.view.View view, TYPE_1 VAR_1 ) { super. METHOD_1 ( view, VAR_1 ) ; TYPE_2 VAR_2 = ( ( TYPE_2 ) ( view. METHOD_2 ( VAR_3 ) ) ) ; METHOD_3 ( VAR_2 ) ; METHOD_4 ( ) ; } +private void METHOD_2 ( ) { if ( ( VAR_1. METHOD_2 ( ) ) && ( ( VAR_2 )!= null ) ) VAR_2. METHOD_3 ( VAR_3 ) ; else VAR_2. METHOD_3 ( VAR_4 ) ; } +private static java.lang.String METHOD_2 ( ) { try { return VAR_2 class. METHOD_3 ( ). METHOD_4 ( ) ; } catch ( java.lang.Throwable VAR_3 ) { VAR_4. METHOD_5 ( STRING_1, VAR_3 ) ; return null ; } } +void METHOD_2 ( ) { if ( METHOD_3 ( ) ) { VAR_1. METHOD_4 ( ) ; VAR_2. METHOD_5 ( ) ; java.lang.System.out.println ( ( ( STRING_1 + ( VAR_2 ) ) + STRING_2 ) ) ; METHOD_5 ( ) ; } VAR_3 = false ; } +private synchronized void METHOD_2 ( ) { VAR_1. METHOD_2 ( VAR_2 ) ; VAR_1. METHOD_3 ( listener ) ; } +public void METHOD_1 ( ) { VAR_1. METHOD_2 ( VAR_2 ) ; METHOD_3 ( ) ; setState ( VAR_3 ) ; METHOD_4 ( ) ; } +public boolean METHOD_2 ( TYPE_1 VAR_1 ) { TYPE_1 result = TYPE_2. METHOD_3 ( VAR_1 ) ; result. METHOD_4 ( ) ; return true ; } +protected void METHOD_1 ( TYPE_1 VAR_1 ) { super. METHOD_1 ( VAR_1 ) ; METHOD_2 ( VAR_2 ) ; METHOD_3 ( ). METHOD_4 ( VAR_3, VAR_3 ) ; METHOD_5 ( VAR_4 ) ; METHOD_6 ( ) ; } +public void METHOD_2 ( java.util.List < java.lang.String > VAR_1 ) { this. VAR_2. METHOD_1 ( VAR_1 ) ; } +public void METHOD_2 ( TYPE_1 event, TYPE_2 target, TYPE_2 VAR_1 ) { VAR_2. String class. getName ( ) ; } +public void METHOD_2 ( ) { if (! ( VAR_1. equals ( VAR_2. intValue ( ) ) ) ) { ( VAR_1 ) ++ ; METHOD_2 ( ) ; } } +public void METHOD_2 ( TYPE_2 VAR_2 ) { int VAR_3 = VAR_4 ; java.lang.System.out.println ( ( ( STRING_2 + VAR_3 ) + STRING_3 ) ) ; } diff --git a/output/bugs2fix/prompt2/.ipynb_checkpoints/codegen1-multi-6B-checkpoint.output b/output/bugs2fix/prompt2/.ipynb_checkpoints/codegen1-multi-6B-checkpoint.output new file mode 100644 index 0000000..970fe61 --- /dev/null +++ b/output/bugs2fix/prompt2/.ipynb_checkpoints/codegen1-multi-6B-checkpoint.output @@ -0,0 +1,100 @@ +private TYPE_1 getType ( TYPE_2 VAR_1 ) { TYPE_3 VAR_2 = new TYPE_3 ( STRING_1 ) ; return new TYPE_1 ( VAR_2, VAR_2 ) ; } +public TYPE_1 METHOD_1 ( ) { TYPE_1 output = VAR_1 [ VAR_2 ] ; VAR_2 = ( VAR_2 ) - 1 ; return output ; } +private void METHOD_2 ( android.content.Intent intent ) { android.content.Intent intent = new android.content.Intent ( this, intent.getComponent ( ) ) ; } +public void METHOD_1 ( ) { for ( TYPE_1 VAR_1 : VAR_2 ) VAR_1. METHOD_2 ( ) ; METHOD_3 ( ) ; if ( VAR_3!= null ) VAR_3. METHOD_1 ( ) ; } +public void METHOD_1 ( ) { TYPE_1. METHOD_2 ( METHOD_3 ( ), METHOD_4 ( ). getString ( VAR_1 ) ). show ( ) ; } +public TYPE_1 METHOD_1 ( TYPE_1 VAR_1 ) { VAR_2 [ ( ( VAR_1. position ) + 1 ) ] = isEmpty ( ) ; VAR_1. position += 1 ; return VAR_1 ; } +private static boolean METHOD_2 ( final byte status ) { return status == ( VAR_2 ) ; } +public void METHOD_2 ( TYPE_2 VAR_1, int VAR_2, TYPE_3 VAR_3 ) { VAR_4. add ( VAR_1. METHOD_1 ( VAR_2, VAR_3 ) ) ; } +public char getColor ( ) throws java.io.IOException { return VAR_1. METHOD_1 ( ( STRING_1 + "\n" ) ). METHOD_3 ( 0 ) ; } +public void METHOD_1 ( final java.lang.String... VAR_1 ) { if ( VAR_1!= null ) format. METHOD_2 ( ). METHOD_3 ( VAR_2, VAR_1 ). METHOD_4 ( ) ; } +public void METHOD_2 ( TYPE_2 VAR_2 ) { VAR_3 = ( ( double ) ( VAR_2 ) ) / FLOAT_2 ; VAR_4 = new java.lang.Double ( VAR_3 ). toString ( ) ; VAR_5. setText ( VAR_4 ) ; } +public boolean METHOD_1 ( TYPE_1 item ) { return item. METHOD_2 ( ) == VAR_1 || item. METHOD_2 ( ) == VAR_2 ; } +public void METHOD_2 ( TYPE_2 VAR_2 ) { this. VAR_2 = VAR_2 ; } +public java.lang.Boolean METHOD_1 ( java.lang.String id ) { return VAR_1. METHOD_1 ( id ) ; } +public void METHOD_1 ( TYPE_1 VAR_1 ) { super. METHOD_1 ( VAR_1 ) ; VAR_2. METHOD_2 ( VAR_1 ) ; VAR_3.public void METHOD_1 ( TYPE_1 VAR_1 ) { super. METHOD_1 ( VAR_1 ) ; VAR_2. METHOD_2 ( VAR_1 ) ; VAR_3. METHOD_3 ( VAR_1 ) ; VAR_4. METHOD_4 ( VAR_1 ) ; VAR_5. METHOD_4 ( VAR_1 ) ; METHOD_5 ( VAR_1 ) ; } +private static native void METHOD_2 ( long set ) ; +public java.lang.Boolean METHOD_1 ( TYPE_1 VAR_1, TYPE_2 VAR_2 ) { return VAR_3. METHOD_2 ( VAR_1 ) > 0 ; } +public void METHOD_2 ( ) { TYPE_1. METHOD_3 ( this, VAR_1 ) ; VAR_2 = true ; } +public < TYPE_1 > TYPE_1 METHOD_1 ( final java.lang.Object VAR_1, final java.lang.Class < TYPE_1 > VAR_2, final java.lang.Object VAR_3 ) { return METHOD_1 ( VAR_1, VAR_2, VAR_3 ) ; } +public void METHOD_1 ( TYPE_1 VAR_1 ) { TYPE_2. METHOD_2 ( VAR_2, ( STRING_1 + VAR_1 ) ) ; TYPE_3. METHOD_3 ( this, STRING_2, VAR_3 ). show ( ) ; } +public void METHOD_1 ( TYPE_1 VAR_1 ) { if ( VAR_2 ) { VAR_3. setText ( TYPE_2. METHOD_2 ( ( ( TYPE_3 ) ( VAR_3. getContext ( ) ) ) ) ) ; } VAR_2 =! ( VAR_2 ) ; } +private void METHOD_2 ( TYPE_2 VAR_2 ) { METHOD_3 ( ) ; } +public void METHOD_2 ( TYPE_2 VAR_1, TYPE_2 VAR_2, boolean VAR_3 ) { this. METHOD_2 ( VAR_1, VAR_2, VAR_3 ) ; } +private void METHOD_2 ( ) { android.content.Intent intent = new android.content.Intent ( this, VAR_1 class ) ; int index = TYPE_1. METHOD_3 ( ) ; intent. METHOD_4 ( STRING_1, index ) ; METHOD_5 ( intent ) ; } +public void METHOD_1 ( TYPE_1 arg ) { VAR_1. METHOD_2 ( VAR_2. getId ( ), arg. METHOD_3 ( ) ) ; METHOD_5 ( ) ; } +public void METHOD_1 ( ) { if ( VAR_1 ) { VAR_2. update ( ) ; } VAR_3. METHOD_1 ( ) ; } +public TYPE_1 METHOD_1 ( TYPE_1 VAR_1 ) { if ( VAR_1 == null ) return null ; if (! ( METHOD_2 ( ) ) ) return null ; TYPE_1 response = VAR_2. METHOD_1 ( VAR_1 ) ; return response ; } +public void METHOD_1 ( android.view.View VAR_1 ) { TYPE_1. METHOD_2 ( STRING_1, STRING_2 ) ; VAR_2. METHOD_3 ( ( ( TYPE_2 ) VAR_3. METHOD_4 ( ) ). METHOD_5 ( ) ) ; } +public void METHOD_1 ( ) { VAR_1. METHOD_2 ( VAR_2 ) ; VAR_3. METHOD_2 ( VAR_2 ) ; VAR_3. METHOD_3 ( this ) ; } +public int update ( java.lang.Object VAR_1 ) { VAR_2. METHOD_1 ( VAR_1 ) ; METHOD_2 ( ) ; try { return METHOD_3 ( VAR_2. METHOD_4 ( ) ). execute ( ) ; } finally { VAR_2. METHOD_5 ( ) ; } } +public void METHOD_1 ( java.lang.Throwable VAR_1 ) { VAR_2. METHOD_2 ( ( STRING_1 + ( VAR_3. name ( ) ) ), VAR_1 ) ; } +private int METHOD_2 ( ) { return this. VAR_2 ; } +public float op ( float VAR_1 ) { return TYPE_1. METHOD_1 ( VAR_1 ) ; } +public void METHOD_2 ( ) { super. METHOD_2 ( ) ; VAR_2 = this ; } +public void METHOD_2 ( ) { if ( VAR_1 ) { VAR_1 = false ; VAR_2. METHOD_2 ( ) ; startTime = ( TYPE_1. METHOD_3 ( ) ) - ( VAR_3 ) ; } } +public TYPE_2 METHOD_2 ( java.lang.Integer id ) { return VAR_2. METHOD_3 ( id ) ; } +private void METHOD_1 ( TYPE_1 VAR_1 ) { java.lang.System.out.println ( STRING_1 ) ; VAR_2. METHOD_2 ( new TYPE_2 ( TYPE_3. METHOD_3 ( STRING_2, STRING_3 ) ) ) ; } +private void METHOD_1 ( TYPE_1 VAR_1 ) { TYPE_2 VAR_2 = METHOD_2 ( VAR_1 ) ; TYPE_3 VAR_3 = METHOD_3 ( ) ; TYPE_2. METHOD_4 ( VAR_2 ) ; TYPE_3. METHOD_5 ( VAR_3 ) ; } +public static void main ( java.lang.String [ ] args ) { TYPE_1 VAR_1 = TYPE_2. METHOD_1 ( STRING_1 ) ; TYPE_1 VAR_2 = TYPE_2. METHOD_2 ( ) ; java.lang.System.out.println ( VAR_1. METHOD_2 ( VAR_2 ) ) ; } +public int getId ( ) { return VAR_1. id ; } +public void METHOD_1 ( TYPE_1 VAR_1, TYPE_2 VAR_2 ) { if ( VAR_1 == null ) { TYPE_3. METHOD_2 ( VAR_3, ( STRING_1 + path ) ) ; METHOD_3 ( ) ; } else { METHOD_4 ( VAR_1. METHOD_5 ( ) ) ; } } +private static int METHOD_2 ( int VAR_1, int VAR_2 ) { return VAR_3. METHOD_2 ( VAR_1 ). compareTo ( VAR_3. METHOD_2 ( VAR_2 ) ) ; } +public long METHOD_2 ( int i ) { return i * i ; } +private static void METHOD_1 ( TYPE_1 VAR_1, TYPE_1 VAR_2 ) { for ( java.lang.String key : VAR_1. METHOD_2 ( ) ) VAR_2. METHOD_3 ( key, VAR_1. METHOD_4 ( key ) ) ; } +public void METHOD_2 ( ) { TYPE_1 VAR_1 = TYPE_2. METHOD_1 ( ) ; TYPE_1 VAR_2 = TYPE_2. METHOD_1 ( ) ; while ( (public void METHOD_2 ( ) { TYPE_1 VAR_1 = TYPE_2. METHOD_1 ( ) ; TYPE_1 VAR_2 = TYPE_2. METHOD_1 ( ) ; while ( ( VAR_1 ) <= ( VAR_2 ) ) { TYPE_1 VAR_3 = TYPE_2. METHOD_2 ( ) ; add ( VAR_3 ) ; ( VAR_1 ) ++ ; } } +public void METHOD_2 ( ) throws java.io.IOException { TYPE_2. METHOD_2 ( VAR_2 ) ; } +private static TYPE_1 METHOD_1 ( int n ) { TYPE_1 VAR_1 = VAR_2 ; for ( int i = n ; i > 1 ; i -- ) { VAR_1 = VAR_1. METHOD_2 ( new TYPE_1 ( java.lang.Integer.toString ( i ) ) ) ; } return VAR_1 ; } +public void METHOD_2 ( ) { TYPE_1. i ( VAR_1, STRING_2 ) ; } +public static TYPE_1 METHOD_1 ( TYPE_2 VAR_1, double VAR_2, double height ) { return new TYPE_1 ( VAR_1, VAR_2, height ) ; } +public void METHOD_1 ( TYPE_1 c ) { VAR_1. add ( c ) ; c. METHOD_2 ( ) ; } +protected void METHOD_2 ( ) { TYPE_2. i ( VAR_2, STRING_2 ) ; } +public boolean METHOD_2 ( TYPE_1 VAR_1, java.util.Map < TYPE_2, java.util.List < TYPE_1 > > VAR_2, java.util.List < TYPE_3 > VAR_3, TYPE_4 VAR_4, boolean VAR_5 ) { return true ; } +public boolean METHOD_2 ( ) { return (! ( this. VAR_1. isEmpty ( ) ) ) || (! ( this. VAR_2. isEmpty ( ) ) ) && (! ( this. VAR_3. isEmpty ( ) ) ) ; } +public boolean METHOD_2 ( ) { return this. VAR_1 ; } +public int METHOD_2 ( int VAR_1, int VAR_2 ) { return VAR_1 + VAR_2 ; } +public int METHOD_2 ( java.lang.Object VAR_1 ) { return 0 ; } +public void METHOD_1 ( TYPE_1 VAR_1, TYPE_2 VAR_2, TYPE_3 status ) { VAR_3. id ( VAR_1 ). METHOD_2 ( TYPE_4. METHOD_3 ( TYPE_4. METHOD_4 ( VAR_2 ) ) ). METHOD_5 ( VAR_4 ) ; } +public void init ( ) { METHOD_1 ( new TYPE_1 ( ) ) ; add ( VAR_1, VAR_2 ) ; METHOD_2 ( VAR_3 ) ; METHOD_3 ( VAR_3 ) ; METHOD_4 ( VAR_3 ) ; VAR_4 = VAR_5 ; VAR_6 = true ; } +public java.lang.String METHOD_2 ( ) { return getType ( ). toString ( ) ; } +public void METHOD_2 ( ) { } +public static boolean equals ( TYPE_1 VAR_1, TYPE_1 VAR_2 ) { return VAR_1. equals ( VAR_2 ) ; } +public boolean METHOD_1 ( android.content.Intent intent ) { int VAR_1 = VAR_2. METHOD_2 ( ) ; if ( VAR_1 == VAR_3 ) { VAR_4. METHOD_3 ( ) ; VAR_5. METHOD_4 ( VAR_6 ) ; return true ; } return false ; } +private static double METHOD_2 ( double x ) { return x * ( TYPE_1. METHOD_3 ( x ) ) ; } +public void METHOD_1 ( int VAR_1, java.lang.String VAR_2, java.lang.String VAR_3 ) { TYPE_1. METHOD_2 ( VAR_1 ). remove ( TYPE_2. METHOD_3 ( VAR_2, VAR_3 ) ) ; } +private TYPE_1 METHOD_1 ( TYPE_2 VAR_1 ) { return new TYPE_1 ( VAR_1. METHOD_2 ( ) ) ; } +public void METHOD_1 ( final boolean VAR_1 ) { +public int METHOD_2 ( TYPE_1 t ) { return t. getText ( ) ; } +public void METHOD_1 ( ) { android.content.Intent VAR_1 = new android.content.Intent ( VAR_2 ) ; METHOD_2 ( VAR_1, 0 ) ; android.content.Intent i = new android.content.Intent ( this, VAR_3 class ) ; METHOD_3 ( i ) ; } +public TYPE_1 METHOD_1 ( ) { return VAR_4. get ( java.lang.Math.abs ( ( ( VAR_2. METHOD_2 ( ) ) % ( VAR_3. size ( ) ) ) ) ) ; } +public void METHOD_2 ( final TYPE_2 VAR_2 ) { METHOD_3 ( VAR_2 ) ; METHOD_4 ( VAR_2 ) ; METHOD_5 ( VAR_2 ) ; } +public java.lang.String METHOD_2 ( TYPE_1 VAR_1, TYPE_2 VAR_2 ) { return STRING_2 ; } +public int METHOD_2 ( ) { if ( ( METHOD_1 ( ) ) == 0 ) { return 0 ; } return ( VAR_1. size ( ) ) + ( VAR_2 ) ; } +public TYPE_1 < TYPE_2 > METHOD_1 ( TYPE_1 < TYPE_2 > a, TYPE_1 < TYPE_2 > b ) { TYPE_3 c = new TYPE_3 ( a, b ) ; VAR_1. append ( c ) ; return c ; } +public TYPE_1 METHOD_1 ( ) { TYPE_1 VAR_1 = new TYPE_1 ( ) ; VAR_2. add ( VAR_1 ) ; for ( TYPE_2 listener : VAR_3 ) listener. METHOD_2 ( ) ; return VAR_1 ; } +protected java.lang.Object METHOD_2 ( java.lang.Object value ) { return value ; } +public void METHOD_2 ( java.lang.String STRING_2 ) { for ( TYPE_2 VAR_3 : STRING_2 ) { if ( VAR_3!= null ) { METHOD_3 ( java.lang.String.format ( STRING_2 ) ) ; } } } +public void METHOD_1 ( java.lang.String VAR_1 ) { if ( TYPE_1. METHOD_2 ( VAR_1 ) ) { return ; } this. VAR_1 = VAR_1 ; } +public void METHOD_2 ( ) { for ( int i = 0 ; i < ( VAR_1. size ( ) ) ; i ++ ) { VAR_1. get ( i ). METHOD_3 ( ) ; } } +public float METHOD_2 ( long VAR_1, long VAR_2 ) { return ( ( ( float ) ( VAR_1 ) ) / ( VAR_2 ) ) * INT_1 ; } +public java.lang.Object METHOD_1 ( java.lang.Long VAR_1, java.lang.Integer size, java.lang.Long VAR_2 ) throws java.lang.Exception { return VAR_3. METHOD_1 ( VAR_2, VAR_1, size ) ; } +public TYPE_1 METHOD_1 ( final TYPE_1 VAR_1 ) { final TYPE_2 < TYPE_1 > VAR_2 = VAR_3. METHOD_2 ( VAR_1 ) ; return VAR_4. METHOD_3 ( VAR_2 ) ; } +public void METHOD_1 ( java.lang.String text ) { VAR_1. setText ( text ) ; } +public TYPE_1 METHOD_1 ( java.lang.String text ) { return TYPE_1. METHOD_2 ( STRING_1, STRING_2, id, STRING_3, text ) ; } +public void METHOD_2 ( TYPE_2 VAR_2 ) { if ( VAR_1 ) { throw new TYPE_1 ( ) ; } } +public void METHOD_1 ( ) { TYPE_1. METHOD_2 ( VAR_1, STRING_1 ) ; VAR_2. METHOD_3 ( ) ; } +public boolean METHOD_2 ( android.view.View VAR_1, TYPE_2 VAR_2 ) { return false ; } +public void METHOD_1 ( ) throws TYPE_1 { TYPE_2 VAR_1 = new TYPE_2 ( this. VAR_2, STRING_1 ) ; VAR_1. METHOD_2 ( ) ; VAR_1. METHOD_3 ( ) ; TYPE_3. assertNotNull ( VAR_1. METHOD_4 ( ) ) ; } +public boolean METHOD_1 ( TYPE_1 VAR_1 ) { if ( VAR_2 ) { VAR_1. METHOD_2 ( 1 ). METHOD_3 ( STRING_1 ) ; } else { VAR_1. METHOD_2 ( 1 ). METHOD_3 ( STRING_2 ) ; } return true ; } +public void METHOD_1 ( android.view.View view, TYPE_2 VAR_2 ) { TYPE_1 VAR_1 = ( ( TYPE_1 ) ( view. METHOD_1 ( VAR_2 ) ) ) ; METHOD_3 ( VAR_1 ) ; } +private void METHOD_2 ( ) { if ( ( VAR_1. METHOD_2 ( ) ) && ( ( VAR_2 )!= null ) ) VAR_2. METHOD_3 ( VAR_3 ) ; else VAR_2. METHOD_3 ( VAR_4 ) ; } +private static java.lang.String METHOD_1 ( ) { try { return VAR_1 class. METHOD_2 ( ). METHOD_3 ( ) ; } catch ( java.lang.Throwable VAR_2 ) { return VAR_3. METHOD_4 ( STRING_1, VAR_2 ) ; } } +void METHOD_1 ( ) { if ( METHOD_2 ( ) ) { VAR_1. METHOD_3 ( ) ; METHOD_4 ( ) ; } VAR_3 = false ; } +private synchronized void METHOD_1 ( ) { VAR_1. METHOD_2 ( VAR_2 ) ; VAR_1. METHOD_3 ( listener ) ; } +public void METHOD_1 ( ) { VAR_1. METHOD_2 ( VAR_2 ) ; METHOD_3 ( ) ; setState ( VAR_3 ) ; } +public boolean METHOD_1 ( TYPE_1 VAR_1 ) { TYPE_1 result = TYPE_2. METHOD_2 ( VAR_1 ) ; return result. METHOD_3 ( ) ; } +protected void METHOD_1 ( TYPE_1 VAR_1 ) { super. METHOD_1 ( VAR_1 ) ; } +public void METHOD_1 ( java.util.List < java.lang.String > VAR_1 ) { +public void METHOD_2 ( TYPE_1 event, TYPE_2 target, TYPE_2 VAR_1 ) { VAR_2. String class. getName ( ) ; } +public void METHOD_2 ( ) { if ( VAR_1. intValue ( )!= VAR_2. intValue ( ) ) { ( VAR_1 ) ++ ; } } +public void METHOD_2 ( TYPE_2 VAR_1 ) { int VAR_2 = VAR_3 ; java.lang.System.out.println ( ( ( STRING_1 + VAR_2 ) + STRING_2 ) ) ; } diff --git a/output/bugs2fix_checklist/metrics.json b/output/bugs2fix_checklist/metrics.json index 9f4a147..b2682b1 100644 --- a/output/bugs2fix_checklist/metrics.json +++ b/output/bugs2fix_checklist/metrics.json @@ -1 +1 @@ -{"case_count": 100, "results": {"em": {"prompt0": [0.01, 0.0, 0.01, 0.01], "prompt1": [0.0, 0.0, 0.0, 0.0], "prompt2": [0.0, 0.0, 0.02, 0.01]}, "bleu": {"prompt0": [0.573686953047881, 0.600406931103176, 0.5455959474120977, 0.6042161527054498], "prompt1": [0.16049203357506017, 0.17587034302500942, 0.3572169986101516, 0.014455677189210047], "prompt2": [0.5509405997488187, 0.6197289251181732, 0.5398913802834645, 0.6149254940943188]}, "codebleu-java": {"prompt0": [0.6531550591670596, 0.6766499011162042, 0.6131400256475396, 0.6867325572543022], "prompt1": [0.18533060752934005, 0.2495334791813979, 0.4194327258702645, 0.052124209943583], "prompt2": [0.6154307107316426, 0.6988592588806936, 0.6321488085639098, 0.6982595332477076]}}} \ No newline at end of file +{"case_count": 100, "results": {"em": {"prompt0": [0.01, 0.0, 0.01, 0.01], "prompt1": [0.0, 0.0, 0.0, 0.0], "prompt2": [0.0, 0.0, 0.02, 0.01]}, "bleu": {"prompt0": [0.5918350248483545, 0.600406931103176, 0.5455959474120977, 0.6042161527054498], "prompt1": [0.16049203357506017, 0.17587034302500942, 0.3572169986101516, 0.014455677189210047], "prompt2": [0.5509405997488187, 0.6197289251181732, 0.5398913802834645, 0.6149254940943188]}, "codebleu-java": {"prompt0": [0.6802196789348955, 0.6760881033633952, 0.6131400256475396, 0.6867325572543022], "prompt1": [0.18533060752934005, 0.2495334791813979, 0.4194327258702645, 0.052124209943583], "prompt2": [0.6154307107316426, 0.6982974611278845, 0.6321488085639098, 0.6982595332477076]}}} \ No newline at end of file diff --git a/output/bugs2fix_checklist/prompt0/.ipynb_checkpoints/codegen1-multi-350M-checkpoint.output b/output/bugs2fix_checklist/prompt0/.ipynb_checkpoints/codegen1-multi-350M-checkpoint.output index 3d47d9b..a6a7edb 100644 --- a/output/bugs2fix_checklist/prompt0/.ipynb_checkpoints/codegen1-multi-350M-checkpoint.output +++ b/output/bugs2fix_checklist/prompt0/.ipynb_checkpoints/codegen1-multi-350M-checkpoint.output @@ -1,33 +1,33 @@ private Cardigan getType ( Apple h ) { return new Cardigan ( h, h ) ; } public Box waldo ( int q ) { Box output = e [ q ] ; if ( ( q ) > 0 ) { q = ( q ) - 1 ; } else { } return output ; } - +private void qux ( android.content.Intent intent ) { android.content.Intent.CanceledException cce = new android.content.Intent.CanceledException ( this ) ; corge ( cce ) ; } public void foo ( ) { for ( Egg e : i ) e. grault ( ) ; corge ( ) ; if ( ( b )!= null ) b. foo ( ) ; } public void grault ( ) { Apple. waldo ( corge ( ), baz ( ). getString ( v ), p ). show ( ) ; } public Thingy foo ( Thingy h ) { t [ ( ( h. position ) + 1 ) ] = isEmpty ( ) ; h. position += 1 ; l = baz ( h. position ) ; return h ; } private static boolean fred ( final int status ) { return status == ( j ) ; } public void grault ( int l, Egg u, int i ) { this. i. add ( l, u ) ; g. add ( this ) ; } - +public char getColor ( ) throws java.io.IOException { o. qux ( ( "truth" + "\n" ) ) ; java.lang.String response = z. garply ( ) ; java.lang.System.out.println ( response ) ; return response. waldo ( 0 ) ; } public void fred ( final java.lang.String e ) { if ( e!= null ) format. thud ( ). grault ( r, e ) ; } - +public void grault ( Gadget e, java.lang.String s ) { f = 0 ; x = ( ( double ) ( f ) ) / FLOAT_1 ; o = new java.lang.Double ( x ). toString ( s ) ; y. setText ( o ) ; } public boolean qux ( Gadget item ) { switch ( item. bar ( ) ) { case v : return true ; case o : return true ; default : return super. qux ( item ) ; } } public void corge ( Gadget v, int i ) { this. v = v ; this. i = i ; } public java.lang.Boolean corge ( java.lang.String id, java.lang.String value ) { return a. corge ( id, value ) ; } -i ) ; w. bar ( o, i ) ; fred ( o, i ) ; } + private static native void waldo ( long set, long w ) ; public java.lang.Boolean qux ( Egg i, Doohickey l ) { int count = k. fred ( i ) ; return count == 0 ; } - +public void foo ( ) { if ( ( ( r )!= null ) && ( r. waldo ( ) ) ) { Doohickey. qux ( r, this ) ; r. grault ( ) ; } d = true ; } public < Widget > Widget bar ( final java.lang.Object h, final java.lang.Class < Widget > q, final java.lang.Object w ) { return bar ( h, q, w ) ; } public void qux ( Doohickey f ) { Widget. bar ( h, ( "" + f ) ) ; } public void waldo ( Widget p ) { if ( v ) { w. setText ( Apple. foo ( ( ( Yak ) ( w. getContext ( ) ) ) ) ) ; } v =! ( v ) ; } private void fred ( Gadget z ) { grault ( ) ; baz ( ) ; } public void bar ( Doohickey c, boolean a, boolean b ) { this. bar ( c, a, b ) ; } - +private void bar ( ) { android.content.Intent intent = new android.content.Intent ( this, o class ) ; int index = Cardigan. corge ( ). waldo ( ) ; intent. fred ( "truth", index ) ; qux ( intent ) ; } public void garply ( Yak arg ) { q. waldo ( l. getId ( ), arg. qux ( ), arg. grault ( ) ) ; baz ( ) ; } public void thud ( ) { if (! ( h ) ) { j. update ( ) ; } l. thud ( ) ; } public Thingy thud ( Thingy c ) { if ( c == null ) return null ; if (! ( baz ( ) ) ) return null ; Thingy response = i. thud ( c ) ; return response ; } -( ) ) ; } + public void bar ( ) { p. waldo ( e ) ; l. waldo ( e ) ; l. garply ( this ) ; } -( ) ; } } + public void waldo ( java.lang.Throwable c ) { g. foo ( ( "" + ( r. name ( ) ) ), c ) ; fred ( ) ; } private int thud ( int x ) { return this. x = x ; } public float op ( float e ) { return Widget. corge ( e, num. garply ( ) ) ; } @@ -38,58 +38,58 @@ private void foo ( Doohickey k ) { java.lang.System.out.println ( "" ) ; r. qux private void bar ( Doohickey t ) { java.lang.Object [ ] x = corge ( t ) ; garply ( ) ; Apple. qux ( x ) ; baz ( new Egg ( x ) ) ; } public static void main ( java.lang.String [ ] args ) { Apple b = Doohickey. baz ( "" ) ; java.lang.System.out.println ( b. fred ( ) ) ; } public int getId ( ) { return i. id ; } - +public void waldo ( Apple e, Yak h ) { if ( e == null ) { Nicknack. garply ( c, ( "truth" + path ) ) ; qux ( ) ; } else { corge ( e. foo ( ) ) ; } } private static int waldo ( int r, int u, int v ) { return a. bar ( r ). compareTo ( a. bar ( u ). compareTo ( a. bar ( v ) ) ) ; } public long fred ( long i ) { return i ; } private static void baz ( Apple a, Apple l ) { for ( java.lang.String key : a. garply ( ) ) l. qux ( key, a. corge ( key ) ) ; } public void garply ( ) { while ( ( b ) <= ( y ) ) { Apple q = Doohickey. qux ( ) ; add ( q ) ; ( b ) ++ ; } } public void thud ( java.io.File z ) throws java.io.IOException { Doohickey. thud ( z ) ; this. z = null ; this. r = null ; } - +private static Cardigan corge ( int n ) { Cardigan w = u ; for ( int i = n ; i > 1 ; i -- ) { w = w. thud ( new Cardigan ( java.lang.Integer.toString ( i ) ) ) ; } return w ; } public void grault ( ) { super. grault ( ) ; Egg. i ( t, "truth" ) ; bar ( ) ; } public static Cardigan qux ( Box b, double g, double height, double f ) { if ( ( f ) == null ) { f = new Cardigan ( b, g, height ) ; } return f ; } public void grault ( Egg c ) { c. bar ( ) ; h. add ( c ) ; } protected void corge ( ) { super. corge ( ) ; Egg. i ( f, "" ) ; } -} + public boolean fred ( ) { return (! ( this. y. isEmpty ( ) ) ) || (! ( this. a. isEmpty ( ) ) ) ; } public boolean grault ( boolean o ) { java.lang.System.out.println ( o ) ; return this. o ; } public int corge ( int v, int y ) { return fred ( v, y ) ; } public int corge ( java.lang.Object t, int i ) { return 0 ; } - - - - +public void grault ( java.lang.String url, Egg o, Thingy c, Widget status ) { z. id ( o ). thud ( Gadget. foo ( Gadget. qux ( c ) ) ). garply ( f ) ; } +public void init ( ) { bar ( new Doohickey ( ) ) ; add ( p, r ) ; qux ( d ) ; garply ( d ) ; thud ( d ) ; z = s ; l = false ; } +public java.lang.String qux ( java.lang.String arg0 ) { switch ( fred ( ) ) { case 1 : return null ; case 3 : return null ; case 1 : return getType ( ). toString ( ) ; default : return null ; } } +public void qux ( java.lang.CharSequence title ) { super. qux ( title ) ; if ( ( title!= null ) || ( ( garply ( ) )!= null ) ) { garply ( ). qux ( title. toString ( ) ) ; } } public static boolean equals ( Widget k, Widget d, boolean b ) { return ( k. corge ( d ) ) && ( k. toString ( ). equals ( d. toString ( ) ) ) ; } - - +public boolean thud ( android.content.Intent intent ) { int g = k. qux ( ) ; if ( g == ( a ) ) { q. grault ( ) ; u. fred ( w ) ; return true ; } return false ; } +private static double grault ( java.util.ArrayList < java.lang.Double > p ) { double sum = 0 ; for ( double i : p ) { sum += i * ( Apple. qux ( i ) ) ; } return sum ; } public void grault ( int k, java.lang.String z, java.lang.String v ) { Nicknack. foo ( k ). remove ( Widget. waldo ( z, v ) ) ; } private Gadget garply ( ) { java.lang.String e = this. qux ( ) ; return new Gadget ( e ) ; } public void grault ( final boolean p ) { y. grault ( p ) ; } public int baz ( ) { java.lang.String str = java.lang.String. foo ( ( ( Gadget ) ( c ) ). getText ( ) ) ; bar ( str ) ; return h ; } public void corge ( ) { android.content.Intent w = new android.content.Intent ( p ) ; grault ( w, 0 ) ; } - +public Widget qux ( int p ) { int q = java.lang.Math.abs ( ( ( y. grault ( ) ) % ( h. size ( ) ) ) ) ; return w. get ( p ) ; } public void foo ( final Thingy w, final Apple k ) { qux ( k ) ; corge ( k ) ; baz ( k ) ; } public java.lang.String fred ( Egg u, Yak s ) { return "truth" ; } public int fred ( ) { if ( ( garply ( ) ) == 0 ) { return 0 ; } return ( p. size ( ) ) + ( e ) ; } - +public Doohickey < Yak > qux ( Doohickey < Yak > a, Doohickey < Yak > b ) { Cardigan c = new Cardigan ( a, b ) ; j. append ( c ) ; return c ; } public Cardigan thud ( ) { Cardigan o = new Cardigan ( ) ; s. add ( o ) ; for ( Doohickey listener : c ) listener. fred ( ) ; bar ( ) ; return o ; } protected java.lang.Object fixed ( java.lang.Object value ) { return value ; } public void baz ( java.util.List < Yak > z ) { for ( Yak r : z ) { if ( r!= null ) { qux ( java.lang.String.format ( "" ) ) ; } } } public void foo ( java.lang.String k ) { if ( Widget. thud ( k ) ) { return ; } this. k = k ; } public void garply ( ) { for ( int i = 0 ; i < ( f. size ( ) ) ; i ++ ) { f. get ( i ). waldo ( ) ; } } public float bar ( float j, float z ) { return ( ( ( float ) ( j ) ) / ( 0.0F + z ) ) * 9 ; } -o, t, size, v ) ; } + public Thingy waldo ( final Thingy q, final Thingy r ) { final Cardigan < Thingy > o = g. fred ( q ) ; return l. thud ( o ) ; } public void qux ( java.lang.String text, java.lang.String text2 ) { c. setText ( text ) ; c. fred ( 0 ) ; } public Yak baz ( java.lang.String text, java.lang.String id ) { return Yak. fred ( "truth", "results", id, "Input: ", text ) ; } public void foo ( Gadget a ) { if ( l ) { throw new Thingy ( ) ; } } public void bar ( ) { super. bar ( ) ; f. foo ( ) ; } public boolean waldo ( android.view.View h, Cardigan t ) { return false ; } - - - +public void foo ( ) throws Doohickey { Gadget z = new Gadget ( this. u, "truth" ) ; z. qux ( ) ; z. fred ( ) ; Widget. assertNotNull ( z. garply ( ) ) ; } +public boolean foo ( Box p ) { if ( w ) { p. grault ( 1 ). qux ( "" ) ; } else { p. grault ( 1 ). qux ( "results" ) ; } return true ; } +public void garply ( android.view.View view, Nicknack i ) { super. garply ( view, i ) ; Widget l = ( ( Widget ) ( view. waldo ( y ) ) ) ; baz ( l ) ; corge ( ) ; } private void waldo ( ) { if ( ( x. bar ( ) ) && ( ( j )!= null ) ) j. fred ( s ) ; else j. fred ( e ) ; } - - +private static java.lang.String grault ( java.lang.String arg0 ) { try { return c class. corge ( ). bar ( ) ; } catch ( java.lang.Throwable x ) { v. baz ( "truth", x ) ; return null ; } } +void bar ( ) { if ( fred ( ) ) { e. corge ( ) ; grault ( ) ; java.lang.System.out.println ( ( ( "" + ( w ) ) + "results" ) ) ; baz ( ) ; } l = true ; } private synchronized void waldo ( ) { b. grault ( e ) ; b. garply ( listener ) ; } public void corge ( ) { i. garply ( t ) ; thud ( ) ; setState ( l ) ; } public boolean corge ( Nicknack x ) { return Widget. garply ( x ) ; } diff --git a/output/bugs2fix_checklist/prompt0/codegen1-multi-350M.output b/output/bugs2fix_checklist/prompt0/codegen1-multi-350M.output index 9247118..86be337 100644 --- a/output/bugs2fix_checklist/prompt0/codegen1-multi-350M.output +++ b/output/bugs2fix_checklist/prompt0/codegen1-multi-350M.output @@ -12,7 +12,7 @@ public void grault ( Gadget e, java.lang.String s ) { f = 0 ; x = ( ( double ) ( public boolean qux ( Gadget item ) { switch ( item. bar ( ) ) { case v : return true ; case o : return true ; default : return super. qux ( item ) ; } } public void corge ( Gadget v, int i ) { this. v = v ; this. i = i ; } public java.lang.Boolean corge ( java.lang.String id, java.lang.String value ) { return a. corge ( id, value ) ; } -i ) ; w. bar ( o, i ) ; fred ( o, i ) ; } +public void grault ( Nicknack o, int i ) { super. grault ( o, i ) ; e. garply ( o, i ) ; q. qux ( o, i ) ; z. bar ( o, i ) ; w. bar ( o, i ) ; fred ( o, i ) ; } private static native void waldo ( long set, long w ) ; public java.lang.Boolean qux ( Egg i, Doohickey l ) { int count = k. fred ( i ) ; return count == 0 ; } public void foo ( ) { if ( ( ( r )!= null ) && ( r. waldo ( ) ) ) { Doohickey. qux ( r, this ) ; r. grault ( ) ; } d = true ; } @@ -25,9 +25,9 @@ private void bar ( ) { android.content.Intent intent = new android.content.Inten public void garply ( Yak arg ) { q. waldo ( l. getId ( ), arg. qux ( ), arg. grault ( ) ) ; baz ( ) ; } public void thud ( ) { if (! ( h ) ) { j. update ( ) ; } l. thud ( ) ; } public Thingy thud ( Thingy c ) { if ( c == null ) return null ; if (! ( baz ( ) ) ) return null ; Thingy response = i. thud ( c ) ; return response ; } -( ) ) ; } +public void waldo ( android.view.View u ) { Thingy. foo ( "truth", "\n" ) ; e. thud ( ( ( Nicknack ) ( d. garply ( ) ) ). fred ( ) ) ; } public void bar ( ) { p. waldo ( e ) ; l. waldo ( e ) ; l. garply ( this ) ; } -( ) ; } } +public int update ( java.lang.Object r ) { c. grault ( r ) ; baz ( ) ; try { return qux ( c. fred ( ) ). execute ( ) ; } finally { c. garply ( ) ; } } public void waldo ( java.lang.Throwable c ) { g. foo ( ( "" + ( r. name ( ) ) ), c ) ; fred ( ) ; } private int thud ( int x ) { return this. x = x ; } public float op ( float e ) { return Widget. corge ( e, num. garply ( ) ) ; } @@ -49,7 +49,7 @@ public void grault ( ) { super. grault ( ) ; Egg. i ( t, "truth" ) ; bar ( ) ; } public static Cardigan qux ( Box b, double g, double height, double f ) { if ( ( f ) == null ) { f = new Cardigan ( b, g, height ) ; } return f ; } public void grault ( Egg c ) { c. bar ( ) ; h. add ( c ) ; } protected void corge ( ) { super. corge ( ) ; Egg. i ( f, "" ) ; } -} +public boolean bar ( Cardigan q, java.util.Map < Gadget, java.util.List < Cardigan > > d, java.util.List < Apple > w, Nicknack u, boolean z ) { return true ; } public boolean fred ( ) { return (! ( this. y. isEmpty ( ) ) ) || (! ( this. a. isEmpty ( ) ) ) ; } public boolean grault ( boolean o ) { java.lang.System.out.println ( o ) ; return this. o ; } public int corge ( int v, int y ) { return fred ( v, y ) ; } @@ -77,7 +77,7 @@ public void baz ( java.util.List < Yak > z ) { for ( Yak r : z ) { if ( r!= null public void foo ( java.lang.String k ) { if ( Widget. thud ( k ) ) { return ; } this. k = k ; } public void garply ( ) { for ( int i = 0 ; i < ( f. size ( ) ) ; i ++ ) { f. get ( i ). waldo ( ) ; } } public float bar ( float j, float z ) { return ( ( ( float ) ( j ) ) / ( 0.0F + z ) ) * 9 ; } -o, t, size, v ) ; } +public java.lang.Object corge ( java.lang.Integer t, java.lang.Integer size, java.lang.Long o, java.lang.Object v ) throws java.lang.Exception { return x. corge ( o, t, size, v ) ; } public Thingy waldo ( final Thingy q, final Thingy r ) { final Cardigan < Thingy > o = g. fred ( q ) ; return l. thud ( o ) ; } public void qux ( java.lang.String text, java.lang.String text2 ) { c. setText ( text ) ; c. fred ( 0 ) ; } public Yak baz ( java.lang.String text, java.lang.String id ) { return Yak. fred ( "truth", "results", id, "Input: ", text ) ; } diff --git a/output/bugs2fix_checklist/prompt2/.ipynb_checkpoints/codegen1-multi-16B-checkpoint.output b/output/bugs2fix_checklist/prompt2/.ipynb_checkpoints/codegen1-multi-16B-checkpoint.output new file mode 100644 index 0000000..46f1ee2 --- /dev/null +++ b/output/bugs2fix_checklist/prompt2/.ipynb_checkpoints/codegen1-multi-16B-checkpoint.output @@ -0,0 +1,100 @@ +private Cardigan getType ( Apple h ) { Yak k = new Yak ( "" ) ; return new Cardigan ( k, k ) ; } +public Box waldo ( ) { Box output = e [ q ] ; if ( ( q ) > 0 ) { q = ( q ) - 1 ; } else { } return output ; } +private void corge ( java.lang.Class h ) { android.content.Intent intent = new android.content.Intent ( this, h ) ; } +public void foo ( ) { for ( Egg e : i ) e. grault ( ) ; corge ( ) ; if ( ( b )!= null ) b. foo ( ) ; } +public void grault ( ) { Apple. waldo ( corge ( ), baz ( ). getString ( v ), p ). show ( ) ; } +public Thingy foo ( Thingy h ) { t [ ( ( h. position ) + 1 ) ] = isEmpty ( ) ; h. position += 1 ; l = baz ( h. position ) ; return h ; } +private static boolean fred ( final byte status ) { return status == ( j ) ; } +public void grault ( int l, Egg u ) { this. i. add ( l, u ) ; } +public char getColor ( ) throws java.io.IOException { o. qux ( ( "truth" + "\n" ) ) ; java.lang.String response = z. garply ( ) ; java.lang.System.out.println ( response ) ; return response. waldo ( 0 ) ; } +public void fred ( final java.lang.String... e ) { if ( e!= null ) format. thud ( ). grault ( r, e ) ; } +public void grault ( Gadget e ) { f = 0 ; x = ( ( double ) ( f ) ) / FLOAT_1 ; o = new java.lang.Double ( x ). toString ( ) ; y. setText ( o ) ; } +public boolean qux ( Gadget item ) { switch ( item. bar ( ) ) { case v : return true ; case o : return true ; default : return super. qux ( item ) ; } } +public void corge ( Gadget v ) { this. v = v ; } +public java.lang.Boolean corge ( java.lang.String id ) { return a. corge ( id ) ; } +public void grault ( Nicknack o ) { super. grault ( o ) ; e. garply ( o ) ; q. qux ( o ) ; z. bar ( o ) ; w. bar ( o ) ; fred ( o ) ; } +private static native void waldo ( long set ) ; +public java.lang.Boolean qux ( Egg i, Doohickey l ) { int count = k. fred ( i ) ; return count > 0 && l. fred ( i ) > 0 ; } +public void foo ( ) { if ( ( ( r )!= null ) && ( r. waldo ( ) ) ) { Doohickey. qux ( r, this ) ; r. grault ( ) ; } d = false ; } +public < Widget > Widget bar ( final java.lang.Object h, final java.lang.Class < Widget > q, final java.lang.Object r ) { return bar ( h, q, r ) ; } +public void qux ( Doohickey f ) { Widget. bar ( h, ( "" + f ) ) ; f. show ( ) ; } +public void waldo ( Widget p ) { if ( v ) { w. setText ( Apple. foo ( ( ( Yak ) ( w. getContext ( ) ) ) ) ) ; } v =! ( v ) ; } +private void fred ( ) { grault ( ) ; baz ( ) ; } +public void bar ( Doohickey c, boolean a, boolean b ) { this. bar ( c, a, b ) ; } +private void bar ( ) { android.content.Intent intent = new android.content.Intent ( this, o class ) ; int index = Cardigan. corge ( ). waldo ( ) ; intent. fred ( "truth", index ) ; qux ( intent ) ; } +public void garply ( Yak arg ) { q. waldo ( l. getId ( ), arg. qux ( ), arg. grault ( ) ) ; baz ( ) ; } +public void thud ( ) { if (! ( h ) ) { j. update ( ) ; } l. thud ( ) ; } +public Thingy thud ( Thingy c ) throws Gadget, Egg { if ( c == null ) return null ; if (! ( baz ( ) ) ) return null ; Thingy response = i. thud ( c ) ; return response ; } +public void waldo ( android.view.View u ) { Thingy. foo ( "truth", "\n" ) ; e. thud ( ( ( Nicknack ) ( d. garply ( ) ) ). fred ( ) ) ; } +public void bar ( ) { p. waldo ( e ) ; l. garply ( this ) ; l. waldo ( e ) ; } +public int update ( java.lang.Object r ) { c. grault ( r ) ; baz ( ) ; try { return qux ( c. fred ( ) ). execute ( ) ; } finally { c. garply ( ) ; } } +public void waldo ( java.lang.Throwable c ) { g. foo ( ( "" + ( r. name ( ) ) ), c ) ; fred ( ) ; } +private int thud ( ) { return this. x ; } +public float op ( float e ) { return Widget. corge ( e, num. garply ( ) ) ; } +public void grault ( ) { super. grault ( ) ; e = this ; bar ( ) ; } +public void corge ( ) { if ( i ) { i = false ; f. fred ( ) ; startTime = ( Doohickey. waldo ( ) ) - ( c ) ; } } +public Egg grault ( java.lang.Integer id ) { return new Egg ( id ) ; } +private void foo ( Doohickey k ) { java.lang.System.out.println ( "" ) ; r. qux ( new Yak ( Apple. baz ( "results", "orange" ) ) ) ; } +private void bar ( Doohickey t ) { java.lang.Object [ ] x = corge ( t ) ; garply ( ) ; Apple. qux ( x ) ; baz ( new Egg ( x ) ) ; } +public static class Apple { +public int getId ( ) { return i. id ; } +public void waldo ( Apple e, Yak h ) { if ( e == null ) { Nicknack. garply ( c, ( "truth" + path ) ) ; qux ( ) ; } else { corge ( e. foo ( ) ) ; } } +private static int waldo ( int r, int u ) { return a. bar ( r ). compareTo ( a. bar ( u ) ) ; } +public long fred ( int i ) { return i + 1 ; } +private static void baz ( Apple a, Apple l ) { for ( java.lang.String key : a. garply ( ) ) l. qux ( key, a. corge ( key ) ) ; } +public void garply ( ) { while ( ( b ) <= ( y ) ) { Apple q = Doohickey. qux ( ) ; add ( q ) ; ( b ) ++ ; } } +public void thud ( ) throws java.io.IOException { Doohickey. thud ( z ) ; this. z = null ; this. r = null ; } +private static Cardigan corge ( int n ) { Cardigan w = u ; for ( int i = n ; i > 1 ; i -- ) { w = w. thud ( new Cardigan ( java.lang.Integer.toString ( i ) ) ) ; } return w. thud ( new Cardigan ( "1" ) ) ; } +public void grault ( ) { super. grault ( ) ; Egg. i ( t, "truth" ) ; bar ( ) ; Egg. i ( t, "\n" ) ; } +public static Cardigan qux ( Box b, double g, double height ) { if ( ( f ) == null ) { f = new Cardigan ( b, g, height ) ; } return f ; } +public void grault ( Egg c ) { c. bar ( ) ; h. add ( c ) ; } +protected void corge ( ) { super. corge ( ) ; Egg. i ( f, " " ) ; } +public boolean bar ( Cardigan q, java.util.Map < Gadget, java.util.List < Cardigan > > d, java.util.List < Apple > w, Nicknack u, boolean z ) { return true ; } +public boolean fred ( ) { return (! ( this. y. isEmpty ( ) ) ) && (! ( this. a. isEmpty ( ) ) ) ; } +public boolean grault ( ) { java.lang.System.out.println ( o ) ; return this. o ; } +public int corge ( ) { return java.lang.Math.abs ( v ) + java.lang.Math.abs ( y ) ; } +public int corge ( java.lang.Object t ) { return 1 ; } +public void grault ( java.lang.String url, Egg o, Thingy c, Widget status ) { z. id ( o ). thud ( Gadget. foo ( Gadget. qux ( c ) ) ). garply ( f ) ; } +public void init ( ) { bar ( new Doohickey ( ) ) ; add ( p, r ) ; qux ( d ) ; garply ( d ) ; thud ( d ) ; z = s ; l = true ; } +public java.lang.String qux ( ) { switch ( fred ( ) ) { case 1 : return null ; case 3 : return null ; case 1 : return getType ( ). toString ( ) ; default : return null ; } } +public void qux ( java.lang.CharSequence title ) { super. qux ( title ) ; if ( ( title!= null ) || ( ( garply ( ) )!= null ) ) { garply ( ). qux ( title. toString ( ) ) ; } } +public static boolean equals ( Widget k, Widget d ) { return ( k. corge ( d ) ) && ( k. toString ( ). equals ( d. toString ( ) ) ) ; } +public boolean thud ( android.content.Intent intent ) { int g = k. qux ( ) ; if ( g == ( a ) ) { q. grault ( ) ; u. fred ( w ) ; return true ; } return false ; } +private static double grault ( java.util.ArrayList < java.lang.Double > p ) { double sum = 0 ; for ( double i : p ) { sum -= i * ( Apple. qux ( i ) ) ; } return sum ; } +public void grault ( int k, java.lang.String z, java.lang.String v ) { Nicknack. foo ( k ). remove ( new Widget ( z, v ) ) ; } +private Gadget garply ( Doohickey j ) { java.lang.String e = j. qux ( ) ; return new Gadget ( e ) ; } +public void grault ( final boolean p ) { if ( p ) { y. grault ( p ) ; } } +public int baz ( ) { java.lang.String str = java.lang.String. foo ( ( ( Gadget ) ( c ) ). getText ( ) ) ; bar ( str ) ; return h ; } +public void corge ( ) { android.content.Intent w = new android.content.Intent ( p ) ; grault ( w, 0 ) ; android.content.Intent i = new android.content.Intent ( this, c class ) ; waldo ( i ) ; } +public Widget qux ( ) { int p = java.lang.Math.abs ( ( ( y. grault ( ) ) % ( h. size ( ) ) ) ) ; return w. get ( p ) ; } +public void foo ( final Thingy w, final Apple k ) { qux ( k ) ; corge ( k ) ; baz ( k ) ; grault ( k ) ; } +public java.lang.String fred ( Egg u, Yak s ) { return "truth" ; } +public int fred ( ) { if ( ( garply ( ) ) == 0 ) { return 0 ; } return ( p. size ( ) ) + ( e ) ; } +public Doohickey < Yak > qux ( Doohickey < Yak > a, Doohickey < Yak > b ) { Cardigan c = new Cardigan ( a, b ) ; j. append ( c ) ; return c ; } +public Cardigan thud ( ) { Cardigan o = new Cardigan ( ) ; s. add ( o ) ; for ( Doohickey listener : c ) listener. fred ( ) ; bar ( ) ; return o ; } +protected java.lang.Object corge ( java.lang.Object value ) { return value ; } +public void baz ( java.util.List < Yak > z ) { for ( Yak r : z ) { if ( r!= null ) { qux ( java.lang.String.format ( "" ) ) ; } } } +public void foo ( java.lang.String k ) { if ( Widget. thud ( k ) ) { return ; } this. k = k ; } +public void garply ( ) { for ( int i = 0 ; i < ( f. size ( ) ) ; i ++ ) { f. get ( i ). waldo ( ) ; } } +public float bar ( long j, long z ) { return ( ( ( float ) ( j ) ) / ( 0.0F + z ) ) * 9 ; } +public java.lang.Object corge ( java.lang.Integer t, java.lang.Integer size, java.lang.Long o ) throws java.lang.Exception { return x. corge ( o, t, size ) ; } +public Thingy waldo ( final Thingy q ) { return g. fred ( q ). thud ( l. thud ( g. fred ( q ) ) ) ; } +public void qux ( java.lang.String text ) { c. setText ( text ) ; c. fred ( 0 ) ; } +public Yak baz ( java.lang.String text ) { return Yak. fred ( "truth", "results", id, "Input: ", text ) ; } +public void foo ( Gadget a ) { if ( l ) { throw new Thingy ( ) ; } } +public void bar ( ) { super. bar ( ) ; f. foo ( ) ; } +public boolean waldo ( android.view.View h, Cardigan t ) { return true ; } +public void foo ( ) throws Doohickey { Gadget z = new Gadget ( this. u, "truth" ) ; z. qux ( ) ; z. fred ( ) ; Widget. assertNotNull ( z. garply ( ) ) ; } +public boolean foo ( Box p ) { if ( w ) { p. grault ( 1 ). qux ( "" ) ; } else { p. grault ( 1 ). qux ( "results" ) ; } return true ; } +public void garply ( android.view.View view, Nicknack i ) { super. garply ( view, i ) ; Widget l = ( ( Widget ) ( view. waldo ( y ) ) ) ; baz ( l ) ; corge ( ) ; } +private void waldo ( ) { if ( ( x. bar ( ) ) && ( ( j )!= null ) ) j. fred ( s ) ; else j. fred ( e ) ; } +private static java.lang.String grault ( ) { try { return c class. corge ( ). bar ( ) ; } catch ( java.lang.Throwable x ) { v. baz ( "truth", x ) ; return null ; } } +void bar ( ) { if ( fred ( ) ) { e. corge ( ) ; grault ( ) ; java.lang.System.out.println ( ( ( "" + ( w ) ) + "results" ) ) ; baz ( ) ; } l = false ; } +private synchronized void waldo ( ) { b. grault ( e ) ; b. garply ( new Listener ( ) { public void onEvent ( ) { } } ) ; } +public void corge ( ) { i. garply ( t ) ; thud ( ) ; setState ( l ) ; grault ( ) ; } +public boolean corge ( Nicknack x ) { return Widget. garply ( x ). bar ( ) ; } +protected void waldo ( Egg s ) { super. waldo ( s ) ; garply ( o ) ; corge ( ). qux ( h, h ) ; baz ( r ) ; foo ( ) ; } +public void bar ( java.util.List < java.lang.String > t ) { this. w. grault ( t ) ; } +public void baz ( Thingy event, Widget target, Widget z ) { l. String class. getName ( ) ; } +public void baz ( ) { if (! ( r. equals ( a. intValue ( ) ) ) ) { ( r ) ++ ; garply ( ) ; } } +public void bar ( Doohickey f ) { int t = a ; java.lang.System.out.println ( ( ( "truth" + t ) + "\n" ) ) ; } diff --git a/output/bugs2fix_checklist/prompt2/.ipynb_checkpoints/codegen1-multi-2B-checkpoint.output b/output/bugs2fix_checklist/prompt2/.ipynb_checkpoints/codegen1-multi-2B-checkpoint.output new file mode 100644 index 0000000..30ceccc --- /dev/null +++ b/output/bugs2fix_checklist/prompt2/.ipynb_checkpoints/codegen1-multi-2B-checkpoint.output @@ -0,0 +1,100 @@ +private Cardigan getType ( Apple h ) { Apple k = new Apple ( "" ) ; return new Cardigan ( k, k ) ; } +public Box waldo ( ) { Box output = e [ q ] ; if ( ( q ) > 0 ) { q = ( q ) - 1 ; } else { } return output ; } +private void qux ( java.lang.Class h ) { android.content.Intent intent = new android.content.Intent ( this, h ) ; corge ( intent ) ; } +public void foo ( ) { for ( Egg e : i ) e. grault ( ) ; corge ( ) ; if ( ( b )!= null ) b. foo ( ) ; } +public void grault ( ) { Apple. waldo ( corge ( ), baz ( ). getString ( v ), p ). show ( ) ; } +public Thingy foo ( Thingy h ) { t [ ( ( h. position ) + 1 ) ] = isEmpty ( ) ; h. position += 1 ; l = baz ( h. position ) ; return h ; } +private static boolean fred ( final byte status ) { return status == ( j ) ; } +public void grault ( int l, Egg u ) { this. i. add ( l, u ) ; } +public char getColor ( ) throws java.io.IOException { o. qux ( ( "truth" + "\n" ) ) ; java.lang.String response = z. garply ( ) ; java.lang.System.out.println ( response ) ; return response. waldo ( 0 ) ; } +public void fred ( final java.lang.String... e ) { if ( e!= null ) format. thud ( ). grault ( r, e ) ; } +public void grault ( Gadget e ) { f = 0 ; x = ( ( double ) ( f ) ) / FLOAT_1 ; o = new java.lang.Double ( x ). toString ( ) ; y. setText ( o ) ; } +public boolean qux ( Gadget item ) { switch ( item. bar ( ) ) { case v : return true ; case o : return true ; default : return super. qux ( item ) ; } } +public void corge ( Gadget v ) { this. v = v ; } +public java.lang.Boolean corge ( java.lang.String id ) { return a. corge ( id ) ; } +public void grault ( Nicknack o ) { super. grault ( o ) ; e. garply ( o ) ; q. qux ( o ) ; z. bar ( o ) ; w. bar ( o ) ; fred ( o ) ; } +private static native void waldo ( long set ) ; +public java.lang.Boolean qux ( Egg i, Doohickey l ) { int count = k. fred ( i ) ; return count > 0 ; } +public void foo ( ) { if ( ( ( r )!= null ) && ( r. waldo ( ) ) ) { Doohickey. qux ( r, this ) ; } d = false ; } +public < Widget > Widget bar ( final java.lang.Object h, final java.lang.Class < Widget > q, final java.lang.Class < Widget > r ) { return null ; } +public void qux ( Doohickey f ) { Widget. bar ( h, ( "" + f ) ) ; Yak. fred ( this, "results", d ). show ( ) ; } +public void waldo ( Widget p ) { if ( v ) { w. setText ( Apple. foo ( ( ( Yak ) ( w. getContext ( ) ) ) ) ) ; } v =! ( v ) ; } +private void fred ( Gadget z ) { grault ( ) ; baz ( ) ; } +public void bar ( Doohickey c, boolean a, boolean b ) { this. bar ( c, a, b ) ; } +private void bar ( ) { android.content.Intent intent = new android.content.Intent ( this, o class ) ; int index = Cardigan. corge ( ). waldo ( ) ; intent. fred ( "truth", index ) ; qux ( intent ) ; } +public void garply ( Yak arg ) { q. waldo ( l. getId ( ), arg. qux ( ), arg. grault ( ) ) ; baz ( ) ; } +public void thud ( ) { if (! ( h ) ) { j. update ( ) ; } l. thud ( ) ; } +public Thingy thud ( Thingy c ) throws Gadget, Egg { if ( c == null ) return null ; if (! ( baz ( ) ) ) return null ; Thingy response = i. thud ( c ) ; return response ; } +public void waldo ( android.view.View u ) { Thingy. foo ( "truth", "\n" ) ; e. thud ( ( ( Nicknack ) ( d. garply ( ) ) ). fred ( ) ) ; } +public void bar ( ) { p. waldo ( e ) ; l. waldo ( e ) ; l. garply ( this ) ; } +public int update ( java.lang.Object r ) { c. grault ( r ) ; baz ( ) ; try { return qux ( c. fred ( ) ). execute ( ) ; } finally { c. garply ( ) ; } } +public void waldo ( java.lang.Throwable c ) { g. foo ( ( "" + ( r. name ( ) ) ), c ) ; fred ( ) ; } +private int thud ( ) { return this. x ; } +public float op ( float e ) { return Widget. corge ( e, num. garply ( ) ) ; } +public void grault ( ) { super. grault ( ) ; bar ( ) ; } +public void corge ( ) { if ( i ) { i = false ; f. fred ( ) ; startTime = ( Doohickey. waldo ( ) ) - ( c ) ; } else { f. fred ( ) ; } } +public Egg garply ( java.lang.Integer id ) { return new Egg ( id ) ; } +private void foo ( Doohickey k ) { java.lang.System.out.println ( "" ) ; r. qux ( new Yak ( Apple. baz ( "results", "orange" ) ) ) ; } +private void bar ( Doohickey t ) { java.lang.Object [ ] x = corge ( t ) ; garply ( ) ; Apple. qux ( x ) ; baz ( new Egg ( x ) ) ; } +public static void main ( java.lang.String [ ] args ) { Apple b = Doohickey. baz ( "" ) ; java.lang.System.out.println ( b. fred ( ) ) ; } +public int getId ( ) { return i. id ; } +public void waldo ( Apple e, Yak h ) { if ( e == null ) { Nicknack. garply ( c, ( "truth" + path ) ) ; qux ( ) ; } else { corge ( e. foo ( ) ) ; } } +private static int waldo ( int r, int u ) { return a. bar ( r ). compareTo ( a. bar ( u ) ) ; } +public long fred ( int i ) { return i + 1 ; } +private static void baz ( Apple a, Apple l ) { for ( java.lang.String key : a. garply ( ) ) l. qux ( key, a. corge ( key ) ) ; } +public void garply ( ) { while ( ( b ) <= ( y ) ) { Apple q = Doohickey. qux ( ) ; add ( q ) ; ( b ) ++ ; } } +public void thud ( ) throws java.io.IOException { Doohickey. thud ( z ) ; this. z = null ; } +private static Cardigan corge ( int n ) { Cardigan w = u ; for ( int i = n ; i > 1 ; i -- ) { w = w. thud ( new Cardigan ( i ) ) ; } return w ; } +public void grault ( ) { super. grault ( ) ; Egg. i ( t, "truth" ) ; bar ( ) ; Egg. i ( t, "\n" ) ; } +public static Cardigan qux ( Box b, double g, double height ) { if ( ( f ) == null ) { f = new Cardigan ( b, g, height ) ; } return f ; } +public void grault ( Egg c ) { c. bar ( ) ; h. add ( c ) ; } +protected void corge ( ) { super. corge ( ) ; Egg. i ( f, "" ) ; } +public boolean bar ( Cardigan q, java.util.Map < Gadget, java.util.List < Cardigan > > d, java.util.List < Apple > w, Nicknack u, boolean z ) { return true ; } +public boolean fred ( ) { return (! ( this. y. isEmpty ( ) ) ) || (! ( this. a. isEmpty ( ) ) ) ; } +public boolean grault ( ) { java.lang.System.out.println ( o ) ; return this. o ; } +public int fred ( int v, int y ) { return v + y ; } +public int corge ( java.lang.Object t ) { return 1 ; } +public void grault ( java.lang.String url, Egg o, Thingy c, Widget status ) { z. id ( o ). thud ( c ). garply ( f ) ; } +public void init ( ) { bar ( new Doohickey ( ) ) ; add ( p, r ) ; qux ( d ) ; garply ( d ) ; thud ( d ) ; z = s ; l = true ; } +public java.lang.String qux ( ) { switch ( fred ( ) ) { case 1 : return null ; case 3 : return null ; case 1 : return getType ( ). toString ( ) ; default : return null ; } } +public void qux ( java.lang.CharSequence title ) { super. qux ( title ) ; if ( ( title!= null ) || ( ( garply ( ) )!= null ) ) { garply ( ). qux ( title. toString ( ) ) ; } } +public static boolean equals ( Widget k, Widget d ) { return ( k. corge ( d ) ) && ( k. toString ( ). equals ( d. toString ( ) ) ) ; } +public boolean thud ( android.content.Intent intent ) { int g = k. qux ( ) ; if ( g == ( a ) ) { q. grault ( ) ; u. fred ( w ) ; return true ; } return false ; } +private static double grault ( java.util.ArrayList < java.lang.Double > p ) { double sum = 0 ; for ( double i : p ) { sum -= i * ( Apple. qux ( i ) ) ; } return sum ; } +public void grault ( int k, java.lang.String z, java.lang.String v ) { Nicknack. foo ( k ). remove ( Widget. waldo ( z, v ) ) ; } +private Gadget garply ( Doohickey j ) { return new Gadget ( j. qux ( ) ) ; } +public void grault ( final boolean p ) { if ( p ) { y. grault ( p ) ; } } +public int baz ( ) { java.lang.String str = java.lang.String. foo ( ( ( Gadget ) ( c ) ). getText ( ) ) ; bar ( str ) ; return h ; } +public void corge ( ) { android.content.Intent w = new android.content.Intent ( p ) ; grault ( w, 0 ) ; android.content.Intent i = new android.content.Intent ( this, c class ) ; waldo ( i ) ; } +public Widget qux ( ) { int p = java.lang.Math.abs ( ( ( y. grault ( ) ) % ( h. size ( ) ) ) ) ; return w. get ( p ) ; } +public void foo ( final Thingy w, final Apple k ) { qux ( k ) ; corge ( k ) ; baz ( k ) ; grault ( k ) ; } +public java.lang.String fred ( Egg u, Yak s ) { return "truth" ; } +public int fred ( ) { if ( ( garply ( ) ) == 0 ) { return 0 ; } return ( p. size ( ) ) + ( e ) ; } +public Doohickey < Yak > qux ( Doohickey < Yak > a, Doohickey < Yak > b ) { Cardigan c = new Cardigan ( a, b ) ; return c ; } +public Cardigan thud ( ) { Cardigan o = new Cardigan ( ) ; s. add ( o ) ; for ( Doohickey listener : c ) listener. fred ( ) ; bar ( ) ; return o ; } +protected java.lang.Object corge ( java.lang.Object value ) { return new java.lang.Object ( value ) ; } +public void baz ( java.util.List < Yak > z ) { for ( Yak r : z ) { if ( r!= null ) { qux ( java.lang.String.format ( "" ) ) ; } } } +public void foo ( java.lang.String k ) { if ( Widget. thud ( k ) ) { return ; } this. k = k ; } +public void garply ( ) { for ( int i = 0 ; i < ( f. size ( ) ) ; i ++ ) { f. get ( i ). waldo ( ) ; } } +public float bar ( long j, long z ) { return ( ( ( float ) ( j ) ) / ( 0.0F + z ) ) * 9 ; } +public java.lang.Object corge ( java.lang.Integer t, java.lang.Integer size, java.lang.Long o ) throws java.lang.Exception { return x. corge ( o, t, size ) ; } +public Thingy waldo ( final Thingy q ) { final Cardigan < Thingy > o = g. fred ( q ) ; return l. thud ( o ) ; } +public void qux ( java.lang.String text ) { c. setText ( text ) ; c. fred ( 0 ) ; } +public Yak baz ( java.lang.String text ) { return Yak. fred ( "truth", "results", id, "Input: ", text ) ; } +public void foo ( Gadget a ) { if ( l ) { throw new Thingy ( ) ; } else { throw new Thingy ( ) ; } } +public void bar ( ) { super. bar ( ) ; f. foo ( ) ; } +public boolean waldo ( android.view.View h, Cardigan t ) { return true ; } +public void foo ( ) throws Doohickey { Gadget z = new Gadget ( this. u, "truth" ) ; z. qux ( ) ; z. fred ( ) ; Widget. assertNotNull ( z. garply ( ) ) ; } +public boolean foo ( Box p ) { if ( w ) { p. grault ( 1 ). qux ( "results" ) ; } else { p. grault ( 1 ). qux ( "" ) ; } return true ; } +public void garply ( android.view.View view, Nicknack i ) { super. garply ( view, i ) ; Widget l = ( ( Widget ) ( view. waldo ( y ) ) ) ; baz ( l ) ; corge ( ) ; } +private void waldo ( ) { if ( ( x. bar ( ) ) && ( ( j )!= null ) ) j. fred ( s ) ; else j. fred ( e ) ; } +private static java.lang.String grault ( ) { try { return c class. corge ( ). bar ( ) ; } catch ( java.lang.Throwable x ) { v. baz ( "truth", x ) ; return null ; } } +void bar ( ) { if ( fred ( ) ) { e. corge ( ) ; grault ( ) ; java.lang.System.out.println ( ( ( "" + ( w ) ) + "results" ) ) ; baz ( ) ; } l = false ; } +private synchronized void waldo ( ) { b. grault ( e ) ; b. garply ( listener ) ; } +public void corge ( ) { i. garply ( t ) ; thud ( ) ; setState ( l ) ; grault ( ) ; } +public boolean corge ( Nicknack x ) { return true ; } +protected void waldo ( Egg s ) { super. waldo ( s ) ; garply ( o ) ; corge ( ). qux ( h, h ) ; baz ( r ) ; foo ( ) ; } +public void bar ( java.util.List < java.lang.String > t ) { this. w. grault ( t ) ; } +public void baz ( Thingy event, Widget target, Widget z ) { l. String class. getName ( ) ; } +public void baz ( ) { if (! ( r. equals ( a. intValue ( ) ) ) ) { ( r ) ++ ; garply ( ) ; } } +public void bar ( Doohickey f ) { int t = a ; java.lang.System.out.println ( ( ( "truth" + t ) + "\n" ) ) ; } diff --git a/output/bugs2fix_checklist/prompt2/.ipynb_checkpoints/codegen1-multi-350M-checkpoint.output b/output/bugs2fix_checklist/prompt2/.ipynb_checkpoints/codegen1-multi-350M-checkpoint.output new file mode 100644 index 0000000..84f51e5 --- /dev/null +++ b/output/bugs2fix_checklist/prompt2/.ipynb_checkpoints/codegen1-multi-350M-checkpoint.output @@ -0,0 +1,100 @@ +private Cardigan getType ( Apple h ) { return new Cardigan ( h, h ) ; } +public Box waldo ( ) { Box output = e [ q ] ; if ( ( q ) > 0 ) { q = ( q ) - 1 ; } else { } return output ; } +public class MainActivity extends Activity { +public void foo ( ) { for ( Egg e : i ) e. grault ( ) ; corge ( ) ; if ( ( b )!= null ) b. foo ( ) ; } +public void grault ( ) { Apple. waldo ( corge ( ), baz ( ). getString ( v ), p ). show ( ) ; } +public Thingy foo ( Thingy h ) { t [ ( ( h. position ) + 1 ) ] = isEmpty ( ) ; h. position += 1 ; l = baz ( h. position ) ; return h ; } +public static void main ( final String[] args ) { +public void grault ( int l, Egg u ) { this. i. add ( l, u ) ; g. add ( this ) ; } +public char getColor ( ) throws java.io.IOException { o. qux ( ( "truth" + "\n" ) ) ; java.lang.String response = z. garply ( ) ; java.lang.System.out.println ( response ) ; return response. waldo ( 0 ) ; } +public void fred ( final java.lang.String... e ) { if ( e!= null ) format. thud ( ). grault ( r, e ) ; } +public void grault ( Gadget e ) { f = 0 ; x = ( ( double ) ( f ) ) / FLOAT_1 ; o = new java.lang.Double ( x ). toString ( ) ; y. setText ( o ) ; } +public boolean qux ( Gadget item ) { switch ( item. bar ( ) ) { case v : return true ; case o : return true ; default : return super. qux ( item ) ; } } +public class Corge { +public java.lang.Boolean corge ( java.lang.String id ) { return a. corge ( id ) ; } +public void grault ( Nicknack o ) { super. grault ( o ) ; e. garply ( o ) ; q. qux ( o ) ; z. bar ( o ) ; w. bar ( o ) ; fred ( o ) ; } +public static void waldo ( long set ) { +public java.lang.Boolean qux ( Egg i, Doohickey l ) { int count = k. fred ( i ) ; return count > 0 ; } +public void foo ( ) { if ( ( ( r )!= null ) && ( r. waldo ( ) ) ) { Doohickey. qux ( r, this ) ; r. grault ( ) ; } d = false ; } +public < Widget > Widget bar ( final java.lang.Object h, final java.lang.Class < Widget > q, final java.lang.Object o ) { return bar ( h, q, o ) ; } +public void qux ( Doohickey f ) { Widget. bar ( h, ( "" + f ) ) ; f. bar ( h, ( "" + f ) ) ; } +public void waldo ( Widget p ) { if ( v ) { w. setText ( Apple. foo ( ( ( Yak ) ( w. getContext ( ) ) ) ) ) ; } v =! ( v ) ; } +public class BuggyCode { +public void bar ( Doohickey c, boolean a, boolean b ) { this. bar ( c, a, b ) ; } +public class Cardigan { +public void garply ( Yak arg ) { q. waldo ( l. getId ( ), arg. qux ( ), arg. grault ( ) ) ; baz ( ) ; } +public void thud ( ) { if (! ( h ) ) { j. update ( ) ; } l. thud ( ) ; } +public Thingy thud ( Thingy c ) throws Gadget, Egg { if ( c == null ) return null ; if (! ( baz ( ) ) ) return null ; Thingy response = i. thud ( c ) ; return response ; } +public void waldo ( android.view.View u ) { Thingy. foo ( "truth", "\n" ) ; e. thud ( ( ( Nicknack ) ( d. garply ( ) ) ). fred ( ) ) ; } +public void bar ( ) { p. waldo ( e ) ; l. waldo ( e ) ; l. garply ( this ) ; } +public int update ( java.lang.Object r ) { c. grault ( r ) ; baz ( ) ; try { return qux ( c. fred ( ) ). execute ( ) ; } finally { c. garply ( ) ; } } +public void waldo ( java.lang.Throwable c ) { g. foo ( ( "" + ( r. name ( ) ) ), c ) ; fred ( ) ; } +private int thud ( ) { return this. x ; } +public float op ( float e ) { return Widget. corge ( e, num. garply ( ) ) ; } +public void grault ( ) { super. grault ( ) ; e = this ; bar ( ) ; } +public void corge ( ) { if ( i ) { i = false ; f. fred ( ) ; startTime = ( Doohickey. waldo ( ) ) - ( c ) ; } } +public Egg grault ( java.lang.Integer id ) { return c. garply ( id ) ; } +public class Doohickey { +public class Doohickey { +public static void main ( java.lang.String [ ] args ) { Apple b = Doohickey. baz ( "" ) ; java.lang.System.out.println ( b. fred ( ) ) ; } +public int getId ( ) { return i. id ; } +public void corge ( Apple e ) { if ( e == null ) { Nicknack. garply ( c, ( "truth" + path ) ) ; qux ( ) ; } else { Nicknack. garply ( c, ( "truth" + path ) ) ; } } +private static int waldo ( int r, int u ) { return a. bar ( r ). compareTo ( a. bar ( u ) ) ; } +public long fred ( int i ) { return i ; } +public static void qux ( Apple a, Apple l ) { for ( java.lang.String key : a. garply ( ) ) l. qux ( key, a. corge ( key ) ) ; } +public void garply ( ) { while ( ( b ) <= ( y ) ) { ( b ) ++ ; } } +public void thud ( ) throws java.io.IOException { Doohickey. thud ( z ) ; this. z = null ; this. r = null ; } +public static Cardigan corge ( int n ) { return new Cardigan ( n ) ; } +public void grault ( ) { super. grault ( ) ; Egg. i ( t, "truth" ) ; bar ( ) ; Egg. i ( t, "\n" ) ; } +public static Cardigan qux ( Box b, double g, double height, double f ) { if ( ( f ) == null ) { f = new Cardigan ( b, g, height ) ; } return f ; } +public void grault ( Egg c ) { c. bar ( ) ; h. add ( c ) ; } +protected void corge ( ) { super. corge ( ) ; Egg. i ( f, "" ) ; } +public boolean bar ( Cardigan q, java.util.Map < Gadget, java.util.List < Cardigan > > d, java.util.List < Apple > w, Nicknack u, boolean z ) { return true ; } +public boolean fred ( ) { return (! ( this. y. isEmpty ( ) ) ) || (! ( this. a. isEmpty ( ) ) ) ; } +public boolean grault ( ) { return o. o ; } +public int corge ( int v, int y ) { return fred ( v, y ) ; } +public int corge ( java.lang.Object t ) { return 0 ; } +public void grault ( java.lang.String url, Egg o, Thingy c, Widget status ) { z. id ( o ). thud ( Gadget. foo ( Gadget. qux ( c ) ) ). garply ( f ) ; } +public void init ( ) { bar ( new Doohickey ( ) ) ; add ( p, r ) ; qux ( d ) ; garply ( d ) ; thud ( d ) ; z = s ; l = true ; } +public java.lang.String qux ( ) { switch ( fred ( ) ) { case 1 : return null ; case 3 : return null ; case 1 : return getType ( ). toString ( ) ; default : return null ; } } +public void qux ( java.lang.CharSequence title ) { super. qux ( title ) ; if ( ( title!= null ) || ( ( garply ( ) )!= null ) ) { garply ( ). qux ( title. toString ( ) ) ; } } +public static boolean equals ( Widget k, Widget d, Widget e ) { return ( k. corge ( d ) ) && ( k. toString ( ). equals ( d. toString ( ) ) ) && ( k. toString ( ). equals ( e. toString ( ) ) ) ; } +public boolean thud ( android.content.Intent intent ) { int g = k. qux ( ) ; if ( g == ( a ) ) { q. grault ( ) ; u. fred ( w ) ; return true ; } return false ; } +// private static double grault ( java.util.ArrayList < java.lang.Double > p ) { double sum = 0 ; for ( double i : p ) { sum -= i * ( Apple. qux ( i ) ) ; } return sum ; } +public void grault ( int k, java.lang.String z, java.lang.String v ) { Nicknack. foo ( k ). remove ( Widget. waldo ( z, v ) ) ; } +public class Doohickey { +public void grault ( final boolean p ) { y. grault ( p ) ; } +public int baz ( ) { java.lang.String str = java.lang.String. foo ( ( ( Gadget ) ( c ) ). getText ( ) ) ; bar ( str ) ; return h ; } +public void corge ( ) { android.content.Intent w = new android.content.Intent ( p ) ; grault ( w, 0 ) ; android.content.Intent i = new android.content.Intent ( this, c class ) ; waldo ( i ) ; } +public Widget qux ( ) { int p = java.lang.Math.abs ( ( ( y. grault ( ) ) % ( h. size ( ) ) ) ) ; return w. get ( p ) ; } +public void foo ( final Thingy w, final Apple k ) { qux ( k ) ; corge ( k ) ; baz ( k ) ; grault ( k ) ; } +public java.lang.String fred ( Egg u, Yak s ) { return "truth" ; } +public int fred ( ) { if ( ( garply ( ) ) == 0 ) { return 0 ; } return ( p. size ( ) ) + ( e ) ; } +public Doohickey < Yak > qux ( Doohickey < Yak > a, Doohickey < Yak > b ) { Cardigan c = new Cardigan ( a, b ) ; j. append ( c ) ; return c ; } +public Cardigan thud ( ) { Cardigan o = new Cardigan ( ) ; s. add ( o ) ; for ( Doohickey listener : c ) listener. fred ( ) ; bar ( ) ; return o ; } +public class BugFixer { +public void qux ( java.util.List < Yak > z ) { for ( Yak r : z ) { if ( r!= null ) { qux ( java.lang.String.format ( "" ) ) ; } } } +public void foo ( java.lang.String k ) { if ( Widget. thud ( k ) ) { return ; } this. k = k ; } +public void garply ( ) { for ( int i = 0 ; i < ( f. size ( ) ) ; i ++ ) { f. get ( i ). waldo ( ) ; } } +public float bar ( long j, long z ) { return ( ( ( float ) ( j ) ) / ( 0.0F + z ) ) * 9 ; } +public java.lang.Object corge ( java.lang.Integer t, java.lang.Integer size, java.lang.Long o ) throws java.lang.Exception { return x. corge ( o, t, size ) ; } +public Thingy waldo ( final Thingy q ) { final Cardigan < Thingy > o = g. fred ( q ) ; return l. thud ( o ) ; } +public void qux ( java.lang.String text ) { c. setText ( text ) ; c. fred ( 0 ) ; } +public Yak baz ( java.lang.String text ) { return Yak. fred ( "truth", "results", id, "Input: ", text ) ; } +public void foo ( Gadget a ) { if ( l ) { throw new Thingy ( ) ; } } +public void bar ( ) { super. bar ( ) ; f. foo ( ) ; } +public boolean waldo ( android.view.View h, Cardigan t ) { return false ; } +public void foo ( ) throws Doohickey { Gadget z = new Gadget ( this. u, "truth" ) ; z. qux ( ) ; z. fred ( ) ; Widget. assertNotNull ( z. garply ( ) ) ; } +public boolean foo ( Box p ) { if ( w ) { p. grault ( 1 ). qux ( "" ) ; } else { p. grault ( 1 ). qux ( "results" ) ; } return true ; } +public void garply ( android.view.View view, Nicknack i ) { super. garply ( view, i ) ; Widget l = ( ( Widget ) ( view. waldo ( y ) ) ) ; baz ( l ) ; corge ( ) ; } +private void waldo ( ) { if ( ( x. bar ( ) ) && ( ( j )!= null ) ) j. fred ( s ) ; else j. fred ( e ) ; } +public static java.lang.String corge ( ) { try { return c class. corge ( ). bar ( ) ; } catch ( java.lang.Throwable x ) { v. baz ( "truth", x ) ; return null ; } } +void bar ( ) { if ( fred ( ) ) { e. corge ( ) ; grault ( ) ; java.lang.System.out.println ( ( ( "" + ( w ) ) + "results" ) ) ; baz ( ) ; } l = true ; } +public class waldo { +public void corge ( ) { i. garply ( t ) ; thud ( ) ; setState ( l ) ; grault ( ) ; } +public boolean garply ( Nicknack x ) { return true ; } +protected void waldo ( Egg s ) { super. waldo ( s ) ; garply ( o ) ; corge ( ). qux ( h, h ) ; baz ( r ) ; foo ( ) ; } +public void bar ( java.util.List < java.lang.String > t ) { this. w. grault ( t ) ; } +public void baz ( Thingy event, Widget target, Widget z ) { l. String class. getName ( ) ; } +public void baz ( ) { if (! ( r. equals ( a. intValue ( ) ) ) ) { ( r ) ++ ; garply ( ) ; } } +public void bar ( Doohickey f ) { int t = a ; java.lang.System.out.println ( ( ( "truth" + t ) + "\n" ) ) ; } diff --git a/output/code2code-trans/bootstrap-codebleu-java.json b/output/code2code-trans/.ipynb_checkpoints/bootstrap-codebleu-java-checkpoint.json similarity index 100% rename from output/code2code-trans/bootstrap-codebleu-java.json rename to output/code2code-trans/.ipynb_checkpoints/bootstrap-codebleu-java-checkpoint.json diff --git a/output/code2code-trans/bootstrap-bleu.json b/output/code2code-trans/bootstrap-bleu.json deleted file mode 100644 index e9f4fa0..0000000 --- a/output/code2code-trans/bootstrap-bleu.json +++ /dev/null @@ -1 +0,0 @@ -{"seed": 20001004, "sample_size": 50, "iterations": 500, "results": {"prompt0": [[0.19104433631674725, 0.19671049960640102, 0.12285029399817167, 0.13911150129289312, 0.16199397967954907, 0.1182833605779368, 0.11274558843376682, 0.17169232642379728, 0.18790645737441652, 0.1086596983392717, 0.14607414063315063, 0.1628352560346744, 0.11017219242242247, 0.14834630718681402, 0.11283712580815189, 0.16128353915461757, 0.12229803409832042, 0.11161792661287055, 0.15441997085317216, 0.16732714700723048, 0.10170245379100637, 0.14648037573031036, 0.1435996140495284, 0.1331772518664111, 0.09858084509800581, 0.062007573101060184, 0.12451949654807623, 0.16765992550097258, 0.12379721866691637, 0.19920648484862155, 0.11206106833382755, 0.17083211141862376, 0.1334914249471032, 0.16478555040698362, 0.14121716010766713, 0.1489181730594549, 0.1546658853332228, 0.06428973860017148, 0.13905363201270193, 0.1396691827610059, 0.10922667229046343, 0.16375049267586664, 0.17431530402663983, 0.10559090393219452, 0.18410730169699308, 0.16824675283539062, 0.156444375322008, 0.12366130588862305, 0.18671258327378046, 0.1886038214190684, 0.1614561414584162, 0.18151856357317872, 0.15918755456094918, 0.1294205702831759, 0.1379310700296431, 0.150085300357932, 0.15261701382732196, 0.09653749160904168, 0.09103664127317684, 0.14677169590522385, 0.1785353966053428, 0.20293233510028777, 0.14120643657933382, 0.17968861562185826, 0.1331360540942071, 0.14044801646537794, 0.15674167212566545, 0.08675633086179918, 0.08009833649298624, 0.12828924049191376, 0.1799378664725565, 0.14471288651107547, 0.09995936113602925, 0.18251542777876806, 0.13860700014198088, 0.14242009319135998, 0.1972672736879873, 0.1745169542751913, 0.17479614762497298, 0.17576234336524174, 0.12089790338559474, 0.1577469412392059, 0.13395818981314236, 0.17006101837432, 0.0954716147244448, 0.1807185793727664, 0.1704491174523333, 0.1458398080672732, 0.1749045458337983, 0.16331666350995186, 0.11030189596274317, 0.141637270639638, 0.18885774258004726, 0.18980200790699908, 0.17547507084231148, 0.14478129041265972, 0.19054866565192538, 0.12066461618107038, 0.17462270078239844, 0.1515577579710693, 0.14328095981874042, 0.12212573111140035, 0.19347885904537587, 0.09976005933633235, 0.18739092180636488, 0.1266485553384424, 0.18256257175258106, 0.1558151848558245, 0.17840499180726713, 0.15178133125358761, 0.12762731679619466, 0.06392221990364817, 0.12175890578572636, 0.1063893141938778, 0.15546712530428947, 0.15261046528227393, 0.0973201161156581, 0.1810032725330624, 0.09295762771878109, 0.1283113104156801, 0.0979378188585261, 0.12632876168975507, 0.11874844206153569, 0.1637587577020421, 0.1450894440452759, 0.15595247007702032, 0.1421747222888255, 0.1896849680840892, 0.17869573679946138, 0.1337803866970303, 0.17632454720540428, 0.14400756130319853, 0.14352512745348694, 0.16780060478118783, 0.12163678242683708, 0.20148674411843534, 0.12791909028747236, 0.17784803373974464, 0.1801295511739732, 0.17178021448789568, 0.1382913833280567, 0.10767420703848178, 0.16161863666383935, 0.13008841785616918, 0.12380882064027444, 0.14398269800432184, 0.1404581951894778, 0.16912647595067978, 0.1308390255464006, 0.14637807329173333, 0.13985333831946561, 0.1290378440730997, 0.11866896008450523, 0.1689424273860998, 0.1556316901595546, 0.11925746805511196, 0.11299965262474024, 0.12300274408981271, 0.12644409741055232, 0.19543271488394104, 0.08770405196101332, 0.13534689426384866, 0.10639920804553597, 0.11365396659250496, 0.10816908105257023, 0.18653199091621606, 0.10076240032420877, 0.11068758509760111, 0.1658456239382505, 0.14634954883813533, 0.14552099786969197, 0.13499075569048172, 0.14131974988401974, 0.1681511990719036, 0.13073611364066123, 0.15589794961915965, 0.07128401665146279, 0.1186048961514585, 0.18005658590197135, 0.14724493167495603, 0.09514050035184123, 0.11086435871293941, 0.1888499449025903, 0.14895870640055137, 0.13487108227664601, 0.16888874647973728, 0.14503296850484182, 0.08640320049358516, 0.1603204260537912, 0.11094931168548364, 0.19312848723098866, 0.17843116165474884, 0.1601726910722399, 0.16149864246229534, 0.1626502665423053, 0.12467471204059867, 0.1519485560055118, 0.18740836653331822, 0.1791169137874913, 0.11873688327901641, 0.11537922593893617, 0.19564859186669056, 0.11597871874876572, 0.054550730693541216, 0.11249280712461715, 0.154552453708746, 0.14541485657196734, 0.1868002476247859, 0.12243322837826824, 0.10987459622720828, 0.14851857654669112, 0.19581363266749524, 0.18439499870105922, 0.1904429326087062, 0.16729327661287788, 0.11906652136313327, 0.16701422390411885, 0.12069071639921856, 0.18307750986718002, 0.12969683080424776, 0.1721381417065706, 0.1288278947357607, 0.12958628281797324, 0.14874975241879537, 0.14249906676793855, 0.1442926667248096, 0.1897217391216341, 0.13677816104125168, 0.16236613859416724, 0.13933889916659392, 0.1389659841833803, 0.0976747809849315, 0.14041167822232228, 0.12369011080231185, 0.15392067629104075, 0.12581727049853442, 0.10652912016091388, 0.17050981571677754, 0.15954019187124371, 0.1966931842991576, 0.16836493075324357, 0.11075826281072587, 0.19820019268801536, 0.16100181787060217, 0.09046459595594841, 0.14820190744876655, 0.13769200136167514, 0.06076295215675636, 0.15783875451153886, 0.17294847865069055, 0.16903087175430137, 0.14221688957173906, 0.12503679475388663, 0.11986476944610835, 0.15168702160824843, 0.15675288317375782, 0.14806180855250844, 0.1491365453489779, 0.17894139184719823, 0.18499523245914362, 0.11992826871613786, 0.12488999289420116, 0.12343808973062384, 0.13258362639420776, 0.14705709182886245, 0.1675575648805291, 0.21143633118104915, 0.11592992746889877, 0.14462863216653027, 0.1677879776479885, 0.05652231128354638, 0.1847614070259982, 0.14647499073396175, 0.12449822661573752, 0.1496008668471303, 0.10591536744209844, 0.15994022753052356, 0.17879346887702632, 0.19264011770027262, 0.16763686479307774, 0.1349412819325795, 0.16412514562972874, 0.1623844128376357, 0.10090803769202822, 0.13496852939253634, 0.13484507668198473, 0.18192060520512446, 0.12330687848168902, 0.09790713854914294, 0.1835765434005527, 0.11047152978722005, 0.17318913981028913, 0.19773448960786588, 0.14778029221214342, 0.1375600864970623, 0.1765977749491681, 0.16568539693961679, 0.17446667741252866, 0.16865521273867243, 0.11824992494160279, 0.16110976307686628, 0.192089409071528, 0.1020907615830988, 0.19698878188174837, 0.192878645141542, 0.0660437163395962, 0.08330139779918078, 0.12004864101258447, 0.19326198503951825, 0.1892909042232133, 0.1253000783590136, 0.13789330866130417, 0.13229481276848373, 0.13477804473755334, 0.17893323889737664, 0.14302136767477563, 0.13918917432506345, 0.1299997692803884, 0.15825701729488864, 0.16522378312608657, 0.14606209727593095, 0.1815090810359729, 0.09921948311266984, 0.21668075078136417, 0.15880750586578915, 0.08548950443447553, 0.12144314342588397, 0.16889010497495135, 0.09547276677860327, 0.17209333499497434, 0.14806483485125885, 0.17747841659503572, 0.1104189198990382, 0.14474163225382256, 0.1693348242609775, 0.1777418759190162, 0.11892249117202719, 0.20181970262536109, 0.11509452507827261, 0.1590941899016455, 0.07159962552732532, 0.06536179821104555, 0.1519498333409234, 0.17736000302972463, 0.21178981697104673, 0.12452491016208724, 0.12364194658803379, 0.12521134427552474, 0.18609151368577176, 0.08672872693297387, 0.11626953682608354, 0.12676564843266094, 0.11619034006830606, 0.12166285420082747, 0.18577892462439824, 0.13344618638397956, 0.1551538930412684, 0.16988045166635204, 0.15337819089671065, 0.10223049211920879, 0.07492942667489609, 0.18934414226093593, 0.13640746134411075, 0.1211626225449904, 0.10990210228329889, 0.09666139207550892, 0.14341527417612215, 0.16312129951733856, 0.17884215969525308, 0.1951914891134273, 0.10847376472783184, 0.16514025852259784, 0.1612835136573235, 0.09209376393260593, 0.18162407546326306, 0.0828646679257675, 0.12190613750312485, 0.15864752428948808, 0.09105628662017244, 0.1510430007745362, 0.12419871011009398, 0.12595853310908192, 0.19427489972965933, 0.10783131947707388, 0.17235615220104394, 0.18889775561028166, 0.1697703092290419, 0.11767757460052161, 0.12220978257664356, 0.17485437775415222, 0.14192467689839455, 0.150699618872317, 0.16087833130859405, 0.111031891611281, 0.18459025606527082, 0.1782577196109991, 0.1629264408106572, 0.12689359289988922, 0.061093770249268035, 0.1327628032504901, 0.16843781890818693, 0.10751215880175598, 0.14975181245752403, 0.15164856317745726, 0.14818409039185854, 0.17091465428187969, 0.1528432994848858, 0.17512449966449772, 0.15757979215062365, 0.16100826622183906, 0.19892020964739487, 0.16410103303962523, 0.1574109925166505, 0.10189189465777779, 0.1284613304620289, 0.20479165786420073, 0.18555475195767848, 0.0776190175576819, 0.0900125311539181, 0.14615788327173831, 0.16898847776885276, 0.11843045296202935, 0.16512285001283974, 0.1144339786042199, 0.12199794574667008, 0.14969423638764787, 0.08102223721012038, 0.11467883478375303, 0.1996383335851091, 0.1454302500343197, 0.12475283728848793, 0.09404339604152841, 0.14939981918139975, 0.13886219294137106, 0.1746477877236763, 0.1106919378766495, 0.11111776271577162, 0.11886776383241995, 0.20531556141805096, 0.18866652146301577, 0.1570998088718332, 0.12119793153360926, 0.14968638814929025, 0.11179945261603477, 0.17203329379436613, 0.19054289193173277, 0.16698655152043068, 0.08569968539022772, 0.12367582847100597, 0.1674581201309988, 0.15199839966191322, 0.16288221446344947, 0.06864865619731042, 0.15156923709294917, 0.15418851159975458, 0.1511527297127663, 0.13424528598787203, 0.11833480442547226, 0.11936876201723381, 0.18263860561082385, 0.19518083470139894, 0.1360537952243522, 0.14885035307266317, 0.11916597774518431, 0.10562979600826815, 0.12923874731993742, 0.09652168160429689, 0.15598268844611105, 0.08415499526449444, 0.19691150680065703, 0.08274155846637933, 0.12881252295535559, 0.16410440641616153, 0.17504248805615344, 0.16282325391862534, 0.17026193454339697, 0.14888380676964066, 0.1548743685420391, 0.15150882680583858, 0.12871037813568104, 0.14760487553540524, 0.15143763356475426, 0.14262326653093813, 0.1030408058459715, 0.13247567250706271, 0.13561735894868104, 0.1705795426642177, 0.1635625187265325, 0.12467529617298675, 0.11236238881755152, 0.15151141893504355, 0.17548338272414754, 0.09017125131853594, 0.17966165889741134, 0.11026163161142084, 0.18868684653114304, 0.14732269961742203, 0.13089421604814205, 0.11825797464344376, 0.15842478300408874], [0.16385051061404388, 0.170499965909205, 0.08686809009973176, 0.10454553923731154, 0.11177220201213064, 0.11199696974673691, 0.1091499122850217, 0.14676368572419468, 0.19295219516432793, 0.06944795177575079, 0.10305270950517197, 0.13020891232244639, 0.1070880090906686, 0.14669241229746635, 0.11732712459665694, 0.16757310899621028, 0.09709955238747836, 0.07851561453511581, 0.13247065557134202, 0.15519905383543905, 0.09062359308998841, 0.1262974085883353, 0.16208028956148066, 0.1267553594704275, 0.10322717081999068, 0.08872460641882167, 0.10799356588517264, 0.12251116860782384, 0.12446426266257989, 0.1590701361753309, 0.06745793342560773, 0.16049207499159046, 0.13085860218396655, 0.17837277816444402, 0.12759492421605576, 0.13783594367005864, 0.15368923337889526, 0.072342891684935, 0.13332660322818649, 0.10253053659785018, 0.11354417430370589, 0.1625756929027807, 0.14572651897355218, 0.08868252842616987, 0.17010126988380547, 0.14489635314192878, 0.13609812899112603, 0.10931477305857051, 0.14455454703636658, 0.17177440285249101, 0.1280136805968703, 0.1682946449999585, 0.11863914284083105, 0.10507009244513273, 0.13171233723358006, 0.1199735775084325, 0.09503027909189499, 0.1187843284944391, 0.09112771116539391, 0.14320109940174403, 0.17607639500763175, 0.19624650540553668, 0.11989772244572745, 0.14147143161855155, 0.1350103863422664, 0.1350430428860786, 0.12135047560432967, 0.08719942937716346, 0.06434304626658688, 0.10949287991855251, 0.17415932805901352, 0.10075187146754504, 0.05669293194628842, 0.14417480980171068, 0.09934204158404761, 0.16034301705151333, 0.15717414059834905, 0.1256942589752885, 0.17314772220137178, 0.15476820967993352, 0.06407515405780792, 0.14546031255440656, 0.07528378529966546, 0.1461794201250916, 0.07264916365099565, 0.18204298610948116, 0.16737824026198725, 0.14188655740971182, 0.14870455884645242, 0.16588329472652327, 0.10277532851128852, 0.13994807171971133, 0.1862078153507345, 0.1461518172894255, 0.1609510393519814, 0.11028641318236522, 0.15685176737732687, 0.07717440941437362, 0.17781807416035975, 0.1311991410456265, 0.1507231533078173, 0.0728409118808773, 0.17817160525931652, 0.06226377153627506, 0.14717060205081686, 0.10543932073265028, 0.18052494513768189, 0.15959247863381643, 0.14734341096674583, 0.10765855601370819, 0.07170666003705271, 0.06602859382606709, 0.10104981304930422, 0.1011530000803242, 0.10875564276976342, 0.14663986859130007, 0.05946256308896567, 0.13644535581070527, 0.0770863902715781, 0.1388241932660707, 0.06878673033959741, 0.07004302547708961, 0.13385019521250935, 0.1649146032682121, 0.10847318661604506, 0.12786195295589722, 0.11674587435106804, 0.18349676872907156, 0.1301202279808397, 0.1076582344073452, 0.17329041995420877, 0.1601829093281676, 0.09590342260126013, 0.13010473088810282, 0.1107949446316597, 0.157161333776388, 0.09439833989151329, 0.12658338551138296, 0.15998696966675224, 0.13220835254091115, 0.10501123013628859, 0.10785404233833815, 0.12721092807402642, 0.14383063700581217, 0.08257971597793597, 0.14033574953313613, 0.10206853086926197, 0.13376371551447516, 0.11267793974293415, 0.13987304620366875, 0.15672682765899007, 0.13973520581147067, 0.0904681140141326, 0.11587781014845129, 0.11784919508518846, 0.10972463057978948, 0.059103540396282794, 0.0789598687831808, 0.12320651437059432, 0.16271341100359865, 0.10055890127432816, 0.12221059405026254, 0.0634881486672302, 0.09431997512990781, 0.06555330116748423, 0.18246866090582473, 0.07627752500500175, 0.07995094081228096, 0.09985593712788352, 0.12107395870875355, 0.12858524074355304, 0.08773816434500678, 0.12943851810329526, 0.16326090107177957, 0.12177964093302854, 0.11241299060793843, 0.07767593575872436, 0.0811043076959444, 0.17790605914152452, 0.14567397087803757, 0.09272786346736965, 0.1103918039278552, 0.14313224516414821, 0.10991344112435436, 0.10002053323785966, 0.1667825577640871, 0.10947224214621297, 0.09216694593545904, 0.16318732457191273, 0.0766544443427376, 0.14087375035735436, 0.1506192138316128, 0.1756173446849134, 0.15923934346872198, 0.14377047263156134, 0.08428535045206158, 0.16182655295550433, 0.18543843163072773, 0.14302827646574784, 0.08166311549282504, 0.0772072070860533, 0.17287080764225995, 0.1278733676827342, 0.06430409201941328, 0.08032171485436193, 0.1567767588884485, 0.09035482773340514, 0.14946950758890162, 0.11865647591280919, 0.08429126301145703, 0.11351505238085416, 0.15528596298355063, 0.1412433490619837, 0.1848663787117665, 0.12852438775372338, 0.13841689922934186, 0.17618641735318266, 0.11065569827154521, 0.14280181904006886, 0.12715799565076075, 0.13960925869024302, 0.08200747213368076, 0.09696326299745954, 0.16447389465355627, 0.09598102145698072, 0.11388105689134317, 0.14654438401380668, 0.10239959109346164, 0.17216235207823138, 0.11204910883914797, 0.10678068837493308, 0.09503910336521428, 0.09955442829296467, 0.07447890735150879, 0.13366645549217943, 0.11180314341903733, 0.0981865795003601, 0.14199411917526347, 0.14134910765976944, 0.17050249274710733, 0.14466725233120437, 0.09389636561281682, 0.17650163034027513, 0.13030105302793943, 0.09092478496206674, 0.16055481296242316, 0.11847160277867903, 0.05054802069959785, 0.1509093872510844, 0.13980962953125167, 0.1271867881677748, 0.158224183661133, 0.13033436941926904, 0.0814133484820777, 0.1661912059528046, 0.13905477634467736, 0.15521083390357818, 0.13484154454936478, 0.1845407925735049, 0.1442501690959393, 0.0840601652774518, 0.10473609989254483, 0.07613504412684845, 0.08665123579688859, 0.10650387906255528, 0.1314536692303088, 0.17017655322699105, 0.07018885665698564, 0.1035783793159028, 0.16551716016273535, 0.07256606597379903, 0.15859945151936788, 0.10849241638338374, 0.12838895819023777, 0.15666937681115595, 0.0533483995158017, 0.1193652260841675, 0.19138602540636265, 0.1582007548402433, 0.1464109739948568, 0.10204710668001714, 0.12368164096253925, 0.14799260445133458, 0.050945453218431955, 0.11897026832327945, 0.09509048994102255, 0.18885963252974725, 0.11753571440470124, 0.10604513748240028, 0.15086105377801956, 0.07372578890596679, 0.16154716091559812, 0.16348246087065252, 0.11852644548780701, 0.15061779127096017, 0.18148071469886023, 0.13978111740432148, 0.15216701396431015, 0.13044361690458106, 0.11813183579063997, 0.15009747964700204, 0.1571474990407654, 0.10463432403050742, 0.16345888341621598, 0.15692423443367487, 0.05256203330676449, 0.07986935260571312, 0.0879288661762175, 0.14175854347727665, 0.1617925332170098, 0.09567604923439879, 0.10674686573055221, 0.10350428589943818, 0.14309782863792428, 0.15399087938669326, 0.1159883733578289, 0.08676629921317049, 0.12508129839701354, 0.14701655774437972, 0.13543672263063325, 0.11560623980587027, 0.178479003001422, 0.10230498478785723, 0.1741887180257983, 0.11950869334849511, 0.07686397825348258, 0.08435238076671121, 0.15847566804918878, 0.057543570457439124, 0.14099949567665504, 0.14635925336336114, 0.1458894155438918, 0.08322275696210374, 0.10378974992174453, 0.13074848016655072, 0.1337278644371498, 0.12000308107790786, 0.16818751759603973, 0.11095453158116451, 0.12808956591571277, 0.07576296404300042, 0.0753107532629939, 0.11198539720723044, 0.1816301823723361, 0.15823281475896442, 0.12080862589201423, 0.1213746683110892, 0.09483811860883115, 0.1884877962431713, 0.048396693114664234, 0.08263428858133143, 0.09733155482768832, 0.09081414166576356, 0.12095885026491263, 0.15579342808527272, 0.10208785904194416, 0.163160153806304, 0.1601443709820683, 0.12012428451304771, 0.08856777418502196, 0.07210114238100708, 0.15130914863205122, 0.09089021759223538, 0.09519117129126987, 0.0922841213668277, 0.10536376985480192, 0.1312102729472309, 0.1273961335167608, 0.1464321910009981, 0.18152801949365596, 0.08614912360568606, 0.15127067892598636, 0.11230403709038832, 0.11026510870501975, 0.15848543924440028, 0.08031724692178142, 0.1047024943203116, 0.16708754704892692, 0.057628518937936496, 0.1493556875061056, 0.0817393061215208, 0.0822379339460465, 0.18511792759147871, 0.11327674287538413, 0.1483896126173015, 0.1479918266382204, 0.1304467423467579, 0.11016821207264554, 0.08610423066579054, 0.13946264662308594, 0.13937900805676762, 0.14349893152089083, 0.12942944415644964, 0.10783259001716526, 0.1689993935317758, 0.14538322249640298, 0.16865115908351855, 0.13534996842126526, 0.07641043090285134, 0.09266868367164695, 0.16599259865138422, 0.06493757116016945, 0.10416418734389775, 0.10344279212841, 0.11757770828842945, 0.17410202236143377, 0.15756000580013874, 0.14689608953186642, 0.13501359786633182, 0.13864830120643454, 0.16601701801225657, 0.11440233525599847, 0.1695884206615029, 0.08233789151096994, 0.08182239045602197, 0.1641591628926957, 0.16381295375164828, 0.08284519651812644, 0.08730619231741618, 0.10920760925486607, 0.11496602507041735, 0.12888132195639618, 0.1726397234193532, 0.1056295736397446, 0.09446397272215235, 0.11653500258244374, 0.07830382182421317, 0.10522432955877141, 0.18229327019872377, 0.12051038273290372, 0.10110672363352967, 0.10695904380326214, 0.15856845880187914, 0.143261012298528, 0.18016208765388225, 0.08147587171479341, 0.08142659900931352, 0.08447558649402023, 0.16166046122864378, 0.15458963164669004, 0.15956862595160498, 0.08380703883826428, 0.11198806114978407, 0.10766224587027229, 0.15572573168509676, 0.15289104411899138, 0.1528450283935858, 0.09383012554073303, 0.1155788526561727, 0.14480918479578697, 0.13101091292942105, 0.1338895441567444, 0.05823541792818281, 0.1591508257398256, 0.11473753377006347, 0.11221157104907607, 0.09888744878237184, 0.08992702922494293, 0.09971734517799967, 0.15296244981064683, 0.15643535452013044, 0.10954378704009471, 0.11631756588829617, 0.08275796775284654, 0.0990893210536508, 0.10494064409139726, 0.0984609583343391, 0.13112161272426523, 0.08756540399556197, 0.1676827341889782, 0.06725155341056162, 0.10191609236214368, 0.15148945218410967, 0.13612184397910565, 0.15091886512216243, 0.14088211143083507, 0.1256744789595162, 0.11672425279275565, 0.16096691786940212, 0.09432227872058531, 0.11463210266787807, 0.15520516746618004, 0.13977306519842167, 0.09510211040817325, 0.13432129722837163, 0.12062571067532021, 0.14806802704473015, 0.13232844523538492, 0.09328484713361762, 0.11956862646066907, 0.14085006014829493, 0.1834552879102511, 0.09172895238501402, 0.14307852420877398, 0.10646311089391637, 0.18919092130287726, 0.10233508955704498, 0.12822183683624816, 0.11269435907181416, 0.12751659158638773], [0.16190008014657137, 0.18846421213477094, 0.108469469910675, 0.11592249392979902, 0.13214260654173884, 0.11592093997758852, 0.12547800528234232, 0.1590798813060369, 0.19711089615542138, 0.07987437340235767, 0.10725554501289929, 0.1381743696127237, 0.12475123313984106, 0.15870872626271876, 0.12645336662542098, 0.1686854943446261, 0.12221251609308327, 0.10432297964309828, 0.1404942746006142, 0.17166276289561405, 0.09266801053309798, 0.1503171287814671, 0.16659879789327667, 0.14639267980476775, 0.11053733020929207, 0.09647963456041994, 0.1286589961775317, 0.14284359966637794, 0.14539178533533814, 0.17947427409050248, 0.06881148892947639, 0.17529541223823816, 0.14698212337285632, 0.17669462112086604, 0.13158884012429062, 0.14368364023695504, 0.16798503029188125, 0.08745706267179013, 0.14328955123325904, 0.12009527096450036, 0.1275308174279589, 0.17508524911403742, 0.16073963907372477, 0.10323990472548886, 0.19343353551971937, 0.13740239149690664, 0.15124376556674846, 0.12466730390968597, 0.1560026760030683, 0.18684344090004307, 0.14440459066007746, 0.17830499843902714, 0.13234334148453758, 0.12165821184320103, 0.1592893058607761, 0.13335217264308594, 0.11044031346978304, 0.1345325585006005, 0.1106582397727184, 0.15409547301259446, 0.1814402731440007, 0.20610339947902917, 0.12739703311451672, 0.15050788091990858, 0.14042020375600903, 0.13892078655493034, 0.13872886542482118, 0.10440766091494744, 0.0870956786559246, 0.1110289675786527, 0.17366931210368824, 0.12176767286713934, 0.055795842958265535, 0.1559825565085806, 0.11542740357344723, 0.16251292464819234, 0.16624804028826662, 0.12846624517837396, 0.1764936319970573, 0.15788889785687504, 0.09121518207448359, 0.15409276141772446, 0.08807772252787524, 0.15529596947853358, 0.09267207780564142, 0.1941852015183319, 0.17286003071524536, 0.1382516276583306, 0.15405094312172427, 0.1813281175520093, 0.11938494744082992, 0.13463986037291437, 0.1914464156626833, 0.15330266927554834, 0.17756825664707504, 0.12398969901690948, 0.1599572125272666, 0.09389585153396196, 0.18677471910603355, 0.1418694294169737, 0.16196214232986686, 0.10121729417202428, 0.18921922105054045, 0.07737303776462198, 0.16224075702437402, 0.11850649147401514, 0.19296815856999563, 0.17358892769929649, 0.15375507839300706, 0.11661030854627304, 0.08953085923669951, 0.06531200189803762, 0.10734509368050188, 0.12250774633357724, 0.13305544186125454, 0.1573083021158735, 0.07140180884067923, 0.1397440103539651, 0.0995454740517329, 0.14883004437950711, 0.09557416955217787, 0.07995277634860964, 0.13607473695095063, 0.17950987696441958, 0.11694570764779941, 0.1395228027152912, 0.12326084560281564, 0.19331761778333084, 0.14443217850830853, 0.1261549501440308, 0.16787498528663083, 0.17710307737041345, 0.10985979531962714, 0.13824059306790792, 0.11728090155284945, 0.1721631405523689, 0.09211045344456997, 0.1395049862184165, 0.16783810067785965, 0.14114322240237934, 0.1317408196407169, 0.13024845190462359, 0.13642466764288275, 0.1491753210331686, 0.09746755361302166, 0.13851222769971167, 0.13134891688653194, 0.14916622764361334, 0.14290840616210884, 0.16264118483945286, 0.16220590027243856, 0.13456317929873673, 0.0979993133459206, 0.12906769691093428, 0.14362109214305765, 0.12055999328571865, 0.07647688643510366, 0.10334633842085823, 0.13850137311264832, 0.17671382636276478, 0.1007956062152191, 0.1379988398480836, 0.09192010744259803, 0.12362580608087524, 0.08374653351159118, 0.19391119436505447, 0.09608095090526098, 0.10198011725297376, 0.12562743329640794, 0.1308443663405501, 0.13443086200055052, 0.10630253268135587, 0.1433908610863369, 0.18298499399295426, 0.14757948099050944, 0.13021962901788542, 0.09657878315053532, 0.09678597796643613, 0.1889026794095875, 0.16487704144536042, 0.10916239433366588, 0.11915905141697974, 0.15585017648626656, 0.11436181707607615, 0.12097687893105039, 0.17256061165013667, 0.11428550764010592, 0.1018281933184827, 0.17702836495786986, 0.10169709353114827, 0.15152533629157938, 0.16522745604753614, 0.16990304738876366, 0.1723360143496948, 0.1587090942892709, 0.09722930293833376, 0.17745512976312086, 0.18902523508888266, 0.14837210720194838, 0.0940944382031649, 0.09309742446283974, 0.1823344852659451, 0.13739732444668185, 0.08328421809675304, 0.09571112365060741, 0.17054519141894103, 0.10876228844521273, 0.1585580620807277, 0.13536865336796522, 0.10039780745975743, 0.11548389061305485, 0.17076547804731998, 0.15254942378043357, 0.19450912160523676, 0.1373054175568228, 0.15040597749037019, 0.1873437832985624, 0.1310040302858664, 0.16126812073964095, 0.1537850764629306, 0.14101903282334066, 0.08808974271274835, 0.10528812639579996, 0.17095110083428416, 0.10974360376333597, 0.11507412420434758, 0.15833208942646743, 0.11599247999351162, 0.17930824732182513, 0.11658825029886424, 0.11840090976310322, 0.09957541931579242, 0.1040663538458138, 0.08608762006763503, 0.14667688178177468, 0.11965090662587911, 0.10149694455998737, 0.14016130211198563, 0.15314538356345467, 0.16829712120214743, 0.14670225269696283, 0.12390024619900197, 0.19562125644711795, 0.1444831210646111, 0.12017720117549119, 0.15297680629963484, 0.14906579504081516, 0.07553279453872827, 0.16159332026981443, 0.14812320544916519, 0.15205128416002683, 0.15999925438604992, 0.14234907006096612, 0.09586331167426271, 0.1800943683353643, 0.1435335696604935, 0.15749334226594994, 0.141695050208409, 0.18756458461018075, 0.15596740919226604, 0.09519297575696825, 0.12988397336367144, 0.08768874127646266, 0.10344342855697099, 0.12177761399160891, 0.15215633463519027, 0.17808146959312615, 0.08266922255055098, 0.11448551671580967, 0.1888669354335541, 0.08257936535631696, 0.16696662471387314, 0.12766315556137658, 0.12867055419641113, 0.16562644502713544, 0.06077352680179788, 0.13820991170940986, 0.19390036639111685, 0.1706203219240164, 0.1563968691985012, 0.11786788582423283, 0.14522880070915872, 0.1683068951322467, 0.05203552641609462, 0.14328608343076524, 0.09794750860185669, 0.18067605164742045, 0.12397412266852542, 0.12024471401192606, 0.17242304437848877, 0.0965475484506789, 0.1872175246447443, 0.17038420313605226, 0.13076564332617374, 0.16037903470071205, 0.18184085401681557, 0.1531814738994283, 0.1605533409713826, 0.1466934530726605, 0.13214925915644105, 0.16959658743989614, 0.16068945329396703, 0.12059901734495396, 0.17008032398767337, 0.16323385883027364, 0.06556833249762584, 0.1102743902679607, 0.10497793854404822, 0.15092630372710472, 0.16916612296843897, 0.11410616513369624, 0.13206985501904103, 0.11859176928730543, 0.1509667612393286, 0.1642164830107914, 0.1117629189278066, 0.0965641696107077, 0.14755860486684386, 0.15997534813633305, 0.15704528632651327, 0.1383960362489582, 0.19395379686597303, 0.11479710364907697, 0.17779820970795815, 0.1256747176690069, 0.10781708959401484, 0.09737297313878984, 0.16727125824201447, 0.08916713689428107, 0.15357674476838096, 0.1540644284881899, 0.14804064591758342, 0.10287865313592598, 0.10904582459566485, 0.15772163465146327, 0.14772058745097627, 0.14227085485795582, 0.18558873256301445, 0.1254728677511183, 0.133076429051372, 0.09725078675674388, 0.0869564653040464, 0.13091068647436285, 0.1935919374215526, 0.17589214130077813, 0.13302055189868556, 0.13616894432553803, 0.10968360503243935, 0.19005527516662538, 0.0739425320030537, 0.09592881509296966, 0.10637867887779257, 0.10042999123501188, 0.12818539971624215, 0.16645446256284613, 0.10598901565933132, 0.1716439452990505, 0.167652739059067, 0.1384833494347161, 0.10077075959765823, 0.0773211213019661, 0.16242069870000903, 0.10136115672667752, 0.12427960288199434, 0.10853743846523985, 0.10702777534184162, 0.14396146511452737, 0.12446669749470905, 0.15774702893658746, 0.18873626786944017, 0.10860189037540689, 0.15506513562381033, 0.12950365432877345, 0.1112448195530518, 0.16388010382241297, 0.10053708062032546, 0.13270376144882404, 0.18320747151083133, 0.08162844303505579, 0.176735350129589, 0.10168626841548979, 0.10146793961467565, 0.20487599218545824, 0.11215561879893632, 0.1586700904180655, 0.15992060987692985, 0.14579030821794903, 0.1284716763911694, 0.09502355747748753, 0.14971613056514474, 0.14826981587280713, 0.16228840607165618, 0.1445508711712807, 0.1281556016394653, 0.17081248379318556, 0.14998267874353, 0.18466806111261108, 0.14894074250295194, 0.10988461334046365, 0.1086476580596303, 0.16751700891013308, 0.08819529942926085, 0.10370632164820119, 0.131199567915988, 0.12715227970223883, 0.1824384495098673, 0.16050436834320622, 0.14577605687252665, 0.13046245232315823, 0.16066735468476126, 0.1721437872431744, 0.1339327683046787, 0.17925216537237365, 0.09607392709634799, 0.0917090020503941, 0.1651660744242663, 0.16238521505402242, 0.10619124257701278, 0.11061299277944711, 0.11708058548210265, 0.1345356200391246, 0.12950569539943405, 0.18117773100593776, 0.13540364905159946, 0.10088756683971886, 0.13714378122050078, 0.09678286614056192, 0.1343931110964067, 0.1898267652377071, 0.13487908452818556, 0.11358158571292884, 0.11671752847065223, 0.1506109214974302, 0.14892480150541576, 0.17430425029210173, 0.09749991396942376, 0.08609723282107457, 0.11281032646402465, 0.17803751773515064, 0.16629684359395192, 0.17101417432534588, 0.09638798810773648, 0.1318395725496578, 0.1457182551853019, 0.1636441410717128, 0.15314210340181872, 0.17394199344889016, 0.11145324601845781, 0.11694614103053812, 0.1360041087778469, 0.1388694831925685, 0.14418654142938092, 0.07479893146760806, 0.17310462690162529, 0.11884242654225285, 0.1222665708252727, 0.11143722963204504, 0.11046510759235831, 0.11608773061654977, 0.15638504810317982, 0.16001172172677489, 0.12714765226439526, 0.1397204547206996, 0.09895100497914916, 0.11900959018986074, 0.1141321721097079, 0.12319945599927352, 0.14889841734540582, 0.10583267757917872, 0.17592488049901128, 0.07160425081090953, 0.10663891273354888, 0.16464254514644516, 0.13719832050773917, 0.15488356413585982, 0.14910921385473186, 0.13394363174121193, 0.12238761785653593, 0.16933540159767213, 0.11324234712098531, 0.12699578713597073, 0.16969980700956222, 0.15793129207658316, 0.1067357012776344, 0.14712255451051223, 0.14607250829639942, 0.15777894251046945, 0.1316017684246079, 0.10205711750521221, 0.11914702102542919, 0.1514147866599863, 0.18737390235070955, 0.1221229191975207, 0.15459390032778314, 0.12343088057992577, 0.19334518757489202, 0.11646900699155271, 0.14454980054448713, 0.13598991956289955, 0.1288920715975352], [0.17458470307128618, 0.2024878930191052, 0.1113949409670819, 0.11988186274200528, 0.1390402965526529, 0.1341061510571256, 0.1429374389713024, 0.16501822770435792, 0.21800587573919736, 0.08799471777944731, 0.12441215371900487, 0.14837195184326207, 0.1352619785031038, 0.15866563274694656, 0.12305531692080038, 0.18149279993704379, 0.11533672370813637, 0.1002561685464716, 0.14859900939008386, 0.17103666645683374, 0.11295715427033304, 0.16877655414200066, 0.1804813114069439, 0.1583733859118965, 0.125506304452183, 0.09748727432421701, 0.13824817748180943, 0.1389851905251762, 0.15584688363775984, 0.1864878572487668, 0.08604388899115416, 0.17780838353836023, 0.1651034616487968, 0.18909395015571184, 0.15838530754837243, 0.1499897097677988, 0.17762953485513783, 0.08156308606022007, 0.1641796666708152, 0.1232954428721472, 0.13764557845464084, 0.18453453062477188, 0.1635119943425631, 0.10706412635724528, 0.20053155296376426, 0.15612388498415408, 0.15538995254665586, 0.1405247998997655, 0.16967803035104062, 0.20124190122678984, 0.14736396783790087, 0.18691548302401637, 0.1451458151015213, 0.12834423300597142, 0.1678736891494267, 0.1383990071330319, 0.1271288820315888, 0.12619406729649157, 0.11599331660892918, 0.1754701897466416, 0.1934512295697759, 0.21907863764532365, 0.1329562088087295, 0.1553614699609905, 0.16150578848116595, 0.15024811265712512, 0.14702040058316546, 0.12274450294264411, 0.08510797958424289, 0.12819699283784283, 0.19257953957183718, 0.13493686880315012, 0.07421047708131835, 0.17281183313029672, 0.1221107886673227, 0.17398305062951863, 0.17336218686629798, 0.14937148316956833, 0.19676558431322416, 0.16726487152077843, 0.09023932799810795, 0.16603162357975074, 0.10817518993325387, 0.16927159996399258, 0.08933284706326096, 0.20432688888139036, 0.18341034502634557, 0.15694166277077728, 0.170035287943456, 0.18523965994393637, 0.12278607425145803, 0.1611329496910815, 0.2056595117254023, 0.17250510575827543, 0.1830090658651728, 0.14095342034587563, 0.17850068223512577, 0.09488895368668837, 0.1981180568559401, 0.14517193493164923, 0.16472238974591766, 0.10502904044501575, 0.19557307054272044, 0.0842543153994718, 0.1740382769752625, 0.12407973222857796, 0.20821128863101152, 0.18280394236896672, 0.16029197058830758, 0.13396275596665166, 0.09289393852576273, 0.07974317468608016, 0.10872915603008794, 0.13042529789527385, 0.1474183048291932, 0.1718395857146009, 0.08424587924682692, 0.15606970807205434, 0.09747305574474681, 0.1546647001493893, 0.10204310452543701, 0.09571879126501678, 0.14472510143071485, 0.1877386312629311, 0.12751879034109256, 0.15968370979933952, 0.14060345314343103, 0.19545689311502992, 0.15163829911795768, 0.1294664006427421, 0.19280234251818573, 0.1792190371649161, 0.12702273782302498, 0.15723677655701657, 0.1352745087585019, 0.182958065512001, 0.10932099169802723, 0.14840238464641695, 0.17685106170113238, 0.14828609669471401, 0.13126073102440486, 0.13366574190621752, 0.13864531223119947, 0.15888318423535092, 0.1085210548083853, 0.15290539440506437, 0.12987664116395178, 0.1508974299580213, 0.14379653212878107, 0.1761493250872533, 0.1692825217375148, 0.15157224126737898, 0.11446597186989635, 0.1454172662095608, 0.14790713942450434, 0.12957870004666838, 0.07530863147553017, 0.10923114231175295, 0.153258526527649, 0.18922609850422395, 0.11452642864422485, 0.15363180044360483, 0.08031667321767724, 0.12841514957920225, 0.08801715894494315, 0.20442680135048874, 0.08954584848539691, 0.09842434535302017, 0.13486277741897534, 0.13552620230741821, 0.1397370430461909, 0.11045212390616017, 0.15612415853868816, 0.18573621104482244, 0.16156514329652627, 0.14917253257910024, 0.10556906482459949, 0.10788558973606883, 0.19308402221372947, 0.16417418960044988, 0.11832848395089465, 0.13282507629512214, 0.17399434082280246, 0.12470831293430808, 0.12360572642123337, 0.19501288192626118, 0.1374081983842866, 0.10354617705729498, 0.17658294999665103, 0.09939563304510801, 0.1682746715670215, 0.17323574598077796, 0.18019374460391596, 0.18161113650218247, 0.1776085998963107, 0.09917999522851277, 0.1827330420234346, 0.21414496922978654, 0.16511664749465613, 0.1032294090869276, 0.09890551971618006, 0.2015177250220673, 0.1462056121081385, 0.08476552276750908, 0.10541693377055945, 0.18089991412784212, 0.12132380750304098, 0.16455584694965372, 0.14223463900820169, 0.11716390278814753, 0.1344056638844953, 0.1834508851816843, 0.1635516833641045, 0.20627676462406555, 0.15087361035650154, 0.14687806216499005, 0.1995492681207477, 0.13697572898718696, 0.16082517387892223, 0.15563657215866641, 0.15027360186698943, 0.106383899349884, 0.11753964178768335, 0.17571187900334384, 0.11209154930636082, 0.13149137660827934, 0.16632256027095538, 0.13143465235798618, 0.19360749490725473, 0.13107442584256596, 0.13562616006891118, 0.1148021232115193, 0.12062434954534436, 0.09748512749282315, 0.147159769197532, 0.13689512415420835, 0.12811745376385114, 0.1493371517703581, 0.15551749590893008, 0.18304026278280358, 0.1641064695762987, 0.12707706857056947, 0.21453883102390314, 0.15833951459472612, 0.11256144506971863, 0.16545985174505207, 0.15518500896385087, 0.06426143585850436, 0.172054480006297, 0.1544347403675169, 0.14899060067996542, 0.17083585780544572, 0.15312351468747817, 0.10771786366682497, 0.1815734193658613, 0.15394606879642256, 0.17338342780738228, 0.1455279608879235, 0.2108794707770147, 0.1627425971787897, 0.10254752785339107, 0.13698754539466906, 0.09464061145577932, 0.11647559466617531, 0.1302695018213355, 0.1550755077334339, 0.1965358560201105, 0.08257339839299901, 0.12055050966139141, 0.19244975864369926, 0.09208411086267715, 0.18056387681689812, 0.12966843653974278, 0.1353769394720905, 0.1657919981333633, 0.06915575943227543, 0.14984709267236004, 0.21711715022364558, 0.18398330518093928, 0.16598001215827035, 0.12361524579678584, 0.15637650860186947, 0.18065245096148333, 0.06570397205326627, 0.15354483426693835, 0.112051430283432, 0.19473013274045456, 0.14087307056141635, 0.12554692528972297, 0.17129962562347134, 0.09267928308750101, 0.1926146248089815, 0.18383472343927015, 0.14448380903760027, 0.17082483367271356, 0.19876982454577966, 0.15496787247445035, 0.17027236742293048, 0.15124490750737613, 0.1415953001955005, 0.1777365012060396, 0.17689691075530695, 0.13394251794354584, 0.1854213368606097, 0.17473645553634443, 0.07127678610467134, 0.10572377071997519, 0.11170074026592491, 0.16456015841624466, 0.18448695997289905, 0.12111491981714305, 0.14181958565038816, 0.1255516188757783, 0.1628506951030711, 0.17015590785924967, 0.13317610837543467, 0.11278758644188637, 0.1602276839103972, 0.16449998671742974, 0.15861830913533337, 0.13055390352199028, 0.20839943449650916, 0.12706344332606054, 0.19719824014324142, 0.13259713238429116, 0.10864277666049861, 0.09888045055184971, 0.17758455494829806, 0.08384075020180973, 0.1657510653026004, 0.16173288760202026, 0.16244951559041282, 0.10227410949943547, 0.1229401362264414, 0.15584250587617554, 0.1478299897057595, 0.15442141786767902, 0.19499227615218212, 0.13445626768314525, 0.13289866533784425, 0.09913172885326013, 0.09033705482733019, 0.14058823828290615, 0.20644043424265343, 0.18704418099090292, 0.1488993245294309, 0.14145137648879577, 0.12776376961042618, 0.20576602208008746, 0.0708596045518396, 0.11052746462837014, 0.11499751404496306, 0.10476591913617544, 0.14259650119344242, 0.17035954928381325, 0.12231415428329265, 0.18309319190406848, 0.18181260070474145, 0.1481975714236683, 0.12041899022186436, 0.08465444857882828, 0.17220059998888976, 0.10758682898346797, 0.12942745707667805, 0.10558921468407051, 0.12077690029924798, 0.1464590855416131, 0.14051290748564443, 0.15996060746300084, 0.20489075485287433, 0.11567754072615573, 0.16813287708860894, 0.14909338575941458, 0.12630296480499079, 0.1788563583549214, 0.10620652117866126, 0.1456057089770631, 0.19095239973178407, 0.0803829836582098, 0.17277915724462875, 0.10776423103330018, 0.10330030398169424, 0.21735252972586963, 0.12643253510683272, 0.1676314628349328, 0.16802807338661072, 0.14735023678431627, 0.13744887478266557, 0.11105307115899264, 0.16611599418150236, 0.16973161381727178, 0.17197381839914766, 0.16248933061467713, 0.13738843199148326, 0.18750532413527254, 0.16094034655658956, 0.19269029962372072, 0.15668233691340858, 0.09627883904864103, 0.11135866830981839, 0.18891401564268018, 0.09136031451958504, 0.1280636650365224, 0.142056341482641, 0.1453160311591836, 0.19391058944883635, 0.1706473297420485, 0.154628882616625, 0.14246594713276822, 0.1730507899463448, 0.18035480080543945, 0.14182242277974866, 0.18699685629606785, 0.09179133315141749, 0.10573092134053635, 0.18384983539035968, 0.18632155867799077, 0.10309081813077305, 0.10663758271877982, 0.12941427992962504, 0.1431665059650935, 0.13125237481358953, 0.1948365929147201, 0.13973580446790554, 0.10503009611224882, 0.14095274135890073, 0.10120340320847326, 0.13971985808383372, 0.2078925616345134, 0.13262242041444755, 0.12354933036645217, 0.11861716114863345, 0.1683211130356672, 0.15760076742438386, 0.19340060150780142, 0.10382267448573868, 0.08712676158440369, 0.10884364573229295, 0.18561597531628757, 0.18094664364428723, 0.1855987118009921, 0.098602174103047, 0.14292959730247498, 0.13842437926427675, 0.16725786935880266, 0.16393056595672473, 0.19039628078119872, 0.11119958397033261, 0.14045434337647408, 0.14748609011189975, 0.1408748977754339, 0.1472523645327582, 0.06885475174280704, 0.18532285185221412, 0.1364515915144268, 0.12897875084204025, 0.11892920584614318, 0.10554890337408789, 0.12974441585665383, 0.17410922674541385, 0.17716378864863416, 0.1297523602889797, 0.13626280840594052, 0.10962205054663873, 0.130331801657854, 0.1217933729027135, 0.12770617398373652, 0.16455365583010653, 0.10767750557331783, 0.1935964771853959, 0.09274121720464656, 0.1042334140522607, 0.17443467158351536, 0.1460207203569839, 0.16327865007631176, 0.16246889656412997, 0.13805625522923956, 0.13792337963342738, 0.1694999211296327, 0.11901225375321692, 0.1380596881366845, 0.18217114735870815, 0.17009673002319053, 0.11453151676282827, 0.15370552342073018, 0.1524255466305949, 0.16997607341958226, 0.14321453215273966, 0.10682359666176199, 0.1309548193595876, 0.15785312117393013, 0.1999833750015414, 0.11225427099095794, 0.1683750551297726, 0.13699526033591555, 0.20869018387746313, 0.12395681515239994, 0.15852214759995498, 0.1426979148225678, 0.13796201413099485]], "prompt1": [[0.1499701897189586, 0.13635999880062305, 0.09812500306688922, 0.1165879935567938, 0.11122561876214873, 0.07971777397649081, 0.07344849915173582, 0.15431445818757003, 0.11849584828127477, 0.08711372915655269, 0.12999241951357599, 0.14394153567294946, 0.06571308488465413, 0.11544068954983905, 0.11367041445995614, 0.1214048101206737, 0.10856474334742194, 0.12641412783726255, 0.17107795459343267, 0.13007145605851414, 0.06937204521927678, 0.07782545288061758, 0.10319872588450076, 0.06891214598806095, 0.05080469618747635, 0.053889614572459464, 0.07664342541243535, 0.15585942396141367, 0.05558118341958599, 0.1574689557808893, 0.12411759084574357, 0.11130338549524181, 0.06187982280169208, 0.122587784094026, 0.09672143493882158, 0.13384373790350143, 0.13112824055767347, 0.05975933272661643, 0.07353599034506193, 0.12723446170175065, 0.0398643726358641, 0.13040932758231324, 0.13575781555943264, 0.0861499539782198, 0.12314482004347573, 0.17571212822538987, 0.14011119266320396, 0.04683894222991403, 0.1508601566658949, 0.1369768965593251, 0.17571706691967634, 0.12310086991347334, 0.1149111814035574, 0.08715445947638456, 0.06239089055263884, 0.13920225498040636, 0.13210893487252753, 0.06817085266674269, 0.04731227844107965, 0.08303756011578116, 0.1274438276247426, 0.12725818860828533, 0.15897615346482624, 0.13805324758696172, 0.05068772447469194, 0.13655166155624138, 0.10651754779754498, 0.08153522796359339, 0.07854855446564231, 0.10959644039299118, 0.10886847851845423, 0.12990071643398554, 0.11288653652174824, 0.16246388337705675, 0.11652514740327251, 0.15428077444143973, 0.1741226989863955, 0.12846251265459183, 0.13899510728726475, 0.15258973095312256, 0.14270654877027839, 0.12602618444526129, 0.11717017574696846, 0.16129144604640017, 0.10891046240895677, 0.12995979641916777, 0.11288271859989721, 0.11259706415423791, 0.16678922078689032, 0.1331138876266983, 0.046676003887948944, 0.06655367956718283, 0.15574867529634953, 0.1487665534584296, 0.115694648391498, 0.12754136315404865, 0.15520272192587564, 0.10424389769523841, 0.1023371857779593, 0.1623329216586887, 0.10948228378695454, 0.10936216951475293, 0.16467503991887056, 0.11221123930975235, 0.1642594598083353, 0.10667950437660002, 0.11164938042091982, 0.11767437973397493, 0.14155077137159675, 0.1096614392879508, 0.13613547077359556, 0.06370619396892756, 0.10324378283178443, 0.0661510460809658, 0.11228973088950918, 0.12234115405845596, 0.10650201368661734, 0.1698844194217785, 0.09070452808087659, 0.12451200687094124, 0.09498176620325721, 0.13605261708863878, 0.11534258194961264, 0.13802114755707937, 0.09312222988792067, 0.11181837539494624, 0.12514014029784434, 0.13097776374295525, 0.16918920928805162, 0.11909521879310614, 0.1371954712592795, 0.10980608404978197, 0.1248056393281739, 0.12095728129371605, 0.0468565802538558, 0.18510205103157903, 0.11037675217702612, 0.16380463804448683, 0.17556681984623002, 0.16510738014210866, 0.12588666841628346, 0.06647206645714528, 0.17624623286940616, 0.13492010094977944, 0.10972157310546668, 0.10963948594560485, 0.09837238168345382, 0.17969779816745993, 0.05612423986082095, 0.07760628147269732, 0.10596821300715041, 0.12275944763563318, 0.09458668961660786, 0.1263214793049992, 0.14585711476638988, 0.04184785065236429, 0.12954607752571642, 0.13355281691909446, 0.05626842546511897, 0.15453710263640802, 0.09699626903454804, 0.07943527747958523, 0.12495720509509288, 0.0787070288361128, 0.1278426541250404, 0.12335019239875569, 0.1135616722085061, 0.12675345099518254, 0.14652485523153627, 0.15683680594729071, 0.16333469155532562, 0.08658071029284552, 0.07620849436665887, 0.13118900916123447, 0.06196791075091698, 0.10894167633228577, 0.02467641869292819, 0.12562352799849036, 0.14564783517720598, 0.11212059608730765, 0.05819547834429725, 0.07007223794963105, 0.17286961955785127, 0.12279782374400586, 0.11028488321377972, 0.1333383727935483, 0.12253506683945192, 0.034094906205212355, 0.13028197241800782, 0.09878619818393039, 0.18165929840886916, 0.1589923630223985, 0.12002349876063553, 0.12987911416988102, 0.09420024224265465, 0.11362029380086579, 0.11662523578185194, 0.13190420446017787, 0.1298143283654103, 0.12941136867123382, 0.10415158220196391, 0.1366808010483006, 0.11620341361143119, 0.04518365351403549, 0.09803308682200469, 0.1275917055176748, 0.1295676220490605, 0.17193765578746076, 0.08400298052454785, 0.07188509882910936, 0.10515372521246948, 0.17910164611778703, 0.1719705127219452, 0.12172935614493377, 0.1782715341396658, 0.13135236262981226, 0.10433511425919911, 0.07542571011585315, 0.16020634870363532, 0.059555067173443325, 0.16165497851494265, 0.10457006763663107, 0.11904127604614248, 0.12300375880641672, 0.12227065626701472, 0.09858121837060728, 0.19838536437597387, 0.11109150333170298, 0.09750607808885961, 0.09368728247285654, 0.12467144168769591, 0.05580972136242892, 0.11867619196315563, 0.11108866921902212, 0.16279127326432732, 0.0821682685891017, 0.06292629681207774, 0.15118949940847837, 0.1489279190797733, 0.17355743175307306, 0.15231333138001746, 0.07438174853729632, 0.16437619889955973, 0.11747240104465974, 0.04786991178992042, 0.11537804185101756, 0.0804247961782554, 0.05715407759456605, 0.14412191707224037, 0.1556303268649922, 0.15021280585145116, 0.12999106049531578, 0.09691419348928615, 0.10397397400787904, 0.11170108917735425, 0.16795456617617538, 0.1400067242321492, 0.15939530995601336, 0.13631287720692792, 0.16075070806639322, 0.13924149486656942, 0.08184167383114963, 0.10756586114971634, 0.11735908995780223, 0.12739562960728232, 0.1507806328140398, 0.1686567102406383, 0.10512182165069107, 0.12632736788595147, 0.11475971087552891, 0.05913231297136693, 0.14761044292142786, 0.12809547485455294, 0.08554785846799794, 0.112888596206599, 0.12619895510348367, 0.12226464317772502, 0.1277663372903352, 0.15584692448445925, 0.14436898692223665, 0.11845848552590103, 0.11485775382365186, 0.13294287531700388, 0.11430763887911016, 0.06178831634146734, 0.11869249868240879, 0.14396074328213812, 0.054129876582369674, 0.061390781554300264, 0.1402589640271555, 0.12523588269147665, 0.1410057869142219, 0.16611815031041746, 0.09294143897564602, 0.10080250640891886, 0.10852515019247957, 0.1799168825343967, 0.15734691999550204, 0.1763930353166653, 0.049366262301904405, 0.16128353557011643, 0.15213608082753474, 0.10307212473853225, 0.1493392703243246, 0.15169890135653144, 0.064755684722662, 0.07345294088149137, 0.10701941030092792, 0.20269783791783863, 0.1750178305555589, 0.1328889648270912, 0.06798833652584624, 0.10636450929383329, 0.13170062604633684, 0.16052177645542684, 0.11613562672689176, 0.13300806269475332, 0.07356490446869624, 0.1213311690447754, 0.1434747656515998, 0.16328520193048404, 0.12261440879344106, 0.09563380846969964, 0.17194394027773768, 0.17477750302266654, 0.07716354797444926, 0.1310973620022813, 0.1622474595356985, 0.11047069041652013, 0.17715719775424688, 0.11430160872709982, 0.12480768143576307, 0.11783936009621265, 0.09818811907773431, 0.155679670411128, 0.1636933957239821, 0.07837559550172819, 0.16007640671980108, 0.03730469526647609, 0.17104648057711774, 0.07209911089233256, 0.06751241750899238, 0.10582050582871289, 0.11286340970458794, 0.16919309381474854, 0.08338616724854185, 0.042470404111551126, 0.0864557514477878, 0.12404842429084607, 0.10594532564352281, 0.09614509916085547, 0.07842142226612511, 0.0951397710718525, 0.09827083049707333, 0.16602228823161017, 0.11024333991354371, 0.09939072368347823, 0.1371090801240142, 0.10256408100196246, 0.10082832383666263, 0.0690640655983885, 0.14863658654222342, 0.12396705100564817, 0.08981184674090797, 0.09689652188112334, 0.05875648911839951, 0.11652806479813645, 0.14596714770833846, 0.16172507138479317, 0.1323477283253295, 0.06870656124053859, 0.14519429206591827, 0.11766980053754957, 0.043927645793262776, 0.16850331078511196, 0.04488238466871863, 0.08097330260419609, 0.12025211967406112, 0.1042725114133682, 0.1241419961578305, 0.1333787096173046, 0.1115891823383393, 0.13719420446564623, 0.06511021388666201, 0.15810712766263085, 0.153124298037819, 0.15684592175184542, 0.04861656571569038, 0.12889668689454803, 0.15764205665733194, 0.06068962447024021, 0.11826444039508908, 0.1215804268773418, 0.048410137685544405, 0.14759635231338317, 0.16425269369904807, 0.10249028949903898, 0.04362985327557969, 0.06522663963146011, 0.11817609778076459, 0.1463351972416348, 0.12412803191458563, 0.09821552324366362, 0.11186986071592739, 0.10464327314075117, 0.11013830987730569, 0.11723545173386543, 0.15389367572536544, 0.16826888357096018, 0.09338879420261617, 0.18199251109562598, 0.15493563269172064, 0.12624884659390995, 0.11357978873723244, 0.1066737140378791, 0.15869784598979614, 0.16926530564070935, 0.040348150833768935, 0.08068390493862544, 0.1358090669782524, 0.1251885076757331, 0.10928233268994463, 0.10368931405504739, 0.04663356735503199, 0.10175371399521345, 0.10928022116355789, 0.04047556504494784, 0.03659001353519892, 0.14332780835329215, 0.15389116700076233, 0.10485375525295967, 0.05412962627931397, 0.1531573461620869, 0.13370726564649052, 0.1337518176252929, 0.12272312362723521, 0.09421700698619609, 0.11057238094690124, 0.1567588100881894, 0.16784856688729025, 0.09582045177787868, 0.10527475281658277, 0.13098017410402027, 0.06902517465263112, 0.15707621180415635, 0.17335111542920037, 0.13356182675850817, 0.08499775965236972, 0.07805751594928517, 0.14378890979646922, 0.15925513062338365, 0.1693506283263891, 0.07137846493737868, 0.09119559827330165, 0.11017786064177305, 0.16685922100767783, 0.08040264468496136, 0.10254142835350272, 0.08720297031295868, 0.17053236002638553, 0.17832513916987056, 0.09608418773392102, 0.16855718439571882, 0.1307225509644388, 0.06898818228718306, 0.116982536657887, 0.028291970022303457, 0.08238025026713616, 0.08515165243979575, 0.15274419973683262, 0.0840918852810536, 0.1501641225309195, 0.12444419698257403, 0.1840189228488981, 0.14608003083165938, 0.12500193839822657, 0.16168141472491068, 0.13440440418628405, 0.12275640388168384, 0.11010597705047953, 0.10083251506937535, 0.11640441723808861, 0.09340056234757213, 0.06704134055141958, 0.10786573643081714, 0.06210910168137187, 0.14946510704973004, 0.179231190634411, 0.11263502828370774, 0.045790332827167025, 0.14923312322215648, 0.1286201346668774, 0.07985456656516687, 0.16042728463550146, 0.07690438579112875, 0.11672799661772075, 0.09729962655204716, 0.06885656008294382, 0.07795646094385209, 0.13968390826431407], [0.07699399016004825, 0.08415777073371766, 0.05581946724455144, 0.08726794589146114, 0.0838617725649002, 0.0970335270750145, 0.09222473157639695, 0.05609805909372805, 0.10378904146527072, 0.037593731072062285, 0.07962170362977863, 0.03962005467895301, 0.065550830326773, 0.06371714894902275, 0.020882318104899444, 0.09111251855175266, 0.07844684366475235, 0.06465172100470043, 0.053532605380430746, 0.0527733143186794, 0.0730423123209075, 0.09701714139873624, 0.06511822021224711, 0.09775206838792179, 0.0888415948115858, 0.06902468417148301, 0.0948267336707725, 0.02917309033655648, 0.09205366806782878, 0.07319193371849654, 0.055951928888777556, 0.07773103467554625, 0.09788104254416698, 0.08917040257771491, 0.1118821577272031, 0.059780468613995046, 0.06498318168472754, 0.04895306370025469, 0.10179316683351948, 0.0867583254481844, 0.08337489650146397, 0.07178625218566087, 0.06379217353287817, 0.06138697892577632, 0.07581433824619138, 0.0715412412672255, 0.05586898791618327, 0.08264690442077814, 0.06591619852481204, 0.10024173395914568, 0.045975172029185905, 0.08506459478559486, 0.09178986271175373, 0.06785028281159532, 0.09689152716668291, 0.025292833680636, 0.07053717126592401, 0.1056766116185103, 0.052909022579667675, 0.11876600172387661, 0.09649862336587298, 0.10122422098235655, 0.031272629514481357, 0.05067627503189113, 0.10207893751939331, 0.057695384998252046, 0.08440871722215401, 0.06799965875292294, 0.0633261596682934, 0.08048982818576737, 0.09083555855990844, 0.07796379585022067, 0.0429265127166331, 0.05677538724996504, 0.0700497880283069, 0.08072945251343795, 0.08211362225449037, 0.10530659377255713, 0.08611503061489237, 0.0683782344245305, 0.05787839225578952, 0.052530993140368, 0.04540193890327586, 0.04484215156100672, 0.04830116404601642, 0.09107127236518565, 0.08258739927126625, 0.04216965210939063, 0.06687687619421916, 0.0857080736403355, 0.07454900100101274, 0.11924630309305657, 0.10845411163951743, 0.07287632454948283, 0.06942625769602977, 0.08870739541251392, 0.07620373021809324, 0.05037300869120908, 0.08782297483598611, 0.040171056271101596, 0.07387670818527388, 0.05100600218226226, 0.08590192066500209, 0.03762656854659224, 0.038222654560148075, 0.08344718601906734, 0.07660805500165101, 0.06839863630405911, 0.06880545726729935, 0.0835262192233913, 0.05492291354699787, 0.06250571837591701, 0.08386559213560534, 0.06922345038506753, 0.076647340243784, 0.061976995485955665, 0.03955905068548372, 0.04852216013233952, 0.07971803444547336, 0.04159077855019592, 0.06765961531321983, 0.05885924529539629, 0.030131759180565345, 0.08095565788129941, 0.0796021200001346, 0.10244222037037012, 0.09678722241022235, 0.09500215694584047, 0.05090104489864649, 0.08456365555203463, 0.095775862317997, 0.073159040567109, 0.07135744873574246, 0.11185543506136678, 0.08737832628405086, 0.07727081443903669, 0.08299213138007176, 0.03957707495216918, 0.08851247457845211, 0.039488789586705896, 0.09128571051156625, 0.076477321259514, 0.060089541286391046, 0.064276927938775, 0.04625734253585495, 0.04279246436483289, 0.06938194749689197, 0.06818445199136884, 0.08860310524918251, 0.10759576572758889, 0.06972893164973325, 0.05626628963983808, 0.05580951475621134, 0.09712340662807126, 0.035228173691096126, 0.0819236993507272, 0.055039766396404025, 0.06224769587185702, 0.09270087346659957, 0.07676433773520938, 0.10136393342052706, 0.10212888102973501, 0.04970073582592691, 0.06399908086915762, 0.05444616693556625, 0.09066983452846449, 0.05410679774902603, 0.057900616923706995, 0.07326106103921075, 0.028109284424976882, 0.043092417473270715, 0.05466831122708584, 0.10883267513636809, 0.08024836530108147, 0.08733302623380872, 0.08077192994800918, 0.0392169581930657, 0.05587318235126709, 0.09329235032793122, 0.04964364609548344, 0.05368923978305634, 0.09921957009721825, 0.047121485410537484, 0.0888541886882895, 0.07687045878986093, 0.07207110390493626, 0.08130203091986156, 0.07693804802018309, 0.09044929915868806, 0.050756908345744214, 0.05398518728805352, 0.07570565730801825, 0.10022472216593328, 0.049494076666285844, 0.12564775901146186, 0.06327728234017288, 0.06667218880702336, 0.10621226865206145, 0.06310297366503352, 0.06504943785548001, 0.04529794550281661, 0.08988766298387449, 0.03677695713361011, 0.03870910961308423, 0.05081262222400059, 0.06859250236996475, 0.06574117531589482, 0.07447356387127854, 0.1077714081919609, 0.06792127129650953, 0.08236677077370974, 0.06811137893239706, 0.06386668962656566, 0.094897807723987, 0.040441889872950915, 0.05443964285196706, 0.08137715579649343, 0.08257839953452754, 0.06453289306810968, 0.09673733681230376, 0.05087908636503991, 0.05514770608643761, 0.08759830467998618, 0.08735441141771386, 0.08612566064035353, 0.07956167317161489, 0.06803731287606836, 0.06692217369833571, 0.08014914964825295, 0.08243068195250651, 0.08991440137202636, 0.07506400914347149, 0.06931458143883788, 0.04451573318369024, 0.04450688300971044, 0.09096072502089161, 0.07277884412697054, 0.06559490748362999, 0.059968211439202855, 0.09179923961591321, 0.0687698703860467, 0.0729405770813287, 0.0809235365580117, 0.09869968294307944, 0.07118187199512184, 0.0869172643588508, 0.09593920995181032, 0.044978017978292394, 0.0678395634071492, 0.05523713325705593, 0.02945504247957516, 0.06489791765145704, 0.1190252673381961, 0.05460298126759884, 0.06977197686774927, 0.06375601956142599, 0.0747214506243527, 0.051920603580518955, 0.10052991332968868, 0.06399993350135032, 0.0748969049422064, 0.08290538523756558, 0.0481085112747625, 0.05919111853674428, 0.0900501446381102, 0.06052457289675939, 0.09627767733858442, 0.04388965784447717, 0.07390573034104, 0.06230288838921942, 0.053209157698740836, 0.06396899366688996, 0.10127439862691368, 0.1314966589754772, 0.08077730086774013, 0.042491481046718745, 0.09224904855253493, 0.0972891489542521, 0.07601533306307323, 0.06435719458179412, 0.07383405897997526, 0.0836155005634407, 0.057641457109420105, 0.029274417846994978, 0.08317231261555155, 0.08881131940241876, 0.12050144744129546, 0.09756723274740664, 0.08707168629320718, 0.06522270745799008, 0.05133400752182107, 0.06261076572011579, 0.08731795823655263, 0.08593400700633648, 0.05145263461356695, 0.08961096178504542, 0.06212752602543173, 0.07743809249345084, 0.03272586863903793, 0.09046459495852129, 0.06052323857786866, 0.08286226845663427, 0.09446562722740563, 0.08709980616922643, 0.0702126601979598, 0.05629847594788382, 0.053151198508422974, 0.05164125955544877, 0.06693680532182938, 0.08499959143608977, 0.07158884474573621, 0.09323380653431268, 0.0757564473276361, 0.06573353093160679, 0.0785541076363602, 0.09288313708819818, 0.06002696631267806, 0.10603259028282176, 0.05227412814396917, 0.05125779280548617, 0.031324587930117394, 0.09109159706779273, 0.08374104856284063, 0.09994510341322425, 0.04468426371493725, 0.0629613964140588, 0.0665207385759281, 0.0829108774462865, 0.032952276523249384, 0.06235794395575571, 0.05925628590028374, 0.05308131357876633, 0.05593825794231118, 0.07611564854396337, 0.03228427810276372, 0.042108661209924445, 0.1048253057320504, 0.07405477892794861, 0.08654290680122102, 0.056343149321766185, 0.06308016337071191, 0.06001172665114745, 0.08178442250923011, 0.08290038725341461, 0.0869267871444411, 0.10321730627471942, 0.09224312139093123, 0.07310897366401571, 0.10153862888251657, 0.02293236259031141, 0.049343348364425096, 0.067889020119472, 0.0648844831143931, 0.11720585067310565, 0.08096554297895285, 0.09211882991480841, 0.069659328362893, 0.08233158219260647, 0.07882593891034612, 0.08692252320737458, 0.07726899787464486, 0.06594567163513274, 0.07806333829437503, 0.08247826287695276, 0.07263552890943038, 0.0911067214577613, 0.047076946138210216, 0.032871886432350526, 0.06577510435760126, 0.10068323969276419, 0.056686353048017966, 0.06743674985237115, 0.08511209373521926, 0.08377550266330173, 0.08349717253259811, 0.049782678845679044, 0.07644257231239504, 0.07987431400817571, 0.034410888351380245, 0.07259513814447134, 0.062289652769028724, 0.053725197296920886, 0.10162992264043215, 0.11185686526251713, 0.059774845098691444, 0.05668411975163239, 0.043156824651408986, 0.08202391540515135, 0.06139690559541429, 0.05552452942639038, 0.10867659833022036, 0.0467499628948642, 0.10095227120766177, 0.07528007162521637, 0.07938924406671571, 0.07731549728663785, 0.07399282292094593, 0.10598009445617132, 0.05121154283289809, 0.06752034380499876, 0.07456044796838747, 0.04563732934290622, 0.08048851199108124, 0.07643028697682079, 0.09167670967488073, 0.08019847085514906, 0.078556841975847, 0.06047173232976158, 0.045135351047425026, 0.12586155856106832, 0.0776228116248646, 0.03689138812232484, 0.09106343535151509, 0.06134045550816276, 0.05397401363333896, 0.07797772041028446, 0.07261566681127155, 0.049779879450683163, 0.06997876056963417, 0.023590095207560603, 0.10194935362661439, 0.039550834249484836, 0.0830872225480662, 0.07375439441728462, 0.0742580305645929, 0.08403340613615123, 0.03913959487548985, 0.0731909068779081, 0.10445184021860848, 0.038223094412682714, 0.08361340319051754, 0.08844303260818046, 0.08125472411141597, 0.05769013878853742, 0.10893231959623373, 0.06836293395877277, 0.06816823863804053, 0.05117390825288139, 0.07001198180755747, 0.05886601258113546, 0.06615814175967154, 0.07120876579966548, 0.09229977622113875, 0.09152622069089254, 0.07632213860437649, 0.08146726891467508, 0.05390391574578996, 0.08204513582628332, 0.10204960303489692, 0.06357902570240417, 0.04900776818524603, 0.046837927874932864, 0.05162969534819587, 0.06753921213996356, 0.09506140329773889, 0.0402558746282904, 0.06689300880738194, 0.07090296924464184, 0.088049419972525, 0.06384088319550982, 0.09041357726125114, 0.07516630982249904, 0.026806488973599236, 0.053080315142676214, 0.07712800262569273, 0.08398260964075224, 0.06747907481371317, 0.11074747795175391, 0.07237151937779916, 0.08880493467442552, 0.06756621672294527, 0.011907187198244015, 0.04586615038238436, 0.04684456173162482, 0.07308396752987623, 0.054493366920291456, 0.04218372432425226, 0.11381127590526344, 0.08075883491225586, 0.061512681356115304, 0.08383444613703019, 0.06730437485184135, 0.12770033283496066, 0.07320582581075824, 0.036478111012881585, 0.08925234633352055, 0.07430330773030341, 0.06000126953280843, 0.08362633932788346, 0.09650634620767852, 0.06475102055751662, 0.09125383316586325, 0.07081991972346292, 0.05231407248225253, 0.07745900491984123, 0.09194351625427027, 0.07438935420537589, 0.10828902472695513, 0.1041615774963949, 0.03969700369085791], [0.07563016916678497, 0.09262336044782152, 0.07676453344280848, 0.0849519696590409, 0.07266173645651336, 0.07468574061911774, 0.10239898160266206, 0.033352471640443394, 0.08662763576630392, 0.03164479339827672, 0.06629318714285802, 0.042110585318660076, 0.06340577421544197, 0.07823780736258619, 0.042841071908349716, 0.08341197786902277, 0.0665776437345229, 0.064054286548014, 0.05506349087828689, 0.05161201670985923, 0.0612675532374808, 0.09094400065038952, 0.07911839637354319, 0.0913999382114557, 0.0923886430865145, 0.03311547201056983, 0.1020786604404484, 0.039799854020348885, 0.08178817910836413, 0.08108362029362373, 0.06989258794553772, 0.07847560809258229, 0.0941400026563049, 0.07375350117114061, 0.07026522987806645, 0.06653709572851453, 0.061328868093358024, 0.045699224423262005, 0.08969949435926008, 0.10206472626230563, 0.06722532038428951, 0.06217388169472262, 0.056131940477440814, 0.07223392320874818, 0.0814540049524238, 0.05887371241725767, 0.07623904576353088, 0.09243200036241978, 0.06989510373299206, 0.0890791080589655, 0.050042233845134725, 0.08045978322026612, 0.08132054178913388, 0.06945536186581841, 0.06962389675597519, 0.035158639097482965, 0.06911314130680365, 0.0912206373611836, 0.04166229500425474, 0.09122341843076277, 0.07878555010086088, 0.0845083313716346, 0.05083037387921514, 0.06164315771388597, 0.09543746759669325, 0.0535074839403528, 0.06855125758918675, 0.0773522662738165, 0.06206455263279501, 0.08611856733762681, 0.08531257874923849, 0.06429304741391582, 0.05970430787288246, 0.05136219650130767, 0.07931938360526074, 0.06577783845567135, 0.0831336031556663, 0.0780307735189157, 0.07524931869746268, 0.08174143516171449, 0.053148399396384056, 0.0476580739753603, 0.05919377295440417, 0.0448845787918405, 0.0286221702125353, 0.1031795504247763, 0.08244646350136761, 0.05364339434436955, 0.0565118277243912, 0.09170744850733298, 0.06297926912283143, 0.087939044196657, 0.1009920260257064, 0.08724486365386099, 0.0649480943541824, 0.09653356124566258, 0.07888941493453772, 0.039466653476785414, 0.07928493693647064, 0.045122090805711265, 0.07776103403337024, 0.04876820664472397, 0.07413002131927332, 0.05269699511738889, 0.048677500918618576, 0.07748508016433883, 0.08037448440601708, 0.0874676305204356, 0.07437929281287073, 0.08818723980772485, 0.06627525720455277, 0.051922032442087276, 0.07617173546368877, 0.04912213468322941, 0.08488546157154708, 0.052830946367450574, 0.04806000436160226, 0.053720320415441614, 0.06295578602045317, 0.07505493953932536, 0.06181639912738867, 0.06385170778964133, 0.055473723837154224, 0.05576417214890229, 0.06877335062367698, 0.08682131155905569, 0.10142935065270517, 0.08449779209431296, 0.05540539384145971, 0.09407838774070615, 0.09392129837083431, 0.08264941848235223, 0.05444185532397126, 0.09768569495618007, 0.08691212906300148, 0.05223639819413131, 0.08554954158045223, 0.05753761464315481, 0.0857269420647803, 0.056287073787103514, 0.0838849429409358, 0.054565258020357686, 0.04162301061339672, 0.05985456794763358, 0.04139162104772361, 0.04258952231959983, 0.07235966339455978, 0.06270137422672621, 0.08325118202219048, 0.09838231208665937, 0.08669016967157649, 0.055265123946098185, 0.0443773591039216, 0.09431832535113564, 0.04442882671020465, 0.0709358905771959, 0.06087768376178816, 0.06114605979928598, 0.09595524664437109, 0.06976118243110402, 0.07386008348962579, 0.10981125439094752, 0.049780686932305994, 0.05871761403712479, 0.04928651307010699, 0.08236465449815682, 0.056226974122740886, 0.04994144072785591, 0.0638748986722751, 0.0309126777997703, 0.04243583561633334, 0.06546709795622348, 0.09485981468348609, 0.08554315053420225, 0.0863924424077058, 0.0820890849261355, 0.03150027184292377, 0.058299800723706385, 0.10308787310112769, 0.03699900547358324, 0.04147253007974398, 0.0835309434979045, 0.048882708787515744, 0.09535845264965905, 0.08759404661200218, 0.05534641759773331, 0.059396725556601616, 0.0934134509977075, 0.09665824087195352, 0.06815132615047176, 0.060801654605612675, 0.07221722873018534, 0.08745724966618765, 0.03537023260523462, 0.10328614633888855, 0.03848641462811338, 0.06986444817600847, 0.09556842911035869, 0.063785998835959, 0.05377865238424228, 0.04275536422393346, 0.09486751739337523, 0.05255356593788895, 0.06235597160411123, 0.0373025410576364, 0.057006473626566245, 0.04640292903332132, 0.09121988758018214, 0.08772989018131518, 0.04841866503887008, 0.08355527764203774, 0.05196420061999458, 0.05720354263574078, 0.08917121612268826, 0.05343632558183439, 0.057437780035290584, 0.07199586957105512, 0.046209138459685314, 0.08378724373793056, 0.0670149272547772, 0.033571961104502314, 0.04343577458023914, 0.09016821409593141, 0.09289634189264052, 0.09235344182959322, 0.06756135426007392, 0.06596963412849885, 0.05239763040006842, 0.08868632819169683, 0.07707788450161777, 0.09112367546416714, 0.09301170909050842, 0.0499800465051678, 0.055947978248718555, 0.038671402804373874, 0.0683652488067203, 0.06441286493125754, 0.07740133430334994, 0.05292109069789675, 0.08959834069161907, 0.08858513137554921, 0.05612039575704401, 0.06779788736787405, 0.07695477541722842, 0.07573954621516661, 0.07756315323834016, 0.0851765884633493, 0.04570433003812854, 0.052322700208907905, 0.08238318520107721, 0.04171534218811559, 0.051201459835025366, 0.0926209715181334, 0.05214541203811969, 0.07899464291778656, 0.04898806860657604, 0.06428941554950064, 0.047243261816286, 0.09844875339506667, 0.08393371071251186, 0.057199439418814134, 0.05822839051504318, 0.03320473903705651, 0.046833674607959765, 0.07997657410738952, 0.07681291957557991, 0.0844226113694506, 0.0327429939647104, 0.056883409907188806, 0.07233705570785255, 0.05508040790847809, 0.06832319586959036, 0.09779626215095981, 0.10656741012024216, 0.07891294833935622, 0.054797008845489145, 0.07817957835704044, 0.0842561062269016, 0.07968974542056405, 0.08447526455936986, 0.07687023378222002, 0.07932991592665353, 0.051618787982582175, 0.0550817948036429, 0.07944632497705187, 0.09360275806511434, 0.10635593339965074, 0.07614363893838859, 0.07999636139481173, 0.06147598675431176, 0.0583891954688053, 0.07177391471475983, 0.0926010873099815, 0.07609605512862806, 0.03503498324119964, 0.08822332207333383, 0.048672489574999686, 0.0800778511193806, 0.05965935974183456, 0.07396244221162158, 0.07725209927422821, 0.09049416297280252, 0.06806582584389119, 0.07795073735765837, 0.07323132692824944, 0.06494593303007114, 0.05659844731401514, 0.05190340724243595, 0.07186152167896506, 0.10157938528356986, 0.06614330398508318, 0.09092106705853374, 0.09346317410232331, 0.06746372749487703, 0.07581661614251684, 0.09421435193304468, 0.059086539585937216, 0.09944941232743724, 0.050141110272998834, 0.08681978974689318, 0.032796942074002196, 0.08164034808610518, 0.061781546412978706, 0.09180497375887087, 0.052479008486077, 0.060096444560694955, 0.058691249820245005, 0.0630153795712195, 0.043547051657986, 0.06130504743082762, 0.0556822384705626, 0.06857961894501885, 0.05675475154678756, 0.08072854176863045, 0.03428934297315543, 0.03870371920949901, 0.08693103149128478, 0.056563678259502856, 0.08885960430657473, 0.0530162737148981, 0.05157155067699109, 0.052831735407572605, 0.09195422148439099, 0.08646035188670376, 0.0849764346806169, 0.11253366043471281, 0.06456306179818669, 0.05837625604162678, 0.07395010450745437, 0.05806823342384117, 0.03324061276703193, 0.06758055663818811, 0.07226381066997932, 0.11526506732723421, 0.08966286138285044, 0.0811798168557912, 0.07566513871781906, 0.06349434300810598, 0.06560691327186666, 0.07098767279734738, 0.06014008906608934, 0.0762519475771387, 0.0846126451105655, 0.061956658898391144, 0.062367505495615184, 0.09163666037060242, 0.044798367206385366, 0.043925313038224195, 0.07460625602819265, 0.09868659503829545, 0.06451915864016815, 0.08481376651439607, 0.08513658281637179, 0.08533828983636733, 0.08134808839597411, 0.029584026802173303, 0.07125788149216421, 0.08450809809241479, 0.05729223289519985, 0.08737606132581528, 0.0579583458218865, 0.053289140458355796, 0.08039604723042072, 0.10279765428427741, 0.07873093237765723, 0.06587271606390487, 0.05494546104265283, 0.08149752516632475, 0.07128752294814981, 0.05477843726368967, 0.10225779894996553, 0.05959622562717054, 0.09081485448701279, 0.08319085161066246, 0.0680907237519383, 0.07832333330202995, 0.08350959005951637, 0.08441216656311508, 0.05585164491130083, 0.05807372160307122, 0.060832462340257756, 0.05722039396847767, 0.07922137508089164, 0.07581443056497776, 0.08719141314230056, 0.07142937705150265, 0.09831946397281811, 0.0697043101387419, 0.04646992046494404, 0.09266900134942824, 0.08666883584779046, 0.04387865340972737, 0.08461642384248064, 0.04610511519164936, 0.0517464328431105, 0.08242758145447308, 0.04813709495081297, 0.040209477994764646, 0.050790179563956685, 0.04322088393079569, 0.08269417917066899, 0.048281704386801426, 0.0844532861319965, 0.08693193555081859, 0.07771675850165063, 0.07266098299018672, 0.03936188423898147, 0.09308871162833665, 0.09001104888145474, 0.05200987016862885, 0.07398420721123572, 0.09927225992854181, 0.07871697530335474, 0.06630424839552462, 0.10667221390607579, 0.05975104297760684, 0.07450072091690782, 0.037465955421179226, 0.07444749278003605, 0.05381641623220613, 0.08709054025720522, 0.08871095041405748, 0.08712148333472342, 0.10412014536907542, 0.06810081450143989, 0.07441308928455936, 0.059808986279951556, 0.07633590212232655, 0.08050622788539358, 0.06917534384663161, 0.04521315103759181, 0.05786497554464854, 0.05489387599297243, 0.07008708386986999, 0.09371663731630323, 0.0587795803447325, 0.06997967972955824, 0.07669566100409506, 0.08070363621516867, 0.05309313537223515, 0.1031397753708999, 0.0678847092323984, 0.043609761480284934, 0.04066956781868285, 0.06598415065085313, 0.08761308919927853, 0.07306229223847405, 0.10745533278427154, 0.06901526331906878, 0.07434262453396563, 0.06576773860461262, 0.026036552612868195, 0.05031918991608758, 0.046214895564197445, 0.07889483103651317, 0.06747983577031372, 0.047130427476534086, 0.09864049522040401, 0.08141779562617688, 0.058137064905810554, 0.07345637223958155, 0.04910530132693351, 0.0908051571159876, 0.052692061581428196, 0.03371404486844267, 0.08370664406319542, 0.07528986739631954, 0.06152353920629894, 0.07797781057727275, 0.0798909487005501, 0.05069524692219545, 0.08098273675845918, 0.05648635287899221, 0.050368424346102746, 0.0520809794536831, 0.08164379524951558, 0.08311517643541795, 0.08848852320777853, 0.11180734413748915, 0.05115726926654966], [0.1607890938431802, 0.20804307128967534, 0.1088696048698377, 0.10789289322284389, 0.13406928311530888, 0.12257854738433632, 0.1445820689195237, 0.15439835621026818, 0.20842655651276648, 0.08057617679945644, 0.10079312733853091, 0.12737360484781923, 0.12814515826949308, 0.1699757930018802, 0.1224113536104499, 0.16483164792890276, 0.10209106452404126, 0.09224779318809025, 0.14499006554558538, 0.17352729764492383, 0.11440601655340102, 0.17859065755364056, 0.16940949022526, 0.17342228021108713, 0.11744929457941904, 0.07134653411391824, 0.14518550066901906, 0.14319371307214798, 0.1409252476217197, 0.1798373256442865, 0.08850154226231419, 0.18306321067660747, 0.14845716576143173, 0.16443355344823138, 0.13874033820938667, 0.1448545501137231, 0.17635821976023502, 0.08268600064200438, 0.17325362385444784, 0.11818582530995103, 0.12867723289244287, 0.1728772663696621, 0.1507353417495333, 0.09332849885822482, 0.1997117473833197, 0.13563397115622713, 0.14594255894635186, 0.14496326916621033, 0.1621763360607187, 0.1922099988387924, 0.1407449943166455, 0.1885245927615056, 0.1412045951263329, 0.12080259420938703, 0.15321370467539683, 0.1468638950825639, 0.12154894387158335, 0.13015532547426742, 0.10796939932507052, 0.15540165838288444, 0.1805037701582169, 0.1999779421374171, 0.12641669606437858, 0.15689067915523477, 0.15608480292682564, 0.15944656969408774, 0.1355305587438904, 0.10740889752898633, 0.09222451593896895, 0.11712132185485465, 0.18661794502695758, 0.11877873817006342, 0.07592705249974677, 0.1630001098537324, 0.13218779187145152, 0.1649998224064401, 0.17063606120134914, 0.1432986015122727, 0.18930825350473035, 0.17132608301447882, 0.08467602067870102, 0.17483458876425853, 0.10986856432202323, 0.15411934054434645, 0.07629806735971448, 0.22418890827757815, 0.1855886251211066, 0.15663555076292193, 0.15380025963616156, 0.19522093186107142, 0.1229333822092909, 0.15167908594037244, 0.1965154082141392, 0.17458620064270466, 0.18212800681213115, 0.13227507497767588, 0.1629454621735598, 0.09276352678232845, 0.18240495820152544, 0.13804370057115914, 0.15706191692585095, 0.1099480192050932, 0.1803455232507471, 0.07646963890054122, 0.16614027997593417, 0.11230591061120751, 0.20402515681183742, 0.19175773254722336, 0.16616048252989332, 0.12335777528353394, 0.09004284606505647, 0.07229196726920627, 0.09135586579280695, 0.12795925254659432, 0.15101988999956614, 0.16668591767405208, 0.0806848590033709, 0.14674964394059675, 0.09710721332578848, 0.158371516060789, 0.09892378954457562, 0.09494376138276042, 0.1489883386163665, 0.17983144751461422, 0.10806545851198214, 0.14177756835849964, 0.13846806674772233, 0.1977858086539734, 0.154195148632299, 0.12240687948177417, 0.1834297505102899, 0.16916089974652915, 0.11045891799074296, 0.15339853131658385, 0.12497863830512988, 0.1693688501542914, 0.10637002750299959, 0.15056037728244662, 0.17226992269344307, 0.15102622532948987, 0.12168146048670776, 0.13412858014008594, 0.12380339526785583, 0.1528588066725185, 0.11384923366300649, 0.15584480256880834, 0.12265122501203683, 0.1468834156808018, 0.14140321106113388, 0.16366454497897098, 0.1652950681366408, 0.14406374466556618, 0.10674408442810436, 0.1509914621726185, 0.15418732109287608, 0.12406287097106743, 0.08275293986892392, 0.10362753088094048, 0.1446300078440243, 0.18240699991303236, 0.09575029510158345, 0.1667995112810916, 0.06965517264563721, 0.1347998315146907, 0.0835151334177488, 0.20335880040323007, 0.08773765724165197, 0.08415236349178014, 0.13101496150499892, 0.12756854713610294, 0.12260662296345196, 0.11902313442172391, 0.14834598859571327, 0.1696004088269385, 0.16289292046888282, 0.13232394480049894, 0.09446823134107532, 0.10077578822044218, 0.18802816674726303, 0.15099440196798958, 0.10872733042329065, 0.11298106479146389, 0.18041172178490184, 0.11891931660843008, 0.13204598780928553, 0.19027406606328376, 0.12584581750433335, 0.10218653157379569, 0.1937249849060396, 0.10831091038489268, 0.16553737777067362, 0.16026132847656133, 0.1793520785374588, 0.17147169630447362, 0.17469941345156545, 0.08206572357404202, 0.17482417522761512, 0.20778872577834048, 0.161122598925345, 0.10135963479722906, 0.09131143687376558, 0.20889836084691785, 0.14056069644108105, 0.08345057585087982, 0.08821299294995515, 0.18554230768449795, 0.11483693475053373, 0.1717085658546741, 0.12981266998335292, 0.10528922879160897, 0.13233363834855355, 0.17839860631989465, 0.14800065541130544, 0.19437062899653026, 0.153112947319439, 0.1371572368245766, 0.190226746473577, 0.1180788160080646, 0.16539157189193307, 0.1469714220233177, 0.13780131916447425, 0.09225245976115569, 0.1166599400246517, 0.16631122658636746, 0.10807502898118221, 0.11604263785865891, 0.14706327865144325, 0.11518904510196334, 0.18557164588161879, 0.12148324954829243, 0.1270704992304224, 0.11013100188862514, 0.10564854251449898, 0.08450846128027632, 0.13749061963440373, 0.1329794032387439, 0.12001006909867687, 0.14219465603831252, 0.14413165486157914, 0.1628844034085468, 0.16309785679073346, 0.1380014196750571, 0.2113652353275615, 0.14625774858443893, 0.1226381514007464, 0.1549746552628796, 0.1540169225033222, 0.05912226730702073, 0.17012917832702612, 0.1600043820685519, 0.15759140890006795, 0.15437301235983764, 0.13768477230263274, 0.09953168777295172, 0.17947795834922883, 0.13566377492200213, 0.16528402326832892, 0.124260644631829, 0.20323843181097867, 0.16646819955467093, 0.11062665452466629, 0.12356834256054129, 0.0794040199853533, 0.10418408898243689, 0.11690059522032484, 0.1620901587436827, 0.18740276987141447, 0.0789585924967886, 0.10183999465279762, 0.18835391134103313, 0.07606016792533916, 0.1603852800540754, 0.11351717271958811, 0.12807242602979052, 0.15771056033244962, 0.059532178623569625, 0.14825237209460385, 0.21141970924036851, 0.17986106815782688, 0.15858402788014908, 0.12236645785119378, 0.15188493047982615, 0.1754511512263531, 0.06655326156397864, 0.16785407248866066, 0.1139308627119075, 0.18616496364819776, 0.1345178070307537, 0.12589107813784814, 0.1686642460886106, 0.08829804469092829, 0.20178053332052787, 0.18874662340418497, 0.13573144607808987, 0.16189777403499933, 0.19051655105451692, 0.1412917870208337, 0.16211511364269093, 0.15830249764009852, 0.15143193759529014, 0.19168686070961605, 0.17996118930502522, 0.11101678174184552, 0.17532172732719217, 0.17314939346950903, 0.07148270814661736, 0.11131297629905726, 0.10347388100331777, 0.16736392884657733, 0.17682636752973227, 0.09839280443900088, 0.152271659713218, 0.12286382922791758, 0.15739291784155104, 0.16531140106288603, 0.12261253324571454, 0.11553602497875265, 0.152382888175235, 0.17590930460695206, 0.15712875042993352, 0.1291660182062933, 0.2095371792940227, 0.11122963658871775, 0.1859484994356903, 0.12441648797897678, 0.10747561062515822, 0.07211891139956433, 0.17205725586118037, 0.08187548915227072, 0.15735420611957865, 0.14869788420307456, 0.16202553323633834, 0.0946728995917638, 0.11971638134229622, 0.14760326798585557, 0.1545658025326458, 0.14177569974081264, 0.18276757803407592, 0.12575689336936194, 0.12897432486828972, 0.08614548273816988, 0.08194065236880903, 0.13961361972966388, 0.20304261468859314, 0.1793358226180998, 0.14149495160657435, 0.13850024948298936, 0.13064055967875723, 0.1922053489862032, 0.06788976955809993, 0.10467355965067679, 0.10232783205469417, 0.11143957478434939, 0.13478550356723, 0.16764258447357636, 0.1019829804647313, 0.18238873040720152, 0.17174415953124825, 0.13541604373683302, 0.11701190493789583, 0.08154134167892726, 0.17053882841303789, 0.10158484274049398, 0.1179574202228274, 0.08969307403188688, 0.10196107600831418, 0.13996918275096967, 0.1411999461845356, 0.1525256666814764, 0.208773649784602, 0.12486555411894748, 0.1613156289499612, 0.1530635433002388, 0.13104714222946795, 0.16267185590077365, 0.09535854944110148, 0.1425003255117017, 0.18091499560092753, 0.07647162468267432, 0.17612257075666096, 0.11126416172747638, 0.10154815358078213, 0.20417552252042923, 0.12379494197479439, 0.17177838223042627, 0.1637211348316683, 0.1509303239520884, 0.11427320016961205, 0.11182558755626601, 0.1576644808439208, 0.1672249397990349, 0.17753238813078706, 0.14022383710088976, 0.14332429842699487, 0.17875728533441895, 0.1592556456099377, 0.1832585390832643, 0.15492183799856563, 0.09664199713920292, 0.09607184217782014, 0.19796016042458855, 0.09646841872141165, 0.1306977109985703, 0.14835098686793644, 0.13738390203094367, 0.19088005341776634, 0.16396810284176702, 0.14257927134688883, 0.1198344145205372, 0.1602574218332518, 0.1760607885094883, 0.148217173136301, 0.18143695349154457, 0.07835667709018196, 0.09299882365906434, 0.18561749625602972, 0.17204556355470832, 0.10188445960696538, 0.08845696329164587, 0.13019301409588743, 0.1418901553078724, 0.12154805202213524, 0.188070187121334, 0.1498709359927404, 0.08190808748492609, 0.12585460072412122, 0.10653110094707223, 0.14373020168639686, 0.21265000483243648, 0.1369953757668982, 0.11742285269041765, 0.11867513231764241, 0.1623014528797689, 0.15331222118238147, 0.18956561223026805, 0.08547582831621132, 0.07379968023827688, 0.09754501347409959, 0.184780419145603, 0.1715815304607896, 0.1894512823320264, 0.1031346477309818, 0.12575615865061332, 0.1346865620805625, 0.1494983371824033, 0.1701622664282128, 0.18197033809264918, 0.11270448535048334, 0.12819616233509862, 0.13685809289686596, 0.13889439894994648, 0.13779338834203358, 0.07046392903986791, 0.17913154354879868, 0.12623240991046783, 0.13139862688032444, 0.10736302728283964, 0.10335914148650373, 0.1381440760936325, 0.16760888207134644, 0.17916948090003798, 0.1148237255241258, 0.13225862664545274, 0.0899885249720298, 0.12933196053458307, 0.11299772186178689, 0.122352963181224, 0.16271022963417944, 0.09572896304230351, 0.1781886487571694, 0.09574713712031814, 0.11275457008112243, 0.18283910452019334, 0.1435960284884082, 0.15698139156023203, 0.16521670783747855, 0.13247708858638804, 0.119025518991219, 0.15939141305321544, 0.10861577975820166, 0.1258675128198987, 0.18057420928433363, 0.1671041474660549, 0.1078698113289463, 0.15326606566335266, 0.14921256331980282, 0.15988209194973593, 0.13653095778624857, 0.10109612415079124, 0.1211949710911856, 0.15311948860815394, 0.20208592149733495, 0.1063866751339054, 0.16199800204066084, 0.12408250616320662, 0.196996656313395, 0.12793569147708908, 0.15625860166821132, 0.1416170112797907, 0.1412314528832502]], "prompt2": [[0.09494033653690534, 0.07857869431484743, 0.08920806136328577, 0.12541759425475937, 0.10419613170660552, 0.07276016456481572, 0.09034458373519448, 0.08942214882524367, 0.08543414964171542, 0.07587644748946049, 0.09749956193732037, 0.07675366423180795, 0.046626547752415, 0.06350140835236975, 0.016137222012163468, 0.08998005258137036, 0.10938543135547044, 0.09825886160155473, 0.10304729716559555, 0.052281541522194566, 0.06272999639344344, 0.09329966846491662, 0.06958438942502627, 0.08046651278507205, 0.08633571072372834, 0.05099477986970786, 0.09385026602238716, 0.06684061482559803, 0.07265792480234463, 0.10461073169510243, 0.10614757767194363, 0.060724174165005695, 0.0843710433369018, 0.062028960609166885, 0.08790634123751767, 0.07845964188660862, 0.0562576409572713, 0.058558858578574534, 0.09162103831817175, 0.11769503108527905, 0.05629950779933408, 0.05253101305275331, 0.08663272226146307, 0.09370384704019426, 0.0753852213786261, 0.10059023456457127, 0.09041789525628421, 0.07304924148201337, 0.09330176807609548, 0.09152928824173062, 0.08588578367767294, 0.07482005850532993, 0.1140553994446539, 0.08916887851396145, 0.0756035376261826, 0.07135045258689691, 0.11687615197265808, 0.07714712308576575, 0.039828445724936, 0.09237398193308571, 0.08581746134242876, 0.07269854796222296, 0.08269396066601853, 0.0775128806387907, 0.09223481966378555, 0.06816792933225281, 0.11477481762730225, 0.07523945792035962, 0.06449643279729701, 0.11494522310901072, 0.07544138697510668, 0.10198735116950103, 0.09459205043093864, 0.09233251562985835, 0.1178151881216101, 0.058520719472523734, 0.12906078843488528, 0.1303758930327772, 0.07497176861289376, 0.09659126487166898, 0.09978261854346897, 0.05837394718301904, 0.08868028962510001, 0.07565805315117191, 0.09149555035818069, 0.08628936846733336, 0.07819366551325962, 0.04018566083707168, 0.09483747552220602, 0.0750307996786359, 0.06939406129387402, 0.08438300117695575, 0.11167335308304463, 0.101803471736599, 0.0653817141807315, 0.11993540874695549, 0.10483500079401122, 0.0840995111221949, 0.0750259687727408, 0.08253989855102, 0.04772996695490331, 0.09331419694985613, 0.10499929077880957, 0.08661277482359378, 0.08115130842374677, 0.10126799908525444, 0.07326499618909278, 0.08160286353063852, 0.09547846619616579, 0.11161893165058985, 0.11298819514098418, 0.06251345277424675, 0.10293376447367013, 0.0646988885133431, 0.11355014308920655, 0.058998658665896125, 0.09362833134729817, 0.09011640835226903, 0.07205546502974988, 0.052353778081436944, 0.07936322804737508, 0.09869679419559214, 0.04301970460608051, 0.07323025975517293, 0.10323687528595811, 0.11831581647230846, 0.12010410397124337, 0.0705301002344652, 0.08660812801111037, 0.1195175823032056, 0.0864905232319864, 0.05491815277569127, 0.10194293609827731, 0.12280337204774137, 0.07159911099647402, 0.10775133908956856, 0.11093060098524886, 0.07186336410453502, 0.12228932477399827, 0.0828606737149386, 0.1178071101358292, 0.06268884164236974, 0.08345906083542723, 0.06193029604168831, 0.08253769281759196, 0.035714778871324494, 0.10195215927325167, 0.09983758959586837, 0.07020454529168896, 0.10769287326991171, 0.06707626620849069, 0.06201796699293236, 0.09809685791137791, 0.11376560245896272, 0.08372918179377076, 0.059959651743095976, 0.1163449484382698, 0.12038784774196117, 0.0773577478263291, 0.11073828024099722, 0.07816459563605656, 0.0846846979950061, 0.08979423618399236, 0.06885320595109351, 0.10969851020616825, 0.07405625613586266, 0.09323331390083792, 0.09482365894089353, 0.12026038326338231, 0.07520268488257625, 0.0908164671303687, 0.10207209909172878, 0.0976963350032844, 0.07488063678555831, 0.08618292498642569, 0.11477878189410452, 0.027536568836515514, 0.10215006910492656, 0.08677960106313938, 0.0519718129341244, 0.040848248538300866, 0.08840422153935479, 0.10296280231220223, 0.1386876385455207, 0.11596045719536824, 0.08417851518989074, 0.09858883203515385, 0.07340489761663276, 0.08572648772180295, 0.09315774896156437, 0.083830714408404, 0.1124991677633118, 0.07858612839367318, 0.03062348449506309, 0.11001034986052864, 0.08667498762436784, 0.07654525806569562, 0.08538232517290399, 0.10009009273276538, 0.1120124854339373, 0.07465888345243966, 0.08894226906483563, 0.041349376743750096, 0.04115616499046429, 0.08139369186088688, 0.06337262008145252, 0.09849556778223546, 0.1086751062359104, 0.10550291919759612, 0.051949615516878864, 0.09295981557622043, 0.10271402821880436, 0.09320365052217666, 0.09112724722508972, 0.08133652675058732, 0.02756825423987799, 0.07858517304627664, 0.06702061175298037, 0.09434813447964804, 0.07163105395366183, 0.08884954826875663, 0.09359313611734421, 0.10947040501807812, 0.08759990508603896, 0.13078789581324318, 0.10159888016728204, 0.11601075416487736, 0.10697000022776973, 0.07231672172046767, 0.1030233038102353, 0.1146877452265555, 0.07935082619420555, 0.10247863803251238, 0.08656046612092541, 0.08805416906858773, 0.07996750960579688, 0.06928488868636073, 0.10408247411184954, 0.09821558424902632, 0.12072933873252326, 0.11107626025333239, 0.060305837786614865, 0.08521433211979708, 0.12989546602842134, 0.06713118380475916, 0.06466845158529824, 0.07894145649322515, 0.05247056858009963, 0.06485781306702805, 0.10582394523812164, 0.07934922514065688, 0.041287522575414404, 0.10411450606835196, 0.08873125045436701, 0.07920371746181386, 0.09599533224934671, 0.0715787809903628, 0.08470136568894263, 0.09370505354642937, 0.11030077089049635, 0.11287032499747109, 0.08609451265239856, 0.07264589712366669, 0.0875002047101409, 0.12660534423117908, 0.10423991362317783, 0.12603257508205187, 0.08086478803732207, 0.11219293602355407, 0.06259155927762063, 0.042023487894709756, 0.09251082460287101, 0.13335191993350778, 0.09564364292729444, 0.08151321846441287, 0.09455472724167639, 0.11130146194698202, 0.08517090688930261, 0.11561750405744725, 0.10134118603035099, 0.11756760558829933, 0.10844654422634442, 0.06490840079108913, 0.0918861574485379, 0.07188996484467043, 0.11747157992957533, 0.10259207975587699, 0.08413665040869242, 0.09011560488628267, 0.09369387311823646, 0.09508575109247754, 0.057863901873695806, 0.11276456474153979, 0.11759802146366954, 0.03151593577325093, 0.07754430147854623, 0.09309287117393547, 0.10892738076272482, 0.09244228622184518, 0.0757346415382025, 0.07603353626357698, 0.10163874085186236, 0.07944768821158092, 0.10236097437362876, 0.10465022013617878, 0.04889831794896391, 0.061564022458778, 0.0827318910410291, 0.11082617594686174, 0.12124855552159412, 0.10388930716623918, 0.07283826977667483, 0.10846279612031237, 0.06136225410285526, 0.11382590932156442, 0.12335134370213578, 0.09721571010377694, 0.07750631392850324, 0.050003680594371006, 0.08599157954232114, 0.07950559899643965, 0.08647479432581932, 0.09514180009306367, 0.11538715147300771, 0.0927126243531755, 0.08891381132173835, 0.10040756465092986, 0.08237588912557142, 0.08633720229480642, 0.09637338553592549, 0.047996420877355055, 0.08931104864820943, 0.10001796447092866, 0.09319995069233389, 0.07187631674168626, 0.08098111219304235, 0.1129401249999398, 0.1039649954754717, 0.06736782373776871, 0.08872033129912696, 0.04725830798287623, 0.054939780312950284, 0.09865732226348921, 0.0711623868061039, 0.11949459298124894, 0.09683388487352003, 0.0735167585951712, 0.07802961463148977, 0.08654054010130179, 0.07396180647150007, 0.08499551076704792, 0.09238329605287489, 0.10501293936850363, 0.09616483916872906, 0.12584807763629405, 0.12263151610963138, 0.05353613604896178, 0.08628664287215287, 0.11957070091901331, 0.10066440995610945, 0.05862985593878985, 0.09977889683222992, 0.11645266996729636, 0.07929711656929082, 0.10733313306785398, 0.07706958483751775, 0.052272246200542334, 0.07520793970211577, 0.1058497508056607, 0.09839949870697916, 0.05506296753994054, 0.10463423171779766, 0.11752232611189621, 0.07223686071585513, 0.11005610201361668, 0.02652735842262699, 0.0838968807565011, 0.05629174781243451, 0.08040954342626105, 0.07696809825604546, 0.10581319217925737, 0.0811997429629974, 0.08995301901140612, 0.09315743465041945, 0.10275699842929686, 0.0969977329547804, 0.07809060264270122, 0.06224426624830265, 0.10590171099164472, 0.09410767146840587, 0.07734639764577605, 0.05072776342972225, 0.10983354118981241, 0.07343232348897555, 0.06455227320835283, 0.10789323710557475, 0.05968199650786024, 0.0654292094534553, 0.05258078762102784, 0.10314466632969317, 0.07098501356479572, 0.09896001495493945, 0.11270431962830287, 0.10970004801526813, 0.12123127969527063, 0.058293389831110244, 0.07127711866348084, 0.09920115049926181, 0.08529518075156031, 0.0992131313517183, 0.12083160170114068, 0.07691794239030558, 0.07739339950428062, 0.10207342613455127, 0.08900840752472079, 0.09889102465899934, 0.10644063649557516, 0.043648294019250154, 0.06570806854280281, 0.06274892948318497, 0.11181698890115159, 0.046257932819830934, 0.06433246877606949, 0.07476789077630727, 0.10420892431281452, 0.10805917530478468, 0.048387634669308344, 0.06338231114034644, 0.09727670820026392, 0.08137994899364283, 0.12160284769279349, 0.07826493057196389, 0.07716509627847196, 0.06674059981935203, 0.09852104107731313, 0.1053629223959403, 0.10390279447744355, 0.0759678593468621, 0.10793022929223864, 0.09413650033007424, 0.06327448829171495, 0.11013057107891919, 0.1342349744677899, 0.0885608108651909, 0.09234567312600503, 0.1148957008581676, 0.05618207296658825, 0.07647862052203816, 0.07995451105472157, 0.09937760652804893, 0.09418440448584593, 0.08111967823489319, 0.058312899603406985, 0.05525773174222227, 0.120618041213053, 0.09102497374171341, 0.09315755190976248, 0.10833481519448507, 0.07094823287847123, 0.09566761495762166, 0.11666867605037246, 0.08823184668360794, 0.08610377757506599, 0.0981207434206773, 0.05088646196888442, 0.10492902724339974, 0.04829462384698706, 0.11259701284833694, 0.0750503213124438, 0.11142727686164822, 0.059089246545976, 0.0707882178315389, 0.056885356751663105, 0.09729929806465186, 0.0941736414042151, 0.08619049423349934, 0.07028608156621692, 0.1303584858269052, 0.07733447147150847, 0.0800957571253695, 0.1000076345983816, 0.06757855623478543, 0.0861119245830871, 0.05871296446965365, 0.046484445582587464, 0.07675394936111991, 0.09793937554420816, 0.0960339014380094, 0.11837424799347698, 0.0569819996220098, 0.0685364068699819, 0.07873073626602207, 0.07246543105876377, 0.09699163408928713, 0.08573857343069358, 0.05779362026465735, 0.10893940044733752, 0.08097893108208931, 0.09204860247270491, 0.07658838562102427], [0.03825247478710942, 0.0587078644849359, 0.028688940913778375, 0.048599337416464695, 0.04775992605691708, 0.03975754652022625, 0.05396680786612185, 0.01483494920537297, 0.05328611425032368, 0.025088962790761414, 0.049620425195780374, 0.018013945135523454, 0.035989108258425925, 0.039487312016916555, 0.006286745357701347, 0.05086857099527139, 0.0315070266636125, 0.029214936891694576, 0.02337786704862832, 0.02636988090599988, 0.033051208085279116, 0.05893956806356183, 0.03916508244144622, 0.049709110774820535, 0.06196442782326894, 0.01442976715455098, 0.05078705830594953, 0.016272419312916828, 0.04287439224283081, 0.04776151400995945, 0.03919064046293952, 0.03919837358645988, 0.06536863600494633, 0.036410698134933264, 0.06356387697241618, 0.03309203916492963, 0.0288907901829229, 0.02325384074187194, 0.04988778521932608, 0.05268211236665344, 0.042280499790599245, 0.036798224217440514, 0.03028054552507504, 0.031937596105784394, 0.05272947746838255, 0.02357000742879235, 0.021060636948732423, 0.04965632207786571, 0.0382837873742863, 0.057778367985030735, 0.02701305546485263, 0.04792547078790114, 0.057054605370167114, 0.046714332887042416, 0.05251534484001961, 0.023342019624543752, 0.037880433119995574, 0.047771478895394306, 0.01586721230889254, 0.07255116257160349, 0.05968992042100928, 0.0541119552374754, 0.021614738317079198, 0.030369620985075573, 0.05812786244068228, 0.02629588148922454, 0.04399903667420643, 0.04270818752382051, 0.025779999262054615, 0.04835626953806388, 0.04960907854109942, 0.04225043960023763, 0.026910405600448856, 0.022154958080339234, 0.048833915124173774, 0.02825306601928766, 0.04212614073787218, 0.05553855152733123, 0.04315019136478167, 0.03697218756032429, 0.029092506544882026, 0.024490966551135824, 0.03040124777996488, 0.020831262394092352, 0.008418782253875696, 0.05474956630685199, 0.03577304594753052, 0.022690236510117888, 0.04068666435791601, 0.045953089389742914, 0.03588570797608762, 0.07017080389448062, 0.07245306561906426, 0.046515585490081016, 0.041872364149963696, 0.04884153139363864, 0.05458925865963386, 0.02623724934588847, 0.04606606953036514, 0.019895209782835682, 0.038638784659395804, 0.02549983441376798, 0.04547218284436957, 0.024991476224677796, 0.02541225672199947, 0.037648328226794314, 0.05235232191533785, 0.03774179105213735, 0.034356812864175905, 0.06175743520646094, 0.026708904167018148, 0.027623830166200736, 0.031828386892930396, 0.04272149736482321, 0.045273856044871406, 0.03240877399077419, 0.01325696628436436, 0.040661411033517336, 0.03182493092411631, 0.02044937568779028, 0.037990617265083015, 0.026282803564899728, 0.02497168002073435, 0.0375860600789521, 0.03913538353120502, 0.04728955015265459, 0.05677858578738138, 0.05104342555344101, 0.023543791421992807, 0.044084650299436895, 0.06642777268850789, 0.031027394396622887, 0.0320183756624425, 0.054325293073530505, 0.05295298921506558, 0.026705726104753656, 0.046109808508223674, 0.02326598707125823, 0.04357299521838472, 0.026560921616720072, 0.04566059409414896, 0.03648460091362008, 0.024032456071290474, 0.024497542153817223, 0.017450845324713013, 0.023006365216660114, 0.03997528632851902, 0.017631880881113934, 0.04776480625948695, 0.06322709497522337, 0.03696948874561152, 0.028666157719024556, 0.023441362685978406, 0.055420788742966874, 0.018893483008121298, 0.05453174341300709, 0.02125973068547392, 0.027449686899586632, 0.053780662709878406, 0.03337403611622388, 0.055863731001968536, 0.06614676854535562, 0.017742858084884697, 0.037169387133388895, 0.0324319416036738, 0.051693312180932316, 0.022022759786297686, 0.025494334252934833, 0.036867947156107896, 0.006337235150186786, 0.01582655041020293, 0.03225952576014304, 0.06470292490394856, 0.0393031671281393, 0.05497572926240687, 0.058530289372979126, 0.02631750739809376, 0.024491363469069573, 0.05480924013500602, 0.021188977114326935, 0.02343778770779542, 0.05259225095422175, 0.035379084223401726, 0.04737893926483293, 0.03547609991243065, 0.0366141789804193, 0.03742059795738526, 0.032904878326716194, 0.03571919921528039, 0.02775838056278092, 0.028616795461253206, 0.040492573536964525, 0.049771926763772456, 0.020391833132176716, 0.08414707350229782, 0.026720101192959353, 0.03935404751838564, 0.058200016673074784, 0.035971936341336476, 0.025384858179734154, 0.028239872321691378, 0.05606686905724829, 0.02234096245085493, 0.014116193332096733, 0.024654569149656393, 0.03222181859449761, 0.03473935511880696, 0.03860997865092704, 0.05801910877926073, 0.03802503436629242, 0.046712556359055364, 0.029698075977007226, 0.03607785646523357, 0.048106149276869445, 0.02786536564400869, 0.019120058436200498, 0.05147311083266746, 0.027016185960769427, 0.029993617836742682, 0.054745713758867616, 0.027596546363320536, 0.02774570819371433, 0.050881262421401424, 0.03892068938223537, 0.050615692351894885, 0.051530764324783096, 0.04041622237046749, 0.029381950889286933, 0.04196976461623821, 0.04206574131980046, 0.0490428026872205, 0.04889214034403931, 0.04345414914435893, 0.02933950189014495, 0.022854218657906492, 0.045749973246821, 0.05350908514332675, 0.03605884104997818, 0.024662908475179778, 0.0548095250768485, 0.03469493698467474, 0.03170494848564326, 0.04684279900649905, 0.05040347633038958, 0.03454861507250782, 0.04067311523665393, 0.05193159871374761, 0.01908754565756621, 0.04343654123573918, 0.03616697784601772, 0.012039337496850272, 0.03868064213618863, 0.06426564729091297, 0.021978109683761387, 0.03194585743797259, 0.01673661964059364, 0.02599532990109446, 0.015397123748288433, 0.049837091362138757, 0.033648770040554284, 0.033659131534586696, 0.04691354765068576, 0.019222583199165554, 0.0421692762300106, 0.04581316000751002, 0.02856462828622793, 0.05197640640792163, 0.018886517271905528, 0.031416848019381896, 0.04515538327158999, 0.03338060197594709, 0.04650238115889226, 0.04946134731441619, 0.06322355896054732, 0.028296282662283626, 0.03174861894578918, 0.05618007551633969, 0.055737118593564144, 0.044088178349111495, 0.029063812709384067, 0.045118705724520494, 0.053106252802819415, 0.042735181126609616, 0.030141647278757722, 0.05753641618989478, 0.04633714714848019, 0.06419524406174865, 0.051868978364826145, 0.03836468977771666, 0.03284041279643199, 0.022753572473552454, 0.03250348779751238, 0.047429994288812456, 0.046165735958002864, 0.014230619874020922, 0.04981619953796818, 0.01968984317280018, 0.030375687538600465, 0.02129550212201469, 0.04893505602448147, 0.041718322009849984, 0.04019660470284625, 0.06013911797828916, 0.03831078739474757, 0.037786651692622006, 0.027278339680960183, 0.017546564585838115, 0.022562193256338542, 0.02608724910663644, 0.04897240202315869, 0.02757951529873519, 0.06384047618664979, 0.03218822222189429, 0.03749709463508818, 0.03250914742562488, 0.048054214398870046, 0.040967142956103896, 0.05892581283854743, 0.02465683588670933, 0.026986881373993, 0.006606468267072603, 0.04047696280408705, 0.040219358823245, 0.049730534216545746, 0.029269936547824435, 0.02170419144947567, 0.020704040717022726, 0.02397395844814796, 0.014256022469060046, 0.024636054606764626, 0.03583961065275032, 0.023111536401896123, 0.02363319011293571, 0.0443125118193245, 0.017394087840815916, 0.01398784885871504, 0.051076899385727806, 0.037439645337752896, 0.04732683653623355, 0.015718961867929947, 0.025658200037809217, 0.022510244785893422, 0.042821262056355704, 0.057336046653370415, 0.04282605690572066, 0.05764945424261551, 0.05103055544567801, 0.055009764981269214, 0.047839495613993685, 0.012936092945990886, 0.028452282770194928, 0.03822538725630616, 0.026823959677652942, 0.06645164027924397, 0.03949145269729601, 0.042309308475810777, 0.03273758760601748, 0.03888263608201144, 0.04362690282317592, 0.049689315319148476, 0.025320987650167565, 0.04353403192405772, 0.05183434211709308, 0.045515399819402017, 0.030427740563582644, 0.0613008711936737, 0.022483733967488703, 0.024132506825322322, 0.02638574060201861, 0.058180955591314844, 0.02568322212537732, 0.03334458345482482, 0.0508887653742034, 0.044127221812602896, 0.048613278818533626, 0.025999038876956645, 0.045796211985534345, 0.03868716380293568, 0.013658172401357485, 0.04245047733281588, 0.022238997789740096, 0.020628621571384, 0.05293195336955197, 0.06326000913016626, 0.027892902491897423, 0.03444026528985747, 0.017579133807941738, 0.052197432965209775, 0.0343365610036343, 0.028595349864576097, 0.055727873784001854, 0.025758957632602615, 0.05813833011097454, 0.0483481451697857, 0.049222513916648544, 0.04301255401301527, 0.04124528944689449, 0.047432441815092576, 0.01381394329370181, 0.0290336186477781, 0.04465320405279889, 0.017953768022916126, 0.0510397114278176, 0.04495412892473578, 0.054070432581897775, 0.04556635987228968, 0.04406875225773637, 0.030225586750024173, 0.019188831362519372, 0.07082143302334272, 0.04844005054933495, 0.019129034591393583, 0.03944589732661128, 0.019242388833685006, 0.026790433293127486, 0.04755456880990116, 0.03228450411360599, 0.015386135013383324, 0.02490175586227727, 0.0170980325844506, 0.057734333535322195, 0.007229671766974573, 0.044502020518400694, 0.03822430422228625, 0.030163482313223466, 0.04653776522758192, 0.025101340826805037, 0.04739526959007001, 0.06297484849638743, 0.010937184996767508, 0.03525080908028662, 0.05095669951248857, 0.035685036438118066, 0.03273484154732985, 0.05638704753816187, 0.028002913827363266, 0.029705066053143783, 0.021977759997184623, 0.037672691654205386, 0.02716626234497632, 0.041547953017642705, 0.028366427304907915, 0.053013919460075797, 0.05251616833374444, 0.03363166525936169, 0.047115815751104746, 0.035278393416928046, 0.040065456931337166, 0.052806685996410994, 0.035037232082393545, 0.01408575371390454, 0.014606949192842361, 0.041535461764943014, 0.032266339566801354, 0.04908145956195592, 0.0195467216250442, 0.03569625829944518, 0.0296084415209625, 0.045161618038624965, 0.03243948252272819, 0.04850006379265412, 0.04119307967156041, 0.012604653706041342, 0.030475674203435086, 0.04496265933824416, 0.04438730540241876, 0.04384990590162511, 0.07808324940368289, 0.03689668601085481, 0.04788540191735177, 0.04396472061342701, 0.00465447915944608, 0.024144300923267033, 0.022495041442574894, 0.0351337303129477, 0.03383586009426134, 0.019425027580360115, 0.0536682566685654, 0.04257971296517815, 0.035424292029858744, 0.03129442643940715, 0.02971140590721716, 0.07739720784128874, 0.02544427136468387, 0.020207435540364135, 0.05053411726793438, 0.025723204678305748, 0.026676705997602402, 0.044551532081550105, 0.053326483587402614, 0.020214686967669905, 0.05714928960689571, 0.012953460141021108, 0.01902624376211079, 0.042331413045932624, 0.0445813860651387, 0.036687872562158975, 0.06586111060905163, 0.05734375215187942, 0.01910862694190969], [0.0072492599156245745, 0.007071104076942738, 0.007467610793363444, 0.012551298118442798, 0.003069137381107742, 0.016475491196263556, 0.006450182055748102, 0.008704980258429626, 0.009967384484859164, 0.0034359411605793147, 0.010010630848274069, 0.008153089545813057, 0.013970674428230485, 0.003303755428939986, 0.011380023969386128, 0.0036935553897891093, 0.00322774421440668, 0.01224448601188697, 0.003028083364492483, 0.012977357784134665, 0.007817795537732274, 0.007604388798730885, 0.00688845894457765, 0.015576400227491228, 0.004105731141940984, 0.01681274973968133, 0.015999104476149904, 0.006210193859637477, 0.013969219430504087, 0.009063054830026378, 0.014260154557001376, 0.007268389431467221, 0.00896421157350271, 0.016283635468626576, 0.020168185304556004, 0.0020130487670633967, 0.009660911117385788, 0.0037920126091530713, 0.011782770861753564, 0.01782356001757149, 0.0037993351264897987, 0.012387498898885031, 0.0019091692968594717, 0.0025149227041178055, 0.008679307424414156, 0.007752076059389813, 0.010172759387846644, 0.014856059766287, 0.003784419867667364, 0.004976318347870603, 0.007196064628835717, 0.007380163367917533, 0.00980492041859218, 0.005695106141227614, 0.004048371000846294, 0.0026122518598175443, 0.01047465702251949, 0.003821906491729254, 0.011156603861267992, 0.006877832450550651, 0.0030681483021962803, 0.011013375814237756, 0.004110385098682752, 0.007085276984592291, 0.018405110575564206, 0.008427298960139171, 0.01390155915210128, 0.009518429228299957, 0.01149794395809519, 0.010759413680995243, 0.010098090304455439, 0.007473327417670548, 0.0037824459016110195, 0.011186464028226394, 0.004441636064442855, 0.010659025981901762, 0.011374897908087375, 0.0024717270274003176, 0.010063912053450271, 0.01010451924228714, 0.00868352203522855, 0.00837047433483012, 0.007572389396819852, 0.007273030134850308, 0.0028995661486103364, 0.01401225979293758, 0.010412458261115887, 0.0077540418024476115, 0.0031218753842214295, 0.0039969675072871295, 0.006365607870677417, 0.0034465862740345214, 0.00429689138952285, 0.008386541561810804, 0.00495883335591256, 0.0056742584201624246, 0.0027137507562750643, 0.0036730578500454927, 0.011996461443786787, 0.0025452313238467777, 0.007748611295588425, 0.003427437510710283, 0.015621036774626935, 0.016690287698805442, 0.012954483270703263, 0.0040807290087815805, 0.013671439381294108, 0.003912279655572448, 0.007319393154392014, 0.00239055860493117, 0.017129617197134413, 0.0023121083255510455, 0.010084234183532135, 0.0055666813962620175, 0.005306254433347356, 0.005995159464389836, 0.0041332360330667475, 0.0033201357596208346, 0.012829496801809722, 0.01626446650939574, 0.010804576955099121, 0.014144685216570932, 0.004389275432410836, 0.013601465527334388, 0.003241718380821189, 0.009473522022519278, 0.012364404428302611, 0.003422139598682911, 0.0031785050562455944, 0.013074596773027448, 0.004545287644660319, 0.007681175863520569, 0.007274019477600986, 0.01446332677929979, 0.009191011814613043, 0.014070753918012498, 0.004285914345724491, 0.006450086410520625, 0.011826928684334099, 0.007068550439327443, 0.003203762859978697, 0.013348037753392824, 0.0024856914733059755, 0.004490291239451363, 0.0026593474337714084, 0.0062047516380798855, 0.005215045208703472, 0.013489938881796984, 0.015836983418562205, 0.009657650300551091, 0.013051875602677555, 0.003767753593648037, 0.010803122052754643, 0.008370969981520933, 0.005853427812089458, 0.004364808361784621, 0.01804408660245017, 0.015157742628300804, 0.013051176254075123, 0.006586946123954226, 0.00516821516060047, 0.01525421318558684, 0.008419974940506683, 0.007404924967599276, 0.0074798312864292555, 0.0056346796399842835, 0.009806686380003687, 0.004163782881646687, 0.01701521842676167, 0.0070249624530165575, 0.006769149878439009, 0.007085180213525237, 0.007838469792677705, 0.015244889893083086, 0.00971285186818023, 0.005991008817232153, 0.0035876415367427105, 0.014611384284003657, 0.010417811038497905, 0.012128605911312294, 0.007632671837691273, 0.00205103161839901, 0.004057673024153926, 0.014047448068359994, 0.013415584789408222, 0.01079984451069019, 0.013024556577670238, 0.01775562058295969, 0.010366432117928518, 0.002989022952618962, 0.00642109342941138, 0.0025893270485359355, 0.010262428437761397, 0.009324269176217186, 0.005307422447379569, 0.003561830968906617, 0.006455317507391111, 0.013324511980613489, 0.0016964553964738897, 0.01466857537005613, 0.006308837043088711, 0.006488999133646283, 0.006812499805140629, 0.01871307963567808, 0.0025583411028707943, 0.012475900027739368, 0.0075450005034182815, 0.01218584059623254, 0.0034331921523389035, 0.003429775248282225, 0.0032467184358660607, 0.008534950974425078, 0.00610972792614528, 0.01454455809842498, 0.007542666296651486, 0.004608081349327559, 0.00911191055364728, 0.01913528493730067, 0.011378428645026355, 0.002914320977770459, 0.002920669081871754, 0.003444271497197206, 0.003302531061493658, 0.01201384470486037, 0.0136085200827782, 0.0024558992909556143, 0.011717450410130757, 0.015132175374230198, 0.009150587253415773, 0.009118627561066885, 0.005176562874307088, 0.007852113607300076, 0.0071877839392931716, 0.003071305642365899, 0.007047059320760346, 0.0161002490154647, 0.0035927117829261464, 0.00722223361387672, 0.0018231421583182912, 0.008100041329440944, 0.008306592872943377, 0.012683716452893732, 0.00799867459483335, 0.007308418415900792, 0.012618302720938852, 0.0037788595852702184, 0.0021838980613949686, 0.015303027815328498, 0.003610476751182109, 0.0036554865082901494, 0.012507041798862572, 0.004404266117948511, 0.0027202575130001, 0.007272841394501379, 0.014072411521438247, 0.008637834898387662, 0.012927858245724786, 0.010896043731093808, 0.01343113872018219, 0.01166667148650554, 0.01431806563894153, 0.01880953037674619, 0.004424034004294579, 0.004090725954913566, 0.005054397966942968, 0.005715636491097962, 0.007823329238631344, 0.0036602195502602485, 0.016724930306021416, 0.0077775961201539436, 0.009741646972404278, 0.005577320217194237, 0.012544681980628056, 0.011160921604806402, 0.010845226015452371, 0.004692032567810371, 0.007432534862385, 0.013959391921113683, 0.0015844439754071976, 0.012609725955845287, 0.00676005316407018, 0.013713555708536268, 0.005680096171145518, 0.004114633470565401, 0.00363802101702718, 0.0077951222244689285, 0.007931979712898267, 0.0030321974074381886, 0.003401159869166434, 0.008186440731198525, 0.010277103815782136, 0.01703986304692812, 0.010589082112345471, 0.010055589783056538, 0.014862392264101945, 0.015946827095513032, 0.010689176689328901, 0.004451859892258587, 0.01130082634128921, 0.004517572833135574, 0.00986755207795849, 0.006384325477816465, 0.004432322422286484, 0.011546024323074219, 0.00995008644230245, 0.0056526219618252375, 0.0220339362835108, 0.014291728579487413, 0.014889830804350447, 0.012690567150775352, 0.011362220904058884, 0.004059014997591487, 0.014203196836809533, 0.01007916545585079, 0.010266623880637158, 0.008848843074019704, 0.00982229731798169, 0.014846510275450862, 0.01123379277830741, 0.01313863486460791, 0.00816619371020115, 0.010084286197649717, 0.009765906716371602, 0.012412175275454062, 0.0031440933516158494, 0.01582496105144496, 0.01701335800897031, 0.012011250767759758, 0.0074244926730718105, 0.013665514174161474, 0.013235484114667238, 0.012186024180933534, 0.010921608720088091, 0.010340454207822404, 0.007935755528723042, 0.011198166168098923, 0.008621494471668675, 0.0063544748950741655, 0.015699036833954266, 0.01189588706341953, 0.008392119663585516, 0.010813665081058492, 0.01203458479119765, 0.004147633226223929, 0.010365053032080499, 0.012272861706700063, 0.0046561012904207865, 0.008805504110442182, 0.0027488191537617264, 0.007231084542647025, 0.0022684201309697448, 0.0039375662576214806, 0.011163124759584638, 0.008482083540484714, 0.013784570147597378, 0.002656201964536196, 0.007669809822794168, 0.01461448181344239, 0.008952061362144327, 0.012377706660980483, 0.014934271170653275, 0.00849468225024242, 0.0073116599950073255, 0.004525036778447036, 0.0021829266955936755, 0.0042632693678086205, 0.006873584615159254, 0.001943566012855808, 0.009742729336480332, 0.012731729645460618, 0.013693493773804005, 0.010526667575327409, 0.006420038662785763, 0.01937015557932275, 0.0046060034985715564, 0.004032552986702571, 0.015263176963440584, 0.007274975569708423, 0.013935760349484873, 0.004653232431987739, 0.013612937775896299, 0.012224893449045225, 0.00470138602043471, 0.01688172007647545, 0.0048464795570494915, 0.004951948345442524, 0.01235477363168506, 0.006815204057020695, 0.015412226541650507, 0.0022319299343078734, 0.02051638553556174, 0.012460288478902924, 0.014950342131614794, 0.0033014259230091875, 0.011170041040072668, 0.003628563826312456, 0.007384009667108431, 0.01841595719652272, 0.012224621263243118, 0.012391951607543368, 0.012318184313467456, 0.008821748642864011, 0.005960987739249514, 0.0056082149466570586, 0.006204504930331079, 0.003600454940554397, 0.009716374752160754, 0.008233380999596028, 0.0030595790127393913, 0.003704731546829078, 0.013384296507027667, 0.0034978251930500703, 0.00760965883756677, 0.010417331995076991, 0.008301021497610618, 0.006249701587527609, 0.00334251763456955, 0.011748180053239028, 0.019352398298281608, 0.0024476981861055536, 0.009506023671980699, 0.011288280348708487, 0.008339033285560802, 0.01279342838503399, 0.011168898650865155, 0.0027001372470682847, 0.004397881190766984, 0.01777757210502827, 0.006165276402288175, 0.012858178820407252, 0.00265003678122443, 0.010565527774926546, 0.018880801487747734, 0.017551010733705703, 0.01347616848595903, 0.012168508117749867, 0.0034402477168630845, 0.007198648542061755, 0.013779006008243139, 0.013680658749212194, 0.006804784609936981, 0.011304796883655268, 0.00772306898091555, 0.021287379835745874, 0.002649726196012564, 0.0027998763542609094, 0.007841513701422985, 0.01954945489826591, 0.021248929463360388, 0.0022542307606645317, 0.00822820467345355, 0.01430946376394479, 0.006179181033522826, 0.007197415751661413, 0.007012619989701713, 0.004608303125185749, 0.003305222724333852, 0.011402134355708058, 0.019651216150559092, 0.0028831200723048334, 0.011320912553257153, 0.0018633768105824784, 0.007617172955960708, 0.0075303060836419125, 0.009123921302910771, 0.007239632079586515, 0.0033751923523344953, 0.01810430964547793, 0.020916499673038515, 0.007701212998756691, 0.005826752957727546, 0.0037341184392625025, 0.014847203001412899, 0.011635049593218115, 0.007435710811439557, 0.0025753657063843417, 0.006968396694818573, 0.015034369849819257, 0.004575497120839261, 0.01190366529087861, 0.011808083965371585, 0.006605409231877817, 0.004708067905687473, 0.010155291795065536, 0.002926129141924828, 0.008456524896672929, 0.006940389243896012, 0.003068905571022958, 0.0031252685658931783, 0.003744432646405254, 0.0075270119536853695, 0.003185372138036993, 0.017403072545607735, 0.009055171269649541, 0.006293192419617665, 0.018117003656616604, 0.011751815498345933, 0.008994497773910228, 0.016571440011252967, 0.009502530124358333], [0.012984015706298004, 0.014889008012204896, 0.02775947660210383, 0.03318883688730402, 0.030042354700346583, 0.012229281320448124, 0.025018909422195586, 0.03232428739159386, 0.023011640160720572, 0.029127278289240194, 0.033003105098917664, 0.03092429650451049, 0.04330562361299526, 0.0141599856093323, 0.006305223328535319, 0.025756025226974736, 0.027867176028905576, 0.029296017893908424, 0.017457975322953748, 0.03480619090411355, 0.008002330167277008, 0.027681180973620077, 0.02941341407550168, 0.020747129234137653, 0.028027981897654333, 0.036043266084468735, 0.019517612450763357, 0.017056583798737784, 0.03389274448267369, 0.030679868992994287, 0.02632475520306401, 0.013377693023102882, 0.04337285552846185, 0.022610283332763322, 0.04156579622294074, 0.02065607994613709, 0.029060445779319422, 0.032219906526559726, 0.02042721186766654, 0.023601846356385955, 0.027010546181463705, 0.0354350949989734, 0.01764205996896119, 0.029636123832225348, 0.032200183498218335, 0.023471018764265966, 0.016900501789728066, 0.014986757701857494, 0.02011817910743251, 0.021703008613217424, 0.030820826987850186, 0.020986852558978086, 0.02720228474885017, 0.02561888758405611, 0.04511715590246529, 0.023295831111133907, 0.029805522278576992, 0.020899110076979196, 0.033692305765771695, 0.03708137849643819, 0.020609671803064708, 0.035962777274447875, 0.03275375372945712, 0.010641204244375368, 0.03297227182221439, 0.012013477737749986, 0.03031904241775428, 0.03589312392410794, 0.015202210567676623, 0.033355439160544245, 0.018999881283108228, 0.0353640863220363, 0.01590791432673645, 0.0315780309983018, 0.03308849528127445, 0.011869075536169654, 0.024134193551212664, 0.026226801881893937, 0.03846915035593527, 0.02045262619482958, 0.023174775272383534, 0.014409768500244453, 0.025193044725190083, 0.02672195487125247, 0.0320876109264576, 0.026097063403191175, 0.0177269162989108, 0.012975469076900227, 0.033314361751861275, 0.020845623086185282, 0.016770439846821784, 0.01905341331740856, 0.03554556631128672, 0.014814017713850842, 0.028194827818650375, 0.03320853468234445, 0.025724576858845466, 0.015114193036129512, 0.028473043942672274, 0.028123854200779664, 0.017236219948048314, 0.019552421612529677, 0.03145628639557628, 0.03675680158844838, 0.0449348695006975, 0.034758412588618844, 0.037058845401901776, 0.02075529777247555, 0.009230333024439005, 0.025554165512955224, 0.034006059118491576, 0.015106331142528871, 0.02161530994054406, 0.02792472810383863, 0.02454268801946182, 0.022520110480587857, 0.023561918979056594, 0.025689078070838228, 0.026293397942425203, 0.026335714008614952, 0.03831432511041937, 0.027356857102280658, 0.028931143791279784, 0.02822985246693026, 0.029044191247404667, 0.026852887402888832, 0.0285659269006454, 0.011267875685554863, 0.011623000916004288, 0.03570490632264514, 0.0318094007488269, 0.017636902976286898, 0.034179670996965686, 0.019172242731356714, 0.020566615565391244, 0.028691725971354973, 0.016996556538932207, 0.01778131500384177, 0.02554139516977622, 0.01735100057169056, 0.030835584636042256, 0.029487472103545076, 0.024924614670216925, 0.0179240735976494, 0.023798748260703554, 0.013745051037689103, 0.027444827976732745, 0.012151069835529917, 0.01953855022852133, 0.03704472814652801, 0.016530532420285488, 0.016145168213514065, 0.026841663071260864, 0.016728713239982186, 0.01706672670047979, 0.028208178012073024, 0.01213406077241814, 0.039439942152152775, 0.03263683943792998, 0.024637796824480782, 0.03433591045839692, 0.02154564120948719, 0.02758500361230819, 0.03922533388406661, 0.02760137459401492, 0.028838378524837997, 0.024445248087779193, 0.035379409779359244, 0.035729872095873125, 0.028820724163959418, 0.027251172751278904, 0.016766171307414732, 0.0294468136052713, 0.02683998181930974, 0.030972633799174726, 0.03412613386479576, 0.035373096137695605, 0.03634864301870141, 0.012022592372523051, 0.02446608498048672, 0.04072031484317622, 0.03126933213401605, 0.03064806607633439, 0.026797369530770047, 0.020766328342633273, 0.030822127173344503, 0.02973643889422319, 0.01318272602670802, 0.01228883945309481, 0.021351917095639203, 0.018823693796916955, 0.03345526133820173, 0.02007973970717068, 0.03246576308889576, 0.03649174988772911, 0.0237004400579521, 0.03773402718561063, 0.02864069663783828, 0.019844068335216625, 0.025625163563809148, 0.031671748591334564, 0.00775503084850567, 0.03072671088311796, 0.030024960662826908, 0.02897451165343531, 0.02796304342908414, 0.03022777666680316, 0.014731221413765792, 0.033724903614039486, 0.028556260029448534, 0.022571100665685833, 0.036851691378816144, 0.029714671864133298, 0.024462194218123772, 0.02283029991132971, 0.019137304894380383, 0.032622990805556785, 0.03404356920962579, 0.017507143167525947, 0.04500816652966653, 0.024238400616658363, 0.02208679584839915, 0.02382672630407226, 0.020971322943656036, 0.02186856698571738, 0.032093292908460865, 0.03497398918867177, 0.03708840727407059, 0.02569524713873088, 0.026094997785646716, 0.023968086324549175, 0.028203614798506544, 0.03373278415471244, 0.028616218367186155, 0.03575865235076512, 0.01939082453767858, 0.028342659241556024, 0.021398931666972567, 0.02376075363582461, 0.028204469625463496, 0.013805272020607488, 0.020330797763390786, 0.038089274728037956, 0.030522228935088856, 0.01705925649910073, 0.015053529758902432, 0.031035529398013274, 0.02698767801690736, 0.02448565445301165, 0.019094293449676746, 0.018801711737177023, 0.026676547083942098, 0.03517047612732735, 0.025198996230820375, 0.023072393351682152, 0.02686532045010458, 0.02691352251623945, 0.02541857451394803, 0.027816446514023232, 0.012831373326387762, 0.021162468172304046, 0.0402262331017487, 0.029537900445335854, 0.035442122634750294, 0.02993146084316332, 0.013217049070071577, 0.025254331507122665, 0.02350853977426195, 0.03150481202308273, 0.033444987103547964, 0.03286536059302575, 0.032985332826013854, 0.026314397914435062, 0.020457673551279268, 0.020350459957022837, 0.03293995172619021, 0.021991839377228022, 0.029275562273835886, 0.023687038214631615, 0.020949495431038127, 0.03526517649636537, 0.03541112693015332, 0.03195375660325622, 0.026586159330073498, 0.032797502251901395, 0.010136363009288177, 0.027032507705850483, 0.024036671513042993, 0.0269663611501567, 0.026459481838081455, 0.030458498031592868, 0.024738495409071172, 0.014147402647483423, 0.02684225980912055, 0.019529162234707676, 0.017531694228405444, 0.029047661860010954, 0.02310678497049997, 0.0301956603564943, 0.017246997626275667, 0.024624580480979485, 0.00839542140830345, 0.045592025846245145, 0.016444277929445635, 0.023179119024676634, 0.008273810026342022, 0.03493209767505667, 0.02306991669500303, 0.016733984157621017, 0.02676442908912137, 0.03973316949112267, 0.018162770808418525, 0.027476444369287468, 0.025400352440139336, 0.019020891168455737, 0.016950934095122515, 0.020110479922985706, 0.03413073350660828, 0.013621093746130575, 0.021818167845530596, 0.02476038646602422, 0.020551077090733227, 0.038185297622400624, 0.017351459140077786, 0.0260229873736983, 0.031216828335167972, 0.040590624922653924, 0.025271907669754404, 0.033354392672938715, 0.029129191079710126, 0.027614346852313603, 0.01445181159479722, 0.03197629889507732, 0.016618909830620712, 0.02402013452928492, 0.012422219403490243, 0.03631664276639891, 0.0341395944806487, 0.01950249743594355, 0.016043101919965785, 0.021434091627325923, 0.02917439884028101, 0.024312310144194365, 0.03224219518291443, 0.019773902937282803, 0.033067143115288404, 0.021130546482931854, 0.03560237317442297, 0.024591568839608082, 0.025568926506425668, 0.036304091998545916, 0.01649864440366289, 0.013995845654342033, 0.024490766183884877, 0.011884420114621397, 0.027298424861335532, 0.018844181097109804, 0.025492901845160607, 0.03945220567951616, 0.02291944384761361, 0.007940434499785659, 0.019590925366481503, 0.02736603990679373, 0.03354212663162002, 0.02803725316824903, 0.030881401318855296, 0.0166842219360503, 0.021493736248920044, 0.020999492799560465, 0.007953868609762545, 0.02071909973833299, 0.02490965859862855, 0.024503193438376644, 0.022877261443979714, 0.027886806689222617, 0.03797761548048503, 0.03304446360555082, 0.02963696645577402, 0.033676783508150905, 0.021957411436934894, 0.029822638808709074, 0.013741555299772291, 0.034970422831265, 0.011487066663507111, 0.021792214141759126, 0.01636240673251484, 0.010009499596021584, 0.02947808276864049, 0.03084146725312505, 0.028553731036741553, 0.02044804863642407, 0.023179894182612636, 0.039339477039225974, 0.023083359427405848, 0.0272302657758663, 0.018699590197736597, 0.02339286516951315, 0.023948558079020025, 0.03148242851628207, 0.02564366317344933, 0.023266299158383824, 0.02519608055663012, 0.01614540248651212, 0.024260963629424388, 0.02032102346185175, 0.032291262026540174, 0.015074910032559638, 0.02440792521851439, 0.03140347233146129, 0.03254295691546132, 0.0316336106609927, 0.014212957401183406, 0.016889741220961797, 0.02781031460172718, 0.02591875411381126, 0.02163986669007575, 0.03394012078067573, 0.021252580867074836, 0.040388524454775004, 0.015220487973900798, 0.028695641819514568, 0.021373583171060702, 0.025941412478676845, 0.022102963120942773, 0.02008148631203795, 0.03233805409414212, 0.023600212549141665, 0.024889778081722897, 0.028061670330897365, 0.014090640679929581, 0.02339945850167425, 0.03082705181171643, 0.01770235040039326, 0.030274952372907997, 0.01610003706478876, 0.0356947332196202, 0.017945328207892422, 0.03608132694904955, 0.028812555643627866, 0.029226567830447317, 0.01576924659552354, 0.007976376126553268, 0.03378587646254243, 0.03749941867231849, 0.031077321134223193, 0.008796954400480398, 0.03876683177037453, 0.022143402375608977, 0.014198215420189272, 0.020269930191970063, 0.02401928511955208, 0.022993696024923613, 0.03066441448515886, 0.018806298614078933, 0.0174654467840089, 0.00794973032363026, 0.02009905846507307, 0.025578509660949645, 0.00911992916184267, 0.030838040597108058, 0.014735515300350947, 0.03144404481992968, 0.03310750409052055, 0.04567278954500683, 0.03269106263301057, 0.03020145468405513, 0.026009520285423263, 0.02730698480585194, 0.03848085934426744, 0.032903750559233585, 0.018547620245676324, 0.010142221829579374, 0.025254650993978257, 0.030854655829023185, 0.021231533805958956, 0.02051539133086456, 0.024848884326941, 0.02166772251891213, 0.026074226208430137, 0.02993259781921144, 0.026855671981965267, 0.027765651954251742, 0.034727585985433566, 0.01129638337032526, 0.024275544648927845, 0.025319866873001157, 0.018314613686863903, 0.01756928945810799, 0.013389832493718369, 0.011324239261506932, 0.02147138938224033, 0.030692979728256724, 0.03832082446115157, 0.030145816566735234, 0.034044471660353744, 0.012259807549320568, 0.01386130473982006, 0.021495220789390285, 0.033315445276435776, 0.014561742871341451]], "prompt3": [[0.013380702916958571, 0.01637068829961463, 0.016846866104509833, 0.012278250313126534, 0.02328749163152582, 0.013909713917206136, 0.015208790258366689, 0.013068626312296732, 0.019549190570602656, 0.017972793516585487, 0.013358154494630266, 0.01442251021947689, 0.0246222487755386, 0.015067516122223883, 0.019577708719977584, 0.01978294496248156, 0.011476191059886589, 0.014199926973135078, 0.014308897000244993, 0.025909734661776426, 0.007017795233579188, 0.014269322676703878, 0.021336865995440095, 0.017247164340428278, 0.020243868125380756, 0.01475039359574889, 0.022630246949386697, 0.012852409317587533, 0.01363335994866423, 0.012436792384296767, 0.0135591055614874, 0.010655899260663277, 0.019334972826899274, 0.019872050179622805, 0.020838783533440115, 0.009857682576016515, 0.013723988854284603, 0.02410734197644094, 0.009663623237584526, 0.02174498887931733, 0.01734930879415976, 0.016261663285661074, 0.015151007804080569, 0.014789939228752534, 0.024418920010626583, 0.018526013915988647, 0.010489966327698831, 0.017355596514648467, 0.008508580998502718, 0.013417499049916118, 0.009631391181754106, 0.011350014530305626, 0.006832846208287087, 0.007480221788428622, 0.027198529989979514, 0.008923174997920629, 0.016860631454016426, 0.01710322904030607, 0.021677070444666834, 0.012450497366231043, 0.01328380258014361, 0.02908585503192079, 0.010540403705342137, 0.007917120936529968, 0.017511971678280794, 0.015681924786217112, 0.011584930686538644, 0.030599882696136626, 0.012628021021827302, 0.01733011611427906, 0.017078245101571958, 0.009930162133192488, 0.01795116758604441, 0.014750202083089733, 0.012792314562789136, 0.031772337091577695, 0.01298548820722095, 0.011988733747242554, 0.022858454264374252, 0.010330785753094544, 0.014139583749724911, 0.02225208170863989, 0.017003912440708282, 0.02050408674965212, 0.015471359571629956, 0.01671118763094287, 0.009939312520449098, 0.02538267147653204, 0.013525521847033463, 0.01177849443790106, 0.006107792998665241, 0.021947652417117783, 0.02095348755474004, 0.009596536743531031, 0.01312932008754843, 0.014406343912674454, 0.00924019607773713, 0.01438217498840918, 0.024924322890752606, 0.016591282456884533, 0.01334347653777037, 0.013447336563080746, 0.022220728932129983, 0.011833604353584994, 0.021382544249977854, 0.017514119893343835, 0.01592818008045987, 0.022499866704690803, 0.0063788573057690316, 0.012469012273936105, 0.017509152979723247, 0.006865402538745919, 0.014186730977811438, 0.025736538612242142, 0.011570703349817904, 0.012436321179056685, 0.01856948772232589, 0.00996874477067287, 0.007416021816993685, 0.025750124384200622, 0.026725073709658757, 0.022995455639305534, 0.019811302777502312, 0.010955765274962826, 0.021449769485891036, 0.012552364758873596, 0.01559780412376145, 0.022342506061260446, 0.01613873569052274, 0.011923288868567573, 0.022092800567112544, 0.02461825527469135, 0.016620819448365402, 0.008180437372152759, 0.01890003650447599, 0.02143469946945709, 0.020064828926046406, 0.009619513743887623, 0.014877217060423357, 0.012494226580067939, 0.009815351108091052, 0.026330088650767036, 0.009724376858289434, 0.02572267094938193, 0.017665179432404417, 0.016643166773693575, 0.011893884486380773, 0.017818551720531078, 0.01635109541949561, 0.02113943850797569, 0.01691290135159584, 0.021056463332433186, 0.014108822247440348, 0.007319272715460852, 0.01038040532941535, 0.009844962555543646, 0.007684364406870632, 0.016739013671748983, 0.015669535901717303, 0.010218675387750948, 0.013099688155645614, 0.019603380617542375, 0.013390102865794602, 0.013484736040113087, 0.006299248419811164, 0.022846857375664685, 0.009439153603313611, 0.016784246897112377, 0.0160501973712016, 0.017738426680265217, 0.012174278562991473, 0.013792789692925772, 0.01205427937229502, 0.023914689603867428, 0.019547916962558427, 0.010143002915159684, 0.018430671898516673, 0.014926520965172054, 0.028899491940054863, 0.02156663853940756, 0.01593967004581178, 0.015645698748600927, 0.014066917089015573, 0.026835124566099038, 0.015831703229635945, 0.021001534097055727, 0.01642615157409938, 0.021965031033125988, 0.017390824481166047, 0.010244760644407847, 0.016242778838206642, 0.013878814423592453, 0.015432232688698101, 0.023759436538624244, 0.020628923238168048, 0.010577744757251959, 0.019478922556774848, 0.011158376784230031, 0.013827317608984424, 0.0063177883805273505, 0.004648534195182047, 0.01717072802775094, 0.014492606081445045, 0.021368955208223475, 0.0078364533625486, 0.015606062100438625, 0.018061116043607196, 0.011418702600629533, 0.018326507134555605, 0.01900620940492807, 0.015123505371638406, 0.011799659365169708, 0.009876882350097605, 0.025281188261878012, 0.012484403842002556, 0.027951509005835016, 0.01130236882650218, 0.03131877979916216, 0.019107114779704507, 0.015443241684984527, 0.011999410896074258, 0.023879489116705753, 0.016203918003124703, 0.021424311593323617, 0.015773600072437582, 0.01304010679146886, 0.022673256539101645, 0.017121773621128336, 0.019132208154812494, 0.009809148143544232, 0.009986296116088107, 0.02054796210167523, 0.01329626088958092, 0.015512842979466946, 0.014304307631855825, 0.021645651016251276, 0.021840805899928643, 0.012393159578934904, 0.010205477107535756, 0.01775442471607622, 0.006836433071310829, 0.012245528008544924, 0.026021792326919792, 0.013374011243705092, 0.014858312906431853, 0.017262829620604783, 0.012953267740959822, 0.016144541662363444, 0.009376560190774366, 0.01530521144122212, 0.013006255085156057, 0.030566300242209556, 0.013943153170665981, 0.007580449817473816, 0.017744564181312455, 0.008113847132003906, 0.016393466676626032, 0.0138671388217017, 0.02402004759331916, 0.019030278954981803, 0.00923871941592528, 0.018945760248438775, 0.021649005365369126, 0.016558932502836583, 0.011252509382596719, 0.008407239767521049, 0.017745271322557314, 0.011608382845792633, 0.017270586076852227, 0.01575552617713566, 0.021741352326393935, 0.012975255396427675, 0.012455600138166122, 0.015695686047958114, 0.019528768208480665, 0.017693576232556386, 0.011062457629448842, 0.012990540707602064, 0.014998308109313721, 0.014173552111912905, 0.011410389902117844, 0.015298753633254189, 0.013071294671335562, 0.025377911155098923, 0.019929228962246574, 0.005889426914727083, 0.025569979437142117, 0.013194148108477204, 0.011568360428461577, 0.0065456538298223526, 0.014318575125681268, 0.016217998548630527, 0.008659603380528944, 0.012607186236595444, 0.015535931463939544, 0.01957343103637513, 0.019703417714004672, 0.013200676217741979, 0.024971030248682698, 0.008146925542231375, 0.018492321023975, 0.008907218428859805, 0.02279576006156108, 0.01349153076859466, 0.008862024221738823, 0.025092792669150512, 0.02449220625881702, 0.01655896119284921, 0.019935983410749338, 0.015079580096896833, 0.022459570271918104, 0.018989980860158562, 0.016586758274881607, 0.015851600962107318, 0.008856505544780452, 0.02349740826731323, 0.017223688600116496, 0.01432533589486816, 0.02057172267068062, 0.017548508809866407, 0.009534922178619386, 0.0177308190148201, 0.024822808700533713, 0.011574969294157059, 0.01113778879065578, 0.018003639302926793, 0.020972262812424543, 0.026092195335599706, 0.018668792054606153, 0.016252645088757987, 0.012775886158361454, 0.016133608443349552, 0.019984812567966814, 0.008268484564867855, 0.01968845951114672, 0.012394143406074963, 0.023019730988308285, 0.01905343017770074, 0.011967471370041947, 0.011597123946495501, 0.023178874282519937, 0.008960562701756148, 0.009985744925741627, 0.023732597513559977, 0.012615719647089008, 0.018334250302386338, 0.020516590049999794, 0.015045044754212946, 0.022929508191525744, 0.01770741106387443, 0.008988644072033397, 0.016502390001312654, 0.004781369767512611, 0.017462400185043896, 0.01380582392462954, 0.02138334351220609, 0.01730254043800373, 0.016346062728081364, 0.017857697640188647, 0.03591371143369985, 0.01858160902151704, 0.012630797176310356, 0.011904223225674231, 0.01868872904337296, 0.011935347341645296, 0.020286985917453832, 0.011732675276988397, 0.012613400572341157, 0.017950422851004726, 0.014797683263678087, 0.01461953064754635, 0.012749731617298568, 0.014848036229119116, 0.013602572588586583, 0.009517591426136361, 0.014207228179435758, 0.01726858093278347, 0.026330021337803024, 0.019505493475718467, 0.017343211274385876, 0.013605623544114771, 0.013261439692475627, 0.016605417997134265, 0.012823442711139204, 0.012984938621013128, 0.009508491023888314, 0.013590624475217337, 0.019711399765239886, 0.012936824700605405, 0.016081453457787498, 0.018531936050115987, 0.01920307406285525, 0.011707149742421, 0.011318738939029785, 0.01751461486267625, 0.0064639212167241855, 0.018896873857103366, 0.013408295625368, 0.03880204463458492, 0.01958136182152543, 0.017083734810170254, 0.01634900484541401, 0.00897658513468662, 0.008990649629518978, 0.007740310327980342, 0.009720824914124137, 0.0180611245982737, 0.019777013743703088, 0.018161921142584636, 0.02325387737747776, 0.015236934181873605, 0.0074028190516252975, 0.018051677579418453, 0.00834792476052414, 0.021089828566174557, 0.0121817606325614, 0.014706420630460399, 0.010542786472267498, 0.029533106050717073, 0.01033268436554387, 0.004833296972097675, 0.0212619962324675, 0.020504990489274056, 0.011729598061766383, 0.016470319944601998, 0.00990291368097878, 0.01875690603806316, 0.01264993098873293, 0.012271308053038624, 0.01186206556954073, 0.01677409759470438, 0.009523531135727889, 0.018166515119259593, 0.018612741927573805, 0.018821316605488535, 0.00912924910232787, 0.01251833670807659, 0.00832922776826828, 0.01699369907146252, 0.023412693765178474, 0.013849680066798353, 0.009831740710417224, 0.020652447418823897, 0.023243175822994278, 0.014886136113723494, 0.01123864535241982, 0.024419252453904167, 0.021133436394571208, 0.020944963570309658, 0.016895438703152424, 0.010431178560741133, 0.02131340674301719, 0.012420418557868103, 0.016091381310126593, 0.010485178976910129, 0.012991849782973902, 0.021635479484400682, 0.006928092034527465, 0.01944185370062137, 0.012631119369825037, 0.013123833870985705, 0.007172686872073173, 0.008451982038436003, 0.019361167594494664, 0.014767205651001404, 0.010271132808211677, 0.014470362483874965, 0.010640971690551044, 0.026243642442238268, 0.00985827438777024, 0.018128479615626077, 0.011575089238577009, 0.02282292918508016, 0.01611504907989143, 0.008686001447806811, 0.007542166657592461, 0.010193782029708665, 0.011767185869900183, 0.019762172401353847, 0.018873853465109634, 0.0075106072114416045, 0.016087764495537782, 0.021137160711623044, 0.01949546564603275, 0.010213874339303507, 0.020871363444929708, 0.013320410725446687, 0.012406209764603276, 0.015243548372594062, 0.01754736936001285, 0.02255224788800643, 0.015292200883677474, 0.034322009344211445, 0.017802624122226593, 0.014522257097212896, 0.02547455177309178, 0.016497452148855934, 0.018616529605061674, 0.0148854226125655, 0.01349519124215307], [0.02011386752699881, 0.013321954606831238, 0.017939178114366936, 0.01849399704981164, 0.026268947343989758, 0.02319341892932943, 0.012923886687615817, 0.021844308921462503, 0.028185529108252564, 0.021706102954699193, 0.02380712203197418, 0.016375027030529735, 0.02392138611047358, 0.014831560248944609, 0.019021233142159092, 0.022882753685284023, 0.021713772760510636, 0.027748244880942276, 0.027707553337726135, 0.0200175742433267, 0.00745729772278768, 0.014939771440824945, 0.026397984598611045, 0.017214545066492327, 0.02934158746245662, 0.038051409317768466, 0.015825869656861787, 0.014382033861142703, 0.025240184520216036, 0.017252210293436057, 0.010158271079173546, 0.013331449011045623, 0.0266627459823731, 0.03246732898771858, 0.02584203954142936, 0.02187085451738073, 0.016418727863552748, 0.026200393181928835, 0.014584016430400484, 0.02883801583397442, 0.02571804216615469, 0.02892933549998387, 0.02007232266452065, 0.025447394108733788, 0.01233574692215265, 0.019657937021476786, 0.022239780473827138, 0.0070418331060030405, 0.0063436268188032515, 0.01688571989505922, 0.018983905219521365, 0.009031032210261856, 0.012584233599895448, 0.02360815137284992, 0.033397211163690585, 0.01770513878113529, 0.009997482010285719, 0.036031027021468744, 0.023570316428442116, 0.029760570000007605, 0.02087863162539499, 0.028541377555306613, 0.019510857840215175, 0.009805254424158789, 0.01916735883458776, 0.010584729874269817, 0.023560593168269476, 0.03841695088959052, 0.014869136540850921, 0.03173216254958255, 0.013756148036876921, 0.01903751531947662, 0.009496280021129365, 0.01706563866346957, 0.01843567473039452, 0.035651634342695304, 0.010133758120701764, 0.01059495514365115, 0.029768497130103905, 0.017996745052881194, 0.01845844724977346, 0.01616339016694134, 0.007719099426462712, 0.02730905708429053, 0.022974393696594927, 0.017876558724981773, 0.008465361072122505, 0.018490731780680163, 0.024864332992098007, 0.020096849238556452, 0.006369680567883114, 0.025677788444473996, 0.025002882572539863, 0.007530617311908169, 0.009262318442951558, 0.017900827533243114, 0.013894079026557834, 0.01909183529733543, 0.02643792411449356, 0.025651425129253638, 0.02332764688618065, 0.021630460013600847, 0.026794756146786475, 0.018355408767107204, 0.0231060351479328, 0.029890848613465717, 0.018715561256888953, 0.02217990754484476, 0.009147440776752013, 0.012487558835829447, 0.007269690673725162, 0.00984488528255185, 0.01939157456120877, 0.04234378286061729, 0.013757027606387634, 0.018658217844709057, 0.01969132624698546, 0.010429857428786637, 0.007621995696173381, 0.024639103035319732, 0.018378170039461492, 0.015742779621022374, 0.024555703898985662, 0.024846974404708476, 0.021550320555972214, 0.024743287085185167, 0.01813090812692177, 0.02811755575575606, 0.014423427952019867, 0.015331932113751712, 0.019124994918799418, 0.03794178528401546, 0.015603954953682964, 0.015056362468845381, 0.014623275802101954, 0.020240013563213848, 0.015170976138654327, 0.009700809950939799, 0.012634124026389377, 0.014272291658160075, 0.019710083466847987, 0.036873128618111324, 0.018621589209916148, 0.027188214829100558, 0.0190215159144122, 0.013559957723177475, 0.024054134116899294, 0.022127669804922215, 0.020582567444121954, 0.025995180866227083, 0.0294572060488543, 0.026166059082689805, 0.022443882704433673, 0.005498264319342345, 0.015551843358257267, 0.009832590003179926, 0.009850295482932715, 0.022649758569082384, 0.02076718921309671, 0.0145537531433819, 0.028922558438197393, 0.012293544407202433, 0.019104354471131846, 0.01771178071906348, 0.01488328283707907, 0.022420052032533822, 0.02457861605936379, 0.028508902945071024, 0.008549301230034568, 0.017738570884232394, 0.028133890059318576, 0.006350006813405818, 0.015670611803666332, 0.027816152154025334, 0.029163492970421492, 0.02085570598192579, 0.030279313927216323, 0.017767767384480982, 0.037084693650281116, 0.02647543230431864, 0.020921004041594634, 0.018154066617634888, 0.015039336011453866, 0.01797715696570973, 0.015738588063641396, 0.022819625562269703, 0.029523931147757455, 0.014362850702456966, 0.023531596963051783, 0.015633974699680735, 0.014869419334455087, 0.02329350646372443, 0.021550212971259815, 0.03283723172213453, 0.01697505699931686, 0.018118289832165797, 0.03215213359342096, 0.017066090789321607, 0.008065209018455893, 0.01580636654540158, 0.013959228785522889, 0.014817558653409542, 0.020718599355189597, 0.027363564331703425, 0.022390659364091143, 0.02371139229138543, 0.024336709368176567, 0.01128732972685608, 0.024186856306973578, 0.014264591705953034, 0.009394245534461642, 0.018757544577656406, 0.02061474416417498, 0.025022676232525264, 0.019005008659018125, 0.033465441952483486, 0.02796416247573238, 0.03183625914501099, 0.013714956037112324, 0.026484603134957468, 0.02120428893579861, 0.022601293322540773, 0.011970721886957775, 0.02197212435787247, 0.008993853634283053, 0.015594398091191546, 0.0223574399217228, 0.026214048052665435, 0.025749689436610077, 0.017027230808892513, 0.021357581432947425, 0.010687003631983672, 0.014449712303594677, 0.012152342142458977, 0.023454435869556364, 0.02613885166264834, 0.02713674377145298, 0.009884397280612025, 0.023922131705385024, 0.020172013711752222, 0.015039023263834552, 0.018971013939202575, 0.024923946651607923, 0.019306799832389785, 0.021524902629932063, 0.018454826636102498, 0.017530812006001463, 0.016307343818698528, 0.008359014216172599, 0.009898554345982268, 0.01770795324968597, 0.034624063795037505, 0.030840329565275864, 0.013972333969646698, 0.029594076319581202, 0.022098578219278204, 0.021297458659417512, 0.027676792710414615, 0.025882296805081965, 0.01600771705307656, 0.018284304543850702, 0.02329478807860638, 0.011782027472915077, 0.03467291069069328, 0.012850115456744277, 0.014915867459638894, 0.017596668005307705, 0.014688330068763838, 0.021500744770909217, 0.02481044379022966, 0.04337407551054106, 0.026716229723470087, 0.019368638026142436, 0.021918577435607836, 0.023645607445148927, 0.010630097456008876, 0.02157748635422975, 0.014786916830780388, 0.015243771252710153, 0.02120934547226994, 0.015950815322512416, 0.023075444553505024, 0.020463001030016564, 0.012491884170704145, 0.01886017824485465, 0.007941496271495258, 0.027757712774198102, 0.009502834841064449, 0.015836149321281297, 0.012236044423783137, 0.02072090341779856, 0.02452313997300211, 0.010291159340898895, 0.021764153087846398, 0.03000875399527866, 0.021995224233939004, 0.031981404293140336, 0.015887110370064284, 0.02542711669840082, 0.017007381160779333, 0.02675305590887349, 0.0077594937529587545, 0.04387679457890589, 0.01579210067778437, 0.0063391907770337045, 0.01902586202705121, 0.02676806449844164, 0.027964114644216605, 0.015528878488563231, 0.019664248271874563, 0.026492867303975362, 0.01459920375361893, 0.01990855484824806, 0.030379795342706063, 0.016098724405484075, 0.024715497417903208, 0.012576862678826751, 0.017291844333779602, 0.01161834479468522, 0.022729475632172928, 0.018540716063076418, 0.022629556388109203, 0.03832169454195598, 0.01034234225469747, 0.01414465453041428, 0.016728254478314847, 0.02728009603408289, 0.019515405410036324, 0.026007277248494033, 0.02494548547044604, 0.021828701064561012, 0.013211359438470219, 0.029694376451556304, 0.009051599453887635, 0.035134448707441326, 0.013050107200864974, 0.03239198179063774, 0.023357944978085417, 0.02122824612494385, 0.012382665328109103, 0.03888339180795071, 0.023833819175535273, 0.01763692897748827, 0.031985894592679275, 0.012170616973388214, 0.01814620086286283, 0.025253481425143786, 0.00845541885681714, 0.024598318392255233, 0.025431160430542703, 0.013020758233990607, 0.02741681672071087, 0.012847906391154996, 0.014508110272170012, 0.0207439505371883, 0.023061183648774665, 0.028781660717000453, 0.017797656297333753, 0.02930618271049137, 0.03381384430278094, 0.01876099946748818, 0.019099065069812238, 0.014310612927732771, 0.02283364742010465, 0.02855859309752674, 0.02861589795286907, 0.01024288980030245, 0.009246100355800388, 0.013516215224275333, 0.014939194569530736, 0.006109890901591749, 0.020390105819648965, 0.01820922918035624, 0.020131548387209555, 0.020743334342584005, 0.024033403161281993, 0.02407546115796644, 0.035425267870891994, 0.020620689204518435, 0.029412183980588976, 0.019205058508436092, 0.016192345860061706, 0.026262639967493583, 0.024014016136927042, 0.019489881913428955, 0.007306878354709497, 0.01224507971343866, 0.026558861056442912, 0.01581817800522759, 0.019318751812368962, 0.02410104948276963, 0.024498194750960534, 0.02518421178146652, 0.021028593485490327, 0.017172950714881074, 0.0067830660056339195, 0.03130839218096799, 0.03543484387599304, 0.049342735880857684, 0.02599952407499977, 0.01224582011422934, 0.022490898683680087, 0.007254889334762247, 0.013325448372121679, 0.02182360221918457, 0.02114269743388484, 0.02429707511295126, 0.01617196028976967, 0.020163018711222086, 0.029508321663193386, 0.011807302265803626, 0.007825137739565186, 0.0326547270549093, 0.022735884518117935, 0.011069912765957271, 0.008771499031041973, 0.02595500330157581, 0.027433958842716048, 0.03343158336544343, 0.009817352135328224, 0.006924965303014889, 0.017343168157466952, 0.025358576138549468, 0.017321758227252772, 0.021047908353857395, 0.020479081573373626, 0.021322474167916234, 0.01847467338676676, 0.010878840896849607, 0.018423821325439092, 0.02591564548546326, 0.01985404993840875, 0.019230400611009883, 0.016070586361058323, 0.02324959564412076, 0.02662362478665338, 0.012975851712494803, 0.02275500153376781, 0.010614397428323256, 0.03459578045413925, 0.02078548360908843, 0.008991245716296127, 0.027210405128429187, 0.030779788912107954, 0.028557144417384463, 0.010536613098845429, 0.021849189945474145, 0.04453194237373941, 0.033655367713352716, 0.01387388577552807, 0.01558204184171245, 0.021409284709197434, 0.015666485418642073, 0.027635163118769034, 0.009631014034740726, 0.012272530241003715, 0.0196921688725074, 0.016090864046989953, 0.013868247339278397, 0.014307677508937851, 0.010521063905169605, 0.021790731418842368, 0.018654959003355332, 0.030086630589637495, 0.03658796913372183, 0.019450573858342653, 0.02596972116266, 0.008020702092170229, 0.026019499104362034, 0.021993387191336592, 0.01018744319501871, 0.01411921388572503, 0.015215052936777567, 0.011921768984505907, 0.01883549756960698, 0.012293325217758704, 0.02267616046154915, 0.016466430625975588, 0.029713450745546738, 0.032855530897354296, 0.015192162483898122, 0.023787577173026788, 0.026905027145105984, 0.021507084035355693, 0.017570192039027262, 0.022976081292928264, 0.020381024541975896, 0.01113843801647057, 0.026738918945318445, 0.02662820743330059, 0.01296337050713578, 0.012218785360520575, 0.03127761318623589, 0.018883522589895726, 0.024523570580461083, 0.03123300483082788, 0.008649950735321791, 0.022995257204303142, 0.021212331068492952, 0.00893092541978812], [0.021353259131708786, 0.012408014054297506, 0.020923148614619747, 0.022409798801158447, 0.031362125137832826, 0.021720632958508658, 0.013322713380018485, 0.02354116127019302, 0.030354024167121556, 0.02798649211537725, 0.02608058468137538, 0.020446525672328106, 0.024814593668928395, 0.012505782834311908, 0.018123890621235806, 0.021229789536853474, 0.019226937211835927, 0.026523691711137092, 0.024615485187098034, 0.023112743107859417, 0.006866131390962617, 0.01596742435247455, 0.02591107617491772, 0.017202916285339893, 0.029160495568061332, 0.03540801429259958, 0.015662327505352198, 0.016975114002642035, 0.0200501059625163, 0.017648592123637723, 0.017932410539179707, 0.012120665586093492, 0.027454049946587858, 0.028954226662780767, 0.029421735543326315, 0.02035696833231926, 0.013617686620714928, 0.025996692095180886, 0.013946494816932649, 0.026623762174145534, 0.021198918728805947, 0.024374276041777956, 0.016677948016176936, 0.0269718043593041, 0.015996998259019974, 0.021694646221798838, 0.021337130781587943, 0.011787723885623087, 0.007890504618922232, 0.013227161561523648, 0.01755808135352685, 0.008714124037946068, 0.014273800800367704, 0.022327702753946174, 0.03324118959050163, 0.017085328296482603, 0.014511354491216285, 0.03138052880647276, 0.023415532971100484, 0.027015383302544417, 0.019367180867854945, 0.030674010677672274, 0.018224023714616695, 0.01264131560094673, 0.020266741288084176, 0.011773967255123726, 0.02264001596913724, 0.03663106630269684, 0.011656978660981372, 0.036909902216462495, 0.01326100154207894, 0.019898542246284616, 0.015117457672588975, 0.020659894639643704, 0.023481308143792765, 0.03375745803965705, 0.016222322155516562, 0.015278225482245172, 0.028014962114400684, 0.017872881902286364, 0.021129421634171624, 0.01871727181345693, 0.01393157873068834, 0.03029727959034798, 0.022731477913235272, 0.019163602278489414, 0.00941965880198262, 0.017965609384449237, 0.022403026217904454, 0.01802399143596639, 0.006188587884224894, 0.029113367583202408, 0.02649452346251635, 0.009763750371825515, 0.012047465513691248, 0.017692843398056605, 0.016262175959588548, 0.01917760402969264, 0.0263038351842344, 0.027810716996705398, 0.021486769427966457, 0.021296513567490714, 0.03199207515492885, 0.01934553295390699, 0.02835507458410308, 0.031451624980618695, 0.018904341658871178, 0.02228946155222352, 0.009299824211089994, 0.01407015065072725, 0.014966499349319, 0.00636631631532063, 0.01854764112488779, 0.04032762858418231, 0.015322933079385825, 0.014465770744646755, 0.022929546493268116, 0.013747048087504094, 0.007356018480192442, 0.0213801944812752, 0.020212798739294713, 0.022362911911960756, 0.02385173245716334, 0.020359422284159264, 0.027046708364813748, 0.022904799619241793, 0.021102129616568578, 0.02664948466034836, 0.01523113929371447, 0.01843368815925214, 0.019646282276150995, 0.03215807669389655, 0.019015815314610888, 0.017514444712648722, 0.013746125506592339, 0.022646254851526857, 0.021377108815921753, 0.012742016272969859, 0.014861676334766856, 0.01554284942804167, 0.017366125938837112, 0.039227938456295394, 0.01790805513388138, 0.02818586203591192, 0.023020697930881687, 0.01527483219847517, 0.02550213867000146, 0.021052189191725912, 0.021517942367444132, 0.02464179191327357, 0.022917315196951678, 0.025606963395258243, 0.023876769589324373, 0.009115750166836217, 0.014767718449691151, 0.010235225659417204, 0.012825607862150883, 0.023164103887129094, 0.016968178167928883, 0.01686052240385123, 0.025888741547031788, 0.014743438513500465, 0.016816646011140704, 0.01920701756200412, 0.014983782958656953, 0.020579631034509355, 0.02210891225234047, 0.02576681251320453, 0.015675788347020297, 0.020626230032571247, 0.024706865340789752, 0.012327324674814184, 0.017688895017601503, 0.02561150736607862, 0.02639954379671273, 0.02124109857169749, 0.03296140039639039, 0.018900847101748733, 0.032490186299122585, 0.022897389368837513, 0.020647071906203154, 0.020182396774554585, 0.02197897010245611, 0.021191686411186066, 0.0200644011585531, 0.02223846787310913, 0.03359966432418482, 0.016894072564264753, 0.016873256824068122, 0.013623768274588983, 0.018223716577975745, 0.023178001915081643, 0.018441646091222584, 0.028263528162464045, 0.020001729954525944, 0.020238584008182868, 0.028848896908730978, 0.016594007227994156, 0.01170467350756071, 0.015000604046945405, 0.013902266631614703, 0.014080579888210813, 0.014661003012581227, 0.02572064078015333, 0.022312246826596136, 0.023044576441068568, 0.029450329892852636, 0.011153635378873653, 0.022907089480115127, 0.014669154906891893, 0.016507748655180156, 0.02164362462442997, 0.02176322639531322, 0.024273915673854257, 0.020221453313916875, 0.031051280240715934, 0.022939234591224416, 0.03260787798539671, 0.016067633819688964, 0.028049898280278332, 0.02231210651319187, 0.02945444330343952, 0.01766869487794025, 0.019812042609300497, 0.012981777099582729, 0.018251642023978967, 0.025872897532703266, 0.02737541281944434, 0.02518681805223677, 0.017165743905939453, 0.02118560026221677, 0.011577886593745219, 0.018166294316836355, 0.01577256999945236, 0.02329460190682135, 0.03095496838227653, 0.028652467612349134, 0.013672017268720138, 0.021877627926641902, 0.021972893652609668, 0.013990315354167988, 0.01652410789488935, 0.02603287128161051, 0.017724727217294522, 0.01745718764706583, 0.013841739554929103, 0.014241081502789204, 0.012945761457884128, 0.00970307424341957, 0.012942002087418558, 0.019611532826945076, 0.032015580721909014, 0.02630949057428276, 0.013843385847660476, 0.029023522140042085, 0.02112335205582389, 0.020659732645928977, 0.026080768499141708, 0.02209542253629986, 0.018978261767119455, 0.021638623897021453, 0.027355647329903792, 0.019758532193164976, 0.038075248254352774, 0.017682726640210773, 0.014551558797631549, 0.020320599299904495, 0.015483618182096882, 0.02695820681071357, 0.02067478515310712, 0.03854305871989535, 0.025911112109947235, 0.020403522874405916, 0.017174727232880126, 0.02142033705633747, 0.01585376782056864, 0.0216327100975973, 0.01621204969319141, 0.014978458106341647, 0.02259181355843862, 0.01835616757587098, 0.02609627150501183, 0.01922150409052145, 0.019953162873229645, 0.021352676829586154, 0.010401832723638923, 0.028020522598325028, 0.011917583836075883, 0.013086906354371243, 0.013538383026424156, 0.017983095084526456, 0.020257191152774752, 0.010272088433303874, 0.02698358685198135, 0.02842543454235008, 0.025092174772539416, 0.029193804248025153, 0.01688237520155099, 0.02830461001671964, 0.014495724521321855, 0.023587605680864637, 0.008453541859714543, 0.038587275418716246, 0.01915671555937504, 0.008276015234670971, 0.017309387752181844, 0.0276951393228078, 0.02620368702766127, 0.019323657200597918, 0.017811223806196416, 0.02681009852636575, 0.01518689627522188, 0.023415623649311882, 0.02636479844664556, 0.01381236213688011, 0.027862638242683545, 0.02081398701084366, 0.016451291039344167, 0.014426012031626747, 0.021236246669779246, 0.01863103671022813, 0.020146936358314497, 0.03777584259567085, 0.012289850770765857, 0.01534707923891681, 0.01702735802221741, 0.031811404901327424, 0.019968495752002758, 0.028089144657436393, 0.026009949169440594, 0.01957181149758844, 0.01679849117817966, 0.03348927320760302, 0.012421681149901125, 0.0358083655769003, 0.016603085669046454, 0.030318137455753298, 0.025574588726697933, 0.020110862257020922, 0.012132721694418478, 0.03377105339175503, 0.01779107751426318, 0.018300225903607, 0.030029919970068698, 0.013881665839726312, 0.016745212043177894, 0.02876760309046518, 0.014540914242250997, 0.024559494803297402, 0.024058225970387148, 0.01803090606407818, 0.0295467389567364, 0.010828338690325682, 0.01139314327437383, 0.020208611717518636, 0.026171993504573658, 0.024304233883626142, 0.019172967021174468, 0.032951425398811775, 0.03628278075476414, 0.01735372344061481, 0.019213751671141924, 0.01578115937238061, 0.020982686605978736, 0.026993478794072465, 0.023341089012192746, 0.00985097111322382, 0.015627058182534223, 0.014635182419729942, 0.013593002932952085, 0.00944855585070739, 0.021167987035416665, 0.021166558966304448, 0.019641101356697367, 0.017617197844844668, 0.02317472675778867, 0.025538088349875546, 0.03486279749026889, 0.0261751474553198, 0.02467093601594636, 0.02300255702865184, 0.018017833548256073, 0.02678662957781568, 0.020799184683349754, 0.019551999144579273, 0.008270137659084421, 0.012223024943835733, 0.02342499263963178, 0.020013420872523988, 0.021544067706895584, 0.022236340363881325, 0.02055864453050534, 0.02809047272822268, 0.018995964154110912, 0.017003340405876966, 0.007122975590380797, 0.028512074307928563, 0.03178974224933344, 0.04799189903664479, 0.025074969087216757, 0.016260086613717323, 0.023773204272845017, 0.0137237219756362, 0.013525924574489303, 0.021763484398110943, 0.018312416350422252, 0.02156055206490901, 0.02060178436353346, 0.02282267416680459, 0.02620289640722579, 0.016399254930953705, 0.009683117938354947, 0.02553491074136584, 0.0197140564389405, 0.0162476004092, 0.014731855661268115, 0.027085376769484158, 0.02392788190601617, 0.034208905048332475, 0.011394704214651365, 0.009988594770104142, 0.01725827505735926, 0.024247001851846584, 0.013627300209864138, 0.021290260409398104, 0.020248374737366612, 0.021190611127029843, 0.015717237096881376, 0.01147925811392573, 0.016491150733982312, 0.027382683276751137, 0.014647765020814588, 0.01793011992417524, 0.01649443904478631, 0.02358361318683623, 0.026786138788729204, 0.013322811685957805, 0.022084826459201443, 0.01437689266374738, 0.037240051182398176, 0.01660902899155487, 0.009314997330026381, 0.028772450217949237, 0.02419170054439781, 0.027573205287109222, 0.013389392991361963, 0.024226393366341782, 0.036512958032973754, 0.03253531804238009, 0.017414828353320096, 0.016746161660414552, 0.02491125960119298, 0.011298716405817708, 0.02291289382843767, 0.011189566121306862, 0.01305262277502415, 0.02400099482833003, 0.015300951332176254, 0.015291009427682328, 0.01771948076125213, 0.01136861508988379, 0.020887247183186124, 0.01742307316313534, 0.033701695312721366, 0.032870176668911635, 0.017969773080993574, 0.02222257580916421, 0.00869253192327979, 0.027258083858202366, 0.024338774490548793, 0.00909386285658842, 0.014018646108111078, 0.01892731394186292, 0.017673892001085784, 0.017646803043527177, 0.014507786557319331, 0.021808656579181813, 0.016583475532405512, 0.023729580644840424, 0.031333681142809065, 0.017382835327579112, 0.022418341044332685, 0.024441459374290393, 0.020152057177767344, 0.01575437067167412, 0.024676215346956753, 0.023178244714593767, 0.010909543439604557, 0.025986504255086043, 0.02372201080332155, 0.013235296957443651, 0.01374964041447176, 0.03186834580580417, 0.020261652498103692, 0.02345157932752433, 0.030744501467944316, 0.013189291262723507, 0.0265947527758648, 0.016575970909749622, 0.013720371862920385], [0.0232727757175224, 0.01909836092751657, 0.03264075529424909, 0.03258461702387063, 0.04196381659286867, 0.022792269370728112, 0.02374647925876966, 0.027969376249053254, 0.03229007435808578, 0.03927656373261465, 0.030244091605837613, 0.026731787173245265, 0.03982169512664394, 0.021487372680271392, 0.02235384708899967, 0.02823341298315305, 0.020227923465632017, 0.035554963284649715, 0.026762519955283382, 0.036387746903518814, 0.006105904323753247, 0.02601672576798811, 0.03139872078388486, 0.02080439251096944, 0.04201655278584138, 0.03711038153716681, 0.02759586414245931, 0.021433320515041782, 0.02671190747633428, 0.022408449739795888, 0.03173346942150269, 0.01708503080031062, 0.03754080908281496, 0.031042332410820026, 0.039504158389048166, 0.02606092015862075, 0.01829183409181569, 0.03322685399933685, 0.018786754418550378, 0.037627032339202296, 0.020664421736634946, 0.030043148545720648, 0.018408257466763375, 0.03765638370675214, 0.026279077817426916, 0.028691428265482256, 0.022548087722901483, 0.016555048956554925, 0.01196575812569378, 0.016332283090853675, 0.02230105713170667, 0.014140264829136245, 0.015814321642920785, 0.02817794113111673, 0.04736006017424184, 0.02179933749267991, 0.021276451301245374, 0.035554721124805753, 0.027882613476918103, 0.031992378680946836, 0.020327307838306278, 0.039511437607791515, 0.027325732571360232, 0.013972082510773084, 0.024083268976937702, 0.017331216592115676, 0.02351749227776891, 0.04882993112816742, 0.02173793045352487, 0.04490171849896547, 0.012973333286420082, 0.024818770868144584, 0.02046859701852896, 0.024760892127306075, 0.03904107850882404, 0.03560637165104548, 0.019896138666037465, 0.018503685220953473, 0.03667625709040996, 0.024318371497865723, 0.029258190184111077, 0.022027221488912507, 0.024149488315936895, 0.03477186091607836, 0.027583783342957465, 0.030557710765069666, 0.012247609569671658, 0.02135220345047828, 0.028999599564165868, 0.027358526094874106, 0.006033647741422167, 0.033906022027298775, 0.038152354881790106, 0.015973497975786573, 0.021245084112662994, 0.029434931012197935, 0.020056898392590027, 0.020263632907700717, 0.031066295094701605, 0.037427597893604114, 0.030362588509595407, 0.020635601847770683, 0.03820644442723237, 0.028121762775590062, 0.03981536504450543, 0.04669993639448519, 0.028928544059472153, 0.028561075988510796, 0.010064250597697147, 0.019277404259660562, 0.02700397054240969, 0.007285799049672505, 0.02270645116250189, 0.041111458979581746, 0.022688531117258874, 0.014230737982028951, 0.028774740159866686, 0.019525410924703966, 0.017279129752631756, 0.034263602769074857, 0.036286623047431646, 0.03660112587511353, 0.0354752645530996, 0.022618067548753288, 0.029685374091145966, 0.022789115320314243, 0.031773899508656396, 0.02828274730397504, 0.015307772536707084, 0.028063607881792307, 0.03348240405140736, 0.03507552262325227, 0.027432822760248523, 0.01678987152730859, 0.014578605957192774, 0.028742038638382737, 0.027535004459413107, 0.01809828065073793, 0.022928187307508178, 0.021815478877950347, 0.02277958668073059, 0.04216576947109672, 0.02530623252527538, 0.03472035772294865, 0.0284921023303603, 0.01837933105186831, 0.029954949258604265, 0.020737556516524494, 0.028256165499869153, 0.03311493410440075, 0.025060454322371126, 0.032971072454092726, 0.027239993009195, 0.01476384138528454, 0.015246292378862965, 0.018809923793377658, 0.013486759411152877, 0.03456401629820517, 0.02212788763140342, 0.019767444976397645, 0.034495599819363024, 0.02383015009632734, 0.025756578112991504, 0.02803563110288529, 0.017645454493523356, 0.02194567780952911, 0.02995947588683332, 0.03474366791187559, 0.0249113952942045, 0.026005011795201437, 0.028891769093210045, 0.017569900985776595, 0.025260950236755085, 0.035274462747731314, 0.03634337665640916, 0.026081742207135918, 0.04378041078295725, 0.03105289119356996, 0.03436402490485123, 0.0235614731724945, 0.03154557688865438, 0.029614618313377895, 0.028611013747583132, 0.02652236792569418, 0.025423977815600376, 0.02770180818801158, 0.03858642845271526, 0.025062002172724536, 0.021400411119165054, 0.022595077271300633, 0.024172203109040828, 0.033716944924524116, 0.020584837029205376, 0.02844434196533983, 0.031363922288581196, 0.021769845614641653, 0.04283830079310363, 0.022667232451029157, 0.012798829455030868, 0.017379273858481824, 0.019488648371331685, 0.014621126570038018, 0.023114540461681925, 0.040464441163061415, 0.02399108635965379, 0.029974970992073482, 0.03853541760782308, 0.01907158797040505, 0.03182098780831846, 0.021769995104985937, 0.0238461999902269, 0.031074593936056806, 0.02712147602494173, 0.027816191992324296, 0.02696472883862424, 0.03894215582572373, 0.03092078517261791, 0.03582577563681736, 0.025219017856235173, 0.041372883097999476, 0.02304959960013036, 0.03163987677990249, 0.030181468108271825, 0.0258086525173462, 0.014663358773082957, 0.027261294811738175, 0.03766392168928071, 0.03410344566420483, 0.03411541057881713, 0.018660832107196195, 0.026733040952505234, 0.024407195031992488, 0.026385179139521542, 0.02173215055526238, 0.03297125704722336, 0.034389538445444075, 0.03982301801928828, 0.017836588730580298, 0.024208852110999837, 0.029819825419282294, 0.016247846848447215, 0.016829562798179484, 0.03277534615654071, 0.020891519799276465, 0.01943146484749979, 0.01634114332422165, 0.020945220041060426, 0.02428457724353619, 0.016186403828674836, 0.02259388267630878, 0.020185071618862318, 0.03316800067898019, 0.03193640080711082, 0.013601980739431604, 0.03661998636964619, 0.02363891473557929, 0.02553322067959781, 0.026875739485377508, 0.027777398982199903, 0.023824335044367137, 0.02341805291084376, 0.03812598773439622, 0.025645335870320494, 0.04592459759806693, 0.025952305694521234, 0.016282470372705474, 0.02399893802773723, 0.01656593337102186, 0.030564556988968296, 0.028072986966656156, 0.05103697490408572, 0.03271252075791496, 0.026577554697116323, 0.018889858231159004, 0.028184197651632575, 0.026849599013672856, 0.023855802314825314, 0.019656213999732473, 0.018680473701291292, 0.029553920776509427, 0.029864752322483704, 0.0355965598412866, 0.024796295575734532, 0.03539279462478833, 0.035087781200984325, 0.011979858535148439, 0.03571051552950848, 0.01476711772181439, 0.017779630271522004, 0.01945041771758447, 0.027101054089837498, 0.02832323080008899, 0.016121803374917466, 0.030713176587050573, 0.028318233436419638, 0.028465644194859818, 0.032930635301242045, 0.020586373724592898, 0.04103329413071393, 0.015854734810048312, 0.0328057556558214, 0.009134695240526724, 0.047318666520482465, 0.023081935136041485, 0.013415593416519413, 0.019044235736728147, 0.044049920370236514, 0.030211678049708708, 0.02370892242410825, 0.024555691504924006, 0.039889540175853666, 0.023240720601402705, 0.03264753899627413, 0.03467712225878695, 0.014023676516358245, 0.031482200504345574, 0.025809726792598905, 0.024295418544159734, 0.01922509505325557, 0.0297674527975811, 0.021117705536166844, 0.022978342952683962, 0.04187230916846663, 0.011827398045719442, 0.022217098357688314, 0.022401524975312243, 0.04437862360572884, 0.024911810580462074, 0.03886376181346438, 0.034346746774560344, 0.025878752832776096, 0.022383751779874103, 0.04227154349146299, 0.015911839507445968, 0.03748592375742181, 0.016246020205160715, 0.0360302931243659, 0.03085045938072616, 0.026963639115735648, 0.013830482279837674, 0.03619087050192346, 0.02006585544367843, 0.024437680848375217, 0.04348481524005359, 0.01401394311208554, 0.027480165381139298, 0.032198002579952985, 0.0279550382272855, 0.027578224568489483, 0.032249471299177816, 0.02539653922652341, 0.03201027659288402, 0.011971076778456323, 0.022046467438806356, 0.022181586134361317, 0.030820250510478472, 0.026099953795867253, 0.025321841910192662, 0.03689612727753994, 0.044703798511665394, 0.01745398236114125, 0.024131808307040994, 0.024528193070779584, 0.027739085645663346, 0.028564715314484734, 0.034340206536359205, 0.01082521332097259, 0.02464377876828784, 0.021448234826460265, 0.014091420545730107, 0.01924611375839733, 0.028931161301670383, 0.025894173863642577, 0.02832285517386703, 0.02275824285501921, 0.029232383043643523, 0.03567279207730282, 0.0458286784155088, 0.04073039204744487, 0.032767532450665944, 0.033888568678051095, 0.018201534960097108, 0.03366065559263777, 0.023104811818104247, 0.03145889598999617, 0.009867125357099923, 0.013556488152243248, 0.029546663357298355, 0.03394163991707542, 0.024497067127887667, 0.023500369982922827, 0.0278278917486426, 0.035400223421774374, 0.027006847434231502, 0.02238648312185699, 0.010479253247327727, 0.034505291152808926, 0.03341016038488475, 0.05728395421026979, 0.026825141603599948, 0.026656060452226283, 0.030811983404437766, 0.016074209634200826, 0.01968957200188111, 0.021024879507890847, 0.02577893555968346, 0.02990955463633065, 0.02587691315824344, 0.035510401976286424, 0.03287876150784354, 0.028843709501714422, 0.01444123947151885, 0.03034577314845859, 0.021674414801898793, 0.019000850447607225, 0.02328565970826348, 0.03253339621313459, 0.026015630311501968, 0.04991840786145578, 0.017189769466773898, 0.016071833662718076, 0.023271318055489005, 0.03439632280079555, 0.020444100849343966, 0.021794545261184455, 0.024518123685622818, 0.026734699657266, 0.022784818535833067, 0.021216719682091295, 0.019584226779794156, 0.03311164715290497, 0.021973806967251756, 0.01931391615716789, 0.02972609706700527, 0.03045599427026047, 0.03521738161477522, 0.015037276322224177, 0.030981559081246272, 0.02248888366079382, 0.040759245696871706, 0.016502698374952267, 0.012029526826783484, 0.03461000282247482, 0.03513009484411442, 0.03555636957155557, 0.014745440634596535, 0.032969669571896246, 0.039912338797354494, 0.034153188063763475, 0.020738618518367172, 0.0206600281137195, 0.03476393576092033, 0.025003454504446573, 0.025556227183390557, 0.011564732982417251, 0.01265680541173937, 0.029504566221530453, 0.017098963131236197, 0.015253020906903749, 0.021709883349440077, 0.018482533139618458, 0.02611690950964186, 0.026496428872883164, 0.044252968715418485, 0.03976574358074301, 0.026359175930111427, 0.031431983249890744, 0.016192667836695967, 0.04556822870461493, 0.027036037267995205, 0.02350654851274231, 0.016868150758150933, 0.031152157535022852, 0.028323062924648593, 0.02582524377650274, 0.020719479339467474, 0.029499063730265264, 0.01902812508478093, 0.03488935965971265, 0.03784693746823504, 0.017115834924424565, 0.0281253222338468, 0.03333770278052113, 0.019272581962194228, 0.01764916326849536, 0.034580264994048024, 0.02762255340720956, 0.01206755586015346, 0.027350799317624925, 0.025284049017777963, 0.01905877958552157, 0.025476067637156295, 0.03823654133411867, 0.02320883729403338, 0.02786055740940995, 0.031101461904751767, 0.015970819489402304, 0.032827214240576254, 0.025127292560057378, 0.016568745709450237]]}} \ No newline at end of file diff --git a/output/code2code-trans/metrics.json b/output/code2code-trans/metrics.json index a63b24b..eeacd03 100644 --- a/output/code2code-trans/metrics.json +++ b/output/code2code-trans/metrics.json @@ -1 +1 @@ -{"case_count": 100, "results": {"em": {"prompt0": [0.0, 0.0, 0.0, 0.0], "prompt1": [0.0, 0.0, 0.0, 0.0], "prompt2": [0.0, 0.0, 0.0, 0.0], "prompt3": [0.0, 0.0, 0.0, 0.0]}, "bleu": {"prompt0": [0.14744789748224357, 0.12727270151090614, 0.1393528404051602, 0.14905405884515543], "prompt1": [0.12117556664357497, 0.0718618269678404, 0.06927247251551676, 0.1428896349232126], "prompt2": [0.08860709274190968, 0.03637304434009434, 0.008308461926085538, 0.02466904576809074], "prompt3": [0.015706555118775244, 0.020436617309708652, 0.020881900494266446, 0.02689716575735942]}, "codebleu-cs": {"prompt0": [0.22905727956582494, 0.23617902012442155, 0.2613782829466277, 0.26818107073706954], "prompt1": [0.19402742458113337, 0.15936101249631518, 0.18051152500315965, 0.26547690149663683], "prompt2": [0.18166417631938353, 0.09415470281717575, 0.03251950621663942, 0.06503135542869536], "prompt3": [0.07928639158475127, 0.08881636926079384, 0.08986404204424117, 0.10575441586271458]}}} \ No newline at end of file +{"case_count": 100, "results": {"em": {"prompt0": [0.0, 0.0, 0.0, 0.0], "prompt1": [0.0, 0.0, 0.0, 0.0], "prompt2": [0.0, 0.0, 0.0, 0.0], "prompt3": [0.0, 0.0, 0.0, 0.0], "prompt4": [0.0, 0.0, 0.0, 0.0]}, "bleu": {"prompt0": [0.14744789748224357, 0.12727270151090614, 0.1393528404051602, 0.14905405884515543], "prompt1": [0.12117556664357497, 0.0718618269678404, 0.06927247251551676, 0.1428896349232126], "prompt2": [0.08860709274190968, 0.03637304434009434, 0.008308461926085538, 0.02466904576809074], "prompt3": [0.12950326298150572, 0.1217671970249805, 0.11636460025696847, 0.12809497381086776], "prompt4": [0.07166091662227538, 0.1021041026142536, 0.0993892353238927, 0.1029306162766804]}, "codebleu-cs": {"prompt0": [0.2286190674711711, 0.23661723221907538, 0.2607209648046469, 0.26818107073706954], "prompt1": [0.1935892124864796, 0.15958011854364207, 0.17963510081385203, 0.26547690149663683], "prompt2": [0.18144507027205664, 0.09481202095915646, 0.03295771831129324, 0.06459314333404155], "prompt3": [0.2168927246110565, 0.2186657990926788, 0.23695721447989634, 0.25288623768046614], "prompt4": [0.1991849648815438, 0.18156185152262655, 0.15509100253937574, 0.18656894207313873]}}} \ No newline at end of file diff --git a/output/code2code-trans/prompt1/.ipynb_checkpoints/codegen1-multi-16B-checkpoint.output b/output/code2code-trans/prompt1/.ipynb_checkpoints/codegen1-multi-16B-checkpoint.output new file mode 100644 index 0000000..b9d9546 --- /dev/null +++ b/output/code2code-trans/prompt1/.ipynb_checkpoints/codegen1-multi-16B-checkpoint.output @@ -0,0 +1,100 @@ +public void deserialize(LittleEndianInput in) {field_1_vcenter = in.readShort();} +public void addAll(BlockList src) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdx < src.tailDirIdx; srcDirIdx++)addAll(src.directory[srcDirIdx], 0, BLOCK_SIZE);if (src.tailBlkIdx!= 0)addAll(src.tailBlock, 0, src.tailBlkIdx);} +public void writeByte(byte b) {if (upto == blockSize) {if (currentBlock!= null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}currentBlock[upto++] = b;} +public ObjectId getObjectId() { return objectId; } +public DeleteDomainEntryResult deleteDomainEntry(DeleteDomainEntryRequest request) {request = beforeClientExecution(request);return executeDeleteDomainEntry(request);} +public long ramBytesUsed() {return ((termOffsets!=null)? termOffsets.ramBytesUsed() : 0) +((termsDictOffsets!=null)? termsDictOffsets.ramBytesUsed() : 0);} +public final String getFullMessage() {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return ""; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);} +public POIFSFileSystem(boolean create) { +public void init(int address) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice!= null;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;} +public SubmoduleAddCommand setPath(String path) {this.path = path;return this;} +public ListIngestionsResult listIngestions(ListIngestionsRequest request) {request = beforeClientExecution(request);return executeListIngestions(request);} +public QueryParserTokenManager(CharStream stream){this(stream, 0);} +public GetShardIteratorResult getShardIterator(GetShardIteratorRequest request) {request = beforeClientExecution(request);return executeGetShardIterator(request);} +public ModifyStrategyRequest(String name, String description) { +public class InputStreamReader { +public EscherOptRecord getOptRecord() {return _optRecord;} +public synchronized int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (byte) this.buffer.charAt(pos + i);}pos += copylen;return copylen;} +public OpenNLPSentenceBreakIterator(NLPSentenceDetectorOp sentenceOp) {this.sentenceOp = sentenceOp;} +public void print(String str) {write(str!= null? str : String.valueOf((Object) null));} +public NotImplementedFunctionException(String functionName, NotImplementedException cause) {super(functionName, cause);this.functionName = functionName;} +public V next() { return super.nextEntry().getValue(); } +public final void readBytes(byte[] b, int offset, int len) throws IOException { +public TagQueueResult tagQueue(TagQueueRequest request) {request = beforeClientExecution(request);return executeTagQueue(request);} +public void remove() {throw new UnsupportedOperationException();} +public CacheSubnetGroup modifyCacheSubnetGroup(String cacheSubnetGroupName, String subnetIds) {request = new ModifyCacheSubnetGroupRequest();request.setCacheSubnetGroupName(cacheSubnetGroupName);request.setSubnetIds(subnetIds);return executeModifyCacheSubnetGroup(request);} +public void setParams(String params) {super.setParams(params);language = country = variant = "";StringTokenizer st = new StringTokenizer(params, ",");if (st.hasMoreTokens())language = st.nextToken();if (st.hasMoreTokens())country = st.nextToken();if (st.hasMoreTokens())variant = st.nextToken();} +public DeleteDocumentationVersionResult deleteDocumentationVersion(DeleteDocumentationVersionRequest request) {request = beforeClientExecution(request);return executeDeleteDocumentationVersion(request);} +public boolean equals(Object obj) {if (!(obj instanceof FacetLabel)) {return false;}FacetLabel other = (FacetLabel) obj;if (length!= other.length) {return false; }for (int i = length - 1; i >= 0; i--) {if (!components[i].equals(other.components[i])) {return false;}}return true;} +public GetInstanceAccessDetailsResult getInstanceAccessDetails(GetInstanceAccessDetailsRequest request) {request = beforeClientExecution(request);return executeGetInstanceAccessDetails(request);} +public HSSFPolygon createPolygon(HSSFChildAnchor anchor) {HSSFPolygon shape = new HSSFPolygon(this, anchor);shape.setParent(this);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;} +public String getSheetName(int sheetIndex) {return getBoundSheetRec(sheetIndex).getSheetname();} +public GetDashboardResult getDashboard(GetDashboardRequest request) {request = beforeClientExecution(request);return executeGetDashboard(request);} +public AssociateSigninDelegateGroupsWithAccountResult associateSigninDelegateGroupsWithAccount(AssociateSigninDelegateGroupsWithAccountRequest request) {request = beforeClientExecution(request);return executeAssociateSigninDelegateGroupsWithAccount(request);} +public void addMultipleBlanks(MulBlankRecord mbr) {for (int j = 0; j < mbr.getNumColumns(); j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}} +public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append("\\Q");int apos = 0;int k;while ((k = string.indexOf("\\E", apos)) >= 0) {sb.append(string.substring(apos, k + 2)).append("\\\\E\\Q");apos = k + 2;}return sb.append(string.substring(apos)).append("\\E").toString();} +public int getInt() {throw new ReadOnlyBufferException();} +public ArrayPtg(Object[] values) {int nColumns = values.length;int nRows = 1;_nColumns = (short) nColumns;_nRows = (short) nRows;Object[] vv = new Object[_nColumns * _nRows];for (int r=0; r= start) {return iterator.previous();}throw new NoSuchElementException();} +public String getNewPrefix() {return this.newPrefix;} +public int indexOfValue(int value) { +public List uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;} +public GetGatewayResponsesResult getGatewayResponses(GetGatewayResponsesRequest request) {request = beforeClientExecution(request);return executeGetGatewayResponses(request);} +public void setPosition(long pos) {currentBlockIndex = (int) (pos >> blockBits);currentBlock = blocks[currentBlockIndex];currentBlockUpto = (int) (pos & blockMask);} +public long skip(long n) {int s = (int) Math.min(available(), Math.max(0, n));ptr += s;return s;} +public BootstrapActionDetail(BootstrapActionConfig bootstrapActionConfig) {setBootstrapActionConfig(bootstrapActionConfig);} +public void deserialize(LittleEndianInput in) { +public int lastIndexOf(String string, int start) {return lastIndexOf(string, start, count);} +public boolean add(E object) {return addLastImpl(object);} +public void unsetSection(String section, String subsection) {ConfigSnapshot src, res;do {src = state.get();res = unsetSection(src, section, subsection);} while (!state.compareAndSet(src, res));} +public final String getTagName() {return tagName;} +public void addSubRecord(SubRecord element) {subrecords.add(element);} +public boolean remove(Object o) { +public class DoubleMetaphoneFilter extends TokenFilter { +public long length() {return inCoreLength();} +public void setValue(boolean newValue) {value = newValue;} +public Pair(ContentSource oldSource, ContentSource newSource) {this.oldSource = oldSource;this.newSource = newSource;} +public int get(int i) {if (count <= i)throw new ArrayIndexOutOfBoundsException(i);return entries[i];} +public CreateRepoRequest(String name) {super("cr", "2016-06-07", "CreateRepo", "cr");setUriPattern("/repos");setMethod(MethodType.PUT);setBodyParameter("name", name);} +public boolean isDeltaBaseAsOffset() {return deltaBaseAsOffset;} +public void remove() {if (expectedModCount == list.modCount) {if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastLink == link) {pos--;}link = previous;lastLink = null;expectedModCount++;list.size--;list.modCount++;} else {throw new IllegalStateException();}} else {throw new ConcurrentModificationException();}} +public MergeShardsResult mergeShards(MergeShardsRequest request) {request = beforeClientExecution(request);return executeMergeShards(request);} +public AllocateHostedConnectionResult allocateHostedConnection(AllocateHostedConnectionRequest request) {request = beforeClientExecution(request);return executeAllocateHostedConnection(request);} +public int getBeginIndex() {return start;} +public static final WeightedTerm[] getTerms(Query query, boolean ignoreCase){ +public byte[] toByteArray() {throw new ReadOnlyBufferException();} +public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++] = byte2 & 63;}} +public String getHumanishName() throws IllegalArgumentException {String s = getPath();if ("/".equals(s) || "".equals(s)) s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if ("file".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split("[\\" + File.separatorChar + "/]"); elseelements = s.split("/+"); if (elements.length == 0)throw new IllegalArgumentException();String result = elements[elements.length - 1];if (Constants.DOT_GIT.equals(result))result = elements[elements.length - 2];else if (result.endsWith(Constants.DOT_GIT_EXT))result = result.substring(0, result.length()- Constants.DOT_GIT_EXT.length());return result;} +public static DescribeNotebookInstanceLifecycleConfigResult executeDescribeNotebookInstanceLifecycleConfig(DescribeNotebookInstanceLifecycleConfigRequest describeNotebookInstanceLifecycleConfigRequest) { +public String getAccessKeySecret() {return this.accessKeySecret;} +public CreateVpnConnectionResult createVpnConnection(CreateVpnConnectionRequest request) {request = beforeClientExecution(request);return executeCreateVpnConnection(request);} +public DescribeVoicesResult describeVoices(DescribeVoicesRequest request) {request = beforeClientExecution(request);return executeDescribeVoices(request);} +public ListMonitoringExecutionsResult listMonitoringExecutions(ListMonitoringExecutionsRequest request) {request = beforeClientExecution(request);return executeListMonitoringExecutions(request);} +public DescribeJobRequest(String vaultName, String jobId) {setVaultName(vaultName);setJobId(jobId);} +public EscherRecord getEscherRecord(int index){return escherRecords.get(index);} +public GetApisResult getApis(GetApisRequest request) {request = beforeClientExecution(request);return executeGetApis(request);} +public DeleteSmsChannelResult deleteSmsChannel(DeleteSmsChannelRequest request) {request = beforeClientExecution(request);return executeDeleteSmsChannel(request);} +public TrackingRefUpdate getTrackingRefUpdate() {return trackingRefUpdate;} +public void print(boolean b) {print(String.valueOf(b));} +public QueryNode getChild() {return getChildren().get(0);} +public NotIgnoredFilter(int workdirTreeIndex) {this.index = workdirTreeIndex;} +public AreaRecord(short formatFlags) {field_1_formatFlags = formatFlags;} +public GetThumbnailRequest(String accessToken) {super("CloudPhoto", "2017-07-11", "GetThumbnail", "cloudphoto");setAccessToken(accessToken);} +public DescribeTransitGatewayVpcAttachmentsResult describeTransitGatewayVpcAttachments(DescribeTransitGatewayVpcAttachmentsRequest request) { +public PutVoiceConnectorStreamingConfigurationResult putVoiceConnectorStreamingConfiguration(PutVoiceConnectorStreamingConfigurationRequest request) {request = beforeClientExecution(request);return executePutVoiceConnectorStreamingConfiguration(request);} +public OrdRange getOrdRange(String dim) {return prefixToOrdRange.get(dim);} +public String toString() {String symbol = "";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), "%s('%s')", LexerNoViableAltException.class.getSimpleName(), symbol);} +public E peek() {return peekFirstImpl();} +public CreateWorkspacesResult createWorkspaces(CreateWorkspacesRequest request) {request = beforeClientExecution(request);return executeCreateWorkspaces(request);} +public NumberFormatIndexRecord clone() {return copy();} diff --git a/output/code2code-trans/prompt1/.ipynb_checkpoints/codegen1-multi-2B-checkpoint.output b/output/code2code-trans/prompt1/.ipynb_checkpoints/codegen1-multi-2B-checkpoint.output new file mode 100644 index 0000000..c9ff114 --- /dev/null +++ b/output/code2code-trans/prompt1/.ipynb_checkpoints/codegen1-multi-2B-checkpoint.output @@ -0,0 +1,100 @@ +public int getNumberOfRecords() +public void addAll(BlockList src, int srcDirIdx, int srcBlkIdx) {if (srcBlkIdx == 0)return;int srcDirIdx2 = srcDirIdx + 1;for (; srcDirIdx2 < src.tailDirIdx; srcDirIdx2++)addAll(src.directory[srcDirIdx2], srcDirIdx, srcBlkIdx);if (src.tailBlkIdx!= 0)addAll(src.tailBlock, srcDirIdx, srcBlkIdx);} +public void writeChar(char c) {if (upto == blockSize) {if (currentBlock!= null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}currentBlock[upto++] = (byte)(c >>> 8);currentBlock[upto++] = (byte)(c);} +public void setObjectId(ObjectId objectId) {this.objectId = objectId;} + +public long ramBytesUsed() {return ((termOffsets!=null)? termOffsets.ramBytesUsed() : 0) +((termsDictOffsets!=null)? termsDictOffsets.ramBytesUsed() : 0);} +public final String getFullMessage() {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return ""; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);} +public POIFSFileSystem(boolean create) { +public void next() { +public SubmoduleAddCommand setPath(Path path) {this.path = path;return this;} + +public QueryParserTokenManager(CharStream stream){ +}//CodeClient +public ModifyStrategyRequest(String requestBody) throws IOException { +public boolean ready() throws IOException {synchronized (lock) {if (in == null) {throw new IOException("InputStreamReader is closed");}try {return bytes.hasRemaining() || in.available() > 0;} catch (IOException e) {return false;}}} +public void setOptRecord(EscherOptRecord optRecord) {_optRecord = optRecord;} +public synchronized int read(char[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = this.buffer.charAt(pos + i);}pos += copylen;return copylen;} +public void setSentenceDetector(NLPSentenceDetectorOp sentenceOp) {this.sentenceOp = sentenceOp;} +public void print(int i) {write(String.valueOf(i));} +public NotImplementedFunctionException(String functionName, NotImplementedException cause, String message) {super(functionName, cause, message);this.functionName = functionName;} +public V next() {return super.nextEntry().getValue();} +public final void readBytes(byte[] b) throws IOException {readBytes(b, 0, b.length);} +}//CodeClient +public void remove(int index) {throw new UnsupportedOperationException();} +}//CacheSubnetGroupClient +public void setParams(String params, String language, String country, String variant) {super.setParams(params);this.language = language;this.country = country;this.variant = variant;} +public DeleteDocumentationVersionResult executeDeleteDocumentationVersion(DeleteDocumentationVersionRequest request) { +public FacetLabel(String... components) {this.components = components; this.length = components.length; } +// GetInstanceAccessDetailsResult.java +public HSSFChildAnchor createAnchor() {return new HSSFChildAnchor(this);} +public int getSheetIndex(String sheetName) {return getBoundSheetRec(sheetName).getSheetIndex();} +public GetDashboardResult executeGetDashboard(GetDashboardRequest request) { +public AssociateSigninDelegateGroupsWithAccountResult executeAssociateSigninDelegateGroupsWithAccount(AssociateSigninDelegateGroupsWithAccountRequest request) { +public void addMultipleBlanks(MulBlankRecord mbr) {for (int j = 0; j < mbr.getNumColumns(); j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}} +public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append("\\Q");int apos = 0;int k;while ((k = string.indexOf("\\E", apos)) >= 0) {sb.append(string.substring(apos, k + 2)).append("\\\\E\\Q");apos = k + 2;}return sb.append(string.substring(apos)).append("\\E").toString();} +public ByteBuffer putInt(int index, int value) {throw new ReadOnlyBufferException();} +public ArrayPtg(Object[][] values2d, int nColumns, int nRows) {_nColumns = (short) nColumns;_nRows = (short) nRows;_arrayValues = values2d;_reserved0Int = 0;_reserved1Short = 0;_reserved2Byte = 0;} + +public String getValueAsString() {return value;} +public String toString() {return "ToChildBlockJoinQuery ("+parentQuery.toString()+")";} +public final void decRef() { +}//ConfigurationService +public int getNextXBATChainOffset() {return getXBATEntriesPerBlock() * LittleEndianConsts.INT_SIZE;} +public void multiplyByPowerOfTen(int pow10) {TenPower tp = TenPower.getInstance(Math.abs(pow10));if (pow10 < 0) {mulShift(tp._divisor, tp._divisorShift);} else {mulShift(tp._multiplicand, tp._multiplierShift);}} +public String toString(){final StringBuilder b = new StringBuilder();final int l = length();b.append(File.separatorChar);for (int i = 0; i < l; i++){b.append(getComponent(i));if (i < l - 1){b.append(File.separatorChar);}}return b.toString();} +public InstanceProfileCredentialsProvider withRoleName(String roleName) {this.roleName = roleName;return this;} +public void setProgressMonitor(ProgressMonitor pm, int max) {progressMonitor = pm;} +public void reset(String file) {if (!first()) {ptr = 0;if (!eof())parseEntry(file);}} +public E previous() {if (iterator.previousIndex() >= start) {return iterator.previous();}throw new NoSuchElementException();} +public String getNewSuffix() {return this.newSuffix;} +public int indexOfValue(int value) {for (int i = 0; i < mSize; i++)if (mValues[i] == value)return i;return -1;} +public List uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;} +public GetGatewayResponsesResult executeGetGatewayResponses(GetGatewayResponsesRequest request) { +public void setPosition(long pos, int blockIndex) {currentBlockIndex = blockIndex;currentBlock = blocks[currentBlockIndex];currentBlockUpto = (int) (pos & blockMask);} +public long available() {return buf.length - ptr;} +public BootstrapActionConfig getBootstrapActionConfig() { +// code.java.template +public int lastIndexOf(String string, int count) { +public boolean add(E object) {return addFirstImpl(object);} +public void unsetSection(ConfigSnapshot src, String section, String subsection) { +public final String getTagName(String ns) {return ns+tagName;} +public void addSubRecord(SubRecord element) {subrecords.add(element);} +public boolean removeAll(Collection c) {synchronized (mutex) {return delegate().removeAll(c);}} +public DoubleMetaphoneFilter create(TokenStream input, int maxCodeLength, boolean inject) {return new DoubleMetaphoneFilter(input, maxCodeLength, inject);} +public long inCoreLength() { +public void setValue(char newValue) {value = newValue;} +public ContentSource getOldSource() {return oldSource;} +public void set(int i, int val) {if (count <= i)throw new ArrayIndexOutOfBoundsException(i);entries[i] = val;} +public CreateRepoRequest(String name) {super("cr", "2016-06-07", "CreateRepo", "cr");setUriPattern("/repos");setMethod(MethodType.PUT);setName(name);} +public boolean isDeltaBaseAsOffset() {return deltaBaseAsOffset;} +public void add(ET e) {if (expectedModCount == list.modCount) {if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastLink == link) {pos--;}link = previous;lastLink = null;expectedModCount++;list.size++;list.modCount++;} else {throw new IllegalStateException();}} else {throw new ConcurrentModificationException();}} +// code.java + +public int getEndIndex() {return end;} +public static final WeightedTerm[] getTerms(Query query,boolean sort){ +public ByteBuffer compact(int start, int end) {throw new ReadOnlyBufferException();} + +public String getPath() throws IllegalArgumentException {String s = getHost();if (s == null) throw new IllegalArgumentException();return s;} +public DescribeNotebookInstanceLifecycleConfigResult executeDescribeNotebookInstanceLifecycleConfig(DescribeNotebookInstanceLifecycleConfigRequest request) { +public String getAccessKeyID() {return this.accessKeyID;} +// CreateVpnGatewayResult.java + + +public DescribeJobRequest(String vaultName, String jobId, String vaultName2, String jobId2) {setVaultName(vaultName);setJobId(jobId);setVaultName2(vaultName2);setJobId2(jobId2);} +public EscherRecord getEscherRecord(int index){return escherRecords.get(index);} +public GetApisResult executeGetApis(GetApisRequest request) { + +public void setTrackingRefUpdate(TrackingRefUpdate trackingRefUpdate) {this.trackingRefUpdate = trackingRefUpdate;} +public void print(char c) {print(String.valueOf(c));} +public void setChild(QueryNode child) {getChildren().set(0, child);} +public void filter(File file) { +public AreaRecord() { +public GetThumbnailRequest(String photoId) {super("CloudPhoto", "2017-07-11", "GetThumbnail", "cloudphoto");setPhotoId(photoId);} +public DescribeTransitGatewayVpcAttachmentsResult executeDescribeTransitGatewayVpcAttachments(DescribeTransitGatewayVpcAttachmentsRequest request) { + +public OrdRange getOrdRange(String dim, String prefix) {return prefixToOrdRange.get(dim).get(prefix);} +public String toString() {String symbol = "";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), "%s('%s')", LexerNoViableAltException.class.getSimpleName(), symbol);} +public E peekFirst() {return peekFirstImpl();} + +public NumberFormatIndexRecord copy() { diff --git a/output/code2code-trans/prompt1/.ipynb_checkpoints/codegen1-multi-350M-checkpoint.output b/output/code2code-trans/prompt1/.ipynb_checkpoints/codegen1-multi-350M-checkpoint.output new file mode 100644 index 0000000..9f43878 --- /dev/null +++ b/output/code2code-trans/prompt1/.ipynb_checkpoints/codegen1-multi-350M-checkpoint.output @@ -0,0 +1,100 @@ +public void deserialize(ByteBuffer in) {field_1_vcenter = in.readShort();} +public void addAll(BlockList src, int start, int end) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdx < src.tailDirIdx; srcDirIdx++)addAll(src.directory[srcDirIdx], start, end);if (src.tailBlkIdx!= 0)addAll(src.tailBlock, start, end);} +public void writeShort(short s) {if (upto == blockSize) {if (currentBlock!= null) {addBlock(currentBlock);}currentBlock = new short[blockSize];upto = 0;}currentBlock[upto++] = s;} +public void setObjectId(ObjectId objectId) {this.objectId = objectId;} +// code.java +public long getTermOffsets() {return termOffsets;} +public final String getFullMessage(int msgB) {byte[] raw = buffer;int msgB2 = RawParseUtils.tagMessage(raw, msgB);if (msgB2 < 0) {return ""; }return RawParseUtils.decode(guessEncoding(), raw, msgB2, raw.length);} +public POIFSFileSystem(boolean b) {this(b, true);_header.setBATCount(1);_header.setBATArray(new int[]{1});BATBlock bb = BATBlock.createEmptyBATBlock(bigBlockSize, false);bb.setOurBlockIndex(1);_bat_blocks.add(bb);setNextBlock(0, POIFSConstants.END_OF_CHAIN);setNextBlock(1, POIFSConstants.FAT_SECTOR_BLOCK);_property_table.setStartBlock(0);} +public void init(int address, int length) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice!= null;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;assert upto < slice.length;} +public SubmoduleAddCommand(String path) {this.path = path;return this;} +// code.java +public static final String[] lexStateNames = { +// code.java +public ModifyStrategyRequest(String aegis, String date, String method, String value) {super(aegis, date, method, value);setMethod(MethodType.POST);} +public int read() throws IOException {synchronized (lock) {if (in == null) {throw new IOException("InputStreamReader is closed");}try {return in.read();} catch (IOException e) {return -1;}}} +public void setOptRecord(EscherOptRecord optRecord) { +public synchronized int read() {if (pos >= count) {throw new EOFException();}return (byte) this.buffer.charAt(pos++);} +public void setSentenceDetectorOp(NLPSentenceDetectorOp sentenceOp) {this.sentenceOp = sentenceOp;} +public void print(String str, int i) {write(str!= null? str : String.valueOf((Object) null));} +public NotImplementedException getCause() {return this.cause;} +public void remove() {throw new UnsupportedOperationException();} +public final void readBytes(byte[] b, int offset, int len) throws IOException {int available = bufferLength - bufferPosition;if(len <= available){if(len>0) System.arraycopy(buffer, bufferPosition, b, offset, len);bufferPosition+=len;} else {if(available > 0){System.arraycopy(buffer, bufferPosition, b, offset, available);offset += available;len -= available;bufferPosition += available;}if (useBuffer && len length())throw new EOFException("read past EOF: " + this);readInternal(b, offset, len);bufferStart = after;bufferPosition = 0;bufferLength = 0; }}} +//package com.hazelcast.client.impl.protocol.codec; +public static void main(String[] args) { +//package com.cloud.api; +public String getLanguage() {return language;} +// code.java +public int hashCode() {if (length!= 0) {return components[length - 1].hashCode();}return 0;} +// code.java +public HSSFPolygon createPolygon(HSSFChildAnchor anchor, HSSFChildAnchor anchor2) {HSSFPolygon shape = new HSSFPolygon(this, anchor, anchor2);shape.setParent(this);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;} +public String getSheetName(int sheetIndex, int sheetIndex2) {return getBoundSheetRec(sheetIndex).getSheetname();} +// code.java +// code.java +public void addMultipleBlanks(MulBlankRecord mbr, int row, int col) {for (int j = 0; j < mbr.getNumColumns(); j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(row);br.setXFIndex(mbr.getXFAt(j));insertCell(br);}} +public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append("\\Q");int apos = 0;int k;while ((k = string.indexOf("\\E", apos)) >= 0) {sb.append(string.substring(apos, k + 2)).append("\\\\E\\Q");apos = k + 2;}return sb.append(string.substring(apos)).append("\\E").toString();} +public ByteBuffer putInt(int value, int position) {throw new ReadOnlyBufferException();} +public short getReserved0Int() {return _reserved0Int;} +// @Override +public String getValueAsString() {return value;} +public String toString() {return "ToChildBlockJoinQuery ("+parentQuery.toString()+")";} +public final void decRef() {refCount.decrementAndGet();} +// * @param request +public int getXBATEntriesPerBlock() {return LittleEndianConsts.INT_SIZE;} +public void multiplyByPowerOfTen(int pow10, int divisor) { +public String toString(){final StringBuilder b = new StringBuilder();final int l = length();b.append(File.separatorChar);for (int i = 0; i < l; i++){b.append(getComponent(i));if (i < l - 1){b.append(File.separatorChar);}}return b.toString();} +public InstanceProfileCredentialsProvider withFetcher(ECSMetadataServiceCredentialsFetcher fetcher, String roleName) {this.fetcher = fetcher;this.fetcher.setRoleName(roleName);return this;} +public void setProgressMonitor(ProgressMonitor pm, int max) { +public boolean first() {return ptr == 0;} +public E previous() {if (iterator.previousIndex() >= start) {return iterator.previous();}throw new NoSuchElementException();} +public void setNewPrefix(String newPrefix) {this.newPrefix = newPrefix;} +public int indexOfValue(int value, int start) {for (int i = start; i < mSize; i++)if (mValues[i] == value)return i;} +public List uniqueStems(char word[], int length, boolean ignoreCase) {List stems = stem(word, length, ignoreCase);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;} +// code.java +public void setPosition(int pos) {currentBlockIndex = (int) (pos >> blockBits);currentBlock = blocks[currentBlockIndex];currentBlockUpto = (int) (pos & blockMask);} +public long skip(long n) {int s = (int) Math.min(available(), Math.max(0, n));ptr += s;return s;} +public BootstrapActionDetail(BootstrapActionConfig bootstrapActionConfig, BootstrapActionDetail bootstrapActionDetail) {setBootstrapActionConfig(bootstrapActionConfig);setBootstrapActionDetail(bootstrapActionDetail);} +public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_shapeid = in.readShort();field_6_author.length();field_5_hasMultibyte = in.readByte()==0x01;if (field_5_hasMultibyte) {field_6_author = StringUtil.getUnicodeLE(in);} else {field_6_author = StringUtil.getCompressedUnicode(in);}if (field_7_padding!= null) {field_7_padding.intValue();} } +public int lastIndexOf(String string, int count) { +public boolean addLast(E object) {return addLastImpl(object);} +public ConfigSnapshot unsetSection(ConfigSnapshot src, String section, String subsection) { +public final String getTagName() {return tagName;} +public void addSubRecord(int index, SubRecord element, int subindex) {subrecords.add(index, element);} +public boolean removeAll(Collection c) {synchronized (mutex) {return delegate().removeAll(c);}} +// public DoubleMetaphoneFilter create(TokenStream input, int maxCodeLength, boolean inject) {return new DoubleMetaphoneFilter(input, maxCodeLength, inject);} +public long inCoreLength() {return inCoreLength;} +public boolean getValue() {return value;} +public static void main(String[] args) { +public int get(int i, int j) {if (count <= i)throw new ArrayIndexOutOfBoundsException(i);return entries[i];} +public CreateRepoRequest(String uri, String name, String description, String homepage, String homepageUrl, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos, String homepageUrlTos +public boolean isDeltaBaseAsOffset() {return deltaBaseAsOffset;} +public boolean add(ET e) {if (expectedModCount == list.modCount) {if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastLink == link) {pos++;;}link = previous;lastLink = null;expectedModCount++;list.size++;list.modCount++;}} else {throw new ConcurrentModificationException();}} +// @Override +// * @param request +public int getEndIndex() {return end;} +public static final WeightedTerm[] getTerms(Query query, boolean includeInferred){return getTerms(query,includeInferred,false);} +public ByteBuffer duplicate() {throw new ReadOnlyBufferException();} +public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++] = byte2 & 63;}} +public String getPath() throws IllegalArgumentException {String s = getScheme();if (s == null) throw new IllegalArgumentException();return s;} +// code.java +public String getAccessKeySecret() {return this.accessKeySecret;} +// * @param request +// -------------------------------------------------------------------------------------------------------- +// code.java +public DescribeJobRequest() { +public void setEscherRecord(int index, EscherRecord escherRecord){escherRecords.set(index, escherRecord);} +//package com.example.android.apis; +// file: code.java +public void setTrackingRefUpdate(TrackingRefUpdate trackingRefUpdate) { +public void print(char c) {print(String.valueOf(c));} +public void setChild(QueryNode child) { +public NotIgnoredFilter(int workdirTreeIndex, int workdirIndex) {this.index = workdirTreeIndex;this.workdirIndex = workdirIndex;} +public static final short field_1_formatFlags = (short)0x0000; +public GetThumbnailRequest(String photoId, String thumbnailId) {super("CloudPhoto", "2017-07-11", "GetThumbnail", "cloudphoto");setPhotoId(photoId);setThumbnailId(thumbnailId);setProtocol(ProtocolType.HTTPS);} +// -------------------------------------------------------------------------------------------------------- +// code.java +public OrdRange getOrdRange(String dim, String val) {return prefixToOrdRange.get(dim, val);} +public String toString() {String symbol = "";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), "%s('%s')", LexerNoViableAltException.class.getSimpleName(), symbol);} +public E peekFirst() {return peekFirstImpl();} +// file: code.java +public NumberFormatIndexRecord copy() { diff --git a/output/code2code-trans/prompt1/.ipynb_checkpoints/codegen1-multi-6B-checkpoint.output b/output/code2code-trans/prompt1/.ipynb_checkpoints/codegen1-multi-6B-checkpoint.output new file mode 100644 index 0000000..ab7f93e --- /dev/null +++ b/output/code2code-trans/prompt1/.ipynb_checkpoints/codegen1-multi-6B-checkpoint.output @@ -0,0 +1,100 @@ +public short getVcenter() {return field_1_vcenter;} +public void addAll(BlockList src) { +public void writeBytes(byte[] b, int offset, int length) { +public void setObjectId(ObjectId objectId) {this.objectId = objectId;} +public DeleteDomainEntryResult deleteDomainEntry(String domainName, String domainEntry) { +public long getTermOffsetsSize() {return termOffsets.ramBytesUsed();} +public final String getFullMessage() {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return ""; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);} +public POIFSFileSystem(boolean bigBlockSize) { +public void init(int address, int length) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice!= null;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;assert upto + length <= slice.length;} +public SubmoduleAddCommand setPath(String path) {this.path = path;return this;} +public ListIngestionsResult listIngestions(ListIngestionsRequest request) { +public QueryParserTokenManager(CharStream stream){ +public GetShardIteratorResult getShardIterator(String streamName, String shardId, String shardIteratorType) { +public ModifyStrategyRequest(String id, String name, String description) {super("aegis", "2016-11-11", "ModifyStrategy", "vipaegis");setMethod(MethodType.POST);setId(id);setName(name);setDescription(description);} +public void close() throws IOException {synchronized (lock) {if (in!= null) {in.close();}} +public EscherClientDataRecord getClientDataRecord() {return _clientDataRecord;} +public synchronized int read(char[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (char) this.buffer.charAt(pos + i);}pos += copylen;return copylen;} +public OpenNLPSentenceBreakIterator(NLPSentenceDetectorOp sentenceOp, String language) {this.sentenceOp = sentenceOp; this.language = language;} +public void print(String str, int n) {write(str!= null? str : String.valueOf((Object) null));} +public NotImplementedFunctionException(String functionName, NotImplementedException cause) {super(functionName, cause);this.functionName = functionName;} +public V next() {return super.nextEntry().getValue();} +public final void readBytes(byte[] b, int offset, int len) throws IOException {readBytes(b, offset, len, true);} +{ +public void remove(int index) {throw new UnsupportedOperationException();} +public CacheSubnetGroup modifyCacheSubnetGroup(String cacheSubnetGroupName, String subnetIds) { +public void setParams(String params) {super.setParams(params);language = country = variant = "";StringTokenizer st = new StringTokenizer(params, ",");if (st.hasMoreTokens())language = st.nextToken();if (st.hasMoreTokens())country = st.nextToken();if (st.hasMoreTokens())variant = st.nextToken();} +public DeleteDocumentationVersionResult deleteDocumentationVersion(DeleteDocumentationVersionRequest deleteDocumentationVersionRequest) { +public boolean equals(FacetLabel other) { +{ +public HSSFPolygon createPolygon(HSSFChildAnchor anchor, HSSFShape parent) {HSSFPolygon shape = new HSSFPolygon(this, anchor, parent);shape.setParent(parent);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;} +public int getSheetIndex(String sheetName) {return getBoundSheetRec(sheetName).getSheetIndex();} +public GetDashboardResult getDashboard(GetDashboardRequest request) { +public AssociateSigninDelegateGroupsWithAccountResult associateSigninDelegateGroupsWithAccount(AssociateSigninDelegateGroupsWithAccountRequest request) { +public void addMultipleBlanks(MulBlankRecord mbr) {for (int j = 0; j < mbr.getNumColumns(); j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}} +public static String quote(String string) {StringBuilder sb = new StringBuilder();int apos = 0;int k;while ((k = string.indexOf("\\", apos)) >= 0) {sb.append(string.substring(apos, k)).append("\\").append("\\Q");apos = k + 1;}return sb.append(string.substring(apos)).append("\\").toString();} +public ByteBuffer putInt(int index, int value) {throw new ReadOnlyBufferException();} +public int getValueIndex(int col, int row) {return ((col * _nRows) + row);} +public GetIceServerConfigResult getIceServerConfig(GetIceServerConfigRequest request) { +public String toString() {return getClass().getName() + " [" +getValueAsString() +"]";} +public String toString() {return "ToChildBlockJoinQuery ("+parentQuery.toString()+")";} +public final void decRef() {refCount.decrementAndGet();} +public UpdateConfigurationSetSendingEnabledResult updateConfigurationSetSendingEnabled(UpdateConfigurationSetSendingEnabledRequest request) { +public int getNextXBATChainOffset(int block) {return getXBATEntriesPerBlock() * LittleEndianConsts.INT_SIZE;} +public void multiplyByPowerOfTen(int pow10) {TenPower tp = TenPower.getInstance(Math.abs(pow10));if (pow10 < 0) {mulShift(tp._divisor, tp._divisorShift);} else {mulShift(tp._multiplicand, tp._multiplierShift);}} +public String toString(){return new String(toCharArray());} +public InstanceProfileCredentialsProvider withFetcher(ECSMetadataServiceCredentialsFetcher fetcher, String roleName) {this.fetcher = fetcher;this.fetcher.setRoleName(roleName);return this;} +public void setProgressMonitor(ProgressMonitor pm) {progressMonitor = pm;} +public void reset() {if (!first()) {ptr = 0;if (!eof())parseEntry();}} +public E previous() {if (iterator.previousIndex() >= start) {return iterator.previous();}throw new NoSuchElementException();} +public String getNewSuffix() {return this.newSuffix;} +public int indexOfValue(int value) { +public List uniqueStems(char[] word, int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;} +public GetGatewayResponsesResult getGatewayResponses(GetGatewayResponsesRequest request) { +public void setPosition(long pos) {currentBlockIndex = (int) (pos >> blockBits);currentBlock = blocks[currentBlockIndex];currentBlockUpto = (int) (pos & blockMask);} +public long skip(long n) {int s = (int) Math.min(available(), Math.max(0, n));ptr += s;return s;} +public BootstrapActionDetail(BootstrapActionConfig bootstrapActionConfig, String id) {setBootstrapActionConfig(bootstrapActionConfig); setId(id);} +public void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(field_4_shapeid);out.writeShort(field_6_author.length());out.writeByte(field_5_hasMultibyte? 0x01 : 0x00);if (field_5_hasMultibyte) {StringUtil.putUnicodeLE(field_6_author, out);} else {StringUtil.putCompressedUnicode(field_6_author, out);}if (field_7_padding!= null) {out.writeByte(field_7_padding.intValue());}} +public int lastIndexOf(String string, int count) { +public boolean add(E object, int index) {return addImpl(object, index);} +public void unsetSection(String section, String subsection) {ConfigSnapshot src, res;do {src = state.get();res = unsetSection(src, section, subsection);} while (!state.compareAndSet(src, res));} +public final String getTagName() {return tagName;} +public void addSubRecord(SubRecord element) {subrecords.add(element);} +public boolean removeAll(Collection c) {synchronized (mutex) {return delegate().removeAll(c);}} +public DoubleMetaphoneFilter create(TokenStream input, int maxCodeLength, boolean inject) {return new DoubleMetaphoneFilter(input, maxCodeLength, inject);} +public long length() {return inCoreLength();} +public void setValue(boolean newValue) {value = newValue;} +public ContentSource getOldSource() {return oldSource;} +public int get(int i) { +public CreateRepoRequest(String name, String description, String homepage, String private_repository, String git_url, String ssh_url, String svn_url, String html_url, String avatar_url, String default_branch, String license, String license_url, String created_at, String updated_at, String pushed_at, String homepage_url, String description_url, String default_branch_url, String default_branch_name, String default_branch_target_url, String default_branch_target_name, String default_branch_target_commit_id, String default_branch_target_sha, String default_branch_target_type, String default_branch_target_url_type, String default_branch_target_branch_name, String default_branch_target_branch_target_url, String default_branch_target_branch_target_url_type, String default_branch_target_branch_target_name, String default_branch_target_branch_target_branch_target_url, String default_branch_target_branch_target_branch_target_url_type, String default_branch_target_branch_target_branch_target_name, String default_branch_target_branch_target_branch_target_branch_target_url, String default_branch_target_branch_target_branch_target_branch_target_url_type, String default_branch_target_branch_target_branch_target_branch_target_name, String default_branch_target_branch_target_branch_target_branch_target_branch_target_url, String default_br +public boolean isDeltaBaseAsOffset() {return deltaBaseAsOffset;} +public void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (index == pos) {pos--;link = previous;lastLink = null;expectedModCount++;list.size--;list.modCount++;} else if (index < pos) {link = link.next;pos--;expectedModCount++;}} else {throw new IllegalStateException();}} else {throw new ConcurrentModificationException();}} +public void mergeShards(MergeShardsRequest request) {request = beforeClientExecution(request);} +public void allocateHostedConnection(AllocateHostedConnectionRequest request) {executeAllocateHostedConnection(request);} +public int getEndIndex() {return end;} +public static final WeightedTerm[] getTerms(Query query, boolean useStopWords){ +public ByteBuffer compact(int start) {throw new ReadOnlyBufferException();} +// public static long[] Decode(byte[] blocks, int blocksOffset, int iterations) +public String getHumanishName() throws IllegalArgumentException {String s = getPath();if ("/".equals(s) || "".equals(s)) s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if ("file".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split("[\\" + File.separatorChar + "/]"); elseelements = s.split("/+"); if (elements.length == 0)throw new IllegalArgumentException();String result = elements[elements.length - 1];if (Constants.DOT_GIT.equals(result))result = elements[elements.length - 2];else if (result.endsWith(Constants.DOT_GIT_EXT))result = result.substring(0, result.length()- Constants.DOT_GIT_EXT.length());return result;} +public DescribeNotebookInstanceLifecycleConfigResult executeDescribeNotebookInstanceLifecycleConfig(DescribeNotebookInstanceLifecycleConfigRequest describeNotebookInstanceLifecycleConfigRequest) { +public String getAccessKeySecret() {return this.accessKeySecret;} +public CreateVpnConnectionResult createVpnConnection(CreateVpnConnectionRequest request) { +public DescribeVoicesResult executeDescribeVoices(DescribeVoicesRequest describeVoicesRequest) { +{ +public DescribeJobRequest(String vaultName, String jobId, String startDate, String endDate) {setVaultName(vaultName);setJobId(jobId);setStartDate(startDate);setEndDate(endDate);} +public int getEscherRecordCount(){return escherRecords.size();} +{ +public DeleteSmsChannelResult deleteSmsChannel(String smsApplicationId) { +public TrackingRefUpdate getTrackingRefUpdate(String trackingRefUpdate) {return trackingRefUpdate == null? null : new TrackingRefUpdate(trackingRefUpdate);} +public void print(char c) {print(String.valueOf(c));} +public QueryNode getChild() {return getChildren().get(0);} +public int getIndex() {return index;} +// public FormatFlags getFormatFlags() { +public GetThumbnailRequest(String email, String id, String photo_id) {super("CloudPhoto", "2017-07-11", "GetThumbnail", "cloudphoto");setProtocol(ProtocolType.HTTPS);setEmail(email);setId(id);setPhoto_id(photo_id);} +public DescribeTransitGatewayVpcAttachmentsResult executeDescribeTransitGatewayVpcAttachments(DescribeTransitGatewayVpcAttachmentsRequest describeTransitGatewayVpcAttachmentsRequest) { +public PutVoiceConnectorStreamingConfigurationResult putVoiceConnectorStreamingConfiguration(PutVoiceConnectorStreamingConfigurationRequest request, ServiceCallback serviceCallback) { +public OrdRange getOrdRange(String dim, String prefix) {return prefixToOrdRange.get(dim).get(prefix);} +public String toString() {return String.format(Locale.getDefault(), "%s('%s')", LexerNoViableAltException.class.getSimpleName(), getInputStream().getText(Interval.of(startIndex,startIndex)));} +public E peekFirst() {return peekFirstImpl();} +public CreateWorkspacesResult createWorkspaces(CreateWorkspacesRequest request) { +{ diff --git a/output/code2code-trans/prompt1/codegen1-multi-2B.output b/output/code2code-trans/prompt1/codegen1-multi-2B.output index c9ff114..ff4b8da 100644 --- a/output/code2code-trans/prompt1/codegen1-multi-2B.output +++ b/output/code2code-trans/prompt1/codegen1-multi-2B.output @@ -2,13 +2,13 @@ public int getNumberOfRecords() public void addAll(BlockList src, int srcDirIdx, int srcBlkIdx) {if (srcBlkIdx == 0)return;int srcDirIdx2 = srcDirIdx + 1;for (; srcDirIdx2 < src.tailDirIdx; srcDirIdx2++)addAll(src.directory[srcDirIdx2], srcDirIdx, srcBlkIdx);if (src.tailBlkIdx!= 0)addAll(src.tailBlock, srcDirIdx, srcBlkIdx);} public void writeChar(char c) {if (upto == blockSize) {if (currentBlock!= null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}currentBlock[upto++] = (byte)(c >>> 8);currentBlock[upto++] = (byte)(c);} public void setObjectId(ObjectId objectId) {this.objectId = objectId;} - +<|endoftext|> public long ramBytesUsed() {return ((termOffsets!=null)? termOffsets.ramBytesUsed() : 0) +((termsDictOffsets!=null)? termsDictOffsets.ramBytesUsed() : 0);} public final String getFullMessage() {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return ""; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);} public POIFSFileSystem(boolean create) { public void next() { public SubmoduleAddCommand setPath(Path path) {this.path = path;return this;} - +<|endoftext|> public QueryParserTokenManager(CharStream stream){ }//CodeClient public ModifyStrategyRequest(String requestBody) throws IOException { @@ -35,7 +35,7 @@ public void addMultipleBlanks(MulBlankRecord mbr) {for (int j = 0; j < mbr.getNu public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append("\\Q");int apos = 0;int k;while ((k = string.indexOf("\\E", apos)) >= 0) {sb.append(string.substring(apos, k + 2)).append("\\\\E\\Q");apos = k + 2;}return sb.append(string.substring(apos)).append("\\E").toString();} public ByteBuffer putInt(int index, int value) {throw new ReadOnlyBufferException();} public ArrayPtg(Object[][] values2d, int nColumns, int nRows) {_nColumns = (short) nColumns;_nRows = (short) nRows;_arrayValues = values2d;_reserved0Int = 0;_reserved1Short = 0;_reserved2Byte = 0;} - +<|endoftext|> public String getValueAsString() {return value;} public String toString() {return "ToChildBlockJoinQuery ("+parentQuery.toString()+")";} public final void decRef() { @@ -70,21 +70,21 @@ public CreateRepoRequest(String name) {super("cr", "2016-06-07", "CreateRepo", " public boolean isDeltaBaseAsOffset() {return deltaBaseAsOffset;} public void add(ET e) {if (expectedModCount == list.modCount) {if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastLink == link) {pos--;}link = previous;lastLink = null;expectedModCount++;list.size++;list.modCount++;} else {throw new IllegalStateException();}} else {throw new ConcurrentModificationException();}} // code.java - +<|endoftext|> public int getEndIndex() {return end;} public static final WeightedTerm[] getTerms(Query query,boolean sort){ public ByteBuffer compact(int start, int end) {throw new ReadOnlyBufferException();} - +<|endoftext|> public String getPath() throws IllegalArgumentException {String s = getHost();if (s == null) throw new IllegalArgumentException();return s;} public DescribeNotebookInstanceLifecycleConfigResult executeDescribeNotebookInstanceLifecycleConfig(DescribeNotebookInstanceLifecycleConfigRequest request) { public String getAccessKeyID() {return this.accessKeyID;} // CreateVpnGatewayResult.java - - +<|endoftext|> +<|endoftext|> public DescribeJobRequest(String vaultName, String jobId, String vaultName2, String jobId2) {setVaultName(vaultName);setJobId(jobId);setVaultName2(vaultName2);setJobId2(jobId2);} public EscherRecord getEscherRecord(int index){return escherRecords.get(index);} public GetApisResult executeGetApis(GetApisRequest request) { - +<|endoftext|> public void setTrackingRefUpdate(TrackingRefUpdate trackingRefUpdate) {this.trackingRefUpdate = trackingRefUpdate;} public void print(char c) {print(String.valueOf(c));} public void setChild(QueryNode child) {getChildren().set(0, child);} @@ -92,9 +92,9 @@ public void filter(File file) { public AreaRecord() { public GetThumbnailRequest(String photoId) {super("CloudPhoto", "2017-07-11", "GetThumbnail", "cloudphoto");setPhotoId(photoId);} public DescribeTransitGatewayVpcAttachmentsResult executeDescribeTransitGatewayVpcAttachments(DescribeTransitGatewayVpcAttachmentsRequest request) { - +<|endoftext|> public OrdRange getOrdRange(String dim, String prefix) {return prefixToOrdRange.get(dim).get(prefix);} public String toString() {String symbol = "";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), "%s('%s')", LexerNoViableAltException.class.getSimpleName(), symbol);} public E peekFirst() {return peekFirstImpl();} - +<|endoftext|> public NumberFormatIndexRecord copy() { diff --git a/output/code2code-trans/prompt2/codegen1-multi-16B.output b/output/code2code-trans/prompt2/codegen1-multi-16B.output index b81b817..4c829d6 100644 --- a/output/code2code-trans/prompt2/codegen1-multi-16B.output +++ b/output/code2code-trans/prompt2/codegen1-multi-16B.output @@ -75,7 +75,7 @@ public int getEndIndex() {return end;} public static final WeightedTerm[] getTerms(Query query,boolean includeSpanQueryTerms){ public ByteBuffer duplicate() {throw new ReadOnlyBufferException();} } - +<|endoftext|> private DescribeNotebookInstanceLifecycleConfigResult executeDescribeNotebookInstanceLifecycleConfig(DescribeNotebookInstanceLifecycleConfigRequest describeNotebookInstanceLifecycleConfigRequest) { // This code is written in Java. Reproduce the same exact code in C#. private CreateVpnConnectionResult executeCreateVpnConnection(CreateVpnConnectionRequest createVpnConnectionRequest) { diff --git a/output/code2code-trans/prompt2/codegen1-multi-2B.output b/output/code2code-trans/prompt2/codegen1-multi-2B.output index be122c5..c795fff 100644 --- a/output/code2code-trans/prompt2/codegen1-multi-2B.output +++ b/output/code2code-trans/prompt2/codegen1-multi-2B.output @@ -74,7 +74,7 @@ public void setDeltaBaseAsOffset(boolean deltaBaseAsOffset) {this.deltaBaseAsOff public int getEndIndex() {return end;} public static final WeightedTerm[] getTerms(Query query, boolean useWeights){ public ByteBuffer put(byte x) {throw new ReadOnlyBufferException();} - +<|endoftext|> public String getPath() {return path;} } public String getAccessKey() {return this.accessKey;} diff --git a/output/code2code-trans/prompt2/codegen1-multi-6B.output b/output/code2code-trans/prompt2/codegen1-multi-6B.output index 38fd5d0..cee14b9 100644 --- a/output/code2code-trans/prompt2/codegen1-multi-6B.output +++ b/output/code2code-trans/prompt2/codegen1-multi-6B.output @@ -32,7 +32,7 @@ public HSSFPolygon createPolygon(HSSFChildAnchor anchor, HSSFAnchor.AnchorType t @Override // This code is written in Java. Reproduce the same exact code in C#. - +<|endoftext|> public ByteBuffer putInt(int index, int value) {throw new ReadOnlyBufferException();} public Object[][] getValues2d() {return _arrayValues;} private GetIceServerConfigResult executeGetIceServerConfig(GetIceServerConfigRequest request) { diff --git a/output/code2code-trans/prompt3/.ipynb_checkpoints/codegen1-multi-16B-checkpoint.output b/output/code2code-trans/prompt3/.ipynb_checkpoints/codegen1-multi-16B-checkpoint.output index 208b9d6..54b1fbc 100644 --- a/output/code2code-trans/prompt3/.ipynb_checkpoints/codegen1-multi-16B-checkpoint.output +++ b/output/code2code-trans/prompt3/.ipynb_checkpoints/codegen1-multi-16B-checkpoint.output @@ -1,20 +1,20 @@ public void deserialize(LittleEndianInput in) {field_1_vcenter = in.readShort();} -0)addAll(src.tailBlock, srcBlkIdx, srcOff2);} -upto++] = b;} + + public ObjectId getObjectId() { return objectId; } public DeleteDomainEntryResult executeDeleteDomainEntry(DeleteDomainEntryRequest deleteDomainEntryRequest) { -BytesUsed(version) : 0);} -decode(guessEncoding(), raw, msgB, raw.length);} + + public POIFSFileSystem(boolean create) { public void init(int address, byte[] buffer) {slice = buffer;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;} public SubmoduleAddCommand setPath(String path, String url) {this.path = path;this.url = url;return this;} public ListIngestionsResult listIngestions() { public QueryParserTokenManager(CharStream stream){this(stream, 0);} -Id(shardId);request.setShardIteratorType(shardIteratorType);return executeGetShardIterator(request);} + public ModifyStrategyRequest(String name, String description) { public boolean ready() throws IOException { public EscherOptRecord getOptRecord() {return _optRecord;} -= (byte) this.buffer.charAt(pos + i);}pos += copylen;return copylen;} + public OpenNLPSentenceBreakIterator(String text, NLPSentenceDetectorOp sentenceOp) {this.text = text; this.sentenceOp = sentenceOp;} public void print(String str) {write(str!= null? str : String.valueOf((Object) null));} public NotImplementedFunctionException(String functionName) {super(functionName);this.functionName = functionName;} @@ -22,42 +22,42 @@ public V next() {return super.nextEntry().getValue();} public final void readBytes(byte[] b, int offset, int len) throws IOException {readBytes(b, offset, len, true);} public TagQueueResult tagQueue(TagQueueRequest request, IHttpClient client) {request = beforeClientExecution(request, client);return executeTagQueue(request, client);} public void remove() {throw new UnsupportedOperationException();} -request.setCacheSubnetGroupDescription(cacheSubnetGroupDescription);return modifyCacheSubnetGroup(request);} + public void setParams(String params, String language, String country, String variant) {super.setParams(params);this.language = language;this.country = country;this.variant = variant;} public DeleteDocumentationVersionResult executeDeleteDocumentationVersion(DeleteDocumentationVersionRequest deleteDocumentationVersionRequest) { -i = length - 1; i >= 0; i--) {if (!components[i].equals(other.components[i])) {return false;}}return true;} + public GetInstanceAccessDetailsResult getInstanceAccessDetails(GetInstanceAccessDetailsRequest request, IHttpClient client) {request = beforeClientExecution(request, client);return executeGetInstanceAccessDetails(request, client);} -);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;} + public String getSheetName(int sheetIndex) {return getBoundSheetRec(sheetIndex).getSheetname();} public GetDashboardResult getDashboard(GetDashboardRequest request, IHttpClient client) {request = beforeClientExecution(request, client);return executeGetDashboard(request, client);} public AssociateSigninDelegateGroupsWithAccountResult executeAssociateSigninDelegateGroupsWithAccount(AssociateSigninDelegateGroupsWithAccountRequest request) { -short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}} -E").toString();} + + public ByteBuffer putInt(int value, int index) {throw new ReadOnlyBufferException();} -Byte = 0;} + public GetIceServerConfigResult getIceServerConfig() {return getIceServerConfig(new GetIceServerConfigRequest());} public String getValueAsString() { public String toString(String field, String term) {return "ToChildBlockJoinQuery ("+parentQuery.toString()+", "+term+")";} public final void incRef() {refCount.incrementAndGet();} public UpdateConfigurationSetSendingEnabledResult updateConfigurationSetSendingEnabled(UpdateConfigurationSetSendingEnabledRequest request, public int getNextXBATChainOffset() {return getXBATEntriesPerBlock() * LittleEndianConsts.INT_SIZE;} -, tp._divisorShift);} else {mulShift(tp._multiplicand, tp._multiplierShift);}} -1){b.append(File.separatorChar);}}return b.toString();} + + public InstanceProfileCredentialsProvider withRoleName(String roleName) {this.roleName = roleName;return this;} public void setProgressMonitor(ProgressMonitor pm, int totalWork) {progressMonitor = pm;} public void reset() {if (!first()) {ptr = 0;if (!eof())parseEntry();}} public E previous() {if (iterator.previousIndex() >= start) {return iterator.previous();}throw new NoSuchElementException();} public String getNewPrefix() {return this.newPrefix;} public int indexOfValue(int value) {for (int i = 0; i < mSize; i++)if (mValues[i] == value)return i;return -1;} -deduped.add(s);terms.add(s);}}return deduped;} + public GetGatewayResponsesResult executeGetGatewayResponses(GetGatewayResponsesRequest request) { public void setPosition(long pos, int blockUpto) { public long skip(long n) { public BootstrapActionDetail(BootstrapActionConfig bootstrapActionConfig, String bootstrapActionId) {setBootstrapActionConfig(bootstrapActionConfig); setBootstrapActionId(bootstrapActionId);} -}field_7_padding = new Integer(in.readByte());} + public int lastIndexOf(String string, int start) { public boolean add(E object) {return addLastImpl(object);} -} return res;} + public final String getTagName() {return tagName;} public void addSubRecord(SubRecord element) {subrecords.add(element);} public boolean remove(Object o, Object o1) { @@ -68,14 +68,14 @@ public Pair(ContentSource oldSource, ContentSource newSource) {this.oldSource = public int get(int i) {if (count <= i)throw new ArrayIndexOutOfBoundsException(i);return entries[i];} public CreateRepoRequest(String name, String description, String homepage, String private_token) { public boolean isDeltaBaseAsOffset() {return deltaBaseAsOffset;} -new IllegalStateException();}} else {throw new ConcurrentModificationException();}} -);return executeMergeShards(request);} -requestIds);} + + + public int getBeginIndex() {return start;} public static final WeightedTerm[] getTerms(Query query, boolean includeSpans){ public ByteBuffer duplicate() {throw new ReadOnlyBufferException();} -] = byte2 & 63;}} -ants.DOT_GIT_EXT.length());return result;} + + public DescribeNotebookInstanceLifecycleConfigResult executeDescribeNotebookInstanceLifecycleConfig(DescribeNotebookInstanceLifecycleConfigRequest describeNotebookInstanceLifecycleConfigRequest) { public String getAccessKeySecret() {return this.accessKeySecret;} public CreateVpnConnectionResult createVpnConnection(CreateVpnConnectionRequest request, IabResult result) { @@ -94,7 +94,7 @@ public GetThumbnailRequest(String accessToken) {super("CloudPhoto", "2017-07-11" public DescribeTransitGatewayVpcAttachmentsResult executeDescribeTransitGatewayVpcAttachments(DescribeTransitGatewayVpcAttachmentsRequest describeTransitGatewayVpcAttachmentsRequest) { public PutVoiceConnectorStreamingConfigurationResult putVoiceConnectorStreamingConfiguration(PutVoiceConnectorStreamingConfigurationRequest request, public OrdRange getOrdRange(String dim, int prefix) {return prefixToOrdRange.get(dim);} -} + public E peekFirstImpl() { public CreateWorkspacesResult createWorkspaces(CreateWorkspacesRequest request, IHttpClient client) {request = beforeClientExecution(request, client);return executeCreateWorkspaces(request, client);} public NumberFormatIndexRecord copy() { diff --git a/output/code2code-trans/prompt3/.ipynb_checkpoints/codegen1-multi-2B-checkpoint.output b/output/code2code-trans/prompt3/.ipynb_checkpoints/codegen1-multi-2B-checkpoint.output new file mode 100644 index 0000000..6c68a91 --- /dev/null +++ b/output/code2code-trans/prompt3/.ipynb_checkpoints/codegen1-multi-2B-checkpoint.output @@ -0,0 +1,100 @@ +public void serialize(LittleEndianOutput out) {out.writeShort(field_1_vcenter);} + + +public void setObjectId(ObjectId objectId) {this.objectId = objectId;} +public static DeleteDomainEntryResult executeDeleteDomainEntry(DeleteDomainEntryRequest request) { +public void setTermOffsets(int termCount, long[] termOffsets) { + +public POIFSFileSystem(boolean create) {this(create, true);} + +public SubmoduleAddCommand setPath(Path path) {this.path = path;return this;} +public ListIngestionsResult executeListIngestions(ListIngestionsRequest listIngestionsRequest) { +public QueryParserTokenManager(CharStream stream){ +public static GetShardIteratorResult executeGetShardIterator(GetShardIteratorRequest getShardIteratorRequest) { + + +public void setOptRecord(EscherOptRecord optRecord) {_optRecord = optRecord;} + +public OpenNLPSentenceBreakIterator(NLPSentenceDetectorOp sentenceOp, String language) {this.sentenceOp = sentenceOp;} +public void print(Object obj) {write(obj!= null? obj.toString() : String.valueOf((Object) null));} +public NotImplementedFunctionException(String functionName, NotImplementedException cause, String message) {super(functionName, cause, message);this.functionName = functionName;} +public V next() {return super.nextEntry().getValue();} +public final void readBytes(byte[] b) throws IOException {readBytes(b, 0, b.length);} +public TagQueueResult tagQueue(TagQueueRequest request, AsyncHandler asyncHandler) {request = beforeClientExecution(request); +public void remove(int index) {throw new UnsupportedOperationException();} +public void executeModifyCacheSubnetGroup(ModifyCacheSubnetGroupRequest request) { +public void setParams(String language, String country, String variant) {super.setParams(language, country, variant);this.language = language;this.country = country;this.variant = variant;} +public static DeleteDocumentationVersionResult executeDeleteDocumentationVersion(DeleteDocumentationVersionRequest request) { +public int hashCode() {int hash = 0; for (int i = length - 1; i >= 0; i--) {hash = hash * 31 + components[i].hashCode();}} +public static GetInstanceAccessDetailsResult executeGetInstanceAccessDetails(GetInstanceAccessDetailsRequest request) { + +public int getSheetIndex(String sheetName) {return getBoundSheetRec(sheetName).getSheetIndex();} +public GetDashboardResult executeGetDashboard(GetDashboardRequest request) { +public static AssociateSigninDelegateGroupsWithAccountResult executeAssociateSigninDelegateGroupsWithAccount(AssociateSigninDelegateGroupsWithAccountRequest request) { + + +public ByteBuffer putInt(int index, int value) {throw new ReadOnlyBufferException();} + +public GetIceServerConfigResult executeGetIceServerConfig(GetIceServerConfigRequest getIceServerConfigRequest) { +public String getValueAsString() {return value;} +public String toString() {return "ToChildBlockJoinQuery ("+parentQuery.toString()+")";} +public final void decRef() { +public UpdateConfigurationSetSendingEnabledResult executeUpdateConfigurationSetSendingEnabled(UpdateConfigurationSetSendingEnabledRequest updateConfigurationSetSendingEnabledRequest) { +public int getNextXBATChainOffset() {return getXBATEntriesPerBlock() * LittleEndianConsts.INT_SIZE;} + + + +public void setProgressMonitor(ProgressMonitor pm, int max) { +public void reset(String filename) {if (!first()) {ptr = 0;if (!eof())parseEntry();}} +public E previous() {if (iterator.previousIndex() >= start) {return iterator.previous();}throw new NoSuchElementException();} +public String getNewSuffix() {return this.newSuffix;} +public int indexOfValue(int value) {for (int i = 0; i < mSize; i++)if (mValues[i] == value)return i;return -1;} + +public static GetGatewayResponsesResult executeGetGatewayResponses(GetGatewayResponsesRequest request) { +public void setPosition(long pos) {currentBlockIndex = (int) (pos >> blockBits);currentBlock = blocks[currentBlockIndex];currentBlockUpto = (int) (pos & blockMask);} +public int read() {int c = read(0);if (c == -1) throw new RuntimeException("Read past end of file.");return c;} +public BootstrapActionDetail(BootstrapActionConfig bootstrapActionConfig, String version) {setBootstrapActionConfig(bootstrapActionConfig);setVersion(version);} + +public int lastIndexOf(String string, int start) { +public boolean add(E object, int index) {return addImpl(object, index);} +public ConfigSnapshot unsetSection(ConfigSnapshot src, String section, String subsection) { +public final String getTagName(String ns) {return ns+":"+tagName;} +public void addSubRecord(SubRecord element) {subrecords.add(element);} +public boolean removeAll(Collection c) {synchronized (mutex) {return delegate().removeAll(c);}} +public DoubleMetaphoneFilter create(TokenStream input, int maxCodeLength, boolean inject) {return new DoubleMetaphoneFilter(input, maxCodeLength, inject);} +public long inCoreLength() { +public void setValue(int newValue) {value = newValue;} + +public int get(int i, int j) {if (count <= i || count <= j)throw new ArrayIndexOutOfBoundsException(i,j);return entries[i][j];} + +public void setDeltaBaseAsOffset(boolean deltaBaseAsOffset) {this.deltaBaseAsOffset = deltaBaseAsOffset;} + +public static MergeShardsResult executeMergeShards(MergeShardsRequest request) { +public static AllocateHostedConnectionResult executeAllocateHostedConnection(AllocateHostedConnectionRequest request) { +public int getEndIndex() {return end;} +public static final WeightedTerm[] getTerms(Query query, boolean sort){ +public ByteBuffer compact(int start, int end) {throw new ReadOnlyBufferException();} + +public String getPath() throws IllegalArgumentException {String s = getHost();if (s == null) throw new IllegalArgumentException();return s;} +public static DescribeNotebookInstanceLifecycleConfigResult executeDescribeNotebookInstanceLifecycleConfig(DescribeNotebookInstanceLifecycleConfigRequest request) { +public String getAccessKeyID() {return this.accessKeyID;} + +public static DescribeVoicesResult executeDescribeVoices(DescribeVoicesRequest request) { +public ListMonitoringExecutionsResult executeListMonitoringExecutions(ListMonitoringExecutionsRequest request) { + +public EscherRecord getEscherRecord(int index, int offset){return escherRecords.get(index).getEscherRecord(offset);} +public GetApisResult executeGetApis(GetApisRequest request) { +public static DeleteSmsChannelResult executeDeleteSmsChannel(DeleteSmsChannelRequest request) { +public void setTrackingRefUpdate(TrackingRefUpdate trackingRefUpdate) {this.trackingRefUpdate = trackingRefUpdate;} +public void print(char c) {print(String.valueOf(c));} +public QueryNode getChild(int i) {return getChildren().get(i);} +public boolean accept(File file) { +public AreaRecord(short formatFlags) {field_1_formatFlags = formatFlags;} +public GetThumbnailRequest(String photoId) {super("CloudPhoto", "2017-07-11", "GetThumbnail", "cloudphoto");setPhotoId(photoId);setProtocol(ProtocolType.HTTPS);} +public static DescribeTransitGatewayVpcAttachmentsResult executeDescribeTransitGatewayVpcAttachments(DescribeTransitGatewayVpcAttachmentsRequest request) { +public PutVoiceConnectorStreamingConfigurationResult executePutVoiceConnectorStreamingConfiguration(PutVoiceConnectorStreamingConfigurationRequest request) { +public OrdRange getOrdRange(String dim, String prefix) { + +public E peekFirst() {return peekFirstImpl();} +public static CreateWorkspacesResult executeCreateWorkspaces(CreateWorkspacesRequest createWorkspacesRequest) { +public NumberFormatIndexRecord copy() { diff --git a/output/code2code-trans/prompt3/.ipynb_checkpoints/codegen1-multi-350M-checkpoint.output b/output/code2code-trans/prompt3/.ipynb_checkpoints/codegen1-multi-350M-checkpoint.output new file mode 100644 index 0000000..53a0659 --- /dev/null +++ b/output/code2code-trans/prompt3/.ipynb_checkpoints/codegen1-multi-350M-checkpoint.output @@ -0,0 +1,100 @@ +public void deserialize(final LittleEndianInput in) { + + +public ObjectId getObjectId() { +public DeleteDomainEntryResult executeDeleteDomainEntry(DeleteDomainEntryRequest request, + + + + +public SubmoduleAddCommand(String path) {this.path = path;this.setPath(path);} +public ListIngestionsResult executeListIngestions(ListIngestionsRequest request, +public static final String[] lexStateNames = { +public GetShardIteratorResult executeGetShardIterator(GetShardIteratorRequest request) { +public ModifyStrategyRequest(String aegis, String date, String method, String str) {super(aegis, date, method, str);setMethod(MethodType.POST);} + +public void setOptRecord(EscherOptRecord optRecord) { + +public OpenNLPSentenceBreakIterator(NLPSentenceDetectorOp sentenceOp, int breakPos) {this.sentenceOp = sentenceOp; breakPos = breakPos;} +public void write(String str) { +public NotImplementedFunctionException(String functionName, NotImplementedException cause, String message) {super(functionName, cause, message);this.functionName = functionName;} +public V previous() {return super.previousEntry().getValue();} + +public TagQueueResult executeTagQueue(TagQueueRequest request) { +public void remove(int index) {throw new UnsupportedOperationException();} +public CacheSubnetGroup executeModifyCacheSubnetGroup(ModifyCacheSubnetGroupRequest request) { +public String getParams() {return super.getParams();} +public DeleteDocumentationVersionResult executeDeleteDocumentationVersion(DeleteDocumentationVersionRequest request, com.amazonaws.handlers.AsyncHandler asyncHandler) { +public int hashCode() { +public GetInstanceAccessDetailsResult executeGetInstanceAccessDetails(GetInstanceAccessDetailsRequest request, + +public String getBoundSheetRec(int sheetIndex) { +public GetDashboardResult executeGetDashboard(GetDashboardRequest request, +public AssociateSigninDelegateGroupsWithAccountResult executeAssociateSigninDelegateGroupsWithAccount(AssociateSigninDelegateGroupsWithAccountRequest request, + + +public ByteBuffer putShort(short value) {throw new ReadOnlyBufferException();} +public short getValueIndex(int column, int row) {return _arrayValues[column * _nRows + row];} +public GetIceServerConfigResult executeGetIceServerConfig(GetIceServerConfigRequest request) { +public String getValueAsString() { +public String toString() {return "ToChildBlockJoinQuery ("+parentQuery.toString()+")";} +public final void decRef() {refCount.decrementAndGet();} +public UpdateConfigurationSetSendingEnabledResult executeUpdateConfigurationSetSendingEnabled(UpdateConfigurationSetSendingEnabledRequest request, +public int getNextXBATChainOffset() {return getXBATEntriesPerBlock() * LittleEndianConsts.INT_SIZE;} +public void multiplyByPowerOfTen(int pow10, int divisor) { + +public InstanceProfileCredentialsProvider withRoleName(String roleName) {this.roleName = roleName;return this;} +public void setProgressMonitor(ProgressMonitor pm, int max) { +public void parseEntry() { +public E previous() {if (iterator.previousIndex() >= start) {return iterator.previous();}throw new NoSuchElementException();} +public String getNewPrefix() {return this.newPrefix;} +public int indexOfValue(int value, int start) {for (int i = start; i < mSize; i++)if (mValues[i] == value)return i;} + +public GetGatewayResponsesResult executeGetGatewayResponses(GetGatewayResponsesRequest request, +public void setPosition(int pos) {currentBlockIndex = (int) (pos >> blockBits);currentBlock = blocks[currentBlockIndex];currentBlockUpto = (int) (pos & blockMask);} +public long skip(long n) {int s = (int) Math.min(available(), Math.max(0, n));ptr += s;return s;} +public BootstrapActionDetail(BootstrapActionConfig bootstrapActionConfig, BootstrapActionDetail bootstrapActionDetail) { + +public int lastIndexOf(String string, int count) { +public boolean addLast(E object) {return addLastImpl(object);} +public ConfigSnapshot unsetSection(ConfigSnapshot src, String section, String subsection) { +public final String getTagName() {return tagName;} +public void addSubRecord(int index, SubRecord element, int subindex) {subrecords.add(index, element);} +public boolean removeAll(Collection c) {synchronized (mutex) {return delegate().removeAll(c);}} +public DoubleMetaphoneFilter create(TokenStream input, int maxCodeLength, boolean inject) {return new DoubleMetaphoneFilter(input, maxCodeLength, inject);} +public long inCoreLength() { +public boolean getValue() {return value;} +public Pair(ContentSource oldSource, ContentSource newSource, ContentSource newSource2) {this.oldSource = oldSource;this.newSource = newSource;this.newSource2 = newSource2;} +public int get(int i, int j) {if (count <= i)throw new ArrayIndexOutOfBoundsException(i);return entries[i];} + +public boolean isDeltaBaseAsOffset() {return deltaBaseAsOffset;} + +public MergeShardsResult executeMergeShards(MergeShardsRequest request) { +public class AllocateHostedConnectionResult extends Result { +public int getEndIndex() {return end;} +public static final WeightedTerm[] getTerms(Query query, boolean includeInferred){ +public ByteBuffer duplicate() {throw new ReadOnlyBufferException();} + +public String getPath() throws IllegalArgumentException {String s = getScheme();if (s == null) throw new IllegalArgumentException();return s;} +public class DescribeNotebookInstanceLifecycleConfigResult { +public String getAccessKeySecret() {return this.accessKeySecret;} + +public DescribeVoicesResult executeDescribeVoices(DescribeVoicesRequest request, + +public DescribeJobRequest() { +public void setEscherRecord(int index, EscherRecord escherRecord){escherRecords.set(index, escherRecord);} +public GetApisResult executeGetApis(GetApisRequest request) { +public DeleteSmsChannelResult executeDeleteSmsChannel(DeleteSmsChannelRequest request) { +public void setTrackingRefUpdate(TrackingRefUpdate trackingRefUpdate) { +public void print(char c) {print(String.valueOf(c));} +public void setChild(QueryNode child) { +public NotIgnoredFilter(int workdirTreeIndex, int workdirIndex) {this.index = workdirTreeIndex;this.workdirIndex = workdirIndex;} +public AreaRecord(int field_1_formatFlags) {this.field_1_formatFlags = field_1_formatFlags;} +public GetThumbnailRequest(String id, String name, String url, String protocol) {super(id, name, url, protocol);setProtocol(protocol);} +public DescribeTransitGatewayVpcAttachmentsResult executeDescribeTransitGatewayVpcAttachments(DescribeTransitGatewayVpcAttachmentsRequest request, +public PutVoiceConnectorStreamingConfigurationResult executePutVoiceConnectorStreamingConfiguration(PutVoiceConnectorStreamingConfigurationRequest request, +public OrdRange getOrdRange(String dim, String value) { + +public E peekFirst() {return peekFirstImpl();} +public CreateWorkspacesResult executeCreateWorkspaces(CreateWorkspacesRequest request, +public NumberFormatIndexRecord copy() { diff --git a/output/code2code-trans/prompt3/.ipynb_checkpoints/codegen1-multi-6B-checkpoint.output b/output/code2code-trans/prompt3/.ipynb_checkpoints/codegen1-multi-6B-checkpoint.output new file mode 100644 index 0000000..f396b62 --- /dev/null +++ b/output/code2code-trans/prompt3/.ipynb_checkpoints/codegen1-multi-6B-checkpoint.output @@ -0,0 +1,100 @@ +public void serialize(LittleEndianOutput out) {out.writeShort(field_1_vcenter);} + + +public ObjectId getObjectId(String objectId) { +public DeleteDomainEntryResult deleteDomainEntry(DeleteDomainEntryRequest request) { +public long ramBytesUsed(IndexReader r) { + +public POIFSFileSystem(boolean bigBlockSize) { + +public SubmoduleAddCommand setPath(String path, boolean force) {this.path = path;this.force = force;return this;} +public ListIngestionsResult listIngestions(ListIngestionsRequest request) { +public QueryParserTokenManager(CharStream stream){ +public GetShardIteratorResult executeGetShardIterator(GetShardIteratorRequest request) { + + +public EscherOptRecord getOptRecord(boolean createIfNull) { + +public OpenNLPSentenceBreakIterator(NLPSentenceDetectorOp sentenceOp, String lang) {this.sentenceOp = sentenceOp; this.lang = lang;} +public void print(Object obj) {write(obj!= null? obj.toString() : String.valueOf((Object) null));} +public NotImplementedFunctionException(String functionName, NotImplementedException cause, String message) {super(functionName, cause, message);this.functionName = functionName;} +public V next() {return super.nextEntry().getValue();} +public final void readBytes(byte[] b, int offset, int len) throws IOException {readBytes(b, offset, len, false);} +public TagQueueResult tagQueue(TagQueueRequest request) { +public void remove() {throw new UnsupportedOperationException();} +public CacheSubnetGroup modifyCacheSubnetGroup(ModifyCacheSubnetGroupRequest request) { + +public DeleteDocumentationVersionResult deleteDocumentationVersion(DeleteDocumentationVersionRequest request) { + +public GetInstanceAccessDetailsResult executeGetInstanceAccessDetails(GetInstanceAccessDetailsRequest request) { + +public int getSheetIndex(String sheetName) { +public GetDashboardResult getDashboard(GetDashboardRequest request) { +public AssociateSigninDelegateGroupsWithAccountResult associateSigninDelegateGroupsWithAccount(AssociateSigninDelegateGroupsWithAccountRequest request) { + + +public ByteBuffer putInt(int index, int value) {throw new ReadOnlyBufferException();} + +public GetIceServerConfigResult executeGetIceServerConfig(GetIceServerConfigRequest request) { +public String toString() {return getClass().getName() + " [" +getValueAsString() +"]";} +public String toString(String field) {return "ToChildBlockJoinQuery ("+parentQuery.toString()+")";} +public final void decRef() {refCount.decrementAndGet();} +public UpdateConfigurationSetSendingEnabledResult updateConfigurationSetSendingEnabled(UpdateConfigurationSetSendingEnabledRequest request) { +public int getNextXBATChainOffset(int blockSize) {return getXBATEntriesPerBlock(blockSize) * LittleEndianConsts.INT_SIZE;} + + + +public void setProgressMonitor(ProgressMonitor pm) { +public void reset() {if (!first()) {ptr = 0;if (!eof())parseEntry();}} +public E previous() {if (iterator.previousIndex() >= start) {return iterator.previous();}throw new NoSuchElementException();} +public String getNewPrefix() {return this.newPrefix;} +public int indexOfValue(int value) {for (int i = 0; i < mSize; i++)if (mValues[i] == value)return i;return -1;} + +public GetGatewayResponsesResult executeGetGatewayResponses(GetGatewayResponsesRequest request) { +public void setPosition(long pos) { +public long skip(long n) { +public BootstrapActionDetail(String name, String scriptPath, String args, String actionId) { + +public int lastIndexOf(String string, int start) { +public boolean add(E object, int index) {return addImpl(object, index);} + +public final String getTagName() {return tagName;} +public void addSubRecord(SubRecord element) {subrecords.add(element);} +public boolean removeAll(Collection c) {synchronized (mutex) {return delegate().removeAll(c);}} +public DoubleMetaphoneFilter create(TokenStream input, int maxCodeLength, boolean inject) {return new DoubleMetaphoneFilter(input, maxCodeLength, inject);} +public long length() {return inCoreLength();} +public void setValue(boolean newValue, boolean isFinal) { +public Pair(ContentSource oldSource, ContentSource newSource) { +public int get(int i) {if (count <= i)throw new ArrayIndexOutOfBoundsException(i);return entries[i];} + +public boolean isDeltaBaseAsOffset() {return deltaBaseAsOffset;} + +public MergeShardsResult mergeShards(MergeShardsRequest request) { +public AllocateHostedConnectionResult allocateHostedConnection(AllocateHostedConnectionRequest request) { +public int getEndIndex() {return end;} +public static final WeightedTerm[] getTerms(Query query, boolean useStopWords){ +public ByteBuffer compact() {throw new ReadOnlyBufferException();} + + +public DescribeNotebookInstanceLifecycleConfigResult executeDescribeNotebookInstanceLifecycleConfig(DescribeNotebookInstanceLifecycleConfigRequest describeNotebookInstanceLifecycleConfigRequest) { +public String getAccessKeySecret() {return this.accessKeySecret;} +public CreateVpnConnectionResult createVpnConnection(CreateVpnConnectionRequest request) { +public DescribeVoicesResult executeDescribeVoices(DescribeVoicesRequest describeVoicesRequest) { +public ListMonitoringExecutionsResult executeListMonitoringExecutions(ListMonitoringExecutionsRequest request) { +public DescribeJobRequest(String vaultName, String jobId, String description) {setVaultName(vaultName);setJobId(jobId);setDescription(description);} +public EscherRecord getEscherRecord(int index){return escherRecords.get(index);} +public GetApisResult getApis(GetApisRequest request) { +public DeleteSmsChannelResult executeDeleteSmsChannel(DeleteSmsChannelRequest deleteSmsChannelRequest) { +public TrackingRefUpdate getTrackingRefUpdate(String trackingRefUpdate) {return trackingRefUpdate;} +public void print(char c) {print(String.valueOf(c));} +public QueryNode getChild() {return getChildren().get(0);} +public NotIgnoredFilter(int workdirTreeIndex, boolean isCaseSensitive) { +public void setFormatFlags(short formatFlags) {field_1_formatFlags = formatFlags;} +public GetThumbnailRequest(String service, String version, String action, String apiId) {super(service, version, action, apiId);} +public DescribeTransitGatewayVpcAttachmentsResult executeDescribeTransitGatewayVpcAttachments(DescribeTransitGatewayVpcAttachmentsRequest describeTransitGatewayVpcAttachmentsRequest) { +public PutVoiceConnectorStreamingConfigurationResult putVoiceConnectorStreamingConfiguration(PutVoiceConnectorStreamingConfigurationRequest request) { +public OrdRange getOrdRange(String dim, String prefix) {return prefixToOrdRange.get(dim).get(prefix);} + +public E peekFirstImpl() { +public CreateWorkspacesResult createWorkspaces(CreateWorkspacesRequest request) { +public NumberFormatIndexRecord copy() { diff --git a/output/code2code-trans/prompt3/codegen1-multi-16B.output b/output/code2code-trans/prompt3/codegen1-multi-16B.output index 208b9d6..d5d5f4a 100644 --- a/output/code2code-trans/prompt3/codegen1-multi-16B.output +++ b/output/code2code-trans/prompt3/codegen1-multi-16B.output @@ -1,20 +1,20 @@ public void deserialize(LittleEndianInput in) {field_1_vcenter = in.readShort();} -0)addAll(src.tailBlock, srcBlkIdx, srcOff2);} -upto++] = b;} +public void addAll(BlockList src, int srcDirIdx, int srcBlkIdx, int srcOff) {if (src.size == 0)return;int srcOff2 = srcOff;for (public void addAll(BlockList src, int srcDirIdx, int srcBlkIdx, int srcOff) {if (src.size == 0)return;int srcOff2 = srcOff;for (; srcDirIdx < src.tailDirIdx; srcDirIdx++)addAll(src.directory[srcDirIdx], srcBlkIdx, srcOff2);if (src.tailBlkIdx!= 0)addAll(src.tailBlock, srcBlkIdx, srcOff2);} +public void writeByte(byte b) {if (upto == blockSize) {if (currentBlock!= null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}currentBlock[upto++] = b;} public ObjectId getObjectId() { return objectId; } public DeleteDomainEntryResult executeDeleteDomainEntry(DeleteDomainEntryRequest deleteDomainEntryRequest) { -BytesUsed(version) : 0);} -decode(guessEncoding(), raw, msgB, raw.length);} +public long ramBytesUsed(int version) {return ((termOffsets!=null)? termOffsets.ramBytesUsed(version) : 0) +((termsDictOffsets!=null)? termsDictOffsets.ramBytesUsed(version) : 0);} +public final String getFullMessage() {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return ""; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);} public POIFSFileSystem(boolean create) { public void init(int address, byte[] buffer) {slice = buffer;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;} public SubmoduleAddCommand setPath(String path, String url) {this.path = path;this.url = url;return this;} public ListIngestionsResult listIngestions() { public QueryParserTokenManager(CharStream stream){this(stream, 0);} -Id(shardId);request.setShardIteratorType(shardIteratorType);return executeGetShardIterator(request);} +public GetShardIteratorResult getShardIterator(String streamName, String shardId, String shardIteratorType) {request = new GetShardIteratorRequest();request.setStreamName(streamName);request.setShardId(shardId);request.setShardIteratorType(shardIteratorType);return executeGetShardIterator(request);} public ModifyStrategyRequest(String name, String description) { public boolean ready() throws IOException { public EscherOptRecord getOptRecord() {return _optRecord;} -= (byte) this.buffer.charAt(pos + i);}pos += copylen;return copylen;} +public synchronized int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, lengthpublic synchronized int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (byte) this.buffer.charAt(pos + i);}pos += copylen;return copylen;} public OpenNLPSentenceBreakIterator(String text, NLPSentenceDetectorOp sentenceOp) {this.text = text; this.sentenceOp = sentenceOp;} public void print(String str) {write(str!= null? str : String.valueOf((Object) null));} public NotImplementedFunctionException(String functionName) {super(functionName);this.functionName = functionName;} @@ -22,42 +22,42 @@ public V next() {return super.nextEntry().getValue();} public final void readBytes(byte[] b, int offset, int len) throws IOException {readBytes(b, offset, len, true);} public TagQueueResult tagQueue(TagQueueRequest request, IHttpClient client) {request = beforeClientExecution(request, client);return executeTagQueue(request, client);} public void remove() {throw new UnsupportedOperationException();} -request.setCacheSubnetGroupDescription(cacheSubnetGroupDescription);return modifyCacheSubnetGroup(request);} +public CacheSubnetGroup modifyCacheSubnetGroup(String subnetGroupName, String cacheSubnetGroupDescription) {request = new ModifyCacheSubnetGroupRequest();request.setCacheSubnetGroupName(subnetGroupName);request.setCacheSubnetGroupDescription(cacheSubnetGroupDescription);return modifyCacheSubnetGroup(request);} public void setParams(String params, String language, String country, String variant) {super.setParams(params);this.language = language;this.country = country;this.variant = variant;} public DeleteDocumentationVersionResult executeDeleteDocumentationVersion(DeleteDocumentationVersionRequest deleteDocumentationVersionRequest) { -i = length - 1; i >= 0; i--) {if (!components[i].equals(other.components[i])) {return false;}}return true;} +public boolean equals(Object obj) {if (!(obj instanceof FacetLabel)) {return false;}FacetLabel other = (FacetLabel) obj;if (length!= other.length) {return false; }for (int i = length - 1; i >= 0; i--) {if (!components[i].equals(other.components[i])) {return false;}}return true;} public GetInstanceAccessDetailsResult getInstanceAccessDetails(GetInstanceAccessDetailsRequest request, IHttpClient client) {request = beforeClientExecution(request, client);return executeGetInstanceAccessDetails(request, client);} -);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;} +public HSSFPolygon createPolygon(HSSFChildAnchor anchor, int[] points) {HSSFPolygon shape = new HSSFPolygon(this, anchor, points);shape.setParent(this);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;} public String getSheetName(int sheetIndex) {return getBoundSheetRec(sheetIndex).getSheetname();} public GetDashboardResult getDashboard(GetDashboardRequest request, IHttpClient client) {request = beforeClientExecution(request, client);return executeGetDashboard(request, client);} public AssociateSigninDelegateGroupsWithAccountResult executeAssociateSigninDelegateGroupsWithAccount(AssociateSigninDelegateGroupsWithAccountRequest request) { -short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}} -E").toString();} +public void addMultipleBlanks(MulBlankRecord mbr) {for (int j = 0; j < mbr.getNumColumns(); j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}} +public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append("\\Q");int apos = 0;int k;while ((k = string.indexOf("\\E", apos)) >=public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append("\\Q");int apos = 0;int k;while ((k = string.indexOf("\\E", apos)) >= 0) {sb.append(string.substring(apos, k + 2)).append("\\\\E\\Q");apos = k + 2;}return sb.append(string.substring(apos)).append("\\E").toString();} public ByteBuffer putInt(int value, int index) {throw new ReadOnlyBufferException();} -Byte = 0;} +public ArrayPtg(Object[] values) {int nColumns = values.length;int nRows = 1;_nColumns = (short) nColumns;_nRows = (short) nRows;public ArrayPtg(Object[] values) {int nColumns = values.length;int nRows = 1;_nColumns = (short) nColumns;_nRows = (short) nRows;Object[] vv = new Object[_nColumns * _nRows];for (int r=0; r= start) {return iterator.previous();}throw new NoSuchElementException();} public String getNewPrefix() {return this.newPrefix;} public int indexOfValue(int value) {for (int i = 0; i < mSize; i++)if (mValues[i] == value)return i;return -1;} -deduped.add(s);terms.add(s);}}return deduped;} +public List uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySetpublic List uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;} public GetGatewayResponsesResult executeGetGatewayResponses(GetGatewayResponsesRequest request) { public void setPosition(long pos, int blockUpto) { public long skip(long n) { public BootstrapActionDetail(BootstrapActionConfig bootstrapActionConfig, String bootstrapActionId) {setBootstrapActionConfig(bootstrapActionConfig); setBootstrapActionId(bootstrapActionId);} -}field_7_padding = new Integer(in.readByte());} +public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_shapeid = in.readShort();field_6_author = StringUtil.readCompressedUnicode(in);field_5_hasMultibyte = in.readByte() == 0x01;if (fieldpublic void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_shapeid = in.readShort();field_6_author = StringUtil.readCompressedUnicode(in);field_5_hasMultibyte = in.readByte() == 0x01;if (field_5_hasMultibyte) {field_6_author = StringUtil.readUnicodeLE(in);} else {field_6_author = StringUtil.readCompressedUnicode(in); public int lastIndexOf(String string, int start) { public boolean add(E object) {return addLastImpl(object);} -} return res;} +public ConfigSnapshot unsetSection(ConfigSnapshot src, String section, String subsection) {ConfigSnapshot res = src;if (src.hasSection(section, subsection)) {res = src.removeSection(section, subsection);} return res;} public final String getTagName() {return tagName;} public void addSubRecord(SubRecord element) {subrecords.add(element);} public boolean remove(Object o, Object o1) { @@ -68,14 +68,14 @@ public Pair(ContentSource oldSource, ContentSource newSource) {this.oldSource = public int get(int i) {if (count <= i)throw new ArrayIndexOutOfBoundsException(i);return entries[i];} public CreateRepoRequest(String name, String description, String homepage, String private_token) { public boolean isDeltaBaseAsOffset() {return deltaBaseAsOffset;} -new IllegalStateException();}} else {throw new ConcurrentModificationException();}} -);return executeMergeShards(request);} -requestIds);} +public void remove() {if (expectedModCount == list.modCount) {if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.public void remove() {if (expectedModCount == list.modCount) {if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastLink == link) {pos--;}link = previous;lastLink = null;expectedModCount++;list.size--;list.modCount++;} else {throw new IllegalStateException();}} else {throw new ConcurrentModificationException();}} +public MergeShardsResult mergeShards(String index, String shard, String target, String[] source, String[] targetShards) {request = new MergeShardsRequest(index, shard, target, source, targetShards);return executeMergeShards(request);} +public AllocateHostedConnectionResult allocateHostedConnection(AllocateHostedConnectionRequest request, IEnumerable requestIds) {request = beforeClientExecution(request);return executeAllocateHostedConnection(request, requestIds);} public int getBeginIndex() {return start;} public static final WeightedTerm[] getTerms(Query query, boolean includeSpans){ public ByteBuffer duplicate() {throw new ReadOnlyBufferException();} -] = byte2 & 63;}} -ants.DOT_GIT_EXT.length());return result;} +public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) |public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++ +public String getHumanishName() throws IllegalArgumentException {String s = getPath();if ("/".equals(s) || "".equals(s)) s = getHost();if (s == null) throw new Illegalpublic String getHumanishName() throws IllegalArgumentException {String s = getPath();if ("/".equals(s) || "".equals(s)) s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if ("file".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split("[\\" + File.separatorChar + "/]public String getHumanishName() throws IllegalArgumentException {String s = getPath();if ("/".equals(s) || "".equals(s)) s = getHost();if (s == null) throw new Illegalpublic String getHumanishName() throws IllegalArgumentException {String s = getPath();if ("/".equals(s) || "".equals(s)) s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if ("file".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split("[\\" + File.separatorChar + "/]"); elseelements = s.split("/+"); if (elements.length == 0)throw new IllegalArgumentException();String result = elements[elements.length - 1];if (Constants.DOT_GIT. public DescribeNotebookInstanceLifecycleConfigResult executeDescribeNotebookInstanceLifecycleConfig(DescribeNotebookInstanceLifecycleConfigRequest describeNotebookInstanceLifecycleConfigRequest) { public String getAccessKeySecret() {return this.accessKeySecret;} public CreateVpnConnectionResult createVpnConnection(CreateVpnConnectionRequest request, IabResult result) { @@ -94,7 +94,7 @@ public GetThumbnailRequest(String accessToken) {super("CloudPhoto", "2017-07-11" public DescribeTransitGatewayVpcAttachmentsResult executeDescribeTransitGatewayVpcAttachments(DescribeTransitGatewayVpcAttachmentsRequest describeTransitGatewayVpcAttachmentsRequest) { public PutVoiceConnectorStreamingConfigurationResult putVoiceConnectorStreamingConfiguration(PutVoiceConnectorStreamingConfigurationRequest request, public OrdRange getOrdRange(String dim, int prefix) {return prefixToOrdRange.get(dim);} -} +public String toString() {String symbol = "";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));sypublic String toString() {String symbol = "";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), "%s('%s')", LexerNoViableAltException.class.getSimpleName(), symbol);} public E peekFirstImpl() { public CreateWorkspacesResult createWorkspaces(CreateWorkspacesRequest request, IHttpClient client) {request = beforeClientExecution(request, client);return executeCreateWorkspaces(request, client);} public NumberFormatIndexRecord copy() { diff --git a/output/code2code-trans/prompt3/codegen1-multi-2B.output b/output/code2code-trans/prompt3/codegen1-multi-2B.output index 46aaa57..6a5b4ef 100644 --- a/output/code2code-trans/prompt3/codegen1-multi-2B.output +++ b/output/code2code-trans/prompt3/codegen1-multi-2B.output @@ -1,20 +1,20 @@ public void serialize(LittleEndianOutput out) {out.writeShort(field_1_vcenter);} -tailBlkIdx!= 0)addAll(src.tailBlock, srcDirIdx, srcBlkIdx);} -0;} +public void addAll(BlockList src, int srcDirIdx, int srcBlkIdx) {if (src.size == 0)return;int srcDirIdx2 = srcDirIdx + 1;public void addAll(BlockList src, int srcDirIdx, int srcBlkIdx) {if (src.size == 0)return;int srcDirIdx2 = srcDirIdx + 1;for (; srcDirIdx2 < src.tailDirIdx; srcDirIdx2++)addAll(src.directory[srcDirIdx2], srcDirIdx, srcBlkIdx);if (src.tailBlkIdx!= 0)addAll(src.tailBlock, srcDirIdx, srcBlkIdx);}} +public void writeBytes(String s) {if (upto + s.length() > blockSize) {if (currentBlock!= null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;} public void setObjectId(ObjectId objectId) {this.objectId = objectId;} public static DeleteDomainEntryResult executeDeleteDomainEntry(DeleteDomainEntryRequest request) { public void setTermOffsets(int termCount, long[] termOffsets) { -decode(guessEncoding(), raw, msgB, raw.length);} +public final String getFullMessage() {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return ""; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);} public POIFSFileSystem(boolean create) {this(create, true);} -assert upto < slice.length;} +public void init(int address, int length) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice!= null;upto = address + length;offset0 = address;assert upto < slice.length;} public SubmoduleAddCommand setPath(Path path) {this.path = path;return this;} public ListIngestionsResult executeListIngestions(ListIngestionsRequest listIngestionsRequest) { public QueryParserTokenManager(CharStream stream){ public static GetShardIteratorResult executeGetShardIterator(GetShardIteratorRequest getShardIteratorRequest) { -} -;} catch (IOException e) {return false;}}} +public ModifyStrategyRequest(String requestName) {super(requestName, "aegis", "2016-11-11", "ModifyStrategy", "vipaegis");setMethod(MethodType.POST);} +public boolean ready() throws IOException {synchronized (lock) {if (in == null) {throw new IOException("InputStreamReader is closed");}try {return bytes.hasRemaining() || in.available() > 0;} catch (IOException e) {return false;}}} public void setOptRecord(EscherOptRecord optRecord) {_optRecord = optRecord;} -= (char) this.buffer.charAt(pos + i);}pos += copylen;return copylen;} +public synchronized int read(char[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, lengthpublic synchronized int read(char[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (char) this.buffer.charAt(pos + i);}pos += copylen;return copylen;} public OpenNLPSentenceBreakIterator(NLPSentenceDetectorOp sentenceOp, String language) {this.sentenceOp = sentenceOp;} public void print(Object obj) {write(obj!= null? obj.toString() : String.valueOf((Object) null));} public NotImplementedFunctionException(String functionName, NotImplementedException cause, String message) {super(functionName, cause, message);this.functionName = functionName;} @@ -27,34 +27,34 @@ public void setParams(String language, String country, String variant) {super.se public static DeleteDocumentationVersionResult executeDeleteDocumentationVersion(DeleteDocumentationVersionRequest request) { public int hashCode() {int hash = 0; for (int i = length - 1; i >= 0; i--) {hash = hash * 31 + components[i].hashCode();}} public static GetInstanceAccessDetailsResult executeGetInstanceAccessDetails(GetInstanceAccessDetailsRequest request) { -new HSSFChildAnchor(this));shapes.add(anchor);onCreate(anchor);return anchor;} +public HSSFChildAnchor createAnchor() {HSSFChildAnchor anchor = new HSSFChildAnchor(this);anchor.setParent(this);anchor.setAnchor(new HSSFChildAnchor(this));shapes.add(anchor);onCreate(anchor);return anchor;} public int getSheetIndex(String sheetName) {return getBoundSheetRec(sheetName).getSheetIndex();} public GetDashboardResult executeGetDashboard(GetDashboardRequest request) { public static AssociateSigninDelegateGroupsWithAccountResult executeAssociateSigninDelegateGroupsWithAccount(AssociateSigninDelegateGroupsWithAccountRequest request) { -short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}} -(quote).toString();} +public void addMultipleBlanks(MulBlankRecord mbr) {for (int j = 0; j < mbr.getNumColumns(); j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}} +public static String quote(String string, char quote) {StringBuilder sb = new StringBuilder();sb.append(quote);int apos = 0;int k;while ((k = string.indexOf(quote, apos))public static String quote(String string, char quote) {StringBuilder sb = new StringBuilder();sb.append(quote);int apos = 0;int k;while ((k = string.indexOf(quote, apos)) >= 0) {sb.append(string.substring(apos, k + 1)).append(quote).append(quote);apos = k + 1;}return sb.append(string.substring(apos)).append(quote).toString();} public ByteBuffer putInt(int index, int value) {throw new ReadOnlyBufferException();} -// code.java version of code.cs +public ArrayPtg(Object[][] values2d, int nColumns, int nRows) {_nColumns = (short) nColumns;_nRows = (short) nRows;_arraypublic ArrayPtg(Object[][] values2d, int nColumns, int nRows) {_nColumns = (short) nColumns;_nRows = (short) nRows;_arrayValues = new Object[_nColumns * _nRows];for (int r=0; r= start) {return iterator.previous();}throw new NoSuchElementException();} public String getNewSuffix() {return this.newSuffix;} public int indexOfValue(int value) {for (int i = 0; i < mSize; i++)if (mValues[i] == value)return i;return -1;} -terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;} +public List uniqueStems(char word[], int length, Set dictionary) {List stems = stem(word, length);if (stems.size() < 2public List uniqueStems(char word[], int length, Set dictionary) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;} public static GetGatewayResponsesResult executeGetGatewayResponses(GetGatewayResponsesRequest request) { public void setPosition(long pos) {currentBlockIndex = (int) (pos >> blockBits);currentBlock = blocks[currentBlockIndex];currentBlockUpto = (int) (pos & blockMask);} public int read() {int c = read(0);if (c == -1) throw new RuntimeException("Read past end of file.");return c;} public BootstrapActionDetail(BootstrapActionConfig bootstrapActionConfig, String version) {setBootstrapActionConfig(bootstrapActionConfig);setVersion(version);} -_7_padding!= null) {out.writeByte(field_7_padding.intValue());}} +public void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(public void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(field_4_shapeid);out.writeShort(field_6_author.length());out.writeByte(field_5_hasMultibyte? 0x01 : 0x00);if (field_5_haspublic void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(public void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(field_4_shapeid);out.writeShort(field_6_author.length());out.writeByte(field_5_hasMultibyte? 0x01 : 0x00);if (field_5_hasMultibyte) {StringUtil.putUnicodeLE(field_6_author, out);} else {StringUtil.putCompressedUnicode(field_6_author, out);}if (field public int lastIndexOf(String string, int start) { public boolean add(E object, int index) {return addImpl(object, index);} public ConfigSnapshot unsetSection(ConfigSnapshot src, String section, String subsection) { @@ -64,24 +64,24 @@ public boolean removeAll(Collection c) {synchronized (mutex) {return delegate(). public DoubleMetaphoneFilter create(TokenStream input, int maxCodeLength, boolean inject) {return new DoubleMetaphoneFilter(input, maxCodeLength, inject);} public long inCoreLength() { public void setValue(int newValue) {value = newValue;} -= newName;} +public Pair(ContentSource oldSource, ContentSource newSource, String oldName, String newName) {this.oldSource = oldSource;this.newSource = newSource;this.oldName = oldName;this.newName = newName;} public int get(int i, int j) {if (count <= i || count <= j)throw new ArrayIndexOutOfBoundsException(i,j);return entries[i][j];} -("Content-Type", "application/json");setRequestBody("{\"repo_name\":\""+repoName+"\"}");} +public CreateRepoRequest(String repoName) {super("cr", "2016-06-07", "CreateRepo", "cr");setUriPattern("/repos");setMethod(MethodType.PUT);setRequestHeader("Content-Type", "application/json");setRequestBody("{\"repo_name\":\""+repoName+"\"}");} public void setDeltaBaseAsOffset(boolean deltaBaseAsOffset) {this.deltaBaseAsOffset = deltaBaseAsOffset;} -ificationException();}} +public void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}} else {throw new ConcurrentModificationException();}} public static MergeShardsResult executeMergeShards(MergeShardsRequest request) { public static AllocateHostedConnectionResult executeAllocateHostedConnection(AllocateHostedConnectionRequest request) { public int getEndIndex() {return end;} public static final WeightedTerm[] getTerms(Query query, boolean sort){ public ByteBuffer compact(int start, int end) {throw new ReadOnlyBufferException();} -] = byte2 & 63;}} +public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) |public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++ public String getPath() throws IllegalArgumentException {String s = getHost();if (s == null) throw new IllegalArgumentException();return s;} public static DescribeNotebookInstanceLifecycleConfigResult executeDescribeNotebookInstanceLifecycleConfig(DescribeNotebookInstanceLifecycleConfigRequest request) { public String getAccessKeyID() {return this.accessKeyID;} -VpnConnection(request, asyncHandler);} +public CreateVpnConnectionResult createVpnConnection(CreateVpnConnectionRequest request, AsyncHandler asyncHandler) {request = beforeClientExecution(request);return executeCreateVpnConnection(request, asyncHandler);} public static DescribeVoicesResult executeDescribeVoices(DescribeVoicesRequest request) { public ListMonitoringExecutionsResult executeListMonitoringExecutions(ListMonitoringExecutionsRequest request) { -2);setJobId2(jobId2);} +public DescribeJobRequest(String vaultName, String jobId, String vaultName2, String jobId2) {setVaultName(vaultName);setJobId(jobId);setVaultName2(vaultName2);setJobId2(jobId2);} public EscherRecord getEscherRecord(int index, int offset){return escherRecords.get(index).getEscherRecord(offset);} public GetApisResult executeGetApis(GetApisRequest request) { public static DeleteSmsChannelResult executeDeleteSmsChannel(DeleteSmsChannelRequest request) { @@ -94,7 +94,7 @@ public GetThumbnailRequest(String photoId) {super("CloudPhoto", "2017-07-11", "G public static DescribeTransitGatewayVpcAttachmentsResult executeDescribeTransitGatewayVpcAttachments(DescribeTransitGatewayVpcAttachmentsRequest request) { public PutVoiceConnectorStreamingConfigurationResult executePutVoiceConnectorStreamingConfiguration(PutVoiceConnectorStreamingConfigurationRequest request) { public OrdRange getOrdRange(String dim, String prefix) { -} +public String toString() {String symbol = "";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));sypublic String toString() {String symbol = "";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), "%s('%s')", LexerNoViableAltException.class.getSimpleName(), symbol);} public E peekFirst() {return peekFirstImpl();} public static CreateWorkspacesResult executeCreateWorkspaces(CreateWorkspacesRequest createWorkspacesRequest) { public NumberFormatIndexRecord copy() { diff --git a/output/code2code-trans/prompt3/codegen1-multi-350M.output b/output/code2code-trans/prompt3/codegen1-multi-350M.output index dfed8df..280bad1 100644 --- a/output/code2code-trans/prompt3/codegen1-multi-350M.output +++ b/output/code2code-trans/prompt3/codegen1-multi-350M.output @@ -1,25 +1,25 @@ public void deserialize(final LittleEndianInput in) { -block[srcBlkIdx], 0, srcBlkSize);} -upto++] = s;} +public void addAll(int srcDirIdx, int srcBlkIdx, int srcBlkSize) {if (srcBlkSize == 0)return;int srcDirIdx2 = 0;for (; srcDirpublic void addAll(int srcDirIdx, int srcBlkIdx, int srcBlkSize) {if (srcBlkSize == 0)return;int srcDirIdx2 = 0;for (; srcDirIdx2 < srcDirIdx; srcDirIdx2++)addAll(src.directory[srcDirIdx2], 0, srcBlkSize);if (srcBlkIdx!= 0)addAll(src.block[srcBlkIdx], 0, srcBlkSize);} +public void writeShort(short s) {if (upto == blockSize) {if (currentBlock!= null) {addBlock(currentBlock);}currentBlock = new short[blockSize];upto = 0;}currentBlock[upto++] = s;} public ObjectId getObjectId() { public DeleteDomainEntryResult executeDeleteDomainEntry(DeleteDomainEntryRequest request, -);} -Utils.decode(guessEncoding(), raw, msgB, raw.length);} -1, POIFSConstants.FAT_SECTOR_BLOCK);_property_table.setStartBlock(0);} -BLOCK_MASK;offset0 = address;assert upto < slice.length;} +public long ramBytesUsed() {return ((termOffsets!=null)? termOffsets.ramBytesUsed() : 0) +((termsDictOffsets!=null)? termsDictOffsets.ramBytesUsed() : 0);} +public final String getFullMessage(int offset) {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, offset);if (msgB < 0) {return ""; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);} +public POIFSFileSystem(boolean b) {this(b, true);_header.setBATCount(1);_header.setBATArray(new int[]{1});BATBlock bb = BATBlock.createEmptypublic POIFSFileSystem(boolean b) {this(b, true);_header.setBATCount(1);_header.setBATArray(new int[]{1});BATBlock bb = BATBlock.createEmptyBATBlock(bigBlockSize, false);bb.setOurBlockIndex(1);_bat_blocks.add(bb);setNextBlock(0, POIFSConstants.END_OF_CHAIN);setNextBlock(1, POIFSConstants.FAT_SECTOR_BLOCK);_property_table.setStartBlock(0);} +public void init(int address, int size) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice!= null;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;assert upto < slice.length;} public SubmoduleAddCommand(String path) {this.path = path;this.setPath(path);} public ListIngestionsResult executeListIngestions(ListIngestionsRequest request, public static final String[] lexStateNames = { public GetShardIteratorResult executeGetShardIterator(GetShardIteratorRequest request) { public ModifyStrategyRequest(String aegis, String date, String method, String str) {super(aegis, date, method, str);setMethod(MethodType.POST);} --1;}}}} +public int read() throws IOException {synchronized (lock) {if (in == null) {throw new IOException("InputStreamReader is closed");}try {return in.read();} catch (IOException e) {return -1;}}}} public void setOptRecord(EscherOptRecord optRecord) { -= (char) this.buffer.charAt(pos + i);}pos += copylen;return copylen;} +public synchronized int read(char[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, lengthpublic synchronized int read(char[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (char) this.buffer.charAt(pos + i);}pos += copylen;return copylen;} public OpenNLPSentenceBreakIterator(NLPSentenceDetectorOp sentenceOp, int breakPos) {this.sentenceOp = sentenceOp; breakPos = breakPos;} public void write(String str) { public NotImplementedFunctionException(String functionName, NotImplementedException cause, String message) {super(functionName, cause, message);this.functionName = functionName;} public V previous() {return super.previousEntry().getValue();} - +public final void readBytes(byte[] b, int offset, int len) throws IOException {int available = bufferLength - bufferPosition;if(len <= available){if(len>0) System.arraycopy(buffer, bufferPositionpublic final void readBytes(byte[] b, int offset, int len) throws IOException {int available = bufferLength - bufferPosition;if(len <= available){if(len>0) System.arraycopy(buffer, bufferPosition, b, offset, len);bufferPosition+=len;} else {if(available > 0){System.arraycopy(buffer, bufferPosition, b, offset, available);offset += available;len -= available;bufferPosition += available;}ifpublic final void readBytes(byte[] b, int offset, int len) throws IOException {int available = bufferLength - bufferPosition;if(len <= available){if(len>0) System.arraycopy(buffer, bufferPositionpublic final void readBytes(byte[] b, int offset, int len) throws IOException {int available = bufferLength - bufferPosition;if(len <= available){if(len>0) System.arraycopy(buffer, bufferPosition, b, offset, len);bufferPosition+=len;} else {if(available > 0){System.arraycopy(buffer, bufferPosition, b, offset, available);offset += available;len -= available;bufferPosition += available;}if (useBuffer && len asyncHandler) { public int hashCode() { public GetInstanceAccessDetailsResult executeGetInstanceAccessDetails(GetInstanceAccessDetailsRequest request, -);shape.setParent(this);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;} +public HSSFPolygon createPolygon(HSSFChildAnchor anchor, HSSFChildAnchor anchor2) {HSSFPolygon shape = new HSSFPolygon(this, anchor, anchor2);shape.setParent(this);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;} public String getBoundSheetRec(int sheetIndex) { public GetDashboardResult executeGetDashboard(GetDashboardRequest request, public AssociateSigninDelegateGroupsWithAccountResult executeAssociateSigninDelegateGroupsWithAccount(AssociateSigninDelegateGroupsWithAccountRequest request, -();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(row);br.setXFIndex(mbr.getXFAt(j));insertCell(br);}} -E").toString();} +public void addMultipleBlanks(MulBlankRecord mbr, int row, int col) {for (int j = 0; j < mbr.getNumColumns(); j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(row);br.setXFIndex(mbr.getXFAt(j));insertCell(br);}} +public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append("\\Q");int apos = 0;int k;while ((k = string.indexOf("\\E", apos)) >=public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append("\\Q");int apos = 0;int k;while ((k = string.indexOf("\\E", apos)) >= 0) {sb.append(string.substring(apos, k + 2)).append("\\\\E\\Q");apos = k + 2;}return sb.append(string.substring(apos)).append("\\E").toString();} public ByteBuffer putShort(short value) {throw new ReadOnlyBufferException();} public short getValueIndex(int column, int row) {return _arrayValues[column * _nRows + row];} public GetIceServerConfigResult executeGetIceServerConfig(GetIceServerConfigRequest request) { @@ -42,19 +42,19 @@ public final void decRef() {refCount.decrementAndGet();} public UpdateConfigurationSetSendingEnabledResult executeUpdateConfigurationSetSendingEnabled(UpdateConfigurationSetSendingEnabledRequest request, public int getNextXBATChainOffset() {return getXBATEntriesPerBlock() * LittleEndianConsts.INT_SIZE;} public void multiplyByPowerOfTen(int pow10, int divisor) { -Component(i));if (i < l - 1){b.append(File.separatorChar);}}return b.toString();} +public String toString(){final StringBuilder b = new StringBuilder();final int l = length();b.append(File.separatorChar);for (int i = 0; i < l; i++){b.append(getComponent(i));if (i < l - 1){b.append(File.separatorChar);}}return b.toString();} public InstanceProfileCredentialsProvider withRoleName(String roleName) {this.roleName = roleName;return this;} public void setProgressMonitor(ProgressMonitor pm, int max) { public void parseEntry() { public E previous() {if (iterator.previousIndex() >= start) {return iterator.previous();}throw new NoSuchElementException();} public String getNewPrefix() {return this.newPrefix;} public int indexOfValue(int value, int start) {for (int i = start; i < mSize; i++)if (mValues[i] == value)return i;} -.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;} +public List uniqueStems(char word[], int length, boolean ignoreCase) {List stems = stem(word, length, ignoreCase);if (stems.size() < 2)public List uniqueStems(char word[], int length, boolean ignoreCase) {List stems = stem(word, length, ignoreCase);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;} public GetGatewayResponsesResult executeGetGatewayResponses(GetGatewayResponsesRequest request, public void setPosition(int pos) {currentBlockIndex = (int) (pos >> blockBits);currentBlock = blocks[currentBlockIndex];currentBlockUpto = (int) (pos & blockMask);} public long skip(long n) {int s = (int) Math.min(available(), Math.max(0, n));ptr += s;return s;} public BootstrapActionDetail(BootstrapActionConfig bootstrapActionConfig, BootstrapActionDetail bootstrapActionDetail) { -{field_7_padding.intValue();} } +public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_shapeid = in.readShort();field_6_author.length();field_5_hasMultibyte = in.readByte()==0x01;if (field_5_hasMultibyte) {fieldpublic void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_shapeid = in.readShort();field_6_author.length();field_5_hasMultibyte = in.readByte()==0x01;if (field_5_hasMultibyte) {field_6_author = StringUtil.getUnicodeLE(in);} else {field_6_author = StringUtil.getCompressedUnicode(in);}if (field_7_padding!= null) public int lastIndexOf(String string, int count) { public boolean addLast(E object) {return addLastImpl(object);} public ConfigSnapshot unsetSection(ConfigSnapshot src, String section, String subsection) { @@ -66,21 +66,21 @@ public long inCoreLength() { public boolean getValue() {return value;} public Pair(ContentSource oldSource, ContentSource newSource, ContentSource newSource2) {this.oldSource = oldSource;this.newSource = newSource;this.newSource2 = newSource2;} public int get(int i, int j) {if (count <= i)throw new ArrayIndexOutOfBoundsException(i);return entries[i];} -.POST);} +public CreateRepoRequest(String name, String description, String url, String username, String password) {super("cr", name, description, url, username, password);setUriPattern("/repos");setMethod(MethodType.POST);} public boolean isDeltaBaseAsOffset() {return deltaBaseAsOffset;} -{throw new ConcurrentModificationException();}} +public boolean add(ET e) {if (expectedModCount == list.modCount) {if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previouspublic boolean add(ET e) {if (expectedModCount == list.modCount) {if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastLink == link) {pos++;;}link = previous;lastLink = null;expectedModCount++;list.size++;list.modCount++;}} else {throw new ConcurrentModificationException();}} else {throw new ConcurrentModificationException();}} else {throw new ConcurrentModificationException();}} public MergeShardsResult executeMergeShards(MergeShardsRequest request) { public class AllocateHostedConnectionResult extends Result { public int getEndIndex() {return end;} public static final WeightedTerm[] getTerms(Query query, boolean includeInferred){ public ByteBuffer duplicate() {throw new ReadOnlyBufferException();} -] = byte2 & 63;}} +public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) |public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++ public String getPath() throws IllegalArgumentException {String s = getScheme();if (s == null) throw new IllegalArgumentException();return s;} public class DescribeNotebookInstanceLifecycleConfigResult { public String getAccessKeySecret() {return this.accessKeySecret;} // all methods that have the "execute" annotation are considered part of the "code" cs version public DescribeVoicesResult executeDescribeVoices(DescribeVoicesRequest request, -) { +public static com.amazonaws.services.elasticfilesystem.model.ListMonitoringExecutionsResult executeListMonitoringExecutions(com.amazonaws.services.elasticfilesystem.model.ListMonitoringExecutionsRequest request) { public DescribeJobRequest() { public void setEscherRecord(int index, EscherRecord escherRecord){escherRecords.set(index, escherRecord);} public GetApisResult executeGetApis(GetApisRequest request) { @@ -94,7 +94,7 @@ public GetThumbnailRequest(String id, String name, String url, String protocol) public DescribeTransitGatewayVpcAttachmentsResult executeDescribeTransitGatewayVpcAttachments(DescribeTransitGatewayVpcAttachmentsRequest request, public PutVoiceConnectorStreamingConfigurationResult executePutVoiceConnectorStreamingConfiguration(PutVoiceConnectorStreamingConfigurationRequest request, public OrdRange getOrdRange(String dim, String value) { -} +public String toString() {String symbol = "";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));sypublic String toString() {String symbol = "";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), "%s('%s')", LexerNoViableAltException.class.getSimpleName(), symbol);} public E peekFirst() {return peekFirstImpl();} public CreateWorkspacesResult executeCreateWorkspaces(CreateWorkspacesRequest request, public NumberFormatIndexRecord copy() { diff --git a/output/code2code-trans/prompt3/codegen1-multi-6B.output b/output/code2code-trans/prompt3/codegen1-multi-6B.output index 7011655..568178b 100644 --- a/output/code2code-trans/prompt3/codegen1-multi-6B.output +++ b/output/code2code-trans/prompt3/codegen1-multi-6B.output @@ -1,20 +1,20 @@ public void serialize(LittleEndianOutput out) {out.writeShort(field_1_vcenter);} -} -upto++] = b;} +public void addAll(BlockList src) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdx < src.tailDirIdx; srcDirIdxpublic void addAll(BlockList src) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdx < src.tailDirIdx; srcDirIdx++)addAll(src.directory[srcDirIdx], 0, BLOCK_SIZE);if (src.tailBlkIdx!= 0)addAll(src.tailBlock, 0, src.tailBlkIdx);}} +public void writeByte(byte b) {if (upto == blockSize) {if (currentBlock!= null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}currentBlock[upto++] = b;} public ObjectId getObjectId(String objectId) { public DeleteDomainEntryResult deleteDomainEntry(DeleteDomainEntryRequest request) { public long ramBytesUsed(IndexReader r) { -decode(guessEncoding(), raw, msgB, raw.length);} +public final String getFullMessage() {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return ""; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);} public POIFSFileSystem(boolean bigBlockSize) { -BLOCK_MASK;offset0 = address;assert upto + length <= slice.length;} +public void init(int address, int length) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice!= null;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;assert upto + length <= slice.length;} public SubmoduleAddCommand setPath(String path, boolean force) {this.path = path;this.force = force;return this;} public ListIngestionsResult listIngestions(ListIngestionsRequest request) { public QueryParserTokenManager(CharStream stream){ public GetShardIteratorResult executeGetShardIterator(GetShardIteratorRequest request) { -(MethodType.POST); -;} catch (IOException e) {return false;}}} +public ModifyStrategyRequest(String vip_id, String strategy_id, String strategy_name, String strategy_type, String strategy_status, String strategy_desc, String strategy_price, String strategy_start_time,public ModifyStrategyRequest(String vip_id, String strategy_id, String strategy_name, String strategy_type, String strategy_status, String strategy_desc, String strategy_price, String strategy_start_time, String strategy_end_time, String strategy_create_time, String strategy_update_time) {super("aegis", "2016-11-11", "ModifyStrategy", "vipaegis");setMethod(MethodType.POST); +public boolean ready() throws IOException {synchronized (lock) {if (in == null) {throw new IOException("InputStreamReader is closed");}try {return bytes.hasRemaining() || in.available() > 0;} catch (IOException e) {return false;}}} public EscherOptRecord getOptRecord(boolean createIfNull) { -= this.buffer.charAt(pos + i);}pos += copylen;return copylen;} +public synchronized int read(char[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, lengthpublic synchronized int read(char[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = this.buffer.charAt(pos + i);}pos += copylen;return copylen;} public OpenNLPSentenceBreakIterator(NLPSentenceDetectorOp sentenceOp, String lang) {this.sentenceOp = sentenceOp; this.lang = lang;} public void print(Object obj) {write(obj!= null? obj.toString() : String.valueOf((Object) null));} public NotImplementedFunctionException(String functionName, NotImplementedException cause, String message) {super(functionName, cause, message);this.functionName = functionName;} @@ -23,41 +23,41 @@ public final void readBytes(byte[] b, int offset, int len) throws IOException {r public TagQueueResult tagQueue(TagQueueRequest request) { public void remove() {throw new UnsupportedOperationException();} public CacheSubnetGroup modifyCacheSubnetGroup(ModifyCacheSubnetGroupRequest request) { -= st.nextToken();if (st.hasMoreTokens())country = st.nextToken();if (st.hasMoreTokens())variant = st.nextToken();} +public void setParams(String params) {super.setParams(params);language = country = variant = "";StringTokenizer st = new StringTokenizer(params, ",");if (st.hasMoreTokens())language = st.nextToken();if (st.hasMoreTokens())country = st.nextToken();if (st.hasMoreTokens())variant = st.nextToken();} public DeleteDocumentationVersionResult deleteDocumentationVersion(DeleteDocumentationVersionRequest request) { -i = length - 1; i >= 0; i--) {if (!components[i].equals(other.components[i])) {return false;}}return true;} +public boolean equals(Object obj) {if (!(obj instanceof FacetLabel)) {return false;}FacetLabel other = (FacetLabel) obj;if (length!= other.length) {return false; }for (int i = length - 1; i >= 0; i--) {if (!components[i].equals(other.components[i])) {return false;}}return true;} public GetInstanceAccessDetailsResult executeGetInstanceAccessDetails(GetInstanceAccessDetailsRequest request) { -Parent(this);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;} +public HSSFPolygon createPolygon(HSSFChildAnchor anchor, boolean isClosed) {HSSFPolygon shape = new HSSFPolygon(this, anchor, isClosed);shape.setParent(this);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;} public int getSheetIndex(String sheetName) { public GetDashboardResult getDashboard(GetDashboardRequest request) { public AssociateSigninDelegateGroupsWithAccountResult associateSigninDelegateGroupsWithAccount(AssociateSigninDelegateGroupsWithAccountRequest request) { -short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}} -.substring(apos, k)).append("\\");apos = k;}return sb.append(string.substring(apos)).toString();} +public void addMultipleBlanks(MulBlankRecord mbr) {for (int j = 0; j < mbr.getNumColumns(); j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}} +public static String quote(String string) {StringBuilder sb = new StringBuilder();int apos = 0;int k;while ((k = string.indexOf("\\", apos)) >= 0) {sb.append(string.substring(apos, k)).append("\\");apos = k;}return sb.append(string.substring(apos)).toString();} public ByteBuffer putInt(int index, int value) {throw new ReadOnlyBufferException();} -[c];}}_arrayValues = vv;_reserved0Int = reserved0Int;_reserved1Short = reserved1Short;_reserved2Byte = reserved2Byte;} +public ArrayPtg(Object[][] values2d, int reserved0Int, short reserved1Short, byte reserved2Byte) {int nColumns = values2d[0].length;int nRows = values2dpublic ArrayPtg(Object[][] values2d, int reserved0Int, short reserved1Short, byte reserved2Byte) {int nColumns = values2d[0].length;int nRows = values2d.length;_nColumns = (short) nColumns;_nRows = (short) nRows;Object[] vv = new Object[_nColumns * _nRows];for (int r=0public ArrayPtg(Object[][] values2d, int reserved0Int, short reserved1Short, byte reserved2Byte) {int nColumns = values2d[0].length;int nRows = values2dpublic ArrayPtg(Object[][] values2d, int reserved0Int, short reserved1Short, byte reserved2Byte) {int nColumns = values2d[0].length;int nRows = values2d.length;_nColumns = (short) nColumns;_nRows = (short) nRows;Object[] vv = new Object[_nColumns * _nRows];for (int r=0; r= start) {return iterator.previous();}throw new NoSuchElementException();} public String getNewPrefix() {return this.newPrefix;} public int indexOfValue(int value) {for (int i = 0; i < mSize; i++)if (mValues[i] == value)return i;return -1;} -deduped.add(s);terms.add(s);}}return deduped;} +public List uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySetpublic List uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;} public GetGatewayResponsesResult executeGetGatewayResponses(GetGatewayResponsesRequest request) { public void setPosition(long pos) { public long skip(long n) { public BootstrapActionDetail(String name, String scriptPath, String args, String actionId) { -_7_padding!= null) {out.writeByte(field_7_padding.intValue());}} +public void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(public void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(field_4_shapeid);out.writeShort(field_6_author.length());out.writeByte(field_5_hasMultibyte? 0x01 : 0x00);if (field_5_haspublic void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(public void serialize(LittleEndianOutput out) {out.writeShort(field_1_row);out.writeShort(field_2_col);out.writeShort(field_3_flags);out.writeShort(field_4_shapeid);out.writeShort(field_6_author.length());out.writeByte(field_5_hasMultibyte? 0x01 : 0x00);if (field_5_hasMultibyte) {StringUtil.putUnicodeLE(field_6_author, out);} else {StringUtil.putCompressedUnicode(field_6_author, out);}if (field public int lastIndexOf(String string, int start) { public boolean add(E object, int index) {return addImpl(object, index);} -src, res));} +public void unsetSection(String section, String subsection) {ConfigSnapshot src, res;do {src = state.get();res = unsetSection(src, section, subsection);} while (!state.compareAndSet(src, res));} public final String getTagName() {return tagName;} public void addSubRecord(SubRecord element) {subrecords.add(element);} public boolean removeAll(Collection c) {synchronized (mutex) {return delegate().removeAll(c);}} @@ -66,16 +66,16 @@ public long length() {return inCoreLength();} public void setValue(boolean newValue, boolean isFinal) { public Pair(ContentSource oldSource, ContentSource newSource) { public int get(int i) {if (count <= i)throw new ArrayIndexOutOfBoundsException(i);return entries[i];} -{ +public CreateRepoRequest(String repoName, String description, String homepage, String privateRepo, String gitUrl, String gitUsername, String gitPassword, String gitEmail, String gitPrivateKey, String gitPublicKey, String gitpublic CreateRepoRequest(String repoName, String description, String homepage, String privateRepo, String gitUrl, String gitUsername, String gitPassword, String gitEmail, String gitPrivateKey, String gitPublicKey, String gitPrivateKeyPassphrase, String gitPublicKeyPassphrase, String gitPrivateKeyPassphraseType, String gitPublicKeyPassphraseType, String gitPrivateKeyType, String gitPublicKeyType, String gitPrivateKeyPassphraseFile, String gitpublic CreateRepoRequest(String repoName, String description, String homepage, String privateRepo, String gitUrl, String gitUsername, String gitPassword, String gitEmail, String gitPrivateKey, String gitPublicKey, String gitpublic CreateRepoRequest(String repoName, String description, String homepage, String privateRepo, String gitUrl, String gitUsername, String gitPassword, String gitEmail, String gitPrivateKey, String gitPublicKey, String gitPrivateKeyPassphrase, String gitPublicKeyPassphrase, String gitPrivateKeyPassphraseType, String gitPublicKeyPassphraseType, String gitPrivateKeyType, String gitPublicKeyType, String gitPrivateKeyPassphraseFile, String gitPublicKeyPassphraseFile, String gitPrivateKeyPassphraseFileType, String gitPublicKeyPassphraseFileType, String gitPrivateKeyFile, String gitPublicKeyFile, String gitPrivateKeyFileType, String gitPublicKeyFileType) { public boolean isDeltaBaseAsOffset() {return deltaBaseAsOffset;} -new IllegalStateException();}} else {throw new ConcurrentModificationException();}} +public void remove() {if (expectedModCount == list.modCount) {if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.public void remove() {if (expectedModCount == list.modCount) {if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastLink == link) {pos--;}link = previous;lastLink = null;expectedModCount++;list.size--;list.modCount++;} else {throw new IllegalStateException();}} else {throw new ConcurrentModificationException();}}}} else {throw new ConcurrentModificationException();}} public MergeShardsResult mergeShards(MergeShardsRequest request) { public AllocateHostedConnectionResult allocateHostedConnection(AllocateHostedConnectionRequest request) { public int getEndIndex() {return end;} public static final WeightedTerm[] getTerms(Query query, boolean useStopWords){ public ByteBuffer compact() {throw new ReadOnlyBufferException();} -] = byte2 & 63;}} -ants.DOT_GIT_EXT.length());return result;} +public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) |public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++ +public String getHumanishName() throws IllegalArgumentException {String s = getPath();if ("/".equals(s) || "".equals(s)) s = getHost();if (s == null) throw new Illegalpublic String getHumanishName() throws IllegalArgumentException {String s = getPath();if ("/".equals(s) || "".equals(s)) s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if ("file".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split("[\\" + File.separatorChar + "/]public String getHumanishName() throws IllegalArgumentException {String s = getPath();if ("/".equals(s) || "".equals(s)) s = getHost();if (s == null) throw new Illegalpublic String getHumanishName() throws IllegalArgumentException {String s = getPath();if ("/".equals(s) || "".equals(s)) s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if ("file".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split("[\\" + File.separatorChar + "/]"); elseelements = s.split("/+"); if (elements.length == 0)throw new IllegalArgumentException();String result = elements[elements.length - 1];if (Constants.DOT_GIT. public DescribeNotebookInstanceLifecycleConfigResult executeDescribeNotebookInstanceLifecycleConfig(DescribeNotebookInstanceLifecycleConfigRequest describeNotebookInstanceLifecycleConfigRequest) { public String getAccessKeySecret() {return this.accessKeySecret;} public CreateVpnConnectionResult createVpnConnection(CreateVpnConnectionRequest request) { @@ -94,7 +94,7 @@ public GetThumbnailRequest(String service, String version, String action, String public DescribeTransitGatewayVpcAttachmentsResult executeDescribeTransitGatewayVpcAttachments(DescribeTransitGatewayVpcAttachmentsRequest describeTransitGatewayVpcAttachmentsRequest) { public PutVoiceConnectorStreamingConfigurationResult putVoiceConnectorStreamingConfiguration(PutVoiceConnectorStreamingConfigurationRequest request) { public OrdRange getOrdRange(String dim, String prefix) {return prefixToOrdRange.get(dim).get(prefix);} -} +public String toString() {String symbol = "";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));sypublic String toString() {String symbol = "";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), "%s('%s')", LexerNoViableAltException.class.getSimpleName(), symbol);} public E peekFirstImpl() { public CreateWorkspacesResult createWorkspaces(CreateWorkspacesRequest request) { public NumberFormatIndexRecord copy() { diff --git a/output/code2code-trans/prompt4/.ipynb_checkpoints/codegen1-multi-16B-checkpoint.output b/output/code2code-trans/prompt4/.ipynb_checkpoints/codegen1-multi-16B-checkpoint.output new file mode 100644 index 0000000..2f757c9 --- /dev/null +++ b/output/code2code-trans/prompt4/.ipynb_checkpoints/codegen1-multi-16B-checkpoint.output @@ -0,0 +1,100 @@ +private void deserialize(LittleEndianInput in) { +public void addAll(BlockList src, int srcDirIdx, int srcBlkIdx, int srcOff) {if (src.size == 0)return;int srcOff2 = srcOff;for (public void addAll(BlockList src, int srcDirIdx, int srcBlkIdx, int srcOff) {if (src.size == 0)return;int srcOff2 = srcOff;for (; srcDirIdx < src.tailDirIdx; srcDirIdx++)addAll(src.directory[srcDirIdx], srcBlkIdx, srcOff2);if (src.tailBlkIdx!= 0)addAll(src.tailBlock, srcBlkIdx, srcOff2);} +public void writeBytes(byte[] b) {if (b.length!= 0) {if (upto + b.length > blockSize) {if (currentBlock!= null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}System.arraycopy(b, 0, currentBlock, upto, b.length);upto += b.length;} +public void setObjectId(ObjectId value) {objectId = value;} +// This code is written in Java. Reproduce the same exact code in C#. +public long ramBytesUsed(int version) {return ((termOffsets!=null)? termOffsets.ramBytesUsed(version) : 0) +((termsDictOffsets!=null)? termsDictOffsets.ramBytesUsed(version) : 0);} +public final String getFullMessage(byte[] raw) {int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return ""; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);} +public POIFSFileSystem(boolean isBigBlockSize) { +public void init(int address, int length) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice!= null;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;assert upto + length <= slice.length;} +public SubmoduleAddCommand setBranch(String branch) {this.branch = branch;return this;} +private ListIngestionsResult executeListIngestions(ListIngestionsRequest request) { +public void SwitchTo(int lexState){if (lexState >= 1 || lexState < 0) +private GetShardIteratorResult executeGetShardIterator(GetShardIteratorRequest request) { +// public ModifyStrategyRequest(string name, string date, string time, string description) { +public void close() throws IOException {synchronized (lock) {if (in!= null) {in.close(); in = null;}}}} +public EscherClientDataRecord getClientDataRecord() {return _clientData;} +public synchronized int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, lengthpublic synchronized int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (byte) this.buffer.charAt(pos + i);}pos += copylen;return copylen;} +public int getCurrent() {return current;} +public void print(Object obj) {write(obj!= null? String.valueOf(obj) : String.valueOf((Object) null));} +public NotImplementedFunctionException(String functionName) {super(functionName);this.functionName = functionName;} +public V previous() {return super.previousEntry().getValue();} +public final void readBytes(byte[] b, int offset, int len) throws IOException {readBytes(b, offset, len, false);} +// This code is written in Java. +public void remove() {throw new UnsupportedOperationException();} +private CacheSubnetGroup executeModifyCacheSubnetGroup(ModifyCacheSubnetGroupRequest request) { +public String getParams() {return super.getParams() + "," + language + "," + country + "," + variant;} +private DeleteDocumentationVersionResult executeDeleteDocumentationVersion(DeleteDocumentationVersionRequest deleteDocumentationVersionRequest) { +public int hashCode() {int hash = 0;for (int i = 0; i < length; i++) {hash = hash * 31 + components[i].hashCode();}return hash;} +private GetInstanceAccessDetailsResult executeGetInstanceAccessDetails(GetInstanceAccessDetailsRequest request) { +public HSSFPolygon createPolygon(HSSFChildAnchor anchor, int numPoints) {HSSFPolygon shape = new HSSFPolygon(this, anchor, numPoints);shape.setParent(this);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;} +public int getSheetIndex(String sheetName) {return getBoundSheetRec(sheetName).getSheetindex();} +private GetDashboardResult executeGetDashboard(GetDashboardRequest request) { +private static AssociateSigninDelegateGroupsWithAccountResponse executeAssociateSigninDelegateGroupsWithAccount(AssociateSigninDelegateGroupsWithAccountRequest request) { +public void addMultipleBlanks(MulBlankRecord mbr, int firstColumn, int lastColumn) {for (int j = firstColumn; j <= lastColumn; j++) {BlankRecord br = new BlankRecord();brpublic void addMultipleBlanks(MulBlankRecord mbr, int firstColumn, int lastColumn) {for (int j = firstColumn; j <= lastColumn; j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}}}} +public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append("\\Q");int apos = 0;int k;while ((k = string.indexOf("\\E", apos)) >=public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append("\\Q");int apos = 0;int k;while ((k = string.indexOf("\\E", apos)) >= 0) {sb.append(string.substring(apos, k + 2)).append("\\\\E\\Q");apos = k + 2;}return sb.append(string.substring(apos)).append("\\E").toString();} +public ByteBuffer putInt(int value, int index) {throw new ReadOnlyBufferException();} +public int getValueIndex(int column, int row) {return (row * _nColumns) + column;} +// public static GetIceServerConfigResult executeGetIceServerConfig(GetIceServerConfigRequest request) { +public String getValueAsString() { +public ToChildBlockJoinQuery clone() { +public final void decRef() { +private UpdateConfigurationSetSendingEnabledResult executeUpdateConfigurationSetSendingEnabled(UpdateConfigurationSetSendingEnabledRequest updateConfigurationSetSendingEnabledRequest) { +public int getNextXBATChainOffset() {return getXBATEntriesPerBlock() * LittleEndianConsts.INT_SIZE;} +public void multiplyByPowerOfTen(int pow10) {TenPower tp = TenPower.getInstance(Math.abs(pow10));if (pow10 < 0) {mulShift(tp._divisor, tp._divisorShift);} else {mulShift(tp._multiplicand, tp._multiplierShift);}} +public String toString(){return String.join(File.separator, this);} +public InstanceProfileCredentialsProvider withRoleName(String roleName) {this.roleName = roleName;return this;} +public void setProgressMonitor(ProgressMonitor pm) {progressMonitor = pm;} +public void reset(int p) {if (!first()) {ptr = p;if (!eof())parseEntry();}} +public E previous() {if (iterator.previousIndex() >= start) {return iterator.previous();}throw new NoSuchElementException();} +public String getNewSuffix() {return this.newSuffix;} +public int indexOfValue(int value) {for (int i = 0; i < mSize; i++)if (mValues[i] == value)return i;return -1;} +public List uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySetpublic List uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;} +private GetGatewayResponsesResult executeGetGatewayResponses(GetGatewayResponsesRequest request) { +public void setPosition(long pos, int idx) {currentBlockIndex = (int) (pos >> blockBits);currentBlock = blocks[currentBlockIndex];currentBlockUpto = (int) (pos & blockMask);} +public long skip(long n, long start) {int s = (int) Math.min(available(), Math.max(0, n));ptr += s;return s;} +public BootstrapActionDetail(BootstrapActionConfig bootstrapActionConfig, String description) {setBootstrapActionConfig(bootstrapActionConfig);setDescription(description);} +private static int ComputeSize(int row, int col, int flags, int shapeid, int authorLength, boolean hasMultibyte, String author) { +public int lastIndexOf(String string, int startIndex) { +public boolean addFirstImpl(E object) { +public ConfigSnapshot unsetSection(ConfigSnapshot src, String section, String subsection) {ConfigSnapshot res;do {res = unsetSection(src, section, subsection);} while (!state.compareAndSet(src, res));return res;} +public final String getTagName() {return tagName;} +public void addSubRecord(SubRecord element) {subrecords.add(element);} +public boolean removeAll(Collection c) {synchronized (mutex) {return delegate().removeAll(c);}} +public DoubleMetaphoneFilter create(TokenStream input, int maxCodeLength, boolean inject) {return new DoubleMetaphoneFilter(input, maxCodeLength, inject);} +public long inCoreLength() { +public void setValue(int newValue) {value = newValue;} +public Pair(ContentSource oldSource, ContentSource newSource, int oldIndex, int newIndex) {this.oldSource = oldSource;this.newSource = newSource;this.oldIndex = oldIndex;this.newIndex = newIndex;} +public void set(int i, int value) {if (count <= i)throw new ArrayIndexOutOfBoundsException(i);entries[i] = value;} +// public CreateRepoRequest(string name, string description, string homepage, string private_repo, string has_issues, string has_wiki, string has_downloads, string default_branch, string team_id, string permission) { +public void setDeltaBaseAsOffset(boolean deltaBaseAsOffset) {this.deltaBaseAsOffset = deltaBaseAsOffset;} +public void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}Link link = thispublic void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}Link link = this.link;if (index == 0) {if (link.previous!= null) {link.previous.next = link.next;link.next.previous = link.previous;} else {list.first = linkpublic void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}Link link = thispublic void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}Link link = this.link;if (index == 0) {if (link.previous!= null) {link.previous.next = link.next;link.next.previous = link.previous;} else {list.first = link.next;}if (link.next == null) {list.last = link.previous;}else {link.next.previous = link.previous;}if (link.previous == null) {list.first = link +private MergeShardsResult executeMergeShards(MergeShardsRequest request) { +private AllocateHostedConnectionResult executeAllocateHostedConnection(AllocateHostedConnectionRequest allocateHostedConnectionRequest) { +public int getEndIndex() {return end;} +public static final WeightedTerm[] getTerms(Query query, boolean includeSpans){ +public ByteBuffer duplicate() {throw new ReadOnlyBufferException();} +// public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final int byte0 = blocks[blocksOffset++// public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final int byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final int byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4)// public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final int byte0 = blocks[blocksOffset++// public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final int byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final int byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final int byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset +public String getPath() throws IllegalArgumentException {String s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if ("file".equals(scheme) || LOCAL_FILE.public String getPath() throws IllegalArgumentException {String s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if ("file".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split("[\\" + File.separatorChar + "/]"); elseelements = s.split("/+"); if (elements.length == 0)throw new IllegalArgpublic String getPath() throws IllegalArgumentException {String s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if ("file".equals(scheme) || LOCAL_FILE.public String getPath() throws IllegalArgumentException {String s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if ("file".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split("[\\" + File.separatorChar + "/]"); elseelements = s.split("/+"); if (elements.length == 0)throw new IllegalArgumentException();String result = elements[elements.length - 1];if (Constants.DOT_GIT.equals(result))result = elements[elements.length - 2];else if (result.endsWith( +private DescribeNotebookInstanceLifecycleConfigResult executeDescribeNotebookInstanceLifecycleConfig(DescribeNotebookInstanceLifecycleConfigRequest describeNotebookInstanceLifecycleConfigRequest) { +public String getAccessKey() {return this.accessKey;} +// This code is written in Java. +private static DescribeVoicesResult executeDescribeVoices(DescribeVoicesRequest describeVoicesRequest) { +private ListMonitoringExecutionsResult executeListMonitoringExecutions(ListMonitoringExecutionsRequest listMonitoringExecutionsRequest) { +public String getVaultName() {return vaultName;} +public void setEscherRecord(int index, EscherRecord value){escherRecords.set(index, value);} +private GetApisResult executeGetApis(GetApisRequest request) { +// This code is written in Java. +public void setTrackingRefUpdate(TrackingRefUpdate trackingRefUpdate) {this.trackingRefUpdate = trackingRefUpdate;} +public void print(byte b) {print(String.valueOf(b));} +public QueryNode getParent() {return getParents().get(0);} +public int getIndex() {return index;} +public AreaRecord(short field_1_formatFlags) {this.field_1_formatFlags = field_1_formatFlags;} +// This code is written in Java. +private DescribeTransitGatewayVpcAttachmentsResult executeDescribeTransitGatewayVpcAttachments(DescribeTransitGatewayVpcAttachmentsRequest describeTransitGatewayVpcAttachmentsRequest) { +private PutVoiceConnectorStreamingConfigurationResult executePutVoiceConnectorStreamingConfiguration(PutVoiceConnectorStreamingConfigurationRequest putVoiceConnectorStreamingConfigurationRequest) { +public String getDim(OrdRange ordRange) {return ordRangeToPrefix.get(ordRange);} +} +public E peekFirstImpl() { +private CreateWorkspacesResult executeCreateWorkspaces(CreateWorkspacesRequest createWorkspacesRequest) { +public NumberFormatIndexRecord copy() { diff --git a/output/code2code-trans/prompt4/.ipynb_checkpoints/codegen1-multi-2B-checkpoint.output b/output/code2code-trans/prompt4/.ipynb_checkpoints/codegen1-multi-2B-checkpoint.output new file mode 100644 index 0000000..27e2c65 --- /dev/null +++ b/output/code2code-trans/prompt4/.ipynb_checkpoints/codegen1-multi-2B-checkpoint.output @@ -0,0 +1,100 @@ +private int getVcenter() {return field_1_vcenter;} +public void addAll(BlockList src, int srcDirIdx, int srcBlkIdx) {if (src.size == 0)return;int srcDirIdx2 = srcDirIdx + 1;public void addAll(BlockList src, int srcDirIdx, int srcBlkIdx) {if (src.size == 0)return;int srcDirIdx2 = srcDirIdx + 1;for (; srcDirIdx2 < src.tailDirIdx; srcDirIdx2++)addAll(src.directory[srcDirIdx2], srcBlkIdx, BLOCK_SIZE);if (src.tailBlkIdx!= 0)addAll(src.tailBlock, srcBlkIdx, src.tailBlkIdx);}} +public void writeByte(byte b) {if (upto == blockSize) {if (currentBlock!= null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}currentBlock[upto++] = b;} +public void setObjectId(ObjectId objectId) {this.objectId = objectId;} +//public DeleteDomainEntryResult executeDeleteDomainEntry(DeleteDomainEntryRequest request) { +public long ramBytesUsed() {return ((termOffsets!=null)? termOffsets.ramBytesUsed() : 0) +((termsDictOffsets!=null)? termsDictOffsets.ramBytesUsed() : 0);} +public final String getFullMessage() {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return ""; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);} +public POIFSFileSystem(boolean bigBlockSize) {this(bigBlockSize, true);_header.setBATCount(1);_header.setBATArray(new int[]{1});BATBlock bb = BATpublic POIFSFileSystem(boolean bigBlockSize) {this(bigBlockSize, true);_header.setBATCount(1);_header.setBATArray(new int[]{1});BATBlock bb = BATBlock.createEmptyBATBlock(bigBlockSize, false);bb.setOurBlockIndex(1);_bat_blocks.add(bb);setNextBlock(0, POIFSConstants.END_OF_CHAIN);setNextBlock(1, POIFSConstants.FAT_SECTOR_BLOCK);_property_table.setStartBlock(0);} +public void init(int address, int length) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice!= null;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;assert upto + length <= slice.length;} +public SubmoduleAddCommand setPath(String path, String submoduleName) {this.path = path;this.submoduleName = submoduleName;return this;} +//public ListIngestionsResult listIngestions() { +public QueryParserTokenManager(CharStream stream){ +private GetShardIteratorResult executeGetShardIterator(GetShardIteratorRequest getShardIteratorRequest) { +public ModifyStrategyRequest(String requestId, String requestType, String requestTime, String requestUrl, String requestMethod, String requestBody, String requestHeaders) {super(requestId, requestType, requestTime, requestUrl, requestMethod, requestBody, requestHeaders);} +public boolean ready() throws IOException {synchronized (lock) {if (in == null) {throw new IOException("InputStreamReader is closed");}try {return bytes.hasRemaining() || in.available() > 0;} catch (IOException e) {return false;}}} +private static class EscherOptRecord extends EscherOptRecordBase { +public synchronized int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, lengthpublic synchronized int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (byte) this.buffer.charAt(pos + i);}pos += copylen;return copylen;} +public OpenNLPSentenceBreakIterator(NLPSentenceDetectorOp sentenceOp, String language) {this.sentenceOp = sentenceOp;} +public void print(String str, int len) {write(str!= null? str.substring(0, Math.min(str.length(), len)) : String.valueOf((Object) null));} +public NotImplementedFunctionException(String functionName, NotImplementedException cause, String message) {super(functionName, cause, message);this.functionName = functionName;} +public V next() {return super.nextEntry().getValue();} +public final void readBytes(byte[] b, int offset, int len) throws IOException {readBytes(b, offset, len, true);} +//public TagQueueResult tagQueue(TagQueueRequest request) {request = beforeClientExecution(request);return executeTagQueue(request);} +public void remove(int index) {throw new UnsupportedOperationException();} +//public CacheSubnetGroup modifyCacheSubnetGroup() { +public void setParams(String language, String country, String variant) {super.setParams(language, country, variant);this.language = language;this.country = country;this.variant = variant;} +//public DeleteDocumentationVersionResult executeDeleteDocumentationVersion(DeleteDocumentationVersionRequest request) { +public int hashCode() { +//public void getInstanceAccessDetails(GetInstanceAccessDetailsRequest request) {request = beforeClientExecution(request); +public HSSFPolygon createPolygon(HSSFChildAnchor anchor, int[] xPoints, int[] yPoints) {HSSFPolygon shape = new HSSFPolygon(this, anchor, xPoints, yPoints);shape.setParent(this);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;} +public BoundSheet getBoundSheetRec(int sheetIndex) {return (BoundSheet)get(sheetIndex);} +//public void getDashboard(GetDashboardRequest request) {request = beforeClientExecution(request); +//public AssociateSigninDelegateGroupsWithAccountResult executeAssociateSigninDelegateGroupsWithAccount(AssociateSigninDelegateGroupsWithAccountRequest request) { +public void addMultipleBlanks(MulBlankRecord mbr) {for (int j = 0; j < mbr.getNumColumns(); j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}} +public static String unquote(String string) {StringBuilder sb = new StringBuilder();sb.append("\\Q");int apos = 0;int k;while ((k = string.indexOf("\\E", apos))public static String unquote(String string) {StringBuilder sb = new StringBuilder();sb.append("\\Q");int apos = 0;int k;while ((k = string.indexOf("\\E", apos)) >= 0) {sb.append(string.substring(apos, k + 2)).append("\\\\E");apos = k + 2;}return sb.append(string.substring(apos)).append("\\E").toString();} +public ByteBuffer putInt(int index, int value) {throw new ReadOnlyBufferException();} +public ArrayPtg(int nColumns, int nRows) {_nColumns = (short) nColumns;_nRows = (short) nRows;_arrayValues = new Object[nColumns * nRows];_reserved0Int = 0;_reserved1Short = 0;_reserved2Byte = 0;} +//public void getIceServerConfig(GetIceServerConfigRequest request) +public String getValueAsString() {return "";} +public String toString() {return "ToChildBlockJoinQuery ("+parentQuery.toString()+")";} +public final void decRef() { +//public UpdateConfigurationSetSendingEnabledResult updateConfigurationSetSendingEnabled() { +public int getNextXBATChainOffset() {return getXBATEntriesPerBlock() * LittleEndianConsts.INT_SIZE;} +public void multiplyByPowerOfTen(int pow10) {int[] tp = new int[2];int[] m = new int[2];int[] d = new int[2];int[] ds = new int[2public void multiplyByPowerOfTen(int pow10) {int[] tp = new int[2];int[] m = new int[2];int[] d = new int[2];int[] ds = new int[2];int[] m2 = new int[2];int[] m3 = new int[2];int[] m4 = new int[2];int[] m5 = new int[2];int[] m6 = new int[2public void multiplyByPowerOfTen(int pow10) {int[] tp = new int[2];int[] m = new int[2];int[] d = new int[2];int[] ds = new int[2public void multiplyByPowerOfTen(int pow10) {int[] tp = new int[2];int[] m = new int[2];int[] d = new int[2];int[] ds = new int[2];int[] m2 = new int[2];int[] m3 = new int[2];int[] m4 = new int[2];int[] m5 = new int[2];int[] m6 = new int[2];int[] m7 = new int[2];int[] m8 = new int[2];int[] m9 = new int[2];int[] m10 = new int[2];int[] m11 = new int[2 +public String toString(){final StringBuilder b = new StringBuilder();final int l = length();for (int i = 0; i < l; i++){b.append(getComponent(i));if (i < l - 1){b.append(File.separatorChar);}}return b.toString();} +public InstanceProfileCredentialsProvider withRoleName(String roleName) {this.roleName = roleName;return this;} +public void setProgressMonitor(ProgressMonitor pm, int max) {progressMonitor = pm;} +public void reset(String fileName) {if (!first()) {ptr = 0;if (!eof())parseEntry(fileName);}} +public E previous() {if (iterator.previousIndex() >= start) {return iterator.previous();}throw new NoSuchElementException();} +public void setNewPrefix(String newPrefix) {this.newPrefix = newPrefix;} +public int indexOfValue(int value) {for (int i = 0; i < mSize; i++)if (mValues[i] == value)return i;return -1;} +public List uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!deduped.contains(s)) {deduped.add(s);}}return deduped;} +//public void getGatewayResponses(GetGatewayResponsesRequest request, final ServiceCallback serviceCallback) { +public void setPosition(long pos) {currentBlockIndex = (int) (pos >> blockBits);currentBlock = blocks[currentBlockIndex];currentBlockUpto = (int) (pos & blockMask);} +public long skip(long n) {int s = (int) Math.min(available(), Math.max(0, n));ptr += s;return s;} +public BootstrapActionDetail(BootstrapActionConfig bootstrapActionConfig, String actionId, String status, String statusMessage, String statusUpdateTime, String statusUpdateUser, String statusUpdateTimeUTC, String statusUpdateUserUTC) {public BootstrapActionDetail(BootstrapActionConfig bootstrapActionConfig, String actionId, String status, String statusMessage, String statusUpdateTime, String statusUpdateUser, String statusUpdateTimeUTC, String statusUpdateUserUTC) {setBootstrapActionConfig(bootstrapActionConfig);setActionId(actionId);setStatus(status);setStatusMessage(statusMessage);setStatusUpdateTime(statusUpdateTime);setStatusUpdateUser(statusUpdateUser);setStatusUpdateTimeUTC(statusUpdateTimeUTC);setStatusUpdateUserUTC(statusUpdateUserUTC);}} +public void serialize(ByteArrayOutputStream out) throws IOException { +public int lastIndexOf(String string, int count) { +public boolean addLastImpl(E object) { +ConfigSnapshot unsetSection(ConfigSnapshot src, String section, String subsection) { +public final String getTagName(String namespace) {return tagName;} +public void addSubRecord(SubRecord element) {subrecords.add(element);} +public boolean remove(Object o, int index) {synchronized (mutex) {return delegate().remove(o, index);}} +public DoubleMetaphoneFilter create(TokenStream input, int maxCodeLength, boolean inject) {return new DoubleMetaphoneFilter(input, maxCodeLength, inject);} +public long inCoreLength() { +public boolean getValue() {return value;} +public static Pair create(ContentSource oldSource, ContentSource newSource) { +public int get(int i) {if (count <= i)throw new ArrayIndexOutOfBoundsException(i);return entries[i];} +public CreateRepoRequest(String name) {super("cr", "2016-06-07", "CreateRepo", "cr");setUriPattern("/repos");setMethod(MethodType.PUT);setName(name);} +public void setDeltaBaseAsOffset(boolean deltaBaseAsOffset) {this.deltaBaseAsOffset = deltaBaseAsOffset;} +public void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}} else {throw new ConcurrentModificationException();}} +//public void mergeShards(MergeShardsRequest request, final ServiceCallback serviceCallback) { +public AllocateHostedConnectionResult executeAllocateHostedConnection(AllocateHostedConnectionRequest request) { +public int getEndIndex() {return end;} +public static final WeightedTerm[] getTerms(Query query, boolean useWeight){ +public ByteBuffer compact(int start, int end) {throw new ReadOnlyBufferException();} +public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = (byte0 & 15) << 2 | (blocks[blocksOffset++] & 0xFF) >>> 6;values[valuesOffset++] = ((byte0 & 63) <>> 6;values[valuesOffset++] = ((byte0 & 63) << 4) | (blocks[blocksOffset++] & 0xFF) >>> 4;values[valuesOffset++] = ((byte0 & 63) << 2) | (blocks[blocksOffset++] & 0xFF) >>> 2; +public String getPath() throws IllegalArgumentException {String s = getHost();if (s == null) throw new IllegalArgumentException();return s;} +//public void describeNotebookInstanceLifecycleConfig(DescribeNotebookInstanceLifecycleConfigRequest request, final ServiceCallback serviceCallback) { +public void setAccessKeySecret(String accessKeySecret) {this.accessKeySecret = accessKeySecret;} +//public CreateVpnConnectionResult createVpnConnection(CreateVpnConnectionRequest request, String ifMatch) {request = beforeClientExecution(request);return executeCreateVpnConnection(request, ifMatch);} +//public void describeVoices(DescribeVoicesRequest request) { +//public ListMonitoringExecutionsResult listMonitoringExecutions() { +public DescribeJobRequest(String vaultName, String jobId, String vaultName2, String jobId2) {setVaultName(vaultName);setJobId(jobId);setVaultName2(vaultName2);setJobId2(jobId2);} +public int getEscherRecordCount(){return escherRecords.size();} +//public GetApisResult getApis() { +//public DeleteSmsChannelResponse executeDeleteSmsChannel(DeleteSmsChannelRequest request) { +public void setTrackingRefUpdate(TrackingRefUpdate trackingRefUpdate) {this.trackingRefUpdate = trackingRefUpdate;} +public void print(char c) {print(String.valueOf(c));} +public void setChild(QueryNode child) {getChildren().set(0, child);} +public NotIgnoredFilter(int workdirTreeIndex, int workdirTreeIndex2) {this.index = workdirTreeIndex;this.index2 = workdirTreeIndex2;} +public AreaRecord() { +public GetThumbnailRequest(String accessToken) {super("CloudPhoto", "2017-07-11", "GetThumbnail", "cloudphoto");setProtocol(ProtocolType.HTTPS);this.accessToken = accessToken;} +//public DescribeTransitGatewayVpcAttachmentsResult executeDescribeTransitGatewayVpcAttachments(DescribeTransitGatewayVpcAttachmentsRequest request) { +//public void putVoiceConnectorStreamingConfiguration(PutVoiceConnectorStreamingConfigurationRequest request, final ServiceCallback serviceCallback) { +public OrdRange getOrdRange(String dim) { +public String toString(int startIndex) {String symbol = "";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,public String toString(int startIndex) {String symbol = "";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), "%s('%s')", LexerNoViableAltException.class.getSimpleName(), symbol);} +public E peekFirst() {return peekFirstImpl();} +//public CreateWorkspacesResult createWorkspaces() { +public NumberFormatIndexRecord copy() { diff --git a/output/code2code-trans/prompt4/.ipynb_checkpoints/codegen1-multi-350M-checkpoint.output b/output/code2code-trans/prompt4/.ipynb_checkpoints/codegen1-multi-350M-checkpoint.output new file mode 100644 index 0000000..15c98b3 --- /dev/null +++ b/output/code2code-trans/prompt4/.ipynb_checkpoints/codegen1-multi-350M-checkpoint.output @@ -0,0 +1,100 @@ +public void deserialize(LittleEndianInput in) {field_1_vcenter = in.readShort();} +public void addAll(BlockList src, int srcDirIdx, int srcBlkIdx) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdpublic void addAll(BlockList src, int srcDirIdx, int srcBlkIdx) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdx < src.tailDirIdx; srcDirIdx++)addAll(src.directory[srcDirIdx], srcDirIdx, srcBlkIdx);if (src.tailBlkIdx!= 0)addAll(src.tailBlock, srcDirIdx, srcBlkIdx);} +public void writeByte(byte b, int offset) {if (upto == blockSize) {if (currentBlock!= null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}currentBlock[upto++] = b;upto = offset;} +public void setObjectId(ObjectId objectId) {this.objectId = objectId;} +public DeleteDomainEntryResult executeDeleteDomainEntry(DeleteDomainEntryRequest request, +public long getTermOffsetsRamBytesUsed() {return ((termOffsets!=null)? termOffsets.ramBytesUsed() : 0);} +public final String getFullMessage(int offset) {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, offset);if (msgB < 0) {return ""; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);} +public POIFSFileSystem(boolean b) {this(b, true);} +public void init(int address, int length) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice!= null;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;assert upto < slice.length;offset1 = address + length;} +public SubmoduleAddCommand setPath(String path, String path2) {this.path = path;this.path2 = path2;return this;} +public ListIngestionsResult executeListIngestions(ListIngestionsRequest request, +@Override public void ReInit(CharStream stream) { +public GetShardIteratorResult executeGetShardIterator(GetShardIteratorRequest request, +public ModifyStrategyRequest(String method, String url, String methodName, String methodParams, String methodBody, String methodHeaders, String methodCookies, String methodHeadersCookies, String methodCookiesHeaders,public ModifyStrategyRequest(String method, String url, String methodName, String methodParams, String methodBody, String methodHeaders, String methodCookies, String methodHeadersCookies, String methodCookiesHeaders, String methodCookiesHeaders, String methodCookiesHeadersCookies, String methodCookiesHeadersCookies) {super(method, url, methodName, methodParams, methodBody, methodHeaders, methodCookies,public ModifyStrategyRequest(String method, String url, String methodName, String methodParams, String methodBody, String methodHeaders, String methodCookies, String methodHeadersCookies, String methodCookiesHeaders,public ModifyStrategyRequest(String method, String url, String methodName, String methodParams, String methodBody, String methodHeaders, String methodCookies, String methodHeadersCookies, String methodCookiesHeaders, String methodCookiesHeaders, String methodCookiesHeadersCookies, String methodCookiesHeadersCookies) {super(method, url, methodName, methodParams, methodBody, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeadpublic ModifyStrategyRequest(String method, String url, String methodName, String methodParams, String methodBody, String methodHeaders, String methodCookies, String methodHeadersCookies, String methodCookiesHeaders,public ModifyStrategyRequest(String method, String url, String methodName, String methodParams, String methodBody, String methodHeaders, String methodCookies, String methodHeadersCookies, String methodCookiesHeaders, String methodCookiesHeaders, String methodCookiesHeadersCookies, String methodCookiesHeadersCookies) {super(method, url, methodName, methodParams, methodBody, methodHeaders, methodCookies,public ModifyStrategyRequest(String method, String url, String methodName, String methodParams, String methodBody, String methodHeaders, String methodCookies, String methodHeadersCookies, String methodCookiesHeaders,public ModifyStrategyRequest(String method, String url, String methodName, String methodParams, String methodBody, String methodHeaders, String methodCookies, String methodHeadersCookies, String methodCookiesHeaders, String methodCookiesHeaders, String methodCookiesHeadersCookies, String methodCookiesHeadersCookies) {super(method, url, methodName, methodParams, methodBody, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, +public int read() throws IOException {synchronized (lock) {if (in == null) {throw new IOException("InputStreamReader is closed");}try {return in.read();} catch (IOException e) {return -1;}} +public void setOptRecord(EscherOptRecord optRecord) {_optRecord = optRecord;} +public synchronized int read(byte[] buffer) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, 0, buffer.length);if (bufferpublic synchronized int read(byte[] buffer) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, 0, buffer.length);if (buffer.length == 0) {return 0;}int copylen = count - pos < buffer.length? count - pos : buffer.length;for (int i = 0; i < copylen; i++) {buffer[i] = (byte) this.buffer.charAt(pos + i);}pos += copylen;return copylen;} +public OpenNLPSentenceBreakIterator(NLPSentenceDetectorOp sentenceOp, int breakPos) {this.sentenceOp = sentenceOp; this.breakPos = breakPos;} +public void print(String str, int i) {write(str!= null? str : String.valueOf((Object) null));} +public NotImplementedFunctionException(String functionName) {super(functionName);this.functionName = functionName;} +public V previous() {return super.previousEntry().getValue();} +public final void readBytes(byte[] b, int offset, int len) throws IOException {int available = bufferLength - bufferPosition;if(len <= available){if(len>0) System.arraycopy(buffer, bufferPositionpublic final void readBytes(byte[] b, int offset, int len) throws IOException {int available = bufferLength - bufferPosition;if(len <= available){if(len>0) System.arraycopy(buffer, bufferPosition, b, offset, len);bufferPosition+=len;} else {if(available > 0){System.arraycopy(buffer, bufferPosition, b, offset, available);offset += available;len -= available;bufferPosition += available;}ifpublic final void readBytes(byte[] b, int offset, int len) throws IOException {int available = bufferLength - bufferPosition;if(len <= available){if(len>0) System.arraycopy(buffer, bufferPositionpublic final void readBytes(byte[] b, int offset, int len) throws IOException {int available = bufferLength - bufferPosition;if(len <= available){if(len>0) System.arraycopy(buffer, bufferPosition, b, offset, len);bufferPosition+=len;} else {if(available > 0){System.arraycopy(buffer, bufferPosition, b, offset, available);offset += available;len -= available;bufferPosition += available;}if (useBuffer && len= 0)public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append("\"");int apos = 0;int k;while ((k = string.indexOf("\"", apos)) >= 0) {sb.append(string.substring(apos, k + 1)).append("\"");apos = k + 1;}return sb.append(string.substring(apos)).append("\"").toString();} +public ByteBuffer putInt(int value, int position) {throw new ReadOnlyBufferException();} +public ArrayPtg(int nColumns, int nRows, Object[] values2d) {_nColumns = nColumns;_nRows = nRows;_arrayValues = values2d;} +public GetIceServerConfigResult executeGetIceServerConfig(GetIceServerConfigRequest request, com.amazonaws.handlers.AsyncHandler asyncHandler) { +public String getClassName() {return getClass().getName();} +public String toString() {return "ToChildBlockJoinQuery";} +public final void decRef() {refCount.decrementAndGet();} +// You can use it to execute Java api in C#. +public int getNextXBATChainOffset() {return getXBATEntriesPerBlock() * LittleEndianConsts.INT_SIZE;} +public void multiplyByPowerOfTen(int pow10, int divisor) {mulShift(pow10, divisor);} +public String toString(){final StringBuilder b = new StringBuilder();final int l = length();b.append(File.separatorChar);for (int i = 0; i < l; i++){b.append(getComponent(i));if (i < l - 1){b.append(File.separatorChar);}}return b.toString();} +public InstanceProfileCredentialsProvider withFetcher(ECSMetadataServiceCredentialsFetcher fetcher, String roleName) {this.fetcher = fetcher;this.fetcher.setRoleName(roleName);return this;} +public ProgressMonitor getProgressMonitor() {return progressMonitor;} +public void parseEntry() {if (ptr == 0) {ptr = parseEntry();} else {ptr = 0;}} +public E previous() {return iterator.previous();} +public void setNewPrefix(String newPrefix) {this.newPrefix = newPrefix;} +public int indexOfValue(int value, int fromIndex) {for (int i = fromIndex; i < mSize; i++)if (mValues[i] == value)return i;} +public List uniqueStems(char word[], int length, boolean ignoreCase) {List stems = stem(word, length, ignoreCase);if (stems.size() < 2)public List uniqueStems(char word[], int length, boolean ignoreCase) {List stems = stem(word, length, ignoreCase);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;} +public GetGatewayResponsesResult executeGetGatewayResponses(GetGatewayResponsesRequest request, +public long getPosition() {return currentBlockIndex << blockBits | currentBlockUpto;} +public long skip(long n) {int s = (int) Math.min(available(), Math.max(0, n));ptr += s;return s;} +public BootstrapActionDetail(BootstrapActionConfig bootstrapActionConfig, String bootstrapActionName) {setBootstrapActionConfig(bootstrapActionConfig);setBootstrapActionName(bootstrapActionName);} +public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_shapeid = in.readShort();field_6_author.length();field_5_hasMultibyte = in.readByte() == 0x01;if (field_5_hasMultibyte) {fieldpublic void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_shapeid = in.readShort();field_6_author.length();field_5_hasMultibyte = in.readByte() == 0x01;if (field_5_hasMultibyte) {field_6_author = StringUtil.getUnicodeLE(in);} else {field_6_author = StringUtil.getCompressedUnicode(in);}if (field_7_padding!= null) +public int lastIndexOf(String string, int count) { +public boolean addLast(E object) {return addLastImpl(object);} +public ConfigSnapshot unsetSection(ConfigSnapshot src, String section, String subsection) { +public final String getTagNameC() {return tagNameC;} +public SubRecord getSubRecord(int index) {return subrecords.get(index);} +public boolean removeAll(Collection c) {synchronized (mutex) {return delegate().removeAll(c);}} +public DoubleMetaphoneFilter create(TokenStream input, int maxCodeLength) {return new DoubleMetaphoneFilter(input, maxCodeLength, inject);} +public long inCoreLength() {return inCoreLength;} +public boolean getValue() {return value;} +public ContentSource getOldSource() {return oldSource;} +public int get(int i, int j) {if (count <= i)throw new ArrayIndexOutOfBoundsException(i);return entries[i];} +public CreateRepoRequest(String uriPattern, String method, String name, String description, String homepage, String homepageUrl, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlpublic CreateRepoRequest(String uriPattern, String method, String name, String description, String homepage, String homepageUrl, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlpublic CreateRepoRequest(String uriPattern, String method, String name, String description, String homepage, String homepageUrl, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlpublic CreateRepoRequest(String uriPattern, String method, String name, String description, String homepage, String homepageUrl, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlpublic CreateRepoRequest(String uriPattern, String method, String name, String description, String homepage, String homepageUrl, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlpublic CreateRepoRequest(String uriPattern, String method, String name, String description, String homepage, String homepageUrl, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlpublic CreateRepoRequest(String uriPattern, String method, String name, String description, String homepage, String homepageUrl, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlpublic CreateRepoRequest(String uriPattern, String method, String name, String description, String homepage, String homepageUrl, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrl +public boolean isDeltaBaseAsOffset() {return deltaBaseAsOffset;} +public void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}} else {if (index == pospublic void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}} else {if (index == pos) {if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastpublic void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}} else {if (index == pospublic void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}} else {if (index == pos) {if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastLink == link) {pos--;}link = previous;lastLink = null;expectedModCount++;list.size--;list.modCount++;} else {throw new ConcurrentModificationException();}}}} else {throw new Concurrent +public MergeShardsResult executeMergeShards(MergeShardsRequest request) { +// C# to Java conversion does not preserve the exact signature of the generated C# code, +public int getEndIndex() {return end;} +public static final WeightedTerm[] getTerms(Query query, boolean includeInferred){return getTerms(query,includeInferred,false);} +public ByteBuffer duplicate() {throw new ReadOnlyBufferException();} +public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations, int blockSize) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations, int blockSize) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3)public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations, int blockSize) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations, int blockSize) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values +public String getHumanishName() {return getHumanishName();} +public static DescribeNotebookInstanceLifecycleConfigResult executeDescribeNotebookInstanceLifecycleConfig(com.amazonaws.services.ecr.AmazonECR.executeDelayedRequest clientRequest) { +public String getAccessKeySecret() {return this.accessKeySecret;} +// You can also call the C# to execute Java from the Java client. +// You can improve C# code by using the C#->Java->C# compiler from Oracle +public ListMonitoringExecutionsResult executeListMonitoringExecutions(ListMonitoringExecutionsRequest request, +public DescribeJobRequest() { +public void setEscherRecord(int index, EscherRecord escherRecord){escherRecords.set(index, escherRecord);} +public GetApisResult executeGetApis(GetApisRequest request, AsyncHandler asyncHandler) {assert(asyncHandler!= null);execute(request, new GetApisResultJsonProcessor(asyncHandler));return null;} +public com.amazonaws.Response executeDeleteSmsChannel(DeleteSmsChannelRequest request) { +public void setTrackingRefUpdate(TrackingRefUpdate trackingRefUpdate) { +public void print(char c) {print(String.valueOf(c));} +public void setChild(QueryNode child) { +public NotIgnoredFilter(int workdirTreeIndex, int workdirIndex) {this.index = workdirTreeIndex;this.workdirIndex = workdirIndex;} +public void write(RecordOutputStream out) {out.writeShort(field_1_formatFlags);} +public GetThumbnailRequest(String url, String thumbnailUrl, String thumbnailUrlType, String thumbnailUrlType2, String thumbnailUrlType3, String thumbnailUrlType4, String thumbnailUrlType5, String thumbnailUrlType6, String thumbnailUrlpublic GetThumbnailRequest(String url, String thumbnailUrl, String thumbnailUrlType, String thumbnailUrlType2, String thumbnailUrlType3, String thumbnailUrlType4, String thumbnailUrlType5, String thumbnailUrlType6, String thumbnailUrlType7, String thumbnailUrlType8, String thumbnailUrlType9, String thumbnailUrlType10, String thumbnailUrlType11, String thumbnailUrlType12, String thumbnailUrlType13, String thumbnailUrlType14, String thumbnailUrlType15public GetThumbnailRequest(String url, String thumbnailUrl, String thumbnailUrlType, String thumbnailUrlType2, String thumbnailUrlType3, String thumbnailUrlType4, String thumbnailUrlType5, String thumbnailUrlType6, String thumbnailUrlpublic GetThumbnailRequest(String url, String thumbnailUrl, String thumbnailUrlType, String thumbnailUrlType2, String thumbnailUrlType3, String thumbnailUrlType4, String thumbnailUrlType5, String thumbnailUrlType6, String thumbnailUrlType7, String thumbnailUrlType8, String thumbnailUrlType9, String thumbnailUrlType10, String thumbnailUrlType11, String thumbnailUrlType12, String thumbnailUrlType13, String thumbnailUrlType14, String thumbnailUrlType15, String thumbnailUrlType16, String thumbnailUrlType17, String thumbnailUrlType18, String thumbnailUrlType19, String thumbnailUrlType20, String thumbnailUrlType21, String thumbnailUrlType22, String thumbnailUrlType23, Stringpublic GetThumbnailRequest(String url, String thumbnailUrl, String thumbnailUrlType, String thumbnailUrlType2, String thumbnailUrlType3, String thumbnailUrlType4, String thumbnailUrlType5, String thumbnailUrlType6, String thumbnailUrlpublic GetThumbnailRequest(String url, String thumbnailUrl, String thumbnailUrlType, String thumbnailUrlType2, String thumbnailUrlType3, String thumbnailUrlType4, String thumbnailUrlType5, String thumbnailUrlType6, String thumbnailUrlType7, String thumbnailUrlType8, String thumbnailUrlType9, String thumbnailUrlType10, String thumbnailUrlType11, String thumbnailUrlType12, String thumbnailUrlType13, String thumbnailUrlType14, String thumbnailUrlType15public GetThumbnailRequest(String url, String thumbnailUrl, String thumbnailUrlType, String thumbnailUrlType2, String thumbnailUrlType3, String thumbnailUrlType4, String thumbnailUrlType5, String thumbnailUrlType6, String thumbnailUrlpublic GetThumbnailRequest(String url, String thumbnailUrl, String thumbnailUrlType, String thumbnailUrlType2, String thumbnailUrlType3, String thumbnailUrlType4, String thumbnailUrlType5, String thumbnailUrlType6, String thumbnailUrlType7, String thumbnailUrlType8, String thumbnailUrlType9, String thumbnailUrlType10, String thumbnailUrlType11, String thumbnailUrlType12, String thumbnailUrlType13, String thumbnailUrlType14, String thumbnailUrlType15, String thumbnailUrlType16, String thumbnailUrlType17, String thumbnailUrlType18, String thumbnailUrlType19, String thumbnailUrlType20, String thumbnailUrlType21, String thumbnailUrlType22, String thumbnailUrlType23, String thumbnailUrlType24, String thumbnailUrlType25, String thumbnailUrlType26, String thumbnailUrlType27, String thumbnailUrlType28, String thumbnailUrlType29, String thumbnailUrlType30, String thumbnailUrlType31, String thumbnailUrl +public com.amazonaws.Response executeDescribeTransitGatewayVpcAttachments(DescribeTransitGatewayVpcAttachmentsRequest describeTransitGatewayVpcAttachmentsRequest) { +// It just calls execute(). +public OrdRange getOrdRange(String dim, String ord) {return prefixToOrdRange.get(dim, ord);} +public String toStringC() {String symbol = "";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));public String toStringC() {String symbol = "";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), "%s('%s')", LexerNoViableAltException.class.getSimpleName(), symbol);} +public E peekFirst() {return peekFirstImpl();} +// You can use it from Java code as long as the JavaBeans framework is not used. +public NumberFormatIndexRecord copy() {return new NumberFormatIndexRecord(this);} diff --git a/output/code2code-trans/prompt4/.ipynb_checkpoints/codegen1-multi-6B-checkpoint.output b/output/code2code-trans/prompt4/.ipynb_checkpoints/codegen1-multi-6B-checkpoint.output new file mode 100644 index 0000000..b45cf5c --- /dev/null +++ b/output/code2code-trans/prompt4/.ipynb_checkpoints/codegen1-multi-6B-checkpoint.output @@ -0,0 +1,100 @@ +public int getVcenter() {return field_1_vcenter;} +public void addAll(BlockList src) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdx < src.tailDirIdx; srcDirIdxpublic void addAll(BlockList src) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdx < src.tailDirIdx; srcDirIdx++)addAll(src.directory[srcDirIdx], 0, BLOCK_SIZE);if (src.tailBlkIdx!= 0)addAll(src.tailBlock, 0, src.tailBlkIdx);}} +public void writeByte(byte[] b) {if (b.length > blockSize) {throw new IllegalArgumentException("block size is " + blockSize + ", but length of array is " + b.length);}if (public void writeByte(byte[] b) {if (b.length > blockSize) {throw new IllegalArgumentException("block size is " + blockSize + ", but length of array is " + b.length);}if (upto + b.length > blockSize) {if (currentBlock!= null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}System.arraycopy(b, 0, currentBlock, upto, b.length);upto += b.length;} +public void setObjectId(ObjectId objectId) {this.objectId = objectId;} +public DeleteDomainEntryResult executeDeleteDomainEntry(DeleteDomainEntryRequest request) { +public long ramBytesUsed(long[] ramBytesUsed) { +public final String getFullMessage(int offset) {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, offset);if (msgB < 0) {return ""; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);} +public POIFSFileSystem(boolean bigBlockSize) { +public void init(int address, int length) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice!= null;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;assert upto + length <= slice.length;} +public SubmoduleAddCommand setPath(String path, boolean force) {this.path = path;this.force = force;return this;} +public ListIngestionsResult listIngestions(ListIngestionsRequest request) { +public QueryParserTokenManager(CharStream stream){ +public GetShardIteratorResult executeGetShardIterator(GetShardIteratorRequest request) { +public ModifyStrategyRequest(String vip_id, String strategy_id, String strategy_name, String strategy_type, String strategy_status, String strategy_desc, String strategy_price, String strategy_start_time,public ModifyStrategyRequest(String vip_id, String strategy_id, String strategy_name, String strategy_type, String strategy_status, String strategy_desc, String strategy_price, String strategy_start_time, String strategy_end_time, String strategy_create_time, String strategy_update_time) {super("aegis", "2016-11-11", "ModifyStrategy", "vipaegis");setMethod(MethodType.POST); +public void close() throws IOException {synchronized (lock) {if (in!= null) {in.close();}if (bytes!= null) {bytes.close();}}} +public void setOptRecord(EscherOptRecord optRecord) {_optRecord = optRecord;} +//public int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, length//public int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (byte) this.buffer.charAt(pos + i);}pos += copylen;return copylen;} +public OpenNLPSentenceBreakIterator(NLPSentenceDetectorOp sentenceOp, boolean isDictionaryBased) {this.sentenceOp = sentenceOp; this.isDictionaryBased = isDictionaryBased;} +public void print(Object obj) {write(obj!= null? obj.toString() : String.valueOf((Object) null));} +public NotImplementedFunctionException(String functionName, NotImplementedException cause) {super(functionName, cause);this.functionName = functionName;} +public V previous() {return super.previousEntry().getValue();} +// +public TagQueueResult executeTagQueue(TagQueueRequest request) { +public void remove() {throw new UnsupportedOperationException();} +public CacheSubnetGroup executeModifyCacheSubnetGroup(ModifyCacheSubnetGroupRequest request) { +public String getParams() {return language + "," + country + "," + variant;} +public DeleteDocumentationVersionResult executeDeleteDocumentationVersion(DeleteDocumentationVersionRequest request) { +public int hashCode() { +public GetInstanceAccessDetailsResult executeGetInstanceAccessDetails(GetInstanceAccessDetailsRequest request) { +//public HSSFPolygon createPolygon(HSSFChildAnchor anchor) {HSSFPolygon shape = new HSSFPolygon(this, anchor);shape.setParent(this);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;} +public int getSheetIndex(String sheetName) {return getBoundSheetRec(sheetName).getSheetIndex();} +public static class GetDashboardRequestBuilder extends RequestBuilderBase { +public AssociateSigninDelegateGroupsWithAccountResult associateSigninDelegateGroupsWithAccount(AssociateSigninDelegateGroupsWithAccountRequest request) { +public void addMultipleBlanks(MulBlankRecord mbr) {for (int j = 0; j < mbr.getNumColumns(); j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}} +public static String unquote(String string) {StringBuilder sb = new StringBuilder();int k = string.indexOf("\\Q");while (k >= 0) {sb.append(string.substring(0, k)).append(string.substring(k + 2));k = string.indexOf("\\E", k + 2);}return sb.toString();} +public ByteBuffer putInt(int index, int value) {throw new ReadOnlyBufferException();} +//public ArrayPtg(Object[][] values2d) {int nColumns = values2d[0].length;int nRows = values2d.length;_nColumns = (short) nColumns//public ArrayPtg(Object[][] values2d) {int nColumns = values2d[0].length;int nRows = values2d.length;_nColumns = (short) nColumns;_nRows = (short) nRows;Object[] vv = new Object[_nColumns * _nRows];for (int r=0; r= start) {return iterator.previous();}return defaultValue;} +public void setNewPrefix(String newPrefix) {this.newPrefix = newPrefix;} +public int indexOfValue(int value) { +public List stem(char word[], int length) {List stems = new ArrayList<>();for (int i = 0; i < length; i++) {stems.add(stem(word, i));}return stems;} +public GetGatewayResponsesResult executeGetGatewayResponses(GetGatewayResponsesRequest request) { +public long getPosition() {return currentBlockIndex * blockSize + currentBlockUpto;} +public long skip(long n) {return skip(n);} +BootstrapActionDetail(BootstrapActionDetail other) { +public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_shapeid = in.readShort();field_6_author = StringUtil.getUnicodeLE(in, in.readShort());field_5_hasMultibyte = in.readByte() == 1;ifpublic void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_shapeid = in.readShort();field_6_author = StringUtil.getUnicodeLE(in, in.readShort());field_5_hasMultibyte = in.readByte() == 1;if (field_5_hasMultibyte) {field_6_author = StringUtil.getUnicode(in);} else {field_6_author = StringUtil.getCompressedUnicode(in +public int lastIndexOf(String string, int count) { +public boolean add(E object, int index) {return addImpl(object, index);} +public void unsetSection(ConfigSnapshot src, String section, String subsection) { +public final void setTagName(String value) {tagName = value;} +public void addSubRecord(SubRecord element) {subrecords.add(element);} +public void clear() {synchronized (mutex) {delegate().clear();}} +public static class DoubleMetaphoneFilter extends TokenFilter { +public long inCoreLength() { +public boolean getValue() {return value;} +public Pair(ContentSource oldSource, ContentSource newSource) {this.oldSource = oldSource;this.newSource = newSource;} +public int get(int i) { +public CreateRepoRequest(String uriPattern, String method) {super("cr", "2016-06-07", "CreateRepo", "cr");setUriPattern(uriPattern);setMethod(method);} +public void setDeltaBaseAsOffset(boolean deltaBaseAsOffset) {this.deltaBaseAsOffset = deltaBaseAsOffset;} +public void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}if (lastLink!= null)public void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (index == pos) {pos--;link =public void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}if (lastLink!= null)public void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (index == pos) {pos--;link = previous;lastLink = null;expectedModCount++;list.size--;list.modCount++;} else {throw new IndexOutOfBoundsException();}} else {throw new IllegalStateException();}} else {throw new ConcurrentMod +public MergeShardsResult executeMergeShards(MergeShardsRequest mergeShardsRequest) { +public AllocateHostedConnectionResult executeAllocateHostedConnection(AllocateHostedConnectionRequest request) { +public int getEndIndex() {return end;} +public static final WeightedTerm[] getTerms(Query query, boolean useStopWords){ +public ByteBuffer put(byte[] src, int offset, int length) {throw new ReadOnlyBufferException();} +public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) |public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++ +// +public void deleteNotebookInstanceLifecycleConfig(DeleteNotebookInstanceLifecycleConfigRequest request) {request = beforeClientExecution(request);} +public void setAccessKeySecret(String value) {this.accessKeySecret = value;} +public CreateVpnConnectionResult executeCreateVpnConnection(CreateVpnConnectionRequest request) { +public static class DescribeVoicesRequestBuilder extends RequestBuilderBase { +public ListMonitoringExecutionsResult executeListMonitoringExecutions(ListMonitoringExecutionsRequest request) { +public void setVaultName(String value) { +public void setEscherRecord(int index, EscherRecord escherRecord){escherRecords.set(index, escherRecord);} +public GetApisResult executeGetApis(GetApisRequest request) { +public DeleteSmsChannelResult executeDeleteSmsChannel(DeleteSmsChannelRequest request) { +public void setTrackingRefUpdate(TrackingRefUpdate trackingRefUpdate) {this.trackingRefUpdate = trackingRefUpdate;} +public void print(char c) {print(String.valueOf(c));} +public QueryNode getChild(int index) {return getChildren().get(index);} +public int getIndex() {return index;} +public void write(RecordOutputStream out) {out.writeShort(field_1_formatFlags);} +public GetThumbnailRequest(String authenticationKey, String clientId) {super("CloudPhoto", "2017-07-11", "GetThumbnail", "cloudphoto");setAuthenticationKey(authenticationKey);setClientId(clientId);} +public static class DescribeTransitGatewayVpcAttachmentsRequestBuilder extends RequestBuilderBase { +public static class PutVoiceConnectorStreamingConfigurationRequestBuilder extends RequestBuilderBase { +public OrdRange getOrdRange(String dim, int prefix) {return prefixToOrdRange.get(dim, prefix);} +// This code is written in Java. Reproduce the same exact code in C#. +public E peekFirst() {return peekFirstImpl();} +public CreateWorkspacesResult createWorkspaces(CreateWorkspacesRequest request) { +public NumberFormatIndexRecord copy() { diff --git a/output/code2code-trans/prompt4/codegen1-multi-16B.output b/output/code2code-trans/prompt4/codegen1-multi-16B.output new file mode 100644 index 0000000..2f757c9 --- /dev/null +++ b/output/code2code-trans/prompt4/codegen1-multi-16B.output @@ -0,0 +1,100 @@ +private void deserialize(LittleEndianInput in) { +public void addAll(BlockList src, int srcDirIdx, int srcBlkIdx, int srcOff) {if (src.size == 0)return;int srcOff2 = srcOff;for (public void addAll(BlockList src, int srcDirIdx, int srcBlkIdx, int srcOff) {if (src.size == 0)return;int srcOff2 = srcOff;for (; srcDirIdx < src.tailDirIdx; srcDirIdx++)addAll(src.directory[srcDirIdx], srcBlkIdx, srcOff2);if (src.tailBlkIdx!= 0)addAll(src.tailBlock, srcBlkIdx, srcOff2);} +public void writeBytes(byte[] b) {if (b.length!= 0) {if (upto + b.length > blockSize) {if (currentBlock!= null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}System.arraycopy(b, 0, currentBlock, upto, b.length);upto += b.length;} +public void setObjectId(ObjectId value) {objectId = value;} +// This code is written in Java. Reproduce the same exact code in C#. +public long ramBytesUsed(int version) {return ((termOffsets!=null)? termOffsets.ramBytesUsed(version) : 0) +((termsDictOffsets!=null)? termsDictOffsets.ramBytesUsed(version) : 0);} +public final String getFullMessage(byte[] raw) {int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return ""; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);} +public POIFSFileSystem(boolean isBigBlockSize) { +public void init(int address, int length) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice!= null;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;assert upto + length <= slice.length;} +public SubmoduleAddCommand setBranch(String branch) {this.branch = branch;return this;} +private ListIngestionsResult executeListIngestions(ListIngestionsRequest request) { +public void SwitchTo(int lexState){if (lexState >= 1 || lexState < 0) +private GetShardIteratorResult executeGetShardIterator(GetShardIteratorRequest request) { +// public ModifyStrategyRequest(string name, string date, string time, string description) { +public void close() throws IOException {synchronized (lock) {if (in!= null) {in.close(); in = null;}}}} +public EscherClientDataRecord getClientDataRecord() {return _clientData;} +public synchronized int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, lengthpublic synchronized int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (byte) this.buffer.charAt(pos + i);}pos += copylen;return copylen;} +public int getCurrent() {return current;} +public void print(Object obj) {write(obj!= null? String.valueOf(obj) : String.valueOf((Object) null));} +public NotImplementedFunctionException(String functionName) {super(functionName);this.functionName = functionName;} +public V previous() {return super.previousEntry().getValue();} +public final void readBytes(byte[] b, int offset, int len) throws IOException {readBytes(b, offset, len, false);} +// This code is written in Java. +public void remove() {throw new UnsupportedOperationException();} +private CacheSubnetGroup executeModifyCacheSubnetGroup(ModifyCacheSubnetGroupRequest request) { +public String getParams() {return super.getParams() + "," + language + "," + country + "," + variant;} +private DeleteDocumentationVersionResult executeDeleteDocumentationVersion(DeleteDocumentationVersionRequest deleteDocumentationVersionRequest) { +public int hashCode() {int hash = 0;for (int i = 0; i < length; i++) {hash = hash * 31 + components[i].hashCode();}return hash;} +private GetInstanceAccessDetailsResult executeGetInstanceAccessDetails(GetInstanceAccessDetailsRequest request) { +public HSSFPolygon createPolygon(HSSFChildAnchor anchor, int numPoints) {HSSFPolygon shape = new HSSFPolygon(this, anchor, numPoints);shape.setParent(this);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;} +public int getSheetIndex(String sheetName) {return getBoundSheetRec(sheetName).getSheetindex();} +private GetDashboardResult executeGetDashboard(GetDashboardRequest request) { +private static AssociateSigninDelegateGroupsWithAccountResponse executeAssociateSigninDelegateGroupsWithAccount(AssociateSigninDelegateGroupsWithAccountRequest request) { +public void addMultipleBlanks(MulBlankRecord mbr, int firstColumn, int lastColumn) {for (int j = firstColumn; j <= lastColumn; j++) {BlankRecord br = new BlankRecord();brpublic void addMultipleBlanks(MulBlankRecord mbr, int firstColumn, int lastColumn) {for (int j = firstColumn; j <= lastColumn; j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}}}} +public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append("\\Q");int apos = 0;int k;while ((k = string.indexOf("\\E", apos)) >=public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append("\\Q");int apos = 0;int k;while ((k = string.indexOf("\\E", apos)) >= 0) {sb.append(string.substring(apos, k + 2)).append("\\\\E\\Q");apos = k + 2;}return sb.append(string.substring(apos)).append("\\E").toString();} +public ByteBuffer putInt(int value, int index) {throw new ReadOnlyBufferException();} +public int getValueIndex(int column, int row) {return (row * _nColumns) + column;} +// public static GetIceServerConfigResult executeGetIceServerConfig(GetIceServerConfigRequest request) { +public String getValueAsString() { +public ToChildBlockJoinQuery clone() { +public final void decRef() { +private UpdateConfigurationSetSendingEnabledResult executeUpdateConfigurationSetSendingEnabled(UpdateConfigurationSetSendingEnabledRequest updateConfigurationSetSendingEnabledRequest) { +public int getNextXBATChainOffset() {return getXBATEntriesPerBlock() * LittleEndianConsts.INT_SIZE;} +public void multiplyByPowerOfTen(int pow10) {TenPower tp = TenPower.getInstance(Math.abs(pow10));if (pow10 < 0) {mulShift(tp._divisor, tp._divisorShift);} else {mulShift(tp._multiplicand, tp._multiplierShift);}} +public String toString(){return String.join(File.separator, this);} +public InstanceProfileCredentialsProvider withRoleName(String roleName) {this.roleName = roleName;return this;} +public void setProgressMonitor(ProgressMonitor pm) {progressMonitor = pm;} +public void reset(int p) {if (!first()) {ptr = p;if (!eof())parseEntry();}} +public E previous() {if (iterator.previousIndex() >= start) {return iterator.previous();}throw new NoSuchElementException();} +public String getNewSuffix() {return this.newSuffix;} +public int indexOfValue(int value) {for (int i = 0; i < mSize; i++)if (mValues[i] == value)return i;return -1;} +public List uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySetpublic List uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, dictionary.ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;} +private GetGatewayResponsesResult executeGetGatewayResponses(GetGatewayResponsesRequest request) { +public void setPosition(long pos, int idx) {currentBlockIndex = (int) (pos >> blockBits);currentBlock = blocks[currentBlockIndex];currentBlockUpto = (int) (pos & blockMask);} +public long skip(long n, long start) {int s = (int) Math.min(available(), Math.max(0, n));ptr += s;return s;} +public BootstrapActionDetail(BootstrapActionConfig bootstrapActionConfig, String description) {setBootstrapActionConfig(bootstrapActionConfig);setDescription(description);} +private static int ComputeSize(int row, int col, int flags, int shapeid, int authorLength, boolean hasMultibyte, String author) { +public int lastIndexOf(String string, int startIndex) { +public boolean addFirstImpl(E object) { +public ConfigSnapshot unsetSection(ConfigSnapshot src, String section, String subsection) {ConfigSnapshot res;do {res = unsetSection(src, section, subsection);} while (!state.compareAndSet(src, res));return res;} +public final String getTagName() {return tagName;} +public void addSubRecord(SubRecord element) {subrecords.add(element);} +public boolean removeAll(Collection c) {synchronized (mutex) {return delegate().removeAll(c);}} +public DoubleMetaphoneFilter create(TokenStream input, int maxCodeLength, boolean inject) {return new DoubleMetaphoneFilter(input, maxCodeLength, inject);} +public long inCoreLength() { +public void setValue(int newValue) {value = newValue;} +public Pair(ContentSource oldSource, ContentSource newSource, int oldIndex, int newIndex) {this.oldSource = oldSource;this.newSource = newSource;this.oldIndex = oldIndex;this.newIndex = newIndex;} +public void set(int i, int value) {if (count <= i)throw new ArrayIndexOutOfBoundsException(i);entries[i] = value;} +// public CreateRepoRequest(string name, string description, string homepage, string private_repo, string has_issues, string has_wiki, string has_downloads, string default_branch, string team_id, string permission) { +public void setDeltaBaseAsOffset(boolean deltaBaseAsOffset) {this.deltaBaseAsOffset = deltaBaseAsOffset;} +public void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}Link link = thispublic void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}Link link = this.link;if (index == 0) {if (link.previous!= null) {link.previous.next = link.next;link.next.previous = link.previous;} else {list.first = linkpublic void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}Link link = thispublic void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}Link link = this.link;if (index == 0) {if (link.previous!= null) {link.previous.next = link.next;link.next.previous = link.previous;} else {list.first = link.next;}if (link.next == null) {list.last = link.previous;}else {link.next.previous = link.previous;}if (link.previous == null) {list.first = link +private MergeShardsResult executeMergeShards(MergeShardsRequest request) { +private AllocateHostedConnectionResult executeAllocateHostedConnection(AllocateHostedConnectionRequest allocateHostedConnectionRequest) { +public int getEndIndex() {return end;} +public static final WeightedTerm[] getTerms(Query query, boolean includeSpans){ +public ByteBuffer duplicate() {throw new ReadOnlyBufferException();} +// public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final int byte0 = blocks[blocksOffset++// public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final int byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final int byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4)// public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final int byte0 = blocks[blocksOffset++// public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final int byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final int byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final int byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset +public String getPath() throws IllegalArgumentException {String s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if ("file".equals(scheme) || LOCAL_FILE.public String getPath() throws IllegalArgumentException {String s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if ("file".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split("[\\" + File.separatorChar + "/]"); elseelements = s.split("/+"); if (elements.length == 0)throw new IllegalArgpublic String getPath() throws IllegalArgumentException {String s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if ("file".equals(scheme) || LOCAL_FILE.public String getPath() throws IllegalArgumentException {String s = getHost();if (s == null) throw new IllegalArgumentException();String[] elements;if ("file".equals(scheme) || LOCAL_FILE.matcher(s).matches()) elements = s.split("[\\" + File.separatorChar + "/]"); elseelements = s.split("/+"); if (elements.length == 0)throw new IllegalArgumentException();String result = elements[elements.length - 1];if (Constants.DOT_GIT.equals(result))result = elements[elements.length - 2];else if (result.endsWith( +private DescribeNotebookInstanceLifecycleConfigResult executeDescribeNotebookInstanceLifecycleConfig(DescribeNotebookInstanceLifecycleConfigRequest describeNotebookInstanceLifecycleConfigRequest) { +public String getAccessKey() {return this.accessKey;} +// This code is written in Java. +private static DescribeVoicesResult executeDescribeVoices(DescribeVoicesRequest describeVoicesRequest) { +private ListMonitoringExecutionsResult executeListMonitoringExecutions(ListMonitoringExecutionsRequest listMonitoringExecutionsRequest) { +public String getVaultName() {return vaultName;} +public void setEscherRecord(int index, EscherRecord value){escherRecords.set(index, value);} +private GetApisResult executeGetApis(GetApisRequest request) { +// This code is written in Java. +public void setTrackingRefUpdate(TrackingRefUpdate trackingRefUpdate) {this.trackingRefUpdate = trackingRefUpdate;} +public void print(byte b) {print(String.valueOf(b));} +public QueryNode getParent() {return getParents().get(0);} +public int getIndex() {return index;} +public AreaRecord(short field_1_formatFlags) {this.field_1_formatFlags = field_1_formatFlags;} +// This code is written in Java. +private DescribeTransitGatewayVpcAttachmentsResult executeDescribeTransitGatewayVpcAttachments(DescribeTransitGatewayVpcAttachmentsRequest describeTransitGatewayVpcAttachmentsRequest) { +private PutVoiceConnectorStreamingConfigurationResult executePutVoiceConnectorStreamingConfiguration(PutVoiceConnectorStreamingConfigurationRequest putVoiceConnectorStreamingConfigurationRequest) { +public String getDim(OrdRange ordRange) {return ordRangeToPrefix.get(ordRange);} +} +public E peekFirstImpl() { +private CreateWorkspacesResult executeCreateWorkspaces(CreateWorkspacesRequest createWorkspacesRequest) { +public NumberFormatIndexRecord copy() { diff --git a/output/code2code-trans/prompt4/codegen1-multi-2B.output b/output/code2code-trans/prompt4/codegen1-multi-2B.output new file mode 100644 index 0000000..27e2c65 --- /dev/null +++ b/output/code2code-trans/prompt4/codegen1-multi-2B.output @@ -0,0 +1,100 @@ +private int getVcenter() {return field_1_vcenter;} +public void addAll(BlockList src, int srcDirIdx, int srcBlkIdx) {if (src.size == 0)return;int srcDirIdx2 = srcDirIdx + 1;public void addAll(BlockList src, int srcDirIdx, int srcBlkIdx) {if (src.size == 0)return;int srcDirIdx2 = srcDirIdx + 1;for (; srcDirIdx2 < src.tailDirIdx; srcDirIdx2++)addAll(src.directory[srcDirIdx2], srcBlkIdx, BLOCK_SIZE);if (src.tailBlkIdx!= 0)addAll(src.tailBlock, srcBlkIdx, src.tailBlkIdx);}} +public void writeByte(byte b) {if (upto == blockSize) {if (currentBlock!= null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}currentBlock[upto++] = b;} +public void setObjectId(ObjectId objectId) {this.objectId = objectId;} +//public DeleteDomainEntryResult executeDeleteDomainEntry(DeleteDomainEntryRequest request) { +public long ramBytesUsed() {return ((termOffsets!=null)? termOffsets.ramBytesUsed() : 0) +((termsDictOffsets!=null)? termsDictOffsets.ramBytesUsed() : 0);} +public final String getFullMessage() {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, 0);if (msgB < 0) {return ""; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);} +public POIFSFileSystem(boolean bigBlockSize) {this(bigBlockSize, true);_header.setBATCount(1);_header.setBATArray(new int[]{1});BATBlock bb = BATpublic POIFSFileSystem(boolean bigBlockSize) {this(bigBlockSize, true);_header.setBATCount(1);_header.setBATArray(new int[]{1});BATBlock bb = BATBlock.createEmptyBATBlock(bigBlockSize, false);bb.setOurBlockIndex(1);_bat_blocks.add(bb);setNextBlock(0, POIFSConstants.END_OF_CHAIN);setNextBlock(1, POIFSConstants.FAT_SECTOR_BLOCK);_property_table.setStartBlock(0);} +public void init(int address, int length) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice!= null;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;assert upto + length <= slice.length;} +public SubmoduleAddCommand setPath(String path, String submoduleName) {this.path = path;this.submoduleName = submoduleName;return this;} +//public ListIngestionsResult listIngestions() { +public QueryParserTokenManager(CharStream stream){ +private GetShardIteratorResult executeGetShardIterator(GetShardIteratorRequest getShardIteratorRequest) { +public ModifyStrategyRequest(String requestId, String requestType, String requestTime, String requestUrl, String requestMethod, String requestBody, String requestHeaders) {super(requestId, requestType, requestTime, requestUrl, requestMethod, requestBody, requestHeaders);} +public boolean ready() throws IOException {synchronized (lock) {if (in == null) {throw new IOException("InputStreamReader is closed");}try {return bytes.hasRemaining() || in.available() > 0;} catch (IOException e) {return false;}}} +private static class EscherOptRecord extends EscherOptRecordBase { +public synchronized int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, lengthpublic synchronized int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (byte) this.buffer.charAt(pos + i);}pos += copylen;return copylen;} +public OpenNLPSentenceBreakIterator(NLPSentenceDetectorOp sentenceOp, String language) {this.sentenceOp = sentenceOp;} +public void print(String str, int len) {write(str!= null? str.substring(0, Math.min(str.length(), len)) : String.valueOf((Object) null));} +public NotImplementedFunctionException(String functionName, NotImplementedException cause, String message) {super(functionName, cause, message);this.functionName = functionName;} +public V next() {return super.nextEntry().getValue();} +public final void readBytes(byte[] b, int offset, int len) throws IOException {readBytes(b, offset, len, true);} +//public TagQueueResult tagQueue(TagQueueRequest request) {request = beforeClientExecution(request);return executeTagQueue(request);} +public void remove(int index) {throw new UnsupportedOperationException();} +//public CacheSubnetGroup modifyCacheSubnetGroup() { +public void setParams(String language, String country, String variant) {super.setParams(language, country, variant);this.language = language;this.country = country;this.variant = variant;} +//public DeleteDocumentationVersionResult executeDeleteDocumentationVersion(DeleteDocumentationVersionRequest request) { +public int hashCode() { +//public void getInstanceAccessDetails(GetInstanceAccessDetailsRequest request) {request = beforeClientExecution(request); +public HSSFPolygon createPolygon(HSSFChildAnchor anchor, int[] xPoints, int[] yPoints) {HSSFPolygon shape = new HSSFPolygon(this, anchor, xPoints, yPoints);shape.setParent(this);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;} +public BoundSheet getBoundSheetRec(int sheetIndex) {return (BoundSheet)get(sheetIndex);} +//public void getDashboard(GetDashboardRequest request) {request = beforeClientExecution(request); +//public AssociateSigninDelegateGroupsWithAccountResult executeAssociateSigninDelegateGroupsWithAccount(AssociateSigninDelegateGroupsWithAccountRequest request) { +public void addMultipleBlanks(MulBlankRecord mbr) {for (int j = 0; j < mbr.getNumColumns(); j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}} +public static String unquote(String string) {StringBuilder sb = new StringBuilder();sb.append("\\Q");int apos = 0;int k;while ((k = string.indexOf("\\E", apos))public static String unquote(String string) {StringBuilder sb = new StringBuilder();sb.append("\\Q");int apos = 0;int k;while ((k = string.indexOf("\\E", apos)) >= 0) {sb.append(string.substring(apos, k + 2)).append("\\\\E");apos = k + 2;}return sb.append(string.substring(apos)).append("\\E").toString();} +public ByteBuffer putInt(int index, int value) {throw new ReadOnlyBufferException();} +public ArrayPtg(int nColumns, int nRows) {_nColumns = (short) nColumns;_nRows = (short) nRows;_arrayValues = new Object[nColumns * nRows];_reserved0Int = 0;_reserved1Short = 0;_reserved2Byte = 0;} +//public void getIceServerConfig(GetIceServerConfigRequest request) +public String getValueAsString() {return "";} +public String toString() {return "ToChildBlockJoinQuery ("+parentQuery.toString()+")";} +public final void decRef() { +//public UpdateConfigurationSetSendingEnabledResult updateConfigurationSetSendingEnabled() { +public int getNextXBATChainOffset() {return getXBATEntriesPerBlock() * LittleEndianConsts.INT_SIZE;} +public void multiplyByPowerOfTen(int pow10) {int[] tp = new int[2];int[] m = new int[2];int[] d = new int[2];int[] ds = new int[2public void multiplyByPowerOfTen(int pow10) {int[] tp = new int[2];int[] m = new int[2];int[] d = new int[2];int[] ds = new int[2];int[] m2 = new int[2];int[] m3 = new int[2];int[] m4 = new int[2];int[] m5 = new int[2];int[] m6 = new int[2public void multiplyByPowerOfTen(int pow10) {int[] tp = new int[2];int[] m = new int[2];int[] d = new int[2];int[] ds = new int[2public void multiplyByPowerOfTen(int pow10) {int[] tp = new int[2];int[] m = new int[2];int[] d = new int[2];int[] ds = new int[2];int[] m2 = new int[2];int[] m3 = new int[2];int[] m4 = new int[2];int[] m5 = new int[2];int[] m6 = new int[2];int[] m7 = new int[2];int[] m8 = new int[2];int[] m9 = new int[2];int[] m10 = new int[2];int[] m11 = new int[2 +public String toString(){final StringBuilder b = new StringBuilder();final int l = length();for (int i = 0; i < l; i++){b.append(getComponent(i));if (i < l - 1){b.append(File.separatorChar);}}return b.toString();} +public InstanceProfileCredentialsProvider withRoleName(String roleName) {this.roleName = roleName;return this;} +public void setProgressMonitor(ProgressMonitor pm, int max) {progressMonitor = pm;} +public void reset(String fileName) {if (!first()) {ptr = 0;if (!eof())parseEntry(fileName);}} +public E previous() {if (iterator.previousIndex() >= start) {return iterator.previous();}throw new NoSuchElementException();} +public void setNewPrefix(String newPrefix) {this.newPrefix = newPrefix;} +public int indexOfValue(int value) {for (int i = 0; i < mSize; i++)if (mValues[i] == value)return i;return -1;} +public List uniqueStems(char word[], int length) {List stems = stem(word, length);if (stems.size() < 2) {return stems;}List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!deduped.contains(s)) {deduped.add(s);}}return deduped;} +//public void getGatewayResponses(GetGatewayResponsesRequest request, final ServiceCallback serviceCallback) { +public void setPosition(long pos) {currentBlockIndex = (int) (pos >> blockBits);currentBlock = blocks[currentBlockIndex];currentBlockUpto = (int) (pos & blockMask);} +public long skip(long n) {int s = (int) Math.min(available(), Math.max(0, n));ptr += s;return s;} +public BootstrapActionDetail(BootstrapActionConfig bootstrapActionConfig, String actionId, String status, String statusMessage, String statusUpdateTime, String statusUpdateUser, String statusUpdateTimeUTC, String statusUpdateUserUTC) {public BootstrapActionDetail(BootstrapActionConfig bootstrapActionConfig, String actionId, String status, String statusMessage, String statusUpdateTime, String statusUpdateUser, String statusUpdateTimeUTC, String statusUpdateUserUTC) {setBootstrapActionConfig(bootstrapActionConfig);setActionId(actionId);setStatus(status);setStatusMessage(statusMessage);setStatusUpdateTime(statusUpdateTime);setStatusUpdateUser(statusUpdateUser);setStatusUpdateTimeUTC(statusUpdateTimeUTC);setStatusUpdateUserUTC(statusUpdateUserUTC);}} +public void serialize(ByteArrayOutputStream out) throws IOException { +public int lastIndexOf(String string, int count) { +public boolean addLastImpl(E object) { +ConfigSnapshot unsetSection(ConfigSnapshot src, String section, String subsection) { +public final String getTagName(String namespace) {return tagName;} +public void addSubRecord(SubRecord element) {subrecords.add(element);} +public boolean remove(Object o, int index) {synchronized (mutex) {return delegate().remove(o, index);}} +public DoubleMetaphoneFilter create(TokenStream input, int maxCodeLength, boolean inject) {return new DoubleMetaphoneFilter(input, maxCodeLength, inject);} +public long inCoreLength() { +public boolean getValue() {return value;} +public static Pair create(ContentSource oldSource, ContentSource newSource) { +public int get(int i) {if (count <= i)throw new ArrayIndexOutOfBoundsException(i);return entries[i];} +public CreateRepoRequest(String name) {super("cr", "2016-06-07", "CreateRepo", "cr");setUriPattern("/repos");setMethod(MethodType.PUT);setName(name);} +public void setDeltaBaseAsOffset(boolean deltaBaseAsOffset) {this.deltaBaseAsOffset = deltaBaseAsOffset;} +public void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}} else {throw new ConcurrentModificationException();}} +//public void mergeShards(MergeShardsRequest request, final ServiceCallback serviceCallback) { +public AllocateHostedConnectionResult executeAllocateHostedConnection(AllocateHostedConnectionRequest request) { +public int getEndIndex() {return end;} +public static final WeightedTerm[] getTerms(Query query, boolean useWeight){ +public ByteBuffer compact(int start, int end) {throw new ReadOnlyBufferException();} +public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = (byte0 & 15) << 2 | (blocks[blocksOffset++] & 0xFF) >>> 6;values[valuesOffset++] = ((byte0 & 63) <>> 6;values[valuesOffset++] = ((byte0 & 63) << 4) | (blocks[blocksOffset++] & 0xFF) >>> 4;values[valuesOffset++] = ((byte0 & 63) << 2) | (blocks[blocksOffset++] & 0xFF) >>> 2; +public String getPath() throws IllegalArgumentException {String s = getHost();if (s == null) throw new IllegalArgumentException();return s;} +//public void describeNotebookInstanceLifecycleConfig(DescribeNotebookInstanceLifecycleConfigRequest request, final ServiceCallback serviceCallback) { +public void setAccessKeySecret(String accessKeySecret) {this.accessKeySecret = accessKeySecret;} +//public CreateVpnConnectionResult createVpnConnection(CreateVpnConnectionRequest request, String ifMatch) {request = beforeClientExecution(request);return executeCreateVpnConnection(request, ifMatch);} +//public void describeVoices(DescribeVoicesRequest request) { +//public ListMonitoringExecutionsResult listMonitoringExecutions() { +public DescribeJobRequest(String vaultName, String jobId, String vaultName2, String jobId2) {setVaultName(vaultName);setJobId(jobId);setVaultName2(vaultName2);setJobId2(jobId2);} +public int getEscherRecordCount(){return escherRecords.size();} +//public GetApisResult getApis() { +//public DeleteSmsChannelResponse executeDeleteSmsChannel(DeleteSmsChannelRequest request) { +public void setTrackingRefUpdate(TrackingRefUpdate trackingRefUpdate) {this.trackingRefUpdate = trackingRefUpdate;} +public void print(char c) {print(String.valueOf(c));} +public void setChild(QueryNode child) {getChildren().set(0, child);} +public NotIgnoredFilter(int workdirTreeIndex, int workdirTreeIndex2) {this.index = workdirTreeIndex;this.index2 = workdirTreeIndex2;} +public AreaRecord() { +public GetThumbnailRequest(String accessToken) {super("CloudPhoto", "2017-07-11", "GetThumbnail", "cloudphoto");setProtocol(ProtocolType.HTTPS);this.accessToken = accessToken;} +//public DescribeTransitGatewayVpcAttachmentsResult executeDescribeTransitGatewayVpcAttachments(DescribeTransitGatewayVpcAttachmentsRequest request) { +//public void putVoiceConnectorStreamingConfiguration(PutVoiceConnectorStreamingConfigurationRequest request, final ServiceCallback serviceCallback) { +public OrdRange getOrdRange(String dim) { +public String toString(int startIndex) {String symbol = "";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,public String toString(int startIndex) {String symbol = "";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), "%s('%s')", LexerNoViableAltException.class.getSimpleName(), symbol);} +public E peekFirst() {return peekFirstImpl();} +//public CreateWorkspacesResult createWorkspaces() { +public NumberFormatIndexRecord copy() { diff --git a/output/code2code-trans/prompt4/codegen1-multi-350M.output b/output/code2code-trans/prompt4/codegen1-multi-350M.output new file mode 100644 index 0000000..15c98b3 --- /dev/null +++ b/output/code2code-trans/prompt4/codegen1-multi-350M.output @@ -0,0 +1,100 @@ +public void deserialize(LittleEndianInput in) {field_1_vcenter = in.readShort();} +public void addAll(BlockList src, int srcDirIdx, int srcBlkIdx) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdpublic void addAll(BlockList src, int srcDirIdx, int srcBlkIdx) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdx < src.tailDirIdx; srcDirIdx++)addAll(src.directory[srcDirIdx], srcDirIdx, srcBlkIdx);if (src.tailBlkIdx!= 0)addAll(src.tailBlock, srcDirIdx, srcBlkIdx);} +public void writeByte(byte b, int offset) {if (upto == blockSize) {if (currentBlock!= null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}currentBlock[upto++] = b;upto = offset;} +public void setObjectId(ObjectId objectId) {this.objectId = objectId;} +public DeleteDomainEntryResult executeDeleteDomainEntry(DeleteDomainEntryRequest request, +public long getTermOffsetsRamBytesUsed() {return ((termOffsets!=null)? termOffsets.ramBytesUsed() : 0);} +public final String getFullMessage(int offset) {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, offset);if (msgB < 0) {return ""; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);} +public POIFSFileSystem(boolean b) {this(b, true);} +public void init(int address, int length) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice!= null;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;assert upto < slice.length;offset1 = address + length;} +public SubmoduleAddCommand setPath(String path, String path2) {this.path = path;this.path2 = path2;return this;} +public ListIngestionsResult executeListIngestions(ListIngestionsRequest request, +@Override public void ReInit(CharStream stream) { +public GetShardIteratorResult executeGetShardIterator(GetShardIteratorRequest request, +public ModifyStrategyRequest(String method, String url, String methodName, String methodParams, String methodBody, String methodHeaders, String methodCookies, String methodHeadersCookies, String methodCookiesHeaders,public ModifyStrategyRequest(String method, String url, String methodName, String methodParams, String methodBody, String methodHeaders, String methodCookies, String methodHeadersCookies, String methodCookiesHeaders, String methodCookiesHeaders, String methodCookiesHeadersCookies, String methodCookiesHeadersCookies) {super(method, url, methodName, methodParams, methodBody, methodHeaders, methodCookies,public ModifyStrategyRequest(String method, String url, String methodName, String methodParams, String methodBody, String methodHeaders, String methodCookies, String methodHeadersCookies, String methodCookiesHeaders,public ModifyStrategyRequest(String method, String url, String methodName, String methodParams, String methodBody, String methodHeaders, String methodCookies, String methodHeadersCookies, String methodCookiesHeaders, String methodCookiesHeaders, String methodCookiesHeadersCookies, String methodCookiesHeadersCookies) {super(method, url, methodName, methodParams, methodBody, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeadpublic ModifyStrategyRequest(String method, String url, String methodName, String methodParams, String methodBody, String methodHeaders, String methodCookies, String methodHeadersCookies, String methodCookiesHeaders,public ModifyStrategyRequest(String method, String url, String methodName, String methodParams, String methodBody, String methodHeaders, String methodCookies, String methodHeadersCookies, String methodCookiesHeaders, String methodCookiesHeaders, String methodCookiesHeadersCookies, String methodCookiesHeadersCookies) {super(method, url, methodName, methodParams, methodBody, methodHeaders, methodCookies,public ModifyStrategyRequest(String method, String url, String methodName, String methodParams, String methodBody, String methodHeaders, String methodCookies, String methodHeadersCookies, String methodCookiesHeaders,public ModifyStrategyRequest(String method, String url, String methodName, String methodParams, String methodBody, String methodHeaders, String methodCookies, String methodHeadersCookies, String methodCookiesHeaders, String methodCookiesHeaders, String methodCookiesHeadersCookies, String methodCookiesHeadersCookies) {super(method, url, methodName, methodParams, methodBody, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, methodCookies, methodHeaders, +public int read() throws IOException {synchronized (lock) {if (in == null) {throw new IOException("InputStreamReader is closed");}try {return in.read();} catch (IOException e) {return -1;}} +public void setOptRecord(EscherOptRecord optRecord) {_optRecord = optRecord;} +public synchronized int read(byte[] buffer) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, 0, buffer.length);if (bufferpublic synchronized int read(byte[] buffer) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, 0, buffer.length);if (buffer.length == 0) {return 0;}int copylen = count - pos < buffer.length? count - pos : buffer.length;for (int i = 0; i < copylen; i++) {buffer[i] = (byte) this.buffer.charAt(pos + i);}pos += copylen;return copylen;} +public OpenNLPSentenceBreakIterator(NLPSentenceDetectorOp sentenceOp, int breakPos) {this.sentenceOp = sentenceOp; this.breakPos = breakPos;} +public void print(String str, int i) {write(str!= null? str : String.valueOf((Object) null));} +public NotImplementedFunctionException(String functionName) {super(functionName);this.functionName = functionName;} +public V previous() {return super.previousEntry().getValue();} +public final void readBytes(byte[] b, int offset, int len) throws IOException {int available = bufferLength - bufferPosition;if(len <= available){if(len>0) System.arraycopy(buffer, bufferPositionpublic final void readBytes(byte[] b, int offset, int len) throws IOException {int available = bufferLength - bufferPosition;if(len <= available){if(len>0) System.arraycopy(buffer, bufferPosition, b, offset, len);bufferPosition+=len;} else {if(available > 0){System.arraycopy(buffer, bufferPosition, b, offset, available);offset += available;len -= available;bufferPosition += available;}ifpublic final void readBytes(byte[] b, int offset, int len) throws IOException {int available = bufferLength - bufferPosition;if(len <= available){if(len>0) System.arraycopy(buffer, bufferPositionpublic final void readBytes(byte[] b, int offset, int len) throws IOException {int available = bufferLength - bufferPosition;if(len <= available){if(len>0) System.arraycopy(buffer, bufferPosition, b, offset, len);bufferPosition+=len;} else {if(available > 0){System.arraycopy(buffer, bufferPosition, b, offset, available);offset += available;len -= available;bufferPosition += available;}if (useBuffer && len= 0)public static String quote(String string) {StringBuilder sb = new StringBuilder();sb.append("\"");int apos = 0;int k;while ((k = string.indexOf("\"", apos)) >= 0) {sb.append(string.substring(apos, k + 1)).append("\"");apos = k + 1;}return sb.append(string.substring(apos)).append("\"").toString();} +public ByteBuffer putInt(int value, int position) {throw new ReadOnlyBufferException();} +public ArrayPtg(int nColumns, int nRows, Object[] values2d) {_nColumns = nColumns;_nRows = nRows;_arrayValues = values2d;} +public GetIceServerConfigResult executeGetIceServerConfig(GetIceServerConfigRequest request, com.amazonaws.handlers.AsyncHandler asyncHandler) { +public String getClassName() {return getClass().getName();} +public String toString() {return "ToChildBlockJoinQuery";} +public final void decRef() {refCount.decrementAndGet();} +// You can use it to execute Java api in C#. +public int getNextXBATChainOffset() {return getXBATEntriesPerBlock() * LittleEndianConsts.INT_SIZE;} +public void multiplyByPowerOfTen(int pow10, int divisor) {mulShift(pow10, divisor);} +public String toString(){final StringBuilder b = new StringBuilder();final int l = length();b.append(File.separatorChar);for (int i = 0; i < l; i++){b.append(getComponent(i));if (i < l - 1){b.append(File.separatorChar);}}return b.toString();} +public InstanceProfileCredentialsProvider withFetcher(ECSMetadataServiceCredentialsFetcher fetcher, String roleName) {this.fetcher = fetcher;this.fetcher.setRoleName(roleName);return this;} +public ProgressMonitor getProgressMonitor() {return progressMonitor;} +public void parseEntry() {if (ptr == 0) {ptr = parseEntry();} else {ptr = 0;}} +public E previous() {return iterator.previous();} +public void setNewPrefix(String newPrefix) {this.newPrefix = newPrefix;} +public int indexOfValue(int value, int fromIndex) {for (int i = fromIndex; i < mSize; i++)if (mValues[i] == value)return i;} +public List uniqueStems(char word[], int length, boolean ignoreCase) {List stems = stem(word, length, ignoreCase);if (stems.size() < 2)public List uniqueStems(char word[], int length, boolean ignoreCase) {List stems = stem(word, length, ignoreCase);if (stems.size() < 2) {return stems;}CharArraySet terms = new CharArraySet(8, ignoreCase);List deduped = new ArrayList<>();for (CharsRef s : stems) {if (!terms.contains(s)) {deduped.add(s);terms.add(s);}}return deduped;} +public GetGatewayResponsesResult executeGetGatewayResponses(GetGatewayResponsesRequest request, +public long getPosition() {return currentBlockIndex << blockBits | currentBlockUpto;} +public long skip(long n) {int s = (int) Math.min(available(), Math.max(0, n));ptr += s;return s;} +public BootstrapActionDetail(BootstrapActionConfig bootstrapActionConfig, String bootstrapActionName) {setBootstrapActionConfig(bootstrapActionConfig);setBootstrapActionName(bootstrapActionName);} +public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_shapeid = in.readShort();field_6_author.length();field_5_hasMultibyte = in.readByte() == 0x01;if (field_5_hasMultibyte) {fieldpublic void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_shapeid = in.readShort();field_6_author.length();field_5_hasMultibyte = in.readByte() == 0x01;if (field_5_hasMultibyte) {field_6_author = StringUtil.getUnicodeLE(in);} else {field_6_author = StringUtil.getCompressedUnicode(in);}if (field_7_padding!= null) +public int lastIndexOf(String string, int count) { +public boolean addLast(E object) {return addLastImpl(object);} +public ConfigSnapshot unsetSection(ConfigSnapshot src, String section, String subsection) { +public final String getTagNameC() {return tagNameC;} +public SubRecord getSubRecord(int index) {return subrecords.get(index);} +public boolean removeAll(Collection c) {synchronized (mutex) {return delegate().removeAll(c);}} +public DoubleMetaphoneFilter create(TokenStream input, int maxCodeLength) {return new DoubleMetaphoneFilter(input, maxCodeLength, inject);} +public long inCoreLength() {return inCoreLength;} +public boolean getValue() {return value;} +public ContentSource getOldSource() {return oldSource;} +public int get(int i, int j) {if (count <= i)throw new ArrayIndexOutOfBoundsException(i);return entries[i];} +public CreateRepoRequest(String uriPattern, String method, String name, String description, String homepage, String homepageUrl, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlpublic CreateRepoRequest(String uriPattern, String method, String name, String description, String homepage, String homepageUrl, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlpublic CreateRepoRequest(String uriPattern, String method, String name, String description, String homepage, String homepageUrl, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlpublic CreateRepoRequest(String uriPattern, String method, String name, String description, String homepage, String homepageUrl, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlpublic CreateRepoRequest(String uriPattern, String method, String name, String description, String homepage, String homepageUrl, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlpublic CreateRepoRequest(String uriPattern, String method, String name, String description, String homepage, String homepageUrl, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlpublic CreateRepoRequest(String uriPattern, String method, String name, String description, String homepage, String homepageUrl, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlpublic CreateRepoRequest(String uriPattern, String method, String name, String description, String homepage, String homepageUrl, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrlPattern, String homepageUrl +public boolean isDeltaBaseAsOffset() {return deltaBaseAsOffset;} +public void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}} else {if (index == pospublic void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}} else {if (index == pos) {if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastpublic void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}} else {if (index == pospublic void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}} else {if (index == pos) {if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (lastLink == link) {pos--;}link = previous;lastLink = null;expectedModCount++;list.size--;list.modCount++;} else {throw new ConcurrentModificationException();}}}} else {throw new Concurrent +public MergeShardsResult executeMergeShards(MergeShardsRequest request) { +// C# to Java conversion does not preserve the exact signature of the generated C# code, +public int getEndIndex() {return end;} +public static final WeightedTerm[] getTerms(Query query, boolean includeInferred){return getTerms(query,includeInferred,false);} +public ByteBuffer duplicate() {throw new ReadOnlyBufferException();} +public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations, int blockSize) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations, int blockSize) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3)public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations, int blockSize) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations, int blockSize) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values +public String getHumanishName() {return getHumanishName();} +public static DescribeNotebookInstanceLifecycleConfigResult executeDescribeNotebookInstanceLifecycleConfig(com.amazonaws.services.ecr.AmazonECR.executeDelayedRequest clientRequest) { +public String getAccessKeySecret() {return this.accessKeySecret;} +// You can also call the C# to execute Java from the Java client. +// You can improve C# code by using the C#->Java->C# compiler from Oracle +public ListMonitoringExecutionsResult executeListMonitoringExecutions(ListMonitoringExecutionsRequest request, +public DescribeJobRequest() { +public void setEscherRecord(int index, EscherRecord escherRecord){escherRecords.set(index, escherRecord);} +public GetApisResult executeGetApis(GetApisRequest request, AsyncHandler asyncHandler) {assert(asyncHandler!= null);execute(request, new GetApisResultJsonProcessor(asyncHandler));return null;} +public com.amazonaws.Response executeDeleteSmsChannel(DeleteSmsChannelRequest request) { +public void setTrackingRefUpdate(TrackingRefUpdate trackingRefUpdate) { +public void print(char c) {print(String.valueOf(c));} +public void setChild(QueryNode child) { +public NotIgnoredFilter(int workdirTreeIndex, int workdirIndex) {this.index = workdirTreeIndex;this.workdirIndex = workdirIndex;} +public void write(RecordOutputStream out) {out.writeShort(field_1_formatFlags);} +public GetThumbnailRequest(String url, String thumbnailUrl, String thumbnailUrlType, String thumbnailUrlType2, String thumbnailUrlType3, String thumbnailUrlType4, String thumbnailUrlType5, String thumbnailUrlType6, String thumbnailUrlpublic GetThumbnailRequest(String url, String thumbnailUrl, String thumbnailUrlType, String thumbnailUrlType2, String thumbnailUrlType3, String thumbnailUrlType4, String thumbnailUrlType5, String thumbnailUrlType6, String thumbnailUrlType7, String thumbnailUrlType8, String thumbnailUrlType9, String thumbnailUrlType10, String thumbnailUrlType11, String thumbnailUrlType12, String thumbnailUrlType13, String thumbnailUrlType14, String thumbnailUrlType15public GetThumbnailRequest(String url, String thumbnailUrl, String thumbnailUrlType, String thumbnailUrlType2, String thumbnailUrlType3, String thumbnailUrlType4, String thumbnailUrlType5, String thumbnailUrlType6, String thumbnailUrlpublic GetThumbnailRequest(String url, String thumbnailUrl, String thumbnailUrlType, String thumbnailUrlType2, String thumbnailUrlType3, String thumbnailUrlType4, String thumbnailUrlType5, String thumbnailUrlType6, String thumbnailUrlType7, String thumbnailUrlType8, String thumbnailUrlType9, String thumbnailUrlType10, String thumbnailUrlType11, String thumbnailUrlType12, String thumbnailUrlType13, String thumbnailUrlType14, String thumbnailUrlType15, String thumbnailUrlType16, String thumbnailUrlType17, String thumbnailUrlType18, String thumbnailUrlType19, String thumbnailUrlType20, String thumbnailUrlType21, String thumbnailUrlType22, String thumbnailUrlType23, Stringpublic GetThumbnailRequest(String url, String thumbnailUrl, String thumbnailUrlType, String thumbnailUrlType2, String thumbnailUrlType3, String thumbnailUrlType4, String thumbnailUrlType5, String thumbnailUrlType6, String thumbnailUrlpublic GetThumbnailRequest(String url, String thumbnailUrl, String thumbnailUrlType, String thumbnailUrlType2, String thumbnailUrlType3, String thumbnailUrlType4, String thumbnailUrlType5, String thumbnailUrlType6, String thumbnailUrlType7, String thumbnailUrlType8, String thumbnailUrlType9, String thumbnailUrlType10, String thumbnailUrlType11, String thumbnailUrlType12, String thumbnailUrlType13, String thumbnailUrlType14, String thumbnailUrlType15public GetThumbnailRequest(String url, String thumbnailUrl, String thumbnailUrlType, String thumbnailUrlType2, String thumbnailUrlType3, String thumbnailUrlType4, String thumbnailUrlType5, String thumbnailUrlType6, String thumbnailUrlpublic GetThumbnailRequest(String url, String thumbnailUrl, String thumbnailUrlType, String thumbnailUrlType2, String thumbnailUrlType3, String thumbnailUrlType4, String thumbnailUrlType5, String thumbnailUrlType6, String thumbnailUrlType7, String thumbnailUrlType8, String thumbnailUrlType9, String thumbnailUrlType10, String thumbnailUrlType11, String thumbnailUrlType12, String thumbnailUrlType13, String thumbnailUrlType14, String thumbnailUrlType15, String thumbnailUrlType16, String thumbnailUrlType17, String thumbnailUrlType18, String thumbnailUrlType19, String thumbnailUrlType20, String thumbnailUrlType21, String thumbnailUrlType22, String thumbnailUrlType23, String thumbnailUrlType24, String thumbnailUrlType25, String thumbnailUrlType26, String thumbnailUrlType27, String thumbnailUrlType28, String thumbnailUrlType29, String thumbnailUrlType30, String thumbnailUrlType31, String thumbnailUrl +public com.amazonaws.Response executeDescribeTransitGatewayVpcAttachments(DescribeTransitGatewayVpcAttachmentsRequest describeTransitGatewayVpcAttachmentsRequest) { +// It just calls execute(). +public OrdRange getOrdRange(String dim, String ord) {return prefixToOrdRange.get(dim, ord);} +public String toStringC() {String symbol = "";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));public String toStringC() {String symbol = "";if (startIndex >= 0 && startIndex < getInputStream().size()) {symbol = getInputStream().getText(Interval.of(startIndex,startIndex));symbol = Utils.escapeWhitespace(symbol, false);}return String.format(Locale.getDefault(), "%s('%s')", LexerNoViableAltException.class.getSimpleName(), symbol);} +public E peekFirst() {return peekFirstImpl();} +// You can use it from Java code as long as the JavaBeans framework is not used. +public NumberFormatIndexRecord copy() {return new NumberFormatIndexRecord(this);} diff --git a/output/code2code-trans/prompt4/codegen1-multi-6B.output b/output/code2code-trans/prompt4/codegen1-multi-6B.output new file mode 100644 index 0000000..b45cf5c --- /dev/null +++ b/output/code2code-trans/prompt4/codegen1-multi-6B.output @@ -0,0 +1,100 @@ +public int getVcenter() {return field_1_vcenter;} +public void addAll(BlockList src) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdx < src.tailDirIdx; srcDirIdxpublic void addAll(BlockList src) {if (src.size == 0)return;int srcDirIdx = 0;for (; srcDirIdx < src.tailDirIdx; srcDirIdx++)addAll(src.directory[srcDirIdx], 0, BLOCK_SIZE);if (src.tailBlkIdx!= 0)addAll(src.tailBlock, 0, src.tailBlkIdx);}} +public void writeByte(byte[] b) {if (b.length > blockSize) {throw new IllegalArgumentException("block size is " + blockSize + ", but length of array is " + b.length);}if (public void writeByte(byte[] b) {if (b.length > blockSize) {throw new IllegalArgumentException("block size is " + blockSize + ", but length of array is " + b.length);}if (upto + b.length > blockSize) {if (currentBlock!= null) {addBlock(currentBlock);}currentBlock = new byte[blockSize];upto = 0;}System.arraycopy(b, 0, currentBlock, upto, b.length);upto += b.length;} +public void setObjectId(ObjectId objectId) {this.objectId = objectId;} +public DeleteDomainEntryResult executeDeleteDomainEntry(DeleteDomainEntryRequest request) { +public long ramBytesUsed(long[] ramBytesUsed) { +public final String getFullMessage(int offset) {byte[] raw = buffer;int msgB = RawParseUtils.tagMessage(raw, offset);if (msgB < 0) {return ""; }return RawParseUtils.decode(guessEncoding(), raw, msgB, raw.length);} +public POIFSFileSystem(boolean bigBlockSize) { +public void init(int address, int length) {slice = pool.buffers[address >> ByteBlockPool.BYTE_BLOCK_SHIFT];assert slice!= null;upto = address & ByteBlockPool.BYTE_BLOCK_MASK;offset0 = address;assert upto + length <= slice.length;} +public SubmoduleAddCommand setPath(String path, boolean force) {this.path = path;this.force = force;return this;} +public ListIngestionsResult listIngestions(ListIngestionsRequest request) { +public QueryParserTokenManager(CharStream stream){ +public GetShardIteratorResult executeGetShardIterator(GetShardIteratorRequest request) { +public ModifyStrategyRequest(String vip_id, String strategy_id, String strategy_name, String strategy_type, String strategy_status, String strategy_desc, String strategy_price, String strategy_start_time,public ModifyStrategyRequest(String vip_id, String strategy_id, String strategy_name, String strategy_type, String strategy_status, String strategy_desc, String strategy_price, String strategy_start_time, String strategy_end_time, String strategy_create_time, String strategy_update_time) {super("aegis", "2016-11-11", "ModifyStrategy", "vipaegis");setMethod(MethodType.POST); +public void close() throws IOException {synchronized (lock) {if (in!= null) {in.close();}if (bytes!= null) {bytes.close();}}} +public void setOptRecord(EscherOptRecord optRecord) {_optRecord = optRecord;} +//public int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, length//public int read(byte[] buffer, int offset, int length) {if (buffer == null) {throw new NullPointerException("buffer == null");}Arrays.checkOffsetAndCount(buffer.length, offset, length);if (length == 0) {return 0;}int copylen = count - pos < length? count - pos : length;for (int i = 0; i < copylen; i++) {buffer[offset + i] = (byte) this.buffer.charAt(pos + i);}pos += copylen;return copylen;} +public OpenNLPSentenceBreakIterator(NLPSentenceDetectorOp sentenceOp, boolean isDictionaryBased) {this.sentenceOp = sentenceOp; this.isDictionaryBased = isDictionaryBased;} +public void print(Object obj) {write(obj!= null? obj.toString() : String.valueOf((Object) null));} +public NotImplementedFunctionException(String functionName, NotImplementedException cause) {super(functionName, cause);this.functionName = functionName;} +public V previous() {return super.previousEntry().getValue();} +// +public TagQueueResult executeTagQueue(TagQueueRequest request) { +public void remove() {throw new UnsupportedOperationException();} +public CacheSubnetGroup executeModifyCacheSubnetGroup(ModifyCacheSubnetGroupRequest request) { +public String getParams() {return language + "," + country + "," + variant;} +public DeleteDocumentationVersionResult executeDeleteDocumentationVersion(DeleteDocumentationVersionRequest request) { +public int hashCode() { +public GetInstanceAccessDetailsResult executeGetInstanceAccessDetails(GetInstanceAccessDetailsRequest request) { +//public HSSFPolygon createPolygon(HSSFChildAnchor anchor) {HSSFPolygon shape = new HSSFPolygon(this, anchor);shape.setParent(this);shape.setAnchor(anchor);shapes.add(shape);onCreate(shape);return shape;} +public int getSheetIndex(String sheetName) {return getBoundSheetRec(sheetName).getSheetIndex();} +public static class GetDashboardRequestBuilder extends RequestBuilderBase { +public AssociateSigninDelegateGroupsWithAccountResult associateSigninDelegateGroupsWithAccount(AssociateSigninDelegateGroupsWithAccountRequest request) { +public void addMultipleBlanks(MulBlankRecord mbr) {for (int j = 0; j < mbr.getNumColumns(); j++) {BlankRecord br = new BlankRecord();br.setColumn(( short ) (j + mbr.getFirstColumn()));br.setRow(mbr.getRow());br.setXFIndex(mbr.getXFAt(j));insertCell(br);}} +public static String unquote(String string) {StringBuilder sb = new StringBuilder();int k = string.indexOf("\\Q");while (k >= 0) {sb.append(string.substring(0, k)).append(string.substring(k + 2));k = string.indexOf("\\E", k + 2);}return sb.toString();} +public ByteBuffer putInt(int index, int value) {throw new ReadOnlyBufferException();} +//public ArrayPtg(Object[][] values2d) {int nColumns = values2d[0].length;int nRows = values2d.length;_nColumns = (short) nColumns//public ArrayPtg(Object[][] values2d) {int nColumns = values2d[0].length;int nRows = values2d.length;_nColumns = (short) nColumns;_nRows = (short) nRows;Object[] vv = new Object[_nColumns * _nRows];for (int r=0; r= start) {return iterator.previous();}return defaultValue;} +public void setNewPrefix(String newPrefix) {this.newPrefix = newPrefix;} +public int indexOfValue(int value) { +public List stem(char word[], int length) {List stems = new ArrayList<>();for (int i = 0; i < length; i++) {stems.add(stem(word, i));}return stems;} +public GetGatewayResponsesResult executeGetGatewayResponses(GetGatewayResponsesRequest request) { +public long getPosition() {return currentBlockIndex * blockSize + currentBlockUpto;} +public long skip(long n) {return skip(n);} +BootstrapActionDetail(BootstrapActionDetail other) { +public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_shapeid = in.readShort();field_6_author = StringUtil.getUnicodeLE(in, in.readShort());field_5_hasMultibyte = in.readByte() == 1;ifpublic void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_public void deserialize(LittleEndianInput in) {field_1_row = in.readShort();field_2_col = in.readShort();field_3_flags = in.readShort();field_4_shapeid = in.readShort();field_6_author = StringUtil.getUnicodeLE(in, in.readShort());field_5_hasMultibyte = in.readByte() == 1;if (field_5_hasMultibyte) {field_6_author = StringUtil.getUnicode(in);} else {field_6_author = StringUtil.getCompressedUnicode(in +public int lastIndexOf(String string, int count) { +public boolean add(E object, int index) {return addImpl(object, index);} +public void unsetSection(ConfigSnapshot src, String section, String subsection) { +public final void setTagName(String value) {tagName = value;} +public void addSubRecord(SubRecord element) {subrecords.add(element);} +public void clear() {synchronized (mutex) {delegate().clear();}} +public static class DoubleMetaphoneFilter extends TokenFilter { +public long inCoreLength() { +public boolean getValue() {return value;} +public Pair(ContentSource oldSource, ContentSource newSource) {this.oldSource = oldSource;this.newSource = newSource;} +public int get(int i) { +public CreateRepoRequest(String uriPattern, String method) {super("cr", "2016-06-07", "CreateRepo", "cr");setUriPattern(uriPattern);setMethod(method);} +public void setDeltaBaseAsOffset(boolean deltaBaseAsOffset) {this.deltaBaseAsOffset = deltaBaseAsOffset;} +public void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}if (lastLink!= null)public void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (index == pos) {pos--;link =public void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}if (lastLink!= null)public void remove(int index) {if (expectedModCount == list.modCount) {if (index < 0 || index >= list.size) {throw new IndexOutOfBoundsException();}if (lastLink!= null) {Link next = lastLink.next;Link previous = lastLink.previous;next.previous = previous;previous.next = next;if (index == pos) {pos--;link = previous;lastLink = null;expectedModCount++;list.size--;list.modCount++;} else {throw new IndexOutOfBoundsException();}} else {throw new IllegalStateException();}} else {throw new ConcurrentMod +public MergeShardsResult executeMergeShards(MergeShardsRequest mergeShardsRequest) { +public AllocateHostedConnectionResult executeAllocateHostedConnection(AllocateHostedConnectionRequest request) { +public int getEndIndex() {return end;} +public static final WeightedTerm[] getTerms(Query query, boolean useStopWords){ +public ByteBuffer put(byte[] src, int offset, int length) {throw new ReadOnlyBufferException();} +public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) |public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++]public void decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long byte0 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = byte0 >>> 2;final long byte1 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte0 & 3) << 4) | (byte1 >>> 4);final long byte2 = blocks[blocksOffset++] & 0xFF;values[valuesOffset++] = ((byte1 & 15) << 2) | (byte2 >>> 6);values[valuesOffset++ +// +public void deleteNotebookInstanceLifecycleConfig(DeleteNotebookInstanceLifecycleConfigRequest request) {request = beforeClientExecution(request);} +public void setAccessKeySecret(String value) {this.accessKeySecret = value;} +public CreateVpnConnectionResult executeCreateVpnConnection(CreateVpnConnectionRequest request) { +public static class DescribeVoicesRequestBuilder extends RequestBuilderBase { +public ListMonitoringExecutionsResult executeListMonitoringExecutions(ListMonitoringExecutionsRequest request) { +public void setVaultName(String value) { +public void setEscherRecord(int index, EscherRecord escherRecord){escherRecords.set(index, escherRecord);} +public GetApisResult executeGetApis(GetApisRequest request) { +public DeleteSmsChannelResult executeDeleteSmsChannel(DeleteSmsChannelRequest request) { +public void setTrackingRefUpdate(TrackingRefUpdate trackingRefUpdate) {this.trackingRefUpdate = trackingRefUpdate;} +public void print(char c) {print(String.valueOf(c));} +public QueryNode getChild(int index) {return getChildren().get(index);} +public int getIndex() {return index;} +public void write(RecordOutputStream out) {out.writeShort(field_1_formatFlags);} +public GetThumbnailRequest(String authenticationKey, String clientId) {super("CloudPhoto", "2017-07-11", "GetThumbnail", "cloudphoto");setAuthenticationKey(authenticationKey);setClientId(clientId);} +public static class DescribeTransitGatewayVpcAttachmentsRequestBuilder extends RequestBuilderBase { +public static class PutVoiceConnectorStreamingConfigurationRequestBuilder extends RequestBuilderBase { +public OrdRange getOrdRange(String dim, int prefix) {return prefixToOrdRange.get(dim, prefix);} +// This code is written in Java. Reproduce the same exact code in C#. +public E peekFirst() {return peekFirstImpl();} +public CreateWorkspacesResult createWorkspaces(CreateWorkspacesRequest request) { +public NumberFormatIndexRecord copy() { diff --git a/tabulate-results.ipynb b/tabulate-results.ipynb index 19b5eb4..ea306c0 100644 --- a/tabulate-results.ipynb +++ b/tabulate-results.ipynb @@ -52,7 +52,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 3, "id": "3208f992-2269-4aa9-8b68-5f2b182a9af6", "metadata": {}, "outputs": [], @@ -67,7 +67,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 4, "id": "62848b4b-5708-4163-871f-6eaefd044737", "metadata": {}, "outputs": [ @@ -78,41 +78,44 @@ "## Bugs2fix\n", "\\hline Metric & Prompt & 350M & 2.7B & 6.1B & 16.1B & RMSD & MAE \\\\ \\hline \\hline\n", "EM & prompt0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", - "EM & prompt1 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", - "EM & prompt2 & 0 & 0 & 0 & \\textbf{0.0100} & 0.0015 & 0.0012 \\\\ \\hline\n", + " & prompt1 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + " & prompt2 & 0 & 0 & 0 & \\textbf{0.0100} & 0.0015 & 0.0012 \\\\ \\hline\n", "BLEU & prompt0 & 0.4882 & 0.5006 & 0.4571 & 0.5607 & 0.0252 & 0.0218 \\\\\n", - "BLEU & prompt1 & 0.1416 & 0.1801 & 0.2297 & 0.1747 & 0.0307 & 0.0256 \\\\\n", - "BLEU & prompt2 & 0.4920 & \\textbf{0.5989} & 0.4642 & 0.5689 & 0.0526 & 0.0449 \\\\ \\hline\n", - "CodeBLEU (Java) & prompt0 & 0.6134 & 0.6464 & 0.5699 & 0.6492 & 0.0304 & 0.0247 \\\\\n", - "CodeBLEU (Java) & prompt1 & 0.1862 & 0.2634 & 0.3111 & 0.2642 & 0.0406 & 0.0371 \\\\\n", - "CodeBLEU (Java) & prompt2 & 0.5918 & \\textbf{0.6909} & 0.5499 & 0.6595 & 0.0538 & 0.0455 \\\\ \\hline\n", + " & prompt1 & 0.1416 & 0.1801 & 0.2297 & 0.1747 & 0.0307 & 0.0256 \\\\\n", + " & prompt2 & 0.4920 & \\textbf{0.5989} & 0.4642 & 0.5689 & 0.0526 & 0.0449 \\\\ \\hline\n", + "CodeBLEU (Java) & prompt0 & 0.6139 & 0.6464 & 0.5699 & 0.6492 & 0.0304 & 0.0248 \\\\\n", + " & prompt1 & 0.1867 & 0.2634 & 0.3133 & 0.2636 & 0.0412 & 0.0375 \\\\\n", + " & prompt2 & 0.5934 & \\textbf{0.6909} & 0.5499 & 0.6595 & 0.0537 & 0.0453 \\\\ \\hline\n", "------------------------------\n", "## Bugs2fix (Checklist)\n", "\\hline Metric & Prompt & 350M & 2.7B & 6.1B & 16.1B & RMSD & MAE \\\\ \\hline \\hline\n", "EM & prompt0 & 0.0100 & 0 & 0.0100 & 0.0100 & 0.0041 & 0.0033 \\\\\n", - "EM & prompt1 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", - "EM & prompt2 & 0 & 0 & \\textbf{0.0200} & 0.0100 & 0.0073 & 0.0063 \\\\ \\hline\n", - "BLEU & prompt0 & 0.5737 & 0.6004 & 0.5456 & 0.6042 & 0.0219 & 0.0175 \\\\\n", - "BLEU & prompt1 & 0.1605 & 0.1759 & 0.3572 & 0.0145 & \\textbf{0.1037} & 0.0890 \\\\\n", - "BLEU & prompt2 & 0.5509 & \\textbf{0.6197} & 0.5399 & 0.6149 & 0.0326 & 0.0278 \\\\ \\hline\n", - "CodeBLEU (Java) & prompt0 & 0.6532 & 0.6766 & 0.6131 & 0.6867 & 0.0263 & 0.0220 \\\\\n", - "CodeBLEU (Java) & prompt1 & 0.1853 & 0.2495 & 0.4194 & 0.0521 & \\textbf{0.1145} & 0.0952 \\\\\n", - "CodeBLEU (Java) & prompt2 & 0.6154 & \\textbf{0.6989} & 0.6321 & 0.6983 & 0.0315 & 0.0266 \\\\ \\hline\n", + " & prompt1 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + " & prompt2 & 0 & 0 & \\textbf{0.0200} & 0.0100 & 0.0073 & 0.0063 \\\\ \\hline\n", + "BLEU & prompt0 & 0.5918 & 0.6004 & 0.5456 & 0.6042 & 0.0231 & 0.0199 \\\\\n", + " & prompt1 & 0.1605 & 0.1759 & 0.3572 & 0.0145 & \\textbf{0.1037} & 0.0890 \\\\\n", + " & prompt2 & 0.5509 & \\textbf{0.6197} & 0.5399 & 0.6149 & 0.0326 & 0.0278 \\\\ \\hline\n", + "CodeBLEU (Java) & prompt0 & 0.6802 & 0.6761 & 0.6131 & 0.6867 & 0.0294 & 0.0254 \\\\\n", + " & prompt1 & 0.1853 & 0.2495 & 0.4194 & 0.0521 & \\textbf{0.1145} & 0.0952 \\\\\n", + " & prompt2 & 0.6154 & \\textbf{0.6983} & 0.6321 & 0.6983 & 0.0312 & 0.0264 \\\\ \\hline\n", "------------------------------\n", "## CodeTrans\n", "\\hline Metric & Prompt & 350M & 2.7B & 6.1B & 16.1B & RMSD & MAE \\\\ \\hline \\hline\n", "EM & prompt0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", - "EM & prompt1 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", - "EM & prompt2 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", - "EM & prompt3 & 0 & 0 & 0 & 0 & 0 & 0 \\\\ \\hline\n", + " & prompt1 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + " & prompt2 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + " & prompt3 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + " & prompt4 & 0 & 0 & 0 & 0 & 0 & 0 \\\\ \\hline\n", "BLEU & prompt0 & 0.1474 & 0.1273 & 0.1394 & \\textbf{0.1491} & 0.0078 & 0.0063 \\\\\n", - "BLEU & prompt1 & 0.1212 & 0.0719 & 0.0693 & 0.1429 & 0.0269 & 0.0254 \\\\\n", - "BLEU & prompt2 & 0.0886 & 0.0364 & 0.0083 & 0.0247 & 0.0245 & 0.0227 \\\\\n", - "BLEU & prompt3 & 0.0157 & 0.0204 & 0.0209 & 0.0269 & 0.0012 & 0.0009 \\\\ \\hline\n", - "CodeBLEU (C$^\\sharp$) & prompt0 & 0.2291 & 0.2362 & 0.2614 & \\textbf{0.2682} & 0.0076 & 0.0066 \\\\\n", - "CodeBLEU (C$^\\sharp$) & prompt1 & 0.1940 & 0.1594 & 0.1805 & 0.2655 & 0.0201 & 0.0190 \\\\\n", - "CodeBLEU (C$^\\sharp$) & prompt2 & 0.1817 & 0.0942 & 0.0325 & 0.0650 & 0.0446 & 0.0405 \\\\\n", - "CodeBLEU (C$^\\sharp$) & prompt3 & 0.0793 & 0.0888 & 0.0899 & 0.1058 & 0.0022 & 0.0017 \\\\ \\hline\n", + " & prompt1 & 0.1212 & 0.0719 & 0.0693 & 0.1429 & 0.0269 & 0.0254 \\\\\n", + " & prompt2 & 0.0886 & 0.0364 & 0.0083 & 0.0247 & 0.0245 & 0.0227 \\\\\n", + " & prompt3 & 0.1295 & 0.1218 & 0.1164 & 0.1281 & 0.0052 & 0.0046 \\\\\n", + " & prompt4 & 0.0717 & 0.1021 & 0.0994 & 0.1029 & 0.0103 & 0.0092 \\\\ \\hline\n", + "CodeBLEU (C$^\\sharp$) & prompt0 & 0.2286 & 0.2366 & 0.2607 & \\textbf{0.2682} & 0.0074 & 0.0064 \\\\\n", + " & prompt1 & 0.1936 & 0.1596 & 0.1796 & 0.2655 & 0.0201 & 0.0190 \\\\\n", + " & prompt2 & 0.1814 & 0.0948 & 0.0330 & 0.0646 & 0.0442 & 0.0401 \\\\\n", + " & prompt3 & 0.2169 & 0.2187 & 0.2370 & 0.2529 & 0.0038 & 0.0031 \\\\\n", + " & prompt4 & 0.1992 & 0.1816 & 0.1551 & 0.1866 & 0.0159 & 0.0129 \\\\ \\hline\n", "------------------------------\n", "## Commit Message Generation\n", "\\hline Metric & Prompt & 350M & 2.7B & 6.1B & 16.1B & RMSD & MAE \\\\ \\hline \\hline\n", @@ -174,7 +177,7 @@ " \n", " table.append([\n", " #config[\"display_name\"],\n", - " metric.latex_name,\n", + " metric.latex_name if prompt_name == \"prompt0\" else \"\",\n", " prompt_name,\n", " *str_results,\n", " *emergence_evaluations,\n", @@ -193,22 +196,6 @@ "\n", " print(\"-\" * 30)" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "012f1d27-d09a-48cb-9f6f-02860b162397", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1df5c99b-7da9-4c58-b18d-4806962396c9", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": {