Héctor Tarrido-Picart commited on
Commit
b8efaeb
·
1 Parent(s): 6719ca3
app.py CHANGED
@@ -8,25 +8,26 @@ categories = ['palm tree down', 'powerline down', 'powerline arcing']
8
 
9
  def predict(img):
10
  img = PILImage.create(img)
11
- pred,idx,probs = learn.predict(img)
12
  return dict(zip(categories, map(float, probs)))
13
 
 
14
  images = gr.inputs.Image(shape=(512, 512))
15
  labels = gr.outputs.Label()
16
  examples = ['powerline_down.jpg', 'powerline_tree.jpg']
17
 
18
-
19
  title = "Power Line after Disaster Classifier"
20
  description = "A classifier trained to identify power lines, trees and palm trees down after a storm with fastai. Created as a demo for fastai course for Apagon LLC."
21
- interpretation='default'
22
- enable_queue=True
23
 
24
  intf = gr.Interface(fn=predict,
25
- inputs=images,
26
- outputs=labels,
27
- examples=examples,
28
- title = title,
29
- interpretation = interpretation,
30
- enable_queue = enable_queue)
31
-
32
- intf.launch()
 
 
8
 
9
  def predict(img):
10
  img = PILImage.create(img)
11
+ pred, idx, probs = learn.predict(img)
12
  return dict(zip(categories, map(float, probs)))
13
 
14
+
15
  images = gr.inputs.Image(shape=(512, 512))
16
  labels = gr.outputs.Label()
17
  examples = ['powerline_down.jpg', 'powerline_tree.jpg']
18
 
 
19
  title = "Power Line after Disaster Classifier"
20
  description = "A classifier trained to identify power lines, trees and palm trees down after a storm with fastai. Created as a demo for fastai course for Apagon LLC."
21
+ interpretation = 'default'
22
+ enable_queue = True
23
 
24
  intf = gr.Interface(fn=predict,
25
+ inputs=images,
26
+ outputs=labels,
27
+ examples=examples,
28
+ title=title,
29
+ description=description,
30
+ interpretation=interpretation,
31
+ enable_queue=enable_queue)
32
+
33
+ intf.launch()
flagged/img/tmpmdk89nqq.jpg ADDED
flagged/log.csv ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ img,output,flag,username,timestamp
2
+ /Users/hectortarrido-picart/code/powerline-down-id/flagged/img/tmpmdk89nqq.jpg,/Users/hectortarrido-picart/code/powerline-down-id/flagged/output/tmp28bc20cd.json,,,2023-06-26 12:52:26.525295
flagged/output/tmp28bc20cd.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"label": "palm tree down", "confidences": [{"label": "palm tree down", "confidence": 0.9235634803771973}, {"label": "powerline down", "confidence": 0.07590793818235397}, {"label": "powerline arcing", "confidence": 0.0005286127561703324}]}
powerline app.ipynb CHANGED
@@ -20,22 +20,10 @@
20
  },
