Skip to content

Commit ef45029

Browse files
committed
Add missing trailing parts to ipython notebooks
The conversion apparently wasnt 100% OK for all of them
1 parent 122366d commit ef45029

File tree

67 files changed

+1197
-169
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+1197
-169
lines changed

ipython/A_Numerical_Agnostic_Pyrex_Class.ipynb

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"metadata": {
3-
"name": ""
3+
"name": "",
4+
"signature": "sha256:b664ac2ba452bc821ed4bfb4cb72116ee81b6c75ed2a481b7f029ba2cb13d901"
45
},
56
"nbformat": 3,
67
"nbformat_minor": 0,
@@ -14,6 +15,8 @@
1415
"A numerical agnostic pyrex class\n",
1516
"======================================================================\n",
1617
"\n",
18+
"TAGS: Outdated\n",
19+
"\n",
1720
"**NOTE**: This entry was last updated 2006-11-04 and contains information\n",
1821
"that is not relevant today (as of 2013).\n",
1922
"\n",
@@ -284,6 +287,19 @@
284287
"language": "python",
285288
"metadata": {},
286289
"outputs": []
290+
},
291+
{
292+
"cell_type": "markdown",
293+
"metadata": {},
294+
"source": [
295+
"You can check the output here [test_output.txt](files/attachments/A_Numerical_Agnostic_Pyrex_Class/test_output.txt)\n",
296+
"\n",
297+
"See also\n",
298+
"--------\n",
299+
"\n",
300+
"* [\"Cookbook/Pyrex_and_NumPy\"]\n",
301+
"* [\"Cookbook/ArrayStruct_and_Pyrex\"] (The inspiring recipe)"
302+
]
287303
}
288304
],
289305
"metadata": {}

ipython/ApplyFIRFilter.ipynb

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"metadata": {
3-
"name": ""
3+
"name": "",
4+
"signature": "sha256:b0f70faf76804e4e892dd86a863469122a6da843e126603581d892b1be8e2cd6"
45
},
56
"nbformat": 3,
67
"nbformat_minor": 0,
@@ -268,6 +269,15 @@
268269
}
269270
],
270271
"prompt_number": 7
272+
},
273+
{
274+
"cell_type": "markdown",
275+
"metadata": {},
276+
"source": [
277+
"The plot shows that, depending on the number of taps, either scipy.ndimage.convolve1d,\n",
278+
"numpy.convolve or scipy.signal.fftconvolve is the fastest.\n",
279+
"The above script can be used to explore variations of these results."
280+
]
271281
}
272282
],
273283
"metadata": {}

ipython/ArrayStruct_and_Pyrex.ipynb

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"metadata": {
3-
"name": ""
3+
"name": "",
4+
"signature": "sha256:c41ba98ca104eacba3468a716753a5977634547e66a51d7cb307161ae332cf4f"
45
},
56
"nbformat": 3,
67
"nbformat_minor": 0,
@@ -133,6 +134,19 @@
133134
"language": "python",
134135
"metadata": {},
135136
"outputs": []
137+
},
138+
{
139+
"cell_type": "markdown",
140+
"metadata": {},
141+
"source": [
142+
"## Using data malloced elsewhere with a Pyrex-based extension\n",
143+
"\n",
144+
"One example is the get_data_copy() function of [_cam_iface_shm.pyx](http://code.astraw.com/projects/motmot/browser/trunk/cam_iface/src/_cam_iface_shm.pyx) in the [motmot camera utilities](http://code.astraw.com/projects/motmot) software. In this use example, an image is copied from shared memory into an externally malloced buffer supporting the {{{__array_struct__}}} interface. (The shared memory stuff has only been tested on linux, but the rest should work anywhere.)\n",
145+
"\n",
146+
"## See also\n",
147+
"\n",
148+
"* [\"Cookbook/Pyrex_and_NumPy\"]"
149+
]
136150
}
137151
],
138152
"metadata": {}

