[openload] Support subtitles (closes #10625)
[youtube-dl] / ChangeLog
1 vesion <unreleased>
2
3 Core
4 + Improved support for HTML5 subtitles
5
6 Extractors
7 + [openload] Support subtitles (#10625)
8
9
10 version 2016.09.24
11
12 Core
13 + Add support for watchTVeverywhere.com authentication provider based MSOs for
14   Adobe Pass authentication (#10709)
15
16 Extractors
17 + [soundcloud:playlist] Provide video id for early playlist entries (#10733)
18 + [prosiebensat1] Add support for kabeleinsdoku (#10732)
19 * [cbs] Extract info from thunder videoPlayerService (#10728)
20 * [openload] Fix extraction (#10408)
21 + [ustream] Support the new HLS streams (#10698)
22 + [ooyala] Extract all HLS formats
23 + [cartoonnetwork] Add support for Adobe Pass authentication
24 + [soundcloud] Extract license metadata
25 + [fox] Add support for Adobe Pass authentication (#8584)
26 + [tbs] Add support for Adobe Pass authentication (#10642, #10222)
27 + [trutv] Add support for Adobe Pass authentication (#10519)
28 + [turner] Add support for Adobe Pass authentication
29
30
31 version 2016.09.19
32
33 Extractors
34 + [crunchyroll] Check if already authenticated (#10700)
35 - [twitch:stream] Remove fallback to profile extraction when stream is offline
36 * [thisav] Improve title extraction (#10682)
37 * [vyborymos] Improve station info extraction
38
39
40 version 2016.09.18
41
42 Core
43 + Introduce manifest_url and fragments fields in formats dictionary for
44   fragmented media
45 + Provide manifest_url field for DASH segments, HLS and HDS
46 + Provide fragments field for DASH segments
47 * Rework DASH segments downloader to use fragments field
48 + Add helper method for Wowza Streaming Engine formats extraction
49
50 Extractors
51 + [vyborymos] Add extractor for vybory.mos.ru (#10692)
52 + [xfileshare] Add title regular expression for streamin.to (#10646)
53 + [globo:article] Add support for multiple videos (#10653)
54 + [thisav] Recognize HTML5 videos (#10447)
55 * [jwplatform] Improve JWPlayer detection
56 + [mangomolo] Add support for Mangomolo embeds
57 + [toutv] Add support for authentication (#10669)
58 * [franceinter] Fix upload date extraction
59 * [tv4] Fix HLS and HDS formats extraction (#10659)
60
61
62 version 2016.09.15
63
64 Core
65 * Improve _hidden_inputs
66 + Introduce improved explicit Adobe Pass support
67 + Add --ap-mso to provide multiple-system operator identifier
68 + Add --ap-username to provide MSO account username
69 + Add --ap-password to provide MSO account password
70 + Add --ap-list-mso to list all supported MSOs
71 + Add support for Rogers Cable multiple-system operator (#10606)
72
73 Extractors
74 * [crunchyroll] Fix authentication (#10655)
75 * [twitch] Fix API calls (#10654, #10660)
76 + [bellmedia] Add support for more Bell Media Television sites
77 * [franceinter] Fix extraction (#10538, #2105)
78 * [kuwo] Improve error detection (#10650)
79 + [go] Add support for free full episodes (#10439)
80 * [bilibili] Fix extraction for specific videos (#10647)
81 * [nhk] Fix extraction (#10633)
82 * [kaltura] Improve audio detection
83 * [kaltura] Skip chun format
84 + [vimeo:ondemand] Pass Referer along with embed URL (#10624)
85 + [nbc] Add support for NBC Olympics (#10361)
86
87
88 version 2016.09.11.1
89
90 Extractors
91 + [tube8] Extract categories and tags (#10579)
92 + [pornhub] Extract categories and tags (#10499)
93 * [openload] Temporary fix (#10408)
94 + [foxnews] Add support Fox News articles (#10598)
95 * [viafree] Improve video id extraction (#10615)
96 * [iwara] Fix extraction after relaunch (#10462, #3215)
97 + [tfo] Add extractor for tfo.org
98 * [lrt] Fix audio extraction (#10566)
99 * [9now] Fix extraction (#10561)
100 + [canalplus] Add support for c8.fr (#10577)
101 * [newgrounds] Fix uploader extraction (#10584)
102 + [polskieradio:category] Add support for category lists (#10576)
103 + [ketnet] Add extractor for ketnet.be (#10343)
104 + [canvas] Add support for een.be (#10605)
105 + [telequebec] Add extractor for telequebec.tv (#1999)
106 * [parliamentliveuk] Fix extraction (#9137)
107
108
109 version 2016.09.08
110
111 Extractors
112 + [jwplatform] Extract height from format label
113 + [yahoo] Extract Brightcove Legacy Studio embeds (#9345)
114 * [videomore] Fix extraction (#10592)
115 * [foxgay] Fix extraction (#10480)
116 + [rmcdecouverte] Add extractor for rmcdecouverte.bfmtv.com (#9709)
117 * [gamestar] Fix metadata extraction (#10479)
118 * [puls4] Fix extraction (#10583)
119 + [cctv] Add extractor for CCTV and CNTV (#8153)
120 + [lci] Add extractor for lci.fr (#10573)
121 + [wat] Extract DASH formats
122 + [viafree] Improve video id detection (#10569)
123 + [trutv] Add extractor for trutv.com (#10519)
124 + [nick] Add support for nickelodeon.nl (#10559)
125 + [abcotvs:clips] Add support for clips.abcotvs.com
126 + [abcotvs] Add support for ABC Owned Television Stations sites (#9551)
127 + [miaopai] Add extractor for miaopai.com (#10556)
128 * [gamestar] Fix metadata extraction (#10479)
129 + [bilibili] Add support for episodes (#10190)
130 + [tvnoe] Add extractor for tvnoe.cz (#10524)
131
132
133 version 2016.09.04.1
134
135 Core
136 * In DASH downloader if the first segment fails, abort the whole download
137   process to prevent throttling (#10497)
138 + Add support for --skip-unavailable-fragments and --fragment retries in
139   hlsnative downloader (#10165, #10448).
140 + Add support for --skip-unavailable-fragments in DASH downloader
141 + Introduce --skip-unavailable-fragments option for fragment based downloaders
142   that allows to skip fragments unavailable due to a HTTP error
143 * Fix extraction of video/audio entries with src attribute in
144   _parse_html5_media_entries (#10540)
145
146 Extractors
147 * [theplatform] Relax URL regular expression (#10546)
148 * [youtube:playlist] Extend URL regular expression
149 * [rottentomatoes] Delegate extraction to internetvideoarchive extractor
150 * [internetvideoarchive] Extract all formats
151 * [pornvoisines] Fix extraction (#10469)
152 * [rottentomatoes] Fix extraction (#10467)
153 * [espn] Extend URL regular expression (#10549)
154 * [vimple] Extend URL regular expression (#10547)
155 * [youtube:watchlater] Fix extraction (#10544)
156 * [youjizz] Fix extraction (#10437)
157 + [foxnews] Add support for FoxNews Insider (#10445)
158 + [fc2] Recognize Flash player URLs (#10512)
159
160
161 version 2016.09.03
162
163 Core
164 * Restore usage of NAME attribute from EXT-X-MEDIA tag for formats codes in
165   _extract_m3u8_formats (#10522)
166 * Handle semicolon in mimetype2ext
167
168 Extractors
169 + [youtube] Add support for rental videos' previews (#10532)
170 * [youtube:playlist] Fallback to video extraction for video/playlist URLs when
171   no playlist is actually served (#10537)
172 + [drtv] Add support for dr.dk/nyheder (#10536)
173 + [facebook:plugins:video] Add extractor (#10530)
174 + [go] Add extractor for *.go.com sites
175 * [adobepass] Check for authz_token expiration (#10527)
176 * [nytimes] improve extraction
177 * [thestar] Fix extraction (#10465)
178 * [glide] Fix extraction (#10478)
179 - [exfm] Remove extractor (#10482)
180 * [youporn] Fix categories and tags extraction (#10521)
181 + [curiositystream] Add extractor for app.curiositystream.com
182 - [thvideo] Remove extractor (#10464)
183 * [movingimage] Fix for the new site name (#10466)
184 + [cbs] Add support for once formats (#10515)
185 * [limelight] Skip ism snd duplicate manifests
186 + [porncom] Extract categories and tags (#10510)
187 + [facebook] Extract timestamp (#10508)
188 + [yahoo] Extract more formats
189
190
191 version 2016.08.31
192
193 Extractors
194 * [soundcloud] Fix URL regular expression to avoid clashes with sets (#10505)
195 * [bandcamp:album] Fix title extraction (#10455)
196 * [pyvideo] Fix extraction (#10468)
197 + [ctv] Add support for tsn.ca, bnn.ca and thecomedynetwork.ca (#10016)
198 * [9c9media] Extract more metadata
199 * [9c9media] Fix multiple stacks extraction (#10016)
200 * [adultswim] Improve video info extraction (#10492)
201 * [vodplatform] Improve embed regular expression
202 - [played] Remove extractor (#10470)
203 + [tbs] Add extractor for tbs.com and tntdrama.com (#10222)
204 + [cartoonnetwork] Add extractor for cartoonnetwork.com (#10110)
205 * [adultswim] Rework in terms of turner extractor
206 * [cnn] Rework in terms of turner extractor
207 * [nba] Rework in terms of turner extractor
208 + [turner] Add base extractor for Turner Broadcasting System based sites
209 * [bilibili] Fix extraction (#10375)
210 * [openload] Fix extraction (#10408)
211
212
213 version 2016.08.28
214
215 Core
216 + Add warning message that ffmpeg doesn't support SOCKS
217 * Improve thumbnail sorting
218 + Extract formats from #EXT-X-MEDIA tags in _extract_m3u8_formats
219 * Fill IV with leading zeros for IVs shorter than 16 octets in hlsnative
220 + Add ac-3 to the list of audio codecs in parse_codecs
221
222 Extractors
223 * [periscope:user] Fix extraction (#10453)
224 * [douyutv] Fix extraction (#10153, #10318, #10444)
225 + [nhk:vod] Add extractor for www3.nhk.or.jp on demand (#4437, #10424)
226 - [trutube] Remove extractor (#10438)
227 + [usanetwork] Add extractor for usanetwork.com
228 * [crackle] Fix extraction (#10333)
229 * [spankbang] Fix description and uploader extraction (#10339)
230 * [discoverygo] Detect cable provider restricted videos (#10425)
231 + [cbc] Add support for watch.cbc.ca
232 * [kickstarter] Silent the warning for og:description (#10415)
233 * [mtvservices:embedded] Fix extraction for the new 'edge' player (#10363)
234
235
236 version 2016.08.24.1
237
238 Extractors
239 + [pluralsight] Add support for subtitles (#9681)
240
241
242 version 2016.08.24
243
244 Extractors
245 * [youtube] Fix authentication (#10392)
246 * [openload] Fix extraction (#10408)
247 + [bravotv] Add support for Adobe Pass (#10407)
248 * [bravotv] Fix clip info extraction (#10407)
249 * [eagleplatform] Improve embedded videos detection (#10409)
250 * [awaan] Fix extraction
251 * [mtvservices:embedded] Update config URL
252 + [abc:iview] Add extractor (#6148)
253
254
255 version 2016.08.22
256
257 Core
258 * Improve formats and subtitles extension auto calculation
259 + Recognize full unit names in parse_filesize
260 + Add support for m3u8 manifests in HTML5 multimedia tags
261 * Fix octal/hexadecimal number detection in js_to_json
262
263 Extractors
264 + [ivi] Add support for 720p and 1080p
265 + [charlierose] Add new extractor (#10382)
266 * [1tv] Fix extraction (#9249)
267 * [twitch] Renew authentication
268 * [kaltura] Improve subtitles extension calculation
269 + [zingmp3] Add support for video clips
270 * [zingmp3] Fix extraction (#10041)
271 * [kaltura] Improve subtitles extraction (#10279)
272 * [cultureunplugged] Fix extraction (#10330)
273 + [cnn] Add support for money.cnn.com (#2797)
274 * [cbsnews] Fix extraction (#10362)
275 * [cbs] Fix extraction (#10393)
276 + [litv] Support 'promo' URLs (#10385)
277 * [snotr] Fix extraction (#10338)
278 * [n-tv.de] Fix extraction (#10331)
279 * [globo:article] Relax URL and video id regular expressions (#10379)
280
281
282 version 2016.08.19
283
284 Core
285 - Remove output template description from --help
286 * Recognize lowercase units in parse_filesize
287
288 Extractors
289 + [porncom] Add extractor for porn.com (#2251, #10251)
290 + [generic] Add support for DBTV embeds
291 * [vk:wallpost] Fix audio extraction for new site layout
292 * [vk] Fix authentication
293 + [hgtvcom:show] Add extractor for hgtv.com shows (#10365)
294 + [discoverygo] Add support for another GO network sites
295
296
297 version 2016.08.17
298
299 Core
300 + Add _get_netrc_login_info
301
302 Extractors
303 * [mofosex] Extract all formats (#10335)
304 + [generic] Add support for vbox7 embeds
305 + [vbox7] Add support for embed URLs
306 + [viafree] Add extractor (#10358)
307 + [mtg] Add support for viafree URLs (#10358)
308 * [theplatform] Extract all subtitles per language
309 + [xvideos] Fix HLS extraction (#10356)
310 + [amcnetworks] Add extractor
311 + [bbc:playlist] Add support for pagination (#10349)
312 + [fxnetworks] Add extractor (#9462)
313 * [cbslocal] Fix extraction for SendtoNews-based videos
314 * [sendtonews] Fix extraction
315 * [jwplatform] Extract video id from JWPlayer data
316 - [zippcast] Remove extractor (#10332)
317 + [viceland] Add extractor (#8799)
318 + [adobepass] Add base extractor for Adobe Pass Authentication
319 * [life:embed] Improve extraction
320 * [vgtv] Detect geo restricted videos (#10348)
321 + [uplynk] Add extractor
322 * [xiami] Fix extraction (#10342)
323
324
325 version 2016.08.13
326
327 Core
328 * Show progress for curl external downloader
329 * Forward more options to curl external downloader
330
331 Extractors
332 * [pbs] Fix description extraction
333 * [franceculture] Fix extraction (#10324)
334 * [pornotube] Fix extraction (#10322)
335 * [4tube] Fix metadata extraction (#10321)
336 * [imgur] Fix width and height extraction (#10325)
337 * [expotv] Improve extraction
338 + [vbox7] Fix extraction (#10309)
339 - [tapely] Remove extractor (#10323)
340 * [muenchentv] Fix extraction (#10313)
341 + [24video] Add support for .me and .xxx TLDs
342 * [24video] Fix comment count extraction
343 * [sunporno] Add support for embed URLs
344 * [sunporno] Fix metadata extraction (#10316)
345 + [hgtv] Add extractor for hgtv.ca (#3999)
346 - [pbs] Remove request to unavailable API
347 + [pbs] Add support for high quality HTTP formats
348 + [crunchyroll] Add support for HLS formats (#10301)
349
350
351 version 2016.08.12
352
353 Core
354 * Subtitles are now written as is. Newline conversions are disabled. (#10268)
355 + Recognize more formats in unified_timestamp
356
357 Extractors
358 - [goldenmoustache] Remove extractor (#10298)
359 * [drtuber] Improve title extraction
360 * [drtuber] Make dislike count optional (#10297)
361 * [chirbit] Fix extraction (#10296)
362 * [francetvinfo] Relax URL regular expression
363 * [rtlnl] Relax URL regular expression (#10282)
364 * [formula1] Relax URL regular expression (#10283)
365 * [wat] Improve extraction (#10281)
366 * [ctsnews] Fix extraction
367
368
369 version 2016.08.10
370
371 Core
372 * Make --metadata-from-title non fatal when title does not match the pattern
373 * Introduce options for randomized sleep before each download
374   --min-sleep-interval and --max-sleep-interval (#9930)
375 * Respect default in _search_json_ld
376
377 Extractors
378 + [uol] Add extractor for uol.com.br (#4263)
379 * [rbmaradio] Fix extraction and extract all formats (#10242)
380 + [sonyliv] Add extractor for sonyliv.com (#10258)
381 * [aparat] Fix extraction
382 * [cwtv] Extract HTTP formats
383 + [rozhlas] Add extractor for prehravac.rozhlas.cz (#10253)
384 * [kuwo:singer] Fix extraction
385
386
387 version 2016.08.07
388
389 Core
390 + Add support for TV Parental Guidelines ratings in parse_age_limit
391 + Add decode_png (#9706)
392 + Add support for partOfTVSeries in JSON-LD
393 * Lower master M3U8 manifest preference for better format sorting
394
395 Extractors
396 + [discoverygo] Add extractor (#10245)
397 * [flipagram] Make JSON-LD extraction non fatal
398 * [generic] Make JSON-LD extraction non fatal
399 + [bbc] Add support for morph embeds (#10239)
400 * [tnaflixnetworkbase] Improve title extraction
401 * [tnaflix] Fix metadata extraction (#10249)
402 * [fox] Fix theplatform release URL query
403 * [openload] Fix extraction (#9706)
404 * [bbc] Skip duplicate manifest URLs
405 * [bbc] Improve format code
406 + [bbc] Add support for DASH and F4M
407 * [bbc] Improve format sorting and listing
408 * [bbc] Improve playlist extraction
409 + [pokemon] Add extractor (#10093)
410 + [condenast] Add fallback scenario for video info extraction
411
412
413 version 2016.08.06
414
415 Core
416 * Add support for JSON-LD root list entries (#10203)
417 * Improve unified_timestamp
418 * Lower preference of RTSP formats in generic sorting
419 + Add support for multiple properties in _og_search_property
420 * Improve password hiding from verbose output
421
422 Extractors
423 + [adultswim] Add support for trailers (#10235)
424 * [archiveorg] Improve extraction (#10219)
425 + [jwplatform] Add support for playlists
426 + [jwplatform] Add support for relative URLs
427 * [jwplatform] Improve audio detection
428 + [tvplay] Capture and output native error message
429 + [tvplay] Extract series metadata
430 + [tvplay] Add support for subtitles (#10194)
431 * [tvp] Improve extraction (#7799)
432 * [cbslocal] Fix timestamp parsing (#10213)
433 + [naver] Add support for subtitles (#8096)
434 * [naver] Improve extraction
435 * [condenast] Improve extraction
436 * [engadget] Relax URL regular expression
437 * [5min] Fix extraction
438 + [nationalgeographic] Add support for Episode Guide
439 + [kaltura] Add support for subtitles
440 * [kaltura] Optimize network requests
441 + [vodplatform] Add extractor for vod-platform.net
442 - [gamekings] Remove extractor
443 * [limelight] Extract HTTP formats
444 * [ntvru] Fix extraction
445 + [comedycentral] Re-add :tds and :thedailyshow shortnames
446
447
448 version 2016.08.01
449
450 Fixed/improved extractors
451 - [yandexmusic:track] Adapt to changes in track location JSON (#10193)
452 - [bloomberg] Support another form of player (#10187)
453 - [limelight] Skip DRM protected videos
454 - [safari] Relax regular expressions for URL matching (#10202)
455 - [cwtv] Add support for cwtvpr.com (#10196)
456
457
458 version 2016.07.30
459
460 Fixed/improved extractors
461 - [twitch:clips] Sort formats
462 - [tv2] Use m3u8_native
463 - [tv2:article] Fix video detection (#10188)
464 - rtve (#10076)
465 - [dailymotion:playlist] Optimize download archive processing (#10180)
466
467
468 version 2016.07.28
469
470 Fixed/improved extractors
471 - shared (#10170)
472 - soundcloud (#10179)
473 - twitch (#9767)
474
475
476 version 2016.07.26.2
477
478 Fixed/improved extractors
479 - smotri
480 - camdemy
481 - mtv
482 - comedycentral
483 - cmt
484 - cbc
485 - mgtv
486 - orf
487
488
489 version 2016.07.24
490
491 New extractors
492 - arkena (#8682)
493 - lcp (#8682)
494
495 Fixed/improved extractors
496 - facebook (#10151)
497 - dailymail
498 - telegraaf
499 - dcn
500 - onet
501 - tvp
502
503 Miscellaneous
504 - Support $Time$ in DASH manifests
505
506
507 version 2016.07.22
508
509 New extractors
510 - odatv (#9285)
511
512 Fixed/improved extractors
513 - bbc
514 - youjizz (#10131)
515 - youtube (#10140)
516 - pornhub (#10138)
517 - eporner (#10139)
518
519
520 version 2016.07.17
521
522 New extractors
523 - nintendo (#9986)
524 - streamable (#9122)
525
526 Fixed/improved extractors
527 - ard (#10095)
528 - mtv
529 - comedycentral (#10101)
530 - viki (#10098)
531 - spike (#10106)
532
533 Miscellaneous
534 - Improved twitter player detection (#10090)
535
536
537 version 2016.07.16
538
539 New extractors
540 - ninenow (#5181)
541
542 Fixed/improved extractors
543 - rtve (#10076)
544 - brightcove
545 - 3qsdn
546 - syfy (#9087, #3820, #2388)
547 - youtube (#10083)
548
549 Miscellaneous
550 - Fix subtitle embedding for video-only and audio-only files (#10081)
551
552
553 version 2016.07.13
554
555 New extractors
556 - rudo
557
558 Fixed/improved extractors
559 - biobiochiletv
560 - tvplay
561 - dbtv
562 - brightcove
563 - tmz
564 - youtube (#10059)
565 - shahid (#10062)
566 - vk
567 - ellentv (#10067)
568
569
570 version 2016.07.11
571
572 New Extractors
573 - roosterteeth (#9864)
574
575 Fixed/improved extractors
576 - miomio (#9605)
577 - vuclip
578 - youtube
579 - vidzi (#10058)
580
581
582 version 2016.07.09.2
583
584 Fixed/improved extractors
585 - vimeo (#1638)
586 - facebook (#10048)
587 - lynda (#10047)
588 - animeondemand
589
590 Fixed/improved features
591 - Embedding subtitles no longer throws an error with problematic inputs (#9063)
592
593
594 version 2016.07.09.1
595
596 Fixed/improved extractors
597 - youtube
598 - ard
599 - srmediatek (#9373)
600
601
602 version 2016.07.09
603
604 New extractors
605 - Flipagram (#9898)
606
607 Fixed/improved extractors
608 - telecinco
609 - toutv
610 - radiocanada
611 - tweakers (#9516)
612 - lynda
613 - nick (#7542)
614 - polskieradio (#10028)
615 - le
616 - facebook (#9851)
617 - mgtv
618 - animeondemand (#10031)
619
620 Fixed/improved features
621 - `--postprocessor-args` and `--downloader-args` now accepts non-ASCII inputs
622   on non-Windows systems
623
624
625 version 2016.07.07
626
627 New extractors
628 - kamcord (#10001)
629
630 Fixed/improved extractors
631 - spiegel (#10018)
632 - metacafe (#8539, #3253)
633 - onet (#9950)
634 - francetv (#9955)
635 - brightcove (#9965)
636 - daum (#9972)
637
638
639 version 2016.07.06
640
641 Fixed/improved extractors
642 - youtube (#10007, #10009)
643 - xuite
644 - stitcher
645 - spiegel
646 - slideshare
647 - sandia
648 - rtvnh
649 - prosiebensat1
650 - onionstudios
651
652
653 version 2016.07.05
654
655 Fixed/improved extractors
656 - brightcove
657 - yahoo (#9995)
658 - pornhub (#9997)
659 - iqiyi
660 - kaltura (#5557)
661 - la7
662 - Changed features
663 - Rename --cn-verfication-proxy to --geo-verification-proxy
664 Miscellaneous
665 - Add script for displaying downloads statistics
666
667
668 version 2016.07.03.1
669
670 Fixed/improved extractors
671 - theplatform
672 - aenetworks
673 - nationalgeographic
674 - hrti (#9482)
675 - facebook (#5701)
676 - buzzfeed (#5701)
677 - rai (#8617, #9157, #9232, #8552, #8551)
678 - nationalgeographic (#9991)
679 - iqiyi
680
681
682 version 2016.07.03
683
684 New extractors
685 - hrti (#9482)
686
687 Fixed/improved extractors
688 - vk (#9981)
689 - facebook (#9938)
690 - xtube (#9953, #9961)
691
692
693 version 2016.07.02
694
695 New extractors
696 - fusion (#9958)
697
698 Fixed/improved extractors
699 - twitch (#9975)
700 - vine (#9970)
701 - periscope (#9967)
702 - pornhub (#8696)
703
704
705 version 2016.07.01
706
707 New extractors
708 - 9c9media
709 - ctvnews (#2156)
710 - ctv (#4077)
711
712 Fixed/Improved extractors
713 - rds
714 - meta (#8789)
715 - pornhub (#9964)
716 - sixplay (#2183)
717
718 New features
719 - Accept quoted strings across multiple lines (#9940)