21
  {
22
  "cell_type": "code",
23
- "execution_count": 2,
24
  "id": "3f54ef95",
25
  "metadata": {},
26
- "outputs": [
27
- {
28
- "ename": "ModuleNotFoundError",
29
- "evalue": "No module named 'skimage'",
30
- "output_type": "error",
31
- "traceback": [
32
- "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
33
- "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
34
- "Cell \u001b[0;32mIn[2], line 4\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mfastai\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mvision\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mall\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;241m*\u001b[39m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mgradio\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mgr\u001b[39;00m\n\u001b[0;32m----> 4\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mskimage\u001b[39;00m\n",
35
- "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'skimage'"
36
- ]
37
- }
38
- ],
39
  "source": [
40
  "#|export\n",
41
  "from fastai.vision.all import *\n",
@@ -45,7 +33,7 @@
45
  },
46
  {
47
  "cell_type": "code",
48
- "execution_count": 4,
49
  "id": "d25179ca",
50
  "metadata": {},
51
  "outputs": [],
@@ -56,7 +44,7 @@
56
  },
57
  {
58
  "cell_type": "code",
59
- "execution_count": 9,
60
  "id": "d752f05b",
61
  "metadata": {},
62
  "outputs": [],
@@ -72,7 +60,7 @@
72
  },
73
  {
74
  "cell_type": "code",
75
- "execution_count": 10,
76
  "id": "80d55893",
77
  "metadata": {
78
  "scrolled": false
@@ -89,6 +77,8 @@
89
  "/Users/hectortarrido-picart/mambaforge/envs/powerline-down-id/lib/python3.8/site-packages/gradio/outputs.py:197: UserWarning: Usage of gradio.outputs is deprecated, and will not be supported in the future, please import your components from gradio.components\n",
90
  " warnings.warn(\n",
91
  "/Users/hectortarrido-picart/mambaforge/envs/powerline-down-id/lib/python3.8/site-packages/gradio/deprecation.py:40: UserWarning: The 'type' parameter has been deprecated. Use the Number component instead.\n",
 
 
92
  " warnings.warn(value)\n"
93
  ]
94
  },
@@ -96,8 +86,8 @@
96
  "name": "stdout",
97
  "output_type": "stream",
98
  "text": [
99
- "Running on local URL: http://127.0.0.1:7863\n",
100
- "Running on public URL: https://364e6970d9ec07c222.gradio.live\n",
101
  "\n",
102
  "This share link expires in 72 hours. For free permanent hosting and GPU upgrades (NEW!), check out Spaces: https://huggingface.co/spaces\n"
103
  ]
@@ -105,7 +95,7 @@
105
  {
106
  "data": {
107
  "text/html": [
108
- "<div><iframe src=\"https://364e6970d9ec07c222.gradio.live\" width=\"100%\" height=\"500\" allow=\"autoplay; camera; microphone; clipboard-read; clipboard-write;\" frameborder=\"0\" allowfullscreen></iframe></div>"
109
  ],
110
  "text/plain": [
111
  "<IPython.core.display.HTML object>"
@@ -118,7 +108,7 @@
118
  "data": {
119
  "text/plain": []
120
  },
121
- "execution_count": 10,
122
  "metadata": {},
123
  "output_type": "execute_result"
124
  },
@@ -186,6 +176,1264 @@
186
  "metadata": {},
187
  "output_type": "display_data"
188
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
189
  {
190
  "data": {
191
  "text/html": [],
 
20
  },
21
  {
22
  "cell_type": "code",
23
+ "execution_count": 1,
24
  "id": "3f54ef95",
25
  "metadata": {},
26
+ "outputs": [],
 
 
 
 
 
 
 
 
 
 
 
 
27
  "source": [
28
  "#|export\n",
29
  "from fastai.vision.all import *\n",
 
33
  },
34
  {
35
  "cell_type": "code",
36
+ "execution_count": 2,
37
  "id": "d25179ca",
38
  "metadata": {},
39
  "outputs": [],
 
44
  },
45
  {
46
  "cell_type": "code",
47
+ "execution_count": 3,
48
  "id": "d752f05b",
49
  "metadata": {},
50
  "outputs": [],
 
60
  },
61
  {
62
  "cell_type": "code",
63
+ "execution_count": 4,
64
  "id": "80d55893",
65
  "metadata": {
66
  "scrolled": false
 
77
  "/Users/hectortarrido-picart/mambaforge/envs/powerline-down-id/lib/python3.8/site-packages/gradio/outputs.py:197: UserWarning: Usage of gradio.outputs is deprecated, and will not be supported in the future, please import your components from gradio.components\n",
78
  " warnings.warn(\n",
79
  "/Users/hectortarrido-picart/mambaforge/envs/powerline-down-id/lib/python3.8/site-packages/gradio/deprecation.py:40: UserWarning: The 'type' parameter has been deprecated. Use the Number component instead.\n",
80
+ " warnings.warn(value)\n",
81
+ "/Users/hectortarrido-picart/mambaforge/envs/powerline-down-id/lib/python3.8/site-packages/gradio/deprecation.py:40: UserWarning: `enable_queue` is deprecated in `Interface()`, please use it within `launch()` instead.\n",
82
  " warnings.warn(value)\n"
83
  ]
84
  },
 
86
  "name": "stdout",
87
  "output_type": "stream",
88
  "text": [
89
+ "Running on local URL: http://127.0.0.1:7860\n",
90
+ "Running on public URL: https://31032dfc9b35114c93.gradio.live\n",
91
  "\n",
92
  "This share link expires in 72 hours. For free permanent hosting and GPU upgrades (NEW!), check out Spaces: https://huggingface.co/spaces\n"
93
  ]
 
95
  {
96
  "data": {
97
  "text/html": [
98
+ "<div><iframe src=\"https://31032dfc9b35114c93.gradio.live\" width=\"100%\" height=\"500\" allow=\"autoplay; camera; microphone; clipboard-read; clipboard-write;\" frameborder=\"0\" allowfullscreen></iframe></div>"
99
  ],
100
  "text/plain": [
101
  "<IPython.core.display.HTML object>"
 
108
  "data": {
109
  "text/plain": []
110
  },
111
+ "execution_count": 4,
112
  "metadata": {},
113
  "output_type": "execute_result"
114
  },
 
176
  "metadata": {},
177
  "output_type": "display_data"
178
  },
179
+ {
180
+ "data": {
181
+ "text/html": [],
182
+ "text/plain": [
183
+ "<IPython.core.display.HTML object>"
184
+ ]
185
+ },
186
+ "metadata": {},
187
+ "output_type": "display_data"
188
+ },
189
+ {
190
+ "data": {
191
+ "text/html": [
192
+ "\n",
193
+ "<style>\n",
194
+ " /* Turns off some styling */\n",
195
+ " progress {\n",
196
+ " /* gets rid of default border in Firefox and Opera. */\n",
197
+ " border: none;\n",
198
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
199
+ " background-size: auto;\n",
200
+ " }\n",
201
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
202
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
203
+ " }\n",
204
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
205
+ " background: #F44336;\n",
206
+ " }\n",
207
+ "</style>\n"
208
+ ],
209
+ "text/plain": [
210
+ "<IPython.core.display.HTML object>"
211
+ ]
212
+ },
213
+ "metadata": {},
214
+ "output_type": "display_data"
215
+ },
216
+ {
217
+ "data": {
218
+ "text/html": [],
219
+ "text/plain": [
220
+ "<IPython.core.display.HTML object>"
221
+ ]
222
+ },
223
+ "metadata": {},
224
+ "output_type": "display_data"
225
+ },
226
+ {
227
+ "data": {
228
+ "text/html": [
229
+ "\n",
230
+ "<style>\n",
231
+ " /* Turns off some styling */\n",
232
+ " progress {\n",
233
+ " /* gets rid of default border in Firefox and Opera. */\n",
234
+ " border: none;\n",
235
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
236
+ " background-size: auto;\n",
237
+ " }\n",
238
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
239
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
240
+ " }\n",
241
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
242
+ " background: #F44336;\n",
243
+ " }\n",
244
+ "</style>\n"
245
+ ],
246
+ "text/plain": [
247
+ "<IPython.core.display.HTML object>"
248
+ ]
249
+ },
250
+ "metadata": {},
251
+ "output_type": "display_data"
252
+ },
253
+ {
254
+ "data": {
255
+ "text/html": [],
256
+ "text/plain": [
257
+ "<IPython.core.display.HTML object>"
258
+ ]
259
+ },
260
+ "metadata": {},
261
+ "output_type": "display_data"
262
+ },
263
+ {
264
+ "data": {
265
+ "text/html": [
266
+ "\n",
267
+ "<style>\n",
268
+ " /* Turns off some styling */\n",
269
+ " progress {\n",
270
+ " /* gets rid of default border in Firefox and Opera. */\n",
271
+ " border: none;\n",
272
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
273
+ " background-size: auto;\n",
274
+ " }\n",
275
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
276
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
277
+ " }\n",
278
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
279
+ " background: #F44336;\n",
280
+ " }\n",
281
+ "</style>\n"
282
+ ],
283
+ "text/plain": [
284
+ "<IPython.core.display.HTML object>"
285
+ ]
286
+ },
287
+ "metadata": {},
288
+ "output_type": "display_data"
289
+ },
290
+ {
291
+ "data": {
292
+ "text/html": [],
293
+ "text/plain": [
294
+ "<IPython.core.display.HTML object>"
295
+ ]
296
+ },
297
+ "metadata": {},
298
+ "output_type": "display_data"
299
+ },
300
+ {
301
+ "data": {
302
+ "text/html": [
303
+ "\n",
304
+ "<style>\n",
305
+ " /* Turns off some styling */\n",
306
+ " progress {\n",
307
+ " /* gets rid of default border in Firefox and Opera. */\n",
308
+ " border: none;\n",
309
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
310
+ " background-size: auto;\n",
311
+ " }\n",
312
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
313
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
314
+ " }\n",
315
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
316
+ " background: #F44336;\n",
317
+ " }\n",
318
+ "</style>\n"
319
+ ],
320
+ "text/plain": [
321
+ "<IPython.core.display.HTML object>"
322
+ ]
323
+ },
324
+ "metadata": {},
325
+ "output_type": "display_data"
326
+ },
327
+ {
328
+ "data": {
329
+ "text/html": [],
330
+ "text/plain": [
331
+ "<IPython.core.display.HTML object>"
332
+ ]
333
+ },
334
+ "metadata": {},
335
+ "output_type": "display_data"
336
+ },
337
+ {
338
+ "data": {
339
+ "text/html": [
340
+ "\n",
341
+ "<style>\n",
342
+ " /* Turns off some styling */\n",
343
+ " progress {\n",
344
+ " /* gets rid of default border in Firefox and Opera. */\n",
345
+ " border: none;\n",
346
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
347
+ " background-size: auto;\n",
348
+ " }\n",
349
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
350
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
351
+ " }\n",
352
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
353
+ " background: #F44336;\n",
354
+ " }\n",
355
+ "</style>\n"
356
+ ],
357
+ "text/plain": [
358
+ "<IPython.core.display.HTML object>"
359
+ ]
360
+ },
361
+ "metadata": {},
362
+ "output_type": "display_data"
363
+ },
364
+ {
365
+ "data": {
366
+ "text/html": [],
367
+ "text/plain": [
368
+ "<IPython.core.display.HTML object>"
369
+ ]
370
+ },
371
+ "metadata": {},
372
+ "output_type": "display_data"
373
+ },
374
+ {
375
+ "data": {
376
+ "text/html": [
377
+ "\n",
378
+ "<style>\n",
379
+ " /* Turns off some styling */\n",
380
+ " progress {\n",
381
+ " /* gets rid of default border in Firefox and Opera. */\n",
382
+ " border: none;\n",
383
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
384
+ " background-size: auto;\n",
385
+ " }\n",
386
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
387
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
388
+ " }\n",
389
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
390
+ " background: #F44336;\n",
391
+ " }\n",
392
+ "</style>\n"
393
+ ],
394
+ "text/plain": [
395
+ "<IPython.core.display.HTML object>"
396
+ ]
397
+ },
398
+ "metadata": {},
399
+ "output_type": "display_data"
400
+ },
401
+ {
402
+ "data": {
403
+ "text/html": [],
404
+ "text/plain": [
405
+ "<IPython.core.display.HTML object>"
406
+ ]
407
+ },
408
+ "metadata": {},
409
+ "output_type": "display_data"
410
+ },
411
+ {
412
+ "data": {
413
+ "text/html": [
414
+ "\n",
415
+ "<style>\n",
416
+ " /* Turns off some styling */\n",
417
+ " progress {\n",
418
+ " /* gets rid of default border in Firefox and Opera. */\n",
419
+ " border: none;\n",
420
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
421
+ " background-size: auto;\n",
422
+ " }\n",
423
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
424
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
425
+ " }\n",
426
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
427
+ " background: #F44336;\n",
428
+ " }\n",
429
+ "</style>\n"
430
+ ],
431
+ "text/plain": [
432
+ "<IPython.core.display.HTML object>"
433
+ ]
434
+ },
435
+ "metadata": {},
436
+ "output_type": "display_data"
437
+ },
438
+ {
439
+ "data": {
440
+ "text/html": [],
441
+ "text/plain": [
442
+ "<IPython.core.display.HTML object>"
443
+ ]
444
+ },
445
+ "metadata": {},
446
+ "output_type": "display_data"
447
+ },
448
+ {
449
+ "data": {
450
+ "text/html": [
451
+ "\n",
452
+ "<style>\n",
453
+ " /* Turns off some styling */\n",
454
+ " progress {\n",
455
+ " /* gets rid of default border in Firefox and Opera. */\n",
456
+ " border: none;\n",
457
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
458
+ " background-size: auto;\n",
459
+ " }\n",
460
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
461
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
462
+ " }\n",
463
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
464
+ " background: #F44336;\n",
465
+ " }\n",
466
+ "</style>\n"
467
+ ],
468
+ "text/plain": [
469
+ "<IPython.core.display.HTML object>"
470
+ ]
471
+ },
472
+ "metadata": {},
473
+ "output_type": "display_data"
474
+ },
475
+ {
476
+ "data": {
477
+ "text/html": [],
478
+ "text/plain": [
479
+ "<IPython.core.display.HTML object>"
480
+ ]
481
+ },
482
+ "metadata": {},
483
+ "output_type": "display_data"
484
+ },
485
+ {
486
+ "data": {
487
+ "text/html": [
488
+ "\n",
489
+ "<style>\n",
490
+ " /* Turns off some styling */\n",
491
+ " progress {\n",
492
+ " /* gets rid of default border in Firefox and Opera. */\n",
493
+ " border: none;\n",
494
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
495
+ " background-size: auto;\n",
496
+ " }\n",
497
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
498
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
499
+ " }\n",
500
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
501
+ " background: #F44336;\n",
502
+ " }\n",
503
+ "</style>\n"
504
+ ],
505
+ "text/plain": [
506
+ "<IPython.core.display.HTML object>"
507
+ ]
508
+ },
509
+ "metadata": {},
510
+ "output_type": "display_data"
511
+ },
512
+ {
513
+ "data": {
514
+ "text/html": [],
515
+ "text/plain": [
516
+ "<IPython.core.display.HTML object>"
517
+ ]
518
+ },
519
+ "metadata": {},
520
+ "output_type": "display_data"
521
+ },
522
+ {
523
+ "data": {
524
+ "text/html": [
525
+ "\n",
526
+ "<style>\n",
527
+ " /* Turns off some styling */\n",
528
+ " progress {\n",
529
+ " /* gets rid of default border in Firefox and Opera. */\n",
530
+ " border: none;\n",
531
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
532
+ " background-size: auto;\n",
533
+ " }\n",
534
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
535
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
536
+ " }\n",
537
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
538
+ " background: #F44336;\n",
539
+ " }\n",
540
+ "</style>\n"
541
+ ],
542
+ "text/plain": [
543
+ "<IPython.core.display.HTML object>"
544
+ ]
545
+ },
546
+ "metadata": {},
547
+ "output_type": "display_data"
548
+ },
549
+ {
550
+ "data": {
551
+ "text/html": [],
552
+ "text/plain": [
553
+ "<IPython.core.display.HTML object>"
554
+ ]
555
+ },
556
+ "metadata": {},
557
+ "output_type": "display_data"
558
+ },
559
+ {
560
+ "data": {
561
+ "text/html": [
562
+ "\n",
563
+ "<style>\n",
564
+ " /* Turns off some styling */\n",
565
+ " progress {\n",
566
+ " /* gets rid of default border in Firefox and Opera. */\n",
567
+ " border: none;\n",
568
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
569
+ " background-size: auto;\n",
570
+ " }\n",
571
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
572
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
573
+ " }\n",
574
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
575
+ " background: #F44336;\n",
576
+ " }\n",
577
+ "</style>\n"
578
+ ],
579
+ "text/plain": [
580
+ "<IPython.core.display.HTML object>"
581
+ ]
582
+ },
583
+ "metadata": {},
584
+ "output_type": "display_data"
585
+ },
586
+ {
587
+ "data": {
588
+ "text/html": [],
589
+ "text/plain": [
590
+ "<IPython.core.display.HTML object>"
591
+ ]
592
+ },
593
+ "metadata": {},
594
+ "output_type": "display_data"
595
+ },
596
+ {
597
+ "data": {
598
+ "text/html": [
599
+ "\n",
600
+ "<style>\n",
601
+ " /* Turns off some styling */\n",
602
+ " progress {\n",
603
+ " /* gets rid of default border in Firefox and Opera. */\n",
604
+ " border: none;\n",
605
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
606
+ " background-size: auto;\n",
607
+ " }\n",
608
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
609
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
610
+ " }\n",
611
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
612
+ " background: #F44336;\n",
613
+ " }\n",
614
+ "</style>\n"
615
+ ],
616
+ "text/plain": [
617
+ "<IPython.core.display.HTML object>"
618
+ ]
619
+ },
620
+ "metadata": {},
621
+ "output_type": "display_data"
622
+ },
623
+ {
624
+ "data": {
625
+ "text/html": [],
626
+ "text/plain": [
627
+ "<IPython.core.display.HTML object>"
628
+ ]
629
+ },
630
+ "metadata": {},
631
+ "output_type": "display_data"
632
+ },
633
+ {
634
+ "data": {
635
+ "text/html": [
636
+ "\n",
637
+ "<style>\n",
638
+ " /* Turns off some styling */\n",
639
+ " progress {\n",
640
+ " /* gets rid of default border in Firefox and Opera. */\n",
641
+ " border: none;\n",
642
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
643
+ " background-size: auto;\n",
644
+ " }\n",
645
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
646
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
647
+ " }\n",
648
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
649
+ " background: #F44336;\n",
650
+ " }\n",
651
+ "</style>\n"
652
+ ],
653
+ "text/plain": [
654
+ "<IPython.core.display.HTML object>"
655
+ ]
656
+ },
657
+ "metadata": {},
658
+ "output_type": "display_data"
659
+ },
660
+ {
661
+ "data": {
662
+ "text/html": [],
663
+ "text/plain": [
664
+ "<IPython.core.display.HTML object>"
665
+ ]
666
+ },
667
+ "metadata": {},
668
+ "output_type": "display_data"
669
+ },
670
+ {
671
+ "data": {
672
+ "text/html": [
673
+ "\n",
674
+ "<style>\n",
675
+ " /* Turns off some styling */\n",
676
+ " progress {\n",
677
+ " /* gets rid of default border in Firefox and Opera. */\n",
678
+ " border: none;\n",
679
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
680
+ " background-size: auto;\n",
681
+ " }\n",
682
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
683
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
684
+ " }\n",
685
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
686
+ " background: #F44336;\n",
687
+ " }\n",
688
+ "</style>\n"
689
+ ],
690
+ "text/plain": [
691
+ "<IPython.core.display.HTML object>"
692
+ ]
693
+ },
694
+ "metadata": {},
695
+ "output_type": "display_data"
696
+ },
697
+ {
698
+ "data": {
699
+ "text/html": [],
700
+ "text/plain": [
701
+ "<IPython.core.display.HTML object>"
702
+ ]
703
+ },
704
+ "metadata": {},
705
+ "output_type": "display_data"
706
+ },
707
+ {
708
+ "data": {
709
+ "text/html": [
710
+ "\n",
711
+ "<style>\n",
712
+ " /* Turns off some styling */\n",
713
+ " progress {\n",
714
+ " /* gets rid of default border in Firefox and Opera. */\n",
715
+ " border: none;\n",
716
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
717
+ " background-size: auto;\n",
718
+ " }\n",
719
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
720
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
721
+ " }\n",
722
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
723
+ " background: #F44336;\n",
724
+ " }\n",
725
+ "</style>\n"
726
+ ],
727
+ "text/plain": [
728
+ "<IPython.core.display.HTML object>"
729
+ ]
730
+ },
731
+ "metadata": {},
732
+ "output_type": "display_data"
733
+ },
734
+ {
735
+ "data": {
736
+ "text/html": [],
737
+ "text/plain": [
738
+ "<IPython.core.display.HTML object>"
739
+ ]
740
+ },
741
+ "metadata": {},
742
+ "output_type": "display_data"
743
+ },
744
+ {
745
+ "data": {
746
+ "text/html": [
747
+ "\n",
748
+ "<style>\n",
749
+ " /* Turns off some styling */\n",
750
+ " progress {\n",
751
+ " /* gets rid of default border in Firefox and Opera. */\n",
752
+ " border: none;\n",
753
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
754
+ " background-size: auto;\n",
755
+ " }\n",
756
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
757
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
758
+ " }\n",
759
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
760
+ " background: #F44336;\n",
761
+ " }\n",
762
+ "</style>\n"
763
+ ],
764
+ "text/plain": [
765
+ "<IPython.core.display.HTML object>"
766
+ ]
767
+ },
768
+ "metadata": {},
769
+ "output_type": "display_data"
770
+ },
771
+ {
772
+ "data": {
773
+ "text/html": [],
774
+ "text/plain": [
775
+ "<IPython.core.display.HTML object>"
776
+ ]
777
+ },
778
+ "metadata": {},
779
+ "output_type": "display_data"
780
+ },
781
+ {
782
+ "data": {
783
+ "text/html": [
784
+ "\n",
785
+ "<style>\n",
786
+ " /* Turns off some styling */\n",
787
+ " progress {\n",
788
+ " /* gets rid of default border in Firefox and Opera. */\n",
789
+ " border: none;\n",
790
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
791
+ " background-size: auto;\n",
792
+ " }\n",
793
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
794
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
795
+ " }\n",
796
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
797
+ " background: #F44336;\n",
798
+ " }\n",
799
+ "</style>\n"
800
+ ],
801
+ "text/plain": [
802
+ "<IPython.core.display.HTML object>"
803
+ ]
804
+ },
805
+ "metadata": {},
806
+ "output_type": "display_data"
807
+ },
808
+ {
809
+ "data": {
810
+ "text/html": [],
811
+ "text/plain": [
812
+ "<IPython.core.display.HTML object>"
813
+ ]
814
+ },
815
+ "metadata": {},
816
+ "output_type": "display_data"
817
+ },
818
+ {
819
+ "data": {
820
+ "text/html": [
821
+ "\n",
822
+ "<style>\n",
823
+ " /* Turns off some styling */\n",
824
+ " progress {\n",
825
+ " /* gets rid of default border in Firefox and Opera. */\n",
826
+ " border: none;\n",
827
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
828
+ " background-size: auto;\n",
829
+ " }\n",
830
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
831
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
832
+ " }\n",
833
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
834
+ " background: #F44336;\n",
835
+ " }\n",
836
+ "</style>\n"
837
+ ],
838
+ "text/plain": [
839
+ "<IPython.core.display.HTML object>"
840
+ ]
841
+ },
842
+ "metadata": {},
843
+ "output_type": "display_data"
844
+ },
845
+ {
846
+ "data": {
847
+ "text/html": [],
848
+ "text/plain": [
849
+ "<IPython.core.display.HTML object>"
850
+ ]
851
+ },
852
+ "metadata": {},
853
+ "output_type": "display_data"
854
+ },
855
+ {
856
+ "data": {
857
+ "text/html": [
858
+ "\n",
859
+ "<style>\n",
860
+ " /* Turns off some styling */\n",
861
+ " progress {\n",
862
+ " /* gets rid of default border in Firefox and Opera. */\n",
863
+ " border: none;\n",
864
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
865
+ " background-size: auto;\n",
866
+ " }\n",
867
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
868
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
869
+ " }\n",
870
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
871
+ " background: #F44336;\n",
872
+ " }\n",
873
+ "</style>\n"
874
+ ],
875
+ "text/plain": [
876
+ "<IPython.core.display.HTML object>"
877
+ ]
878
+ },
879
+ "metadata": {},
880
+ "output_type": "display_data"
881
+ },
882
+ {
883
+ "data": {
884
+ "text/html": [],
885
+ "text/plain": [
886
+ "<IPython.core.display.HTML object>"
887
+ ]
888
+ },
889
+ "metadata": {},
890
+ "output_type": "display_data"
891
+ },
892
+ {
893
+ "data": {
894
+ "text/html": [
895
+ "\n",
896
+ "<style>\n",
897
+ " /* Turns off some styling */\n",
898
+ " progress {\n",
899
+ " /* gets rid of default border in Firefox and Opera. */\n",
900
+ " border: none;\n",
901
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
902
+ " background-size: auto;\n",
903
+ " }\n",
904
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
905
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
906
+ " }\n",
907
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
908
+ " background: #F44336;\n",
909
+ " }\n",
910
+ "</style>\n"
911
+ ],
912
+ "text/plain": [
913
+ "<IPython.core.display.HTML object>"
914
+ ]
915
+ },
916
+ "metadata": {},
917
+ "output_type": "display_data"
918
+ },
919
+ {
920
+ "data": {
921
+ "text/html": [],
922
+ "text/plain": [
923
+ "<IPython.core.display.HTML object>"
924
+ ]
925
+ },
926
+ "metadata": {},
927
+ "output_type": "display_data"
928
+ },
929
+ {
930
+ "data": {
931
+ "text/html": [
932
+ "\n",
933
+ "<style>\n",
934
+ " /* Turns off some styling */\n",
935
+ " progress {\n",
936
+ " /* gets rid of default border in Firefox and Opera. */\n",
937
+ " border: none;\n",
938
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
939
+ " background-size: auto;\n",
940
+ " }\n",
941
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
942
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
943
+ " }\n",
944
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
945
+ " background: #F44336;\n",
946
+ " }\n",
947
+ "</style>\n"
948
+ ],
949
+ "text/plain": [
950
+ "<IPython.core.display.HTML object>"
951
+ ]
952
+ },
953
+ "metadata": {},
954
+ "output_type": "display_data"
955
+ },
956
+ {
957
+ "data": {
958
+ "text/html": [],
959
+ "text/plain": [
960
+ "<IPython.core.display.HTML object>"
961
+ ]
962
+ },
963
+ "metadata": {},
964
+ "output_type": "display_data"
965
+ },
966
+ {
967
+ "data": {
968
+ "text/html": [
969
+ "\n",
970
+ "<style>\n",
971
+ " /* Turns off some styling */\n",
972
+ " progress {\n",
973
+ " /* gets rid of default border in Firefox and Opera. */\n",
974
+ " border: none;\n",
975
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
976
+ " background-size: auto;\n",
977
+ " }\n",
978
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
979
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
980
+ " }\n",
981
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
982
+ " background: #F44336;\n",
983
+ " }\n",
984
+ "</style>\n"
985
+ ],
986
+ "text/plain": [
987
+ "<IPython.core.display.HTML object>"
988
+ ]
989
+ },
990
+ "metadata": {},
991
+ "output_type": "display_data"
992
+ },
993
+ {
994
+ "data": {
995
+ "text/html": [],
996
+ "text/plain": [
997
+ "<IPython.core.display.HTML object>"
998
+ ]
999
+ },
1000
+ "metadata": {},
1001
+ "output_type": "display_data"
1002
+ },
1003
+ {
1004
+ "data": {
1005
+ "text/html": [
1006
+ "\n",
1007
+ "<style>\n",
1008
+ " /* Turns off some styling */\n",
1009
+ " progress {\n",
1010
+ " /* gets rid of default border in Firefox and Opera. */\n",
1011
+ " border: none;\n",
1012
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
1013
+ " background-size: auto;\n",
1014
+ " }\n",
1015
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
1016
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
1017
+ " }\n",
1018
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
1019
+ " background: #F44336;\n",
1020
+ " }\n",
1021
+ "</style>\n"
1022
+ ],
1023
+ "text/plain": [
1024
+ "<IPython.core.display.HTML object>"
1025
+ ]
1026
+ },
1027
+ "metadata": {},
1028
+ "output_type": "display_data"
1029
+ },
1030
+ {
1031
+ "data": {
1032
+ "text/html": [],
1033
+ "text/plain": [
1034
+ "<IPython.core.display.HTML object>"
1035
+ ]
1036
+ },
1037
+ "metadata": {},
1038
+ "output_type": "display_data"
1039
+ },
1040
+ {
1041
+ "data": {
1042
+ "text/html": [
1043
+ "\n",
1044
+ "<style>\n",
1045
+ " /* Turns off some styling */\n",
1046
+ " progress {\n",
1047
+ " /* gets rid of default border in Firefox and Opera. */\n",
1048
+ " border: none;\n",
1049
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
1050
+ " background-size: auto;\n",
1051
+ " }\n",
1052
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
1053
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
1054
+ " }\n",
1055
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
1056
+ " background: #F44336;\n",
1057
+ " }\n",
1058
+ "</style>\n"
1059
+ ],
1060
+ "text/plain": [
1061
+ "<IPython.core.display.HTML object>"
1062
+ ]
1063
+ },
1064
+ "metadata": {},
1065
+ "output_type": "display_data"
1066
+ },
1067
+ {
1068
+ "data": {
1069
+ "text/html": [],
1070
+ "text/plain": [
1071
+ "<IPython.core.display.HTML object>"
1072
+ ]
1073
+ },
1074
+ "metadata": {},
1075
+ "output_type": "display_data"
1076
+ },
1077
+ {
1078
+ "data": {
1079
+ "text/html": [
1080
+ "\n",
1081
+ "<style>\n",
1082
+ " /* Turns off some styling */\n",
1083
+ " progress {\n",
1084
+ " /* gets rid of default border in Firefox and Opera. */\n",
1085
+ " border: none;\n",
1086
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
1087
+ " background-size: auto;\n",
1088
+ " }\n",
1089
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
1090
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
1091
+ " }\n",
1092
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
1093
+ " background: #F44336;\n",
1094
+ " }\n",
1095
+ "</style>\n"
1096
+ ],
1097
+ "text/plain": [
1098
+ "<IPython.core.display.HTML object>"
1099
+ ]
1100
+ },
1101
+ "metadata": {},
1102
+ "output_type": "display_data"
1103
+ },
1104
+ {
1105
+ "data": {
1106
+ "text/html": [],
1107
+ "text/plain": [
1108
+ "<IPython.core.display.HTML object>"
1109
+ ]
1110
+ },
1111
+ "metadata": {},
1112
+ "output_type": "display_data"
1113
+ },
1114
+ {
1115
+ "data": {
1116
+ "text/html": [
1117
+ "\n",
1118
+ "<style>\n",
1119
+ " /* Turns off some styling */\n",
1120
+ " progress {\n",
1121
+ " /* gets rid of default border in Firefox and Opera. */\n",
1122
+ " border: none;\n",
1123
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
1124
+ " background-size: auto;\n",
1125
+ " }\n",
1126
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
1127
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
1128
+ " }\n",
1129
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
1130
+ " background: #F44336;\n",
1131
+ " }\n",
1132
+ "</style>\n"
1133
+ ],
1134
+ "text/plain": [
1135
+ "<IPython.core.display.HTML object>"
1136
+ ]
1137
+ },
1138
+ "metadata": {},
1139
+ "output_type": "display_data"
1140
+ },
1141
+ {
1142
+ "data": {
1143
+ "text/html": [],
1144
+ "text/plain": [
1145
+ "<IPython.core.display.HTML object>"
1146
+ ]
1147
+ },
1148
+ "metadata": {},
1149
+ "output_type": "display_data"
1150
+ },
1151
+ {
1152
+ "data": {
1153
+ "text/html": [
1154
+ "\n",
1155
+ "<style>\n",
1156
+ " /* Turns off some styling */\n",
1157
+ " progress {\n",
1158
+ " /* gets rid of default border in Firefox and Opera. */\n",
1159
+ " border: none;\n",
1160
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
1161
+ " background-size: auto;\n",
1162
+ " }\n",
1163
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
1164
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
1165
+ " }\n",
1166
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
1167
+ " background: #F44336;\n",
1168
+ " }\n",
1169
+ "</style>\n"
1170
+ ],
1171
+ "text/plain": [
1172
+ "<IPython.core.display.HTML object>"
1173
+ ]
1174
+ },
1175
+ "metadata": {},
1176
+ "output_type": "display_data"
1177
+ },
1178
+ {
1179
+ "data": {
1180
+ "text/html": [],
1181
+ "text/plain": [
1182
+ "<IPython.core.display.HTML object>"
1183
+ ]
1184
+ },
1185
+ "metadata": {},
1186
+ "output_type": "display_data"
1187
+ },
1188
+ {
1189
+ "data": {
1190
+ "text/html": [
1191
+ "\n",
1192
+ "<style>\n",
1193
+ " /* Turns off some styling */\n",
1194
+ " progress {\n",
1195
+ " /* gets rid of default border in Firefox and Opera. */\n",
1196
+ " border: none;\n",
1197
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
1198
+ " background-size: auto;\n",
1199
+ " }\n",
1200
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
1201
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
1202
+ " }\n",
1203
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
1204
+ " background: #F44336;\n",
1205
+ " }\n",
1206
+ "</style>\n"
1207
+ ],
1208
+ "text/plain": [
1209
+ "<IPython.core.display.HTML object>"
1210
+ ]
1211
+ },
1212
+ "metadata": {},
1213
+ "output_type": "display_data"
1214
+ },
1215
+ {
1216
+ "data": {
1217
+ "text/html": [],
1218
+ "text/plain": [
1219
+ "<IPython.core.display.HTML object>"
1220
+ ]
1221
+ },
1222
+ "metadata": {},
1223
+ "output_type": "display_data"
1224
+ },
1225
+ {
1226
+ "data": {
1227
+ "text/html": [
1228
+ "\n",
1229
+ "<style>\n",
1230
+ " /* Turns off some styling */\n",
1231
+ " progress {\n",
1232
+ " /* gets rid of default border in Firefox and Opera. */\n",
1233
+ " border: none;\n",
1234
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
1235
+ " background-size: auto;\n",
1236
+ " }\n",
1237
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
1238
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
1239
+ " }\n",
1240
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
1241
+ " background: #F44336;\n",
1242
+ " }\n",
1243
+ "</style>\n"
1244
+ ],
1245
+ "text/plain": [
1246
+ "<IPython.core.display.HTML object>"
1247
+ ]
1248
+ },
1249
+ "metadata": {},
1250
+ "output_type": "display_data"
1251
+ },
1252
+ {
1253
+ "data": {
1254
+ "text/html": [],
1255
+ "text/plain": [
1256
+ "<IPython.core.display.HTML object>"
1257
+ ]
1258
+ },
1259
+ "metadata": {},
1260
+ "output_type": "display_data"
1261
+ },
1262
+ {
1263
+ "data": {
1264
+ "text/html": [
1265
+ "\n",
1266
+ "<style>\n",
1267
+ " /* Turns off some styling */\n",
1268
+ " progress {\n",
1269
+ " /* gets rid of default border in Firefox and Opera. */\n",
1270
+ " border: none;\n",
1271
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
1272
+ " background-size: auto;\n",
1273
+ " }\n",
1274
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
1275
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
1276
+ " }\n",
1277
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
1278
+ " background: #F44336;\n",
1279
+ " }\n",
1280
+ "</style>\n"
1281
+ ],
1282
+ "text/plain": [
1283
+ "<IPython.core.display.HTML object>"
1284
+ ]
1285
+ },
1286
+ "metadata": {},
1287
+ "output_type": "display_data"
1288
+ },
1289
+ {
1290
+ "data": {
1291
+ "text/html": [],
1292
+ "text/plain": [
1293
+ "<IPython.core.display.HTML object>"
1294
+ ]
1295
+ },
1296
+ "metadata": {},
1297
+ "output_type": "display_data"
1298
+ },
1299
+ {
1300
+ "data": {
1301
+ "text/html": [
1302
+ "\n",
1303
+ "<style>\n",
1304
+ " /* Turns off some styling */\n",
1305
+ " progress {\n",
1306
+ " /* gets rid of default border in Firefox and Opera. */\n",
1307
+ " border: none;\n",
1308
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
1309
+ " background-size: auto;\n",
1310
+ " }\n",
1311
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
1312
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
1313
+ " }\n",
1314
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
1315
+ " background: #F44336;\n",
1316
+ " }\n",
1317
+ "</style>\n"
1318
+ ],
1319
+ "text/plain": [
1320
+ "<IPython.core.display.HTML object>"
1321
+ ]
1322
+ },
1323
+ "metadata": {},
1324
+ "output_type": "display_data"
1325
+ },
1326
+ {
1327
+ "data": {
1328
+ "text/html": [],
1329
+ "text/plain": [
1330
+ "<IPython.core.display.HTML object>"
1331
+ ]
1332
+ },
1333
+ "metadata": {},
1334
+ "output_type": "display_data"
1335
+ },
1336
+ {
1337
+ "data": {
1338
+ "text/html": [
1339
+ "\n",
1340
+ "<style>\n",
1341
+ " /* Turns off some styling */\n",
1342
+ " progress {\n",
1343
+ " /* gets rid of default border in Firefox and Opera. */\n",
1344
+ " border: none;\n",
1345
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
1346
+ " background-size: auto;\n",
1347
+ " }\n",
1348
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
1349
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
1350
+ " }\n",
1351
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
1352
+ " background: #F44336;\n",
1353
+ " }\n",
1354
+ "</style>\n"
1355
+ ],
1356
+ "text/plain": [
1357
+ "<IPython.core.display.HTML object>"
1358
+ ]
1359
+ },
1360
+ "metadata": {},
1361
+ "output_type": "display_data"
1362
+ },
1363
+ {
1364
+ "data": {
1365
+ "text/html": [],
1366
+ "text/plain": [
1367
+ "<IPython.core.display.HTML object>"
1368
+ ]
1369
+ },
1370
+ "metadata": {},
1371
+ "output_type": "display_data"
1372
+ },
1373
+ {
1374
+ "data": {
1375
+ "text/html": [
1376
+ "\n",
1377
+ "<style>\n",
1378
+ " /* Turns off some styling */\n",
1379
+ " progress {\n",
1380
+ " /* gets rid of default border in Firefox and Opera. */\n",
1381
+ " border: none;\n",
1382
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
1383
+ " background-size: auto;\n",
1384
+ " }\n",
1385
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
1386
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
1387
+ " }\n",
1388
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
1389
+ " background: #F44336;\n",
1390
+ " }\n",
1391
+ "</style>\n"
1392
+ ],
1393
+ "text/plain": [
1394
+ "<IPython.core.display.HTML object>"
1395
+ ]
1396
+ },
1397
+ "metadata": {},
1398
+ "output_type": "display_data"
1399
+ },
1400
+ {
1401
+ "data": {
1402
+ "text/html": [],
1403
+ "text/plain": [
1404
+ "<IPython.core.display.HTML object>"
1405
+ ]
1406
+ },
1407
+ "metadata": {},
1408
+ "output_type": "display_data"
1409
+ },
1410
+ {
1411
+ "data": {
1412
+ "text/html": [
1413
+ "\n",
1414
+ "<style>\n",
1415
+ " /* Turns off some styling */\n",
1416
+ " progress {\n",
1417
+ " /* gets rid of default border in Firefox and Opera. */\n",
1418
+ " border: none;\n",
1419
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
1420
+ " background-size: auto;\n",
1421
+ " }\n",
1422
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
1423
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
1424
+ " }\n",
1425
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
1426
+ " background: #F44336;\n",
1427
+ " }\n",
1428
+ "</style>\n"
1429
+ ],
1430
+ "text/plain": [
1431
+ "<IPython.core.display.HTML object>"
1432
+ ]
1433
+ },
1434
+ "metadata": {},
1435
+ "output_type": "display_data"
1436
+ },
1437
  {
1438
  "data": {
1439
  "text/html": [],