ipython/Ctypes.ipynb

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"metadata": {
3-
"signature": "sha256:a72aa5d8dedcdcc4089b11f8e274e756008cf38d29a1c9d3fcdd1cc100b8d9bb"
3+
"signature": "sha256:24cb988253a312e3cca7456b080408ad758f6480f7b8d486135d4df298c66c27"
44
},
55
"nbformat": 3,
66
"nbformat_minor": 0,
@@ -935,6 +935,29 @@
935935
"language": "python",
936936
"metadata": {},
937937
"outputs": []
938+
},
939+
{
940+
"cell_type": "markdown",
941+
"metadata": {},
942+
"source": [
943+
"## Pertinent Mailing List Threads\n",
944+
"\n",
945+
"Some useful threads on the ctypes-users mailing list:\n",
946+
"\n",
947+
" * [http://aspn.activestate.com/ASPN/Mail/Message/ctypes-users/3119087 IndexError when indexing on POINTER(POINTER(ctype))]\n",
948+
" * [http://aspn.activestate.com/ASPN/Mail/Message/ctypes-users/3118513 Adding ctypes support to NumPy]\n",
949+
" * [http://aspn.activestate.com/ASPN/Mail/Message/ctypes-users/3118656 Determining if a ctype is a pointer type (was RE: Adding ctypes support to NumPy)]\n",
950+
" * [http://aspn.activestate.com/ASPN/Mail/Message/ctypes-users/3117306 Check for NULL pointer without ValueError]\n",
951+
" * [http://aspn.activestate.com/ASPN/Mail/Message/ctypes-users/3205951 Problem with callbacks from C into Python]\n",
952+
" * [http://thread.gmane.org/gmane.comp.python.numeric.general/7418\\ ctypes and ndpointer]\n",
953+
" * [http://thread.gmane.org/gmane.comp.python.ctypes/3116 Problems with 64 signed integer]\n",
954+
"\n",
955+
"Thomas Heller's answers are particularly insightful.\n",
956+
"\n",
957+
"## Documentation\n",
958+
" * [http://starship.python.net/crew/theller/ctypes/tutorial.html ctypes tutorial]\n",
959+
" * [http://docs.python.org/dev/lib/module-ctypes.html 13.14 ctypes -- A foreign function library for Python.]"
960+
]
938961
}
939962
],
940963
"metadata": {}

ipython/F2Py.ipynb

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"metadata": {
3-
"signature": "sha256:9430bc0c224d76c77db34576e6dbd7bb429b0ac1b2fb0837ad69c28bf3bf99c7"
3+
"signature": "sha256:627a3e6ccb2a6a4c222372198ad3e4d7a2417c1e1963f9606a53230a6bc3c907"
44
},
55
"nbformat": 3,
66
"nbformat_minor": 0,
@@ -159,6 +159,23 @@
159159
"language": "python",
160160
"metadata": {},
161161
"outputs": []
162+
},
163+
{
164+
"cell_type": "markdown",
165+
"metadata": {},
166+
"source": [
167+
"A more complicated example about\n",
168+
"how to wrap routines for band matrices can be found at\n",
169+
"http://www.physik.tu-dresden.de/~baecker/comp_talks.html\n",
170+
"under \"Python and Co - some recent developments\".\n",
171+
"\n",
172+
"## Wrapping a simple C code\n",
173+
"\n",
174+
"f2py is also capable of handling C code. An example is found on the wiki: [\"Cookbook/f2py_and_NumPy\"].\n",
175+
"\n",
176+
"## Step by step wrapping of a simple numerical code: Interactive System for Ice sheet Simulation\n",
177+
"http://websrv.cs.umt.edu/isis/index.php/F2py_example"
178+
]
162179
}
163180
],
164181
"metadata": {}

ipython/FortranIO.ipynb

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"metadata": {
3-
"signature": "sha256:011ea24e425b0a177275dd9aac8a7020e516017102e4a8179bc91ae81dea5d14"
3+
"signature": "sha256:a915964a56fadb1a14820eea93bbab3d8f15d0a6b29f5af10c377fb2c0d6bb1a"
44
},
55
"nbformat": 3,
66
"nbformat_minor": 0,
@@ -71,6 +71,18 @@
7171
"language": "python",
7272
"metadata": {},
7373
"outputs": []
74+
},
75+
{
76+
"cell_type": "markdown",
77+
"metadata": {},
78+
"source": [
79+
"This example is designed to read [http://www.atnf.csiro.au/research/pulsar/tempo/ref_man_sections/output.txt a file] output \n",
80+
"by [http://www.atnf.csiro.au/research/pulsar/tempo/ TEMPO].\n",
81+
"Most of the fields, \"TOA\" up to \"preres_s\", are fields that are present and of interest in the file. The field \"pad3\" \n",
82+
"is either an undocumented addition to the file format or some kind of padding (it is always zero in my test file). The \n",
83+
"FORTRAN unformatted I/O adds the fields \"pad1\" and \"pad2\". Each should contain the length, in bytes, of each record (so the \n",
84+
"presence of the extra \"pad3\" field could be deduced). This code ignores t"
85+
]
7486
}
7587
],
7688
"metadata": {}

ipython/Indexing.ipynb

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"metadata": {
3-
"signature": "sha256:b1854052b8a9a14f17e436056c38f82e4fd7391edc25d1da84132d91d0a6daea"
3+
"signature": "sha256:f71aa5c594c36f0b4aaf7097997e21d8fc4e922497e816c79bdc338e838e2c2b"
44
},
55
"nbformat": 3,
66
"nbformat_minor": 0,
@@ -2155,6 +2155,14 @@
21552155
"language": "python",
21562156
"metadata": {},
21572157
"outputs": []
2158+
},
2159+
{
2160+
"cell_type": "markdown",
2161+
"metadata": {},
2162+
"source": [
2163+
"## Array-like objects\n",
2164+
"numpy and scipy provide a few other types that behave like arrays, in particular matrices and sparse matrices. Their indexing can differ from that of arrays in surprising ways.\n"
2165+
]
21582166
}
21592167
],
21602168
"metadata": {}

ipython/Intersection.ipynb

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"metadata": {
3-
"signature": "sha256:a6392fdd52819a32188f6c671958a91df2239d78df53c3abca6e2dc1e35f3f9b"
3+
"signature": "sha256:3f8271dce541086cbbf0b841b2f2612eaeaf2f13eace057d9454676f3b365e27"
44
},
55
"nbformat": 3,
66
"nbformat_minor": 0,
@@ -58,6 +58,13 @@
5858
}
5959
],
6060
"prompt_number": 2
61+
},
62+
{
63+
"cell_type": "markdown",
64+
"metadata": {},
65+
"source": [
66+
"See also: http://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.fsolve.html#scipy.optimize.fsolve"
67+
]
6168
}
6269
],
6370
"metadata": {}

ipython/KDTree_example.ipynb

Lines changed: 6 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"metadata": {
3-
"signature": "sha256:178879f411613e107e88ae1c8c92b029a91c924593df2ce43a9eaabcd5df6dc0"
3+
"signature": "sha256:d802157eab6f42af73afc5ed8a4c0b4bde8d2b803a8c1febb31d46a67d68986c"
44
},
55
"nbformat": 3,
66
"nbformat_minor": 0,
@@ -126,8 +126,7 @@
126126
],
127127
"language": "python",
128128
"metadata": {},
129-
"outputs": [],
130-
"prompt_number": 6
129+
"outputs": []
131130
},
132131
{
133132
"cell_type": "markdown",
@@ -251,8 +250,7 @@
251250
],
252251
"language": "python",
253252
"metadata": {},
254-
"outputs": [],
255-
"prompt_number": 7
253+
"outputs": []
256254
},
257255
{
258256
"cell_type": "markdown",
@@ -285,8 +283,7 @@
285283
],
286284
"language": "python",
287285
"metadata": {},
288-
"outputs": [],
289-
"prompt_number": 8
286+
"outputs": []
290287
},
291288
{
292289
"cell_type": "markdown",
@@ -397,8 +394,7 @@
397394
],
398395
"language": "python",
399396
"metadata": {},
400-
"outputs": [],
401-
"prompt_number": 9
397+
"outputs": []
402398
},
403399
{
404400
"cell_type": "markdown",
@@ -436,22 +432,7 @@
436432
],
437433
"language": "python",
438434
"metadata": {},
439-
"outputs": [
440-
{
441-
"ename": "IndexError",
442-
"evalue": "too many indices",
443-
"output_type": "pyerr",
444-
"traceback": [
445-
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)",
446-
"\u001b[0;32m<ipython-input-11-ee19bc143f1b>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0m__name__\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'__main__'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[0mt0\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mclock\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 14\u001b[0;31m \u001b[0mtest\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 15\u001b[0m \u001b[0mt1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mclock\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0;34m\"Elapsed time %.2f seconds\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0mt1\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0mt0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
447-
"\u001b[0;32m<ipython-input-11-ee19bc143f1b>\u001b[0m in \u001b[0;36mtest\u001b[0;34m()\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0mndim\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m12\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m10\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrandom\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrand\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mndata\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mndim\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreshape\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mndim\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mndata\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 10\u001b[0;31m \u001b[0mknn_search\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mK\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 11\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0m__name__\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'__main__'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
448-
"\u001b[0;32m<ipython-input-8-f929dee5eaf0>\u001b[0m in \u001b[0;36mknn_search\u001b[0;34m(data, K)\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0midx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mndata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mndata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 10\u001b[0;31m \u001b[0m_knn\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mquadratic_knn_search\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0midx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mK\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# see above\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 11\u001b[0m \u001b[0mknn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m \u001b[0m_knn\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mknn\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
449-
"\u001b[0;32m<ipython-input-7-622010d98eb1>\u001b[0m in \u001b[0;36mquadratic_knn_search\u001b[0;34m(data, lidx, ldata, K)\u001b[0m\n\u001b[1;32m 23\u001b[0m \u001b[0mK\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mK\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mK\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0mndata\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0mndata\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 24\u001b[0m \u001b[0mretval\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 25\u001b[0;31m \u001b[0msqd\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mldata\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mndata\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# data.reshape((param,1)).repeat(ndata, axis=1);\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 26\u001b[0m \u001b[0midx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margsort\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msqd\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkind\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'mergesort'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 27\u001b[0m \u001b[0midx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0midx\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mK\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
450-
"\u001b[0;31mIndexError\u001b[0m: too many indices"
451-
]
452-
}
453-
],
454-
"prompt_number": 11
435+
"outputs": []
455436
},
456437
{
457438
"cell_type": "code",

ipython/LASReader.ipynb

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
{
2-
"metadata": {},
2+
"metadata": {
3+
"signature": "sha256:42da1643b7a565667c9798296135f6f3e596ecd72721fd193a4e88fd06ea067d"
4+
},
35
"nbformat": 3,
46
"nbformat_minor": 0,
57
"worksheets": [
@@ -460,9 +462,22 @@
460462
"language": "python",
461463
"metadata": {},
462464
"outputs": []
465+
},
466+
{
467+
"cell_type": "markdown",
468+
"metadata": {},
469+
"source": [
470+
"It creates the following plot:\n",
471+
"\n",
472+
"[sample3plot.png](files/attachments/LASReader/sample3plot.png)\n",
473+
"\n",
474+
"The sample LAS file is here:\n",
475+
"\n",
476+
"[sample3.las](files/attachments/LASReader/sample3.las)\n"
477+
]
463478
}
464479
],
465480
"metadata": {}
466481
}
467482
]
468-
}
483+
}

0 commit comments

Comments
 (0)