20 September 2014, 00:21 | #1 |
BoingBagged
Join Date: Aug 2007
Location: The South of nowhere
Age: 46
Posts: 2,358
|
The definitive Macrosystem Casablanca hack thread!
Hi, for a lot of time there has been some rumour about the Macrosystem Casablanca being an Amiga sort of clone. Well, since WinUAE 2.7.1 we can now actually manage the contents of the Casablanca´s HDD. It can accept Draco Casablanca partition table identifier (CDSK instead of usual RDSK).
The interesting thing, is that the Casablanca is to put it easily, a low cost, slightly modified version of the DraCo that has some potential to do some Amiga-like interesting things. I believe that for example, a compressed audio player is easily doable since the audio hardware is just an integrated toccata. There are many drawbacks, from an Amiga perspective: -It has no Amiga chipset (no OCS, ECS, AGA or even RTG support). Graphics are pushed to its digitizer´s video output, by some unknown method. -It has quite some hardware and software protection schemes to avoid piracy and duplication. -It is little documented -It cannot load workbench or start a new cli (seems it is a graphics issue, related to the absense of an OCS/RTG like compatibbility mode) But there are also some notable advantages it offers: -It is a low cost high processing power 68K unit -There about 45.000 units out there -It has 16 bit stereo sound sampling and playing capabilities which are toccata compatible (they may even be AHI compatible) -Has a built-in scsi interface -It has a nice LCD to hack -DraCo Motion compatible video capture hardware is also included -It can probably offer some new professional grade programs to Amigas and DraCo´s So, unshelve your Casablancas and turn them on. Share your HDD images so we can start hacking! Last edited by gulliver; 10 January 2015 at 17:26. |
20 September 2014, 00:23 | #2 |
BoingBagged
Join Date: Aug 2007
Location: The South of nowhere
Age: 46
Posts: 2,358
|
KNOWN CASABLANCA OPERATING SYSTEM VERSIONS:
1.2 (29.1.97) 1.5.X (24.4.97) 2.1 (6.11.97) 2.2 (?) 2.5 (28.7.97) 2.7X (21.04.98) 2.7.1 (?) 2.7.4X (6.7.98) 2.7.5X (27.7.98) 2.7.8X (?) 3.0 BETA (02.11.98) 3.0.1 BETA (18.11.98) 3.0.2 BETA (03.12.98) 3.0.3 (16.12.98) 3.0.4X (22.12.98) 3.0.6X (12.1.99) 3.0.8X (23.2.99) 3.0.10X (22.4.99) 3.0.12X (02.11.99) 3.0.13X (?) 3.1.0X (28-04-00) As always if you find something to contribute or that needs to be rectified, please go ahead and mention it. Last edited by gulliver; 17 February 2018 at 14:30. Reason: update |
20 September 2014, 00:32 | #3 |
BoingBagged
Join Date: Aug 2007
Location: The South of nowhere
Age: 46
Posts: 2,358
|
KICKSTART AND ROMS:
It has been verified that it has kickstart 40.68 (v3.1) that has been embedded into its roms in a non Amiga fashion. U4 is a 512KB rom (M27C4002) U5 is a 512KB rom (M27C4002), it has a label that says "Casablanca CROM 1.6-H (08.97)" U11 has about 8KB rom (it is not a rom, it is a Microchip PIC 16C55-RC/P) which has the protection bit set and it is not readable by conventional methods. It has a label that says "16.3.98" Then there is a software rom update, much like the DraCo´s used, much like AmigaOS 3.9 rom update worked. It is a file located in DEVS:CasablancaBootFile. All rom contents (hardware and software based), at first sight seem to be somehow scrambled or encrypted to prevent prying eyes, like mine Last edited by gulliver; 20 September 2014 at 00:50. |
20 September 2014, 00:43 | #4 |
BoingBagged
Join Date: Aug 2007
Location: The South of nowhere
Age: 46
Posts: 2,358
|
HARD DISK LAYOUT
boot: (This is the bootable system volume) c/ AddBuffers 37.2 Assign 37.4 Copy 40.1 Execute 37.11 Version 40.1 casablanca/ (It has the Casablanca2 video editing application which seems to be based on MovieShop) devs/ CasablancaBootFile (It seems that according to some Casablanca bootlogos, there are at least two versions 1.3 (28.2.97) and 1.4 (8.4.97) of this file). draser.device 2.14 (DraCos have v1.0) 123 (WTF? is two bytes long) dracotools/ DraCo060Emu 1.0 (the same as DraCos) DraCoSetPatch 1.2 (the same as DraCos) fonts/ (Some Amiga compugraphics fonts and some converted from true type using TypeSmith) libs/ bullet.library 38.9 dmotion.library 17.1 (DraCo has v17.0) glyph.library 2.4 jis.library 1.0 (japanese support) jpggfx.library 3.1 (Mystery??) mathieeedoubbas.library 38.2 mathieeedoubtrans.library 37.1 mathieeesingbas.library 40.5 mathieeesingtrans.library 37.1 mathtrans.library 37.1 motioneffect.library 13.5 ovlgfx.library 5.1 (graphic display function api) pfile.library 10.5 toccata.library 14.1 s/ startup-sequence ------Contents of startup-sequence------ Code:
run >nil: boot:DracoTools/DraCoSetPatch ; addbuffers boot: 400 boot:DraCoTools/Draco060Emu >nil: cd >nil: boot:casablanca casablanca2 >nil: nodebug nomonitor Last edited by gulliver; 17 February 2018 at 14:46. |
20 September 2014, 01:01 | #5 |
BoingBagged
Join Date: Aug 2007
Location: The South of nowhere
Age: 46
Posts: 2,358
|
CASABLANCA HARDWARE:
CPU: MC68040RC25V MC68040RC33V MC68LC060RC50 X68060RC50 Most of the time these cpu have MMU but no FPU (due to budget reasons. A CPU without FPU is certainly cheaper). Note that the 68040V processor is a 3.3 volts version of the 68040, which makes it pin and voltage compatible with any 68060. SCSI: Symbios 53C710 Fast scsi II (9MB/s aprox) 50 pin internal + external port SERIAL PORT: DB25 RS-232 (DraCo compatible, but not Amiga cia based compatible. Uses draser.device. Allows serial debugging of the Casablanca) MOUSE PORT: serial pc mouse/trackball KEYBOARD: old style AT 5 pin din keyboard FLOPPY: SMC super IO chip standard 1.44 MB pc floppy drive SOUND: Analog Devices AD1845JST soundport (toccata compatible) VIDEO: Casablanca Motion (DraCo Motion clone that has the same hardware id 18260/23) RAM: Node type $A, Attributes $507 (CHIP), at $400C3000 2x 72 pin simm 60ns EDO MOTHERBOARDS: Casablanca mainboard: there are at least two motherboard versions Casablanca Motion: there are four known versions which are (CMOT9840), V1.1, V1.2 and V1.3 LCD: Itron CU20025ECPB-U1J 20x2 characters 5x7 dot character matrix parallel interface Last edited by gulliver; 10 January 2015 at 17:27. |
20 September 2014, 01:09 | #6 |
BoingBagged
Join Date: Aug 2007
Location: The South of nowhere
Age: 46
Posts: 2,358
|
Threads of real hacking a Casablanca on (german language):
http://www.a1k.org/forum/showthread.php?t=45420 http://www.a1k.org/forum/showthread....991#post766991 |
20 September 2014, 01:14 | #7 |
BoingBagged
Join Date: Aug 2007
Location: The South of nowhere
Age: 46
Posts: 2,358
|
SYSTEM FLOPPY DISK CONTENTS (modified copy and paste from A1k forum):
disk1_v3.0.4: | assign [3 kB] (AmigaDOS command) | casboot.lzx [1 MB] (This is the entire HDD contents compressed) | Casi [1 kB] (This a hard disk partition tool) | copy [5 kB] (AmigaDOS command) | crequest [26 kB] (generates the casablanca install/update user requesters. A key to casablanca gfx API?) | csn [968 B] (casablanca serial number generator & check program) | delete [2 kB] (AmigaDOS command) | draco060emu [61 kB] (DraCo command) | dracosetpatch [1 kB] (DraCo command) | list [6 kB] (AmigaDOS command) | lzx [63 kB] (Amiga version of the popular packer) | MSVersion [628 B] (Special Casablanca based command, that retrieves version, revision and subversion information) | noreq [80 B] (program that supresses amigados requesters) | pm [3 kB] (DraCo postmount command. Makes system reset after partitioning redundant.) | qf [364 B] (quick format command) | version [5 kB] (AmigaDOS command) | wait [852 B] (AmigaDOS command) |--devs |--libs | scsisupport.library [5 kB] (DraCo harddisk support library) `--s startup-sequence [9 kB] Last edited by gulliver; 17 February 2018 at 14:26. Reason: Updates |
20 September 2014, 13:16 | #8 |
Phone Homer
Join Date: Jun 2006
Location: 5150
Posts: 5,812
|
interesting - Has anyone tried running any games that support RTG or Dpaint and what about the fake AGA can any system friendly stuff run on that.
What about adding Draco to the Title. |
20 September 2014, 16:43 | #9 |
Registered User
Join Date: Jan 2014
Location: Belgrade / Serbia
Age: 41
Posts: 1,008
|
I'm looking forward for this
Maybe Genetic Species. That's the only game I know that have support for Draco Motion. |
20 September 2014, 16:53 | #10 | |
BoingBagged
Join Date: Aug 2007
Location: The South of nowhere
Age: 46
Posts: 2,358
|
Quote:
Graphics are handled in a custom way that nobody knows (yet!) and they are not Amiga compatible. Maybe someone sometime can hack an RTG driver and make some use of it or document the existing unknown graphics interface (maybe ovlgfx.library is the key). Last edited by gulliver; 20 September 2014 at 17:14. |
|
20 September 2014, 20:46 | #11 |
Phone Homer
Join Date: Jun 2006
Location: 5150
Posts: 5,812
|
Ok thanks - I didnt know RTG stuff doesnt work and Genetic Species having support
Is the Fake AGA a command from S-S and I wonder if anything works with it like Dpaint...... :OK so it probably the "DraCoSetPatch 1.2 (the same as DraCos)" could be intresting I really did consider buying one at one point and now I think WinUae has support in time id like to have a play around. Can a HardFile be found anywhere....? Last edited by Retro1234; 20 September 2014 at 21:36. |
21 September 2014, 00:14 | #12 |
BoingBagged
Join Date: Aug 2007
Location: The South of nowhere
Age: 46
Posts: 2,358
|
In The Zone! you can find the HDD disk contents of a working Macrosystem Casablanca with OS version 3.0.10.X
I hope copy protection has been successfuly removed. To restore it, create the file /Casablanca/save/HDSernum only containing: CSN0xxxx where xxxx is a long word with the serial number (in binary form). The serial number is printed on the board inside the Cassie. To comply with EAB´s guidelines when uploading stuff, AmigaOS 3.1 files have been removed from this archive, but you can easily restore them with your own copy of AmigOS 3.1 by adding this structure: c/ AddBuffers Assign Copy Execute Version libs/ bullet.library mathieeedoubbas.library mathieeedoubtrans.library mathieeesingbas.library mathieeesingtrans.library mathtrans.library Please, if you have a Casablanca HDD or floppy image, share it so we can all increase the knowledge and preserve its contents for future use. Last edited by gulliver; 17 February 2018 at 14:27. Reason: update |
21 September 2014, 00:23 | #13 |
Phone Homer
Join Date: Jun 2006
Location: 5150
Posts: 5,812
|
Thanks dude
|
21 September 2014, 01:17 | #14 |
BoingBagged
Join Date: Aug 2007
Location: The South of nowhere
Age: 46
Posts: 2,358
|
INTERESTING FACTS:
*boot:Casablanca/Casablanca2 is the actual video editor which seems to share the same codebase as the legendary MovieShop from VlabMotion and DraCo fame. Furthermore, its audio and video operators seem at first sight compatible with MovieShop (version 5.x which are DraCo only releases). *The folder boot:Casablanca/images/ contains the gadgets of the video editor interface and of the mouse pointer in IFF format. *Fonts were sometimes sold as much as $79 per individual floppy, and are nothing but converted truetype fonts using TypeSmith to Compugraphic/bullet format. *The version of the System software can be obtained by searching thru the boot:Casablanca/Casablanca2 file. It is shown next to the "$MSV:" string. The version number is in the format a.bb.c.nn where nn is replaced by an X when displayed. Date is taken from the "$VER: Casablanca" string, it is in parenthesis. Note: all "" characters are just delimiters, not part of the strings. *The video and audio partitions (STB_VIDEO and STB_AUDIO) may be viewable with Alex Kazik´s Scene-Handler program, and can be backed up with ABackup/Diavolo Pro (this statement needs proper confirmation). *It seems the video editor Casablanca2 has some calling parameters which might be useful for further hacking. So far I met with these: protected, nodebug, keepscreen, nomonitor, ibc98, playloop, casapro, enforcer, printinfo, philips, endtest, and serdebug. Any comments on how they actually perform is apreciated (of course, many of them, we can easily guess). Last edited by gulliver; 17 February 2018 at 14:34. |
21 September 2014, 02:01 | #15 |
BoingBagged
Join Date: Aug 2007
Location: The South of nowhere
Age: 46
Posts: 2,358
|
KNOWN LIST OF CASABLANCA SOFTWARE:
3D Shapes Professional Adorage Magic I (by Prodad. version of this FX app built for casablancas) Adorage Magic II (by Prodad. version of this FX app built for casablancas) Akaba (paint program created by Thomas Dorn of Xi-Paint fame) Audio FX´s pack Bonus and Registration FX´s (set of 30 Casablanca Operators) Candy Factory Pro (yes, another Amiga program that made its rounds in the Cassie) Chroma Key Version 2 (program that uses the famous green/blue screen techniques) Elastic Dreams (another Motion Studios title) Fonts Pack #1 (bullet fonts converted from truetype sources with TypeSmith 2.x) Fonts Pack #2 " Fonts Pack #3 " Fonts Pack #4 " FX Pack #1 (set of Casablanca Operators) FX Pack #2 " FX Pack #3 " FX Pack #4 " FX Pack #5 " FX Pack #6 " FX Pack #7 " Heimdahl (backup and dvdrom burner software that supports external scsi devices) Liquid Images (another one Amiga related. Did it ever made it into the Amiga?) Monument Titler Deluxe (a version of Prodad´s Monument Designer targeted at the Cassie) PC-Link (null modem transfer software to share files between a Casablanca and a PC) Surround Sound FX´s Pack Video Spicerack (by Pixelan Software, is an interesting video effects package) Last edited by gulliver; 21 September 2014 at 03:30. |
21 September 2014, 02:07 | #16 |
BoingBagged
Join Date: Aug 2007
Location: The South of nowhere
Age: 46
Posts: 2,358
|
If someone wishes to tinker with the Casablanca rom images U4 and U5, please drop me a PM and I will send you the files.
These files are not easily readable, they must be scrambled or encrypted in some way, if some coder wishes to help here, I would gladly apreciate it. |
22 September 2014, 16:39 | #17 | |
Registered User
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 56
Posts: 2,038
|
Quote:
It contains Amiga 3.1 (40.68) ROM from A3000 (ROM CRC $8F4C0C67). Modules from main DraCo ROM: 1.3 (28.2.97): dracobootrom 1.3 (28.2.97) © MS MacroSystem Computer GmbH - Written by Henning Friedl $VER: CasablancaBootRom dracommu.library dracommu 2.5 (10.1.96) © MS MacroSystem Computer GmbH Written by Claus Bönnhoff draco.resource draco 1.4 (2.9.96) © MS MacroSystem Computer GmbH Written by Henning Friedl dracospecial 2.4 (28.2.97) © MS MacroSystem Computer GmbH - Written by Henning Friedl dracosyscheck 1.3 (18.12.95) © MS MacroSystem Computer GmbH - Written by Henning Friedl casablanca.library casablanca 2.1 (29.1.97) © MS MacroSystem Computer GmbH Written by Henning Friedl ovlgfx.library ovlgfx 1.6 (28.2.97) © MS MacroSystem Computer GmbH Written by Henning Friedl dmotion.library dmotion 11.34 (27.1.97) © MS MacroSystem Computer GmbH Written by Henning Friedl and Hartmut Sprave dracobootmenu dracobootmenu 1.2 (15.11.95) © MS MacroSystem Computer GmbH - Written by Henning Friedl dracoscsi.device dracoscsi 2.2 (16.1.97) dracobootpic 1.6 (10.12.96) © MS MacroSystem Computer GmbH - Written by Henning Friedl dracobattclock.resource dracobattclock 1.1 (4.9.96) © MS MacroSystem Computer GmbH Written by Henning Friedl dracokeyboard 1.4 (7.11.96) © MS MacroSystem Computer GmbH Written by Henning Friedl dracomouse 1.3 (4.9.96) © MS MacroSystem Computer GmbH Written by Claus Bönnhoff dracofdc.resource dracofdc 1.3 (28.2.97) © MS MacroSystem Computer GmbH Written by Klaus Deppisch dracodisk.device dracodisk 1.4 (28.2.97) © MS MacroSystem Computer GmbH Written by Klaus Deppisch Casablanca CopyProtection Version 0.1 (28.2.97) © MS MacroSystem Computer GmbH Written by Klaus Deppisch dracofinal 1.4 (18.2.97) © MS MacroSystem Computer GmbH - Written by Henning Friedl cia.resource cia 39.10 (28.2.97) © MS MacroSystem Computer GmbH Written by Klaus Deppisch timer.device timer 39.10 (28.2.97) © MS MacroSystem Computer GmbH Written by Klaus Deppisch battclock 40.1 (4.9.96) dracographics.library dracographics 1.5 (27.1.97) © MS MacroSystem Computer GmbH Written by Henning Friedl Modules from update DraCo ROM: 2.0 (17.9.97): dracobootrom 2.0 (17.9.97) © MS MacroSystem Computer GmbH - Written by Henning Friedl $VER: CasablancaBootRom 2.0 (17.9.97) dracommu.library dracommu 2.5 (10.1.96) © MS MacroSystem Computer GmbH Written by Claus Bönnhoff draco.resource draco 1.4 (2.9.96) © MS MacroSystem Computer GmbH Written by Henning Friedl dracospecial 2.4 (28.2.97) © MS MacroSystem Computer GmbH - Written by Henning Friedl dracosyscheck 1.4 (4.8.97) -> NEW MODULE © MS MacroSystem Computer GmbH - Written by Henning Friedl casablanca.library casablanca 3.0 (15.8.97) -> NEW MODULE © MS MacroSystem Computer GmbH Written by Henning Friedl dracobootmenu dracobootmenu 1.2 (15.11.95) © MS MacroSystem Computer GmbH - Written by Henning Friedl dracoscsi.device dracoscsi 2.2 (16.1.97) dracobootpic.resource dracobootpic 2.0 (12.8.97) -> NEW MODULE © MS MacroSystem Computer GmbH - Written by Henning Friedl dracobattclock.resource dracobattclock 1.1 (4.9.96) © MS MacroSystem Computer GmbH Written by Henning Friedl dracokeyboard 1.6 (12.8.97) -> NEW MODULE © MS MacroSystem Computer GmbH Written by Henning Friedl dracomouse 1.3 (4.9.96) © MS MacroSystem Computer GmbH Written by Claus Bönnhoff dracofdc.resource dracofdc 1.3 (17.9.97) -> NEW MODULE © MS MacroSystem Computer GmbH Written by Klaus Deppisch dracodisk.device dracodisk 1.4 (17.9.97) -> NEW MODULE © MS MacroSystem Computer GmbH Written by Klaus Deppisch Casablanca CopyProtection Version 0.1 (17.9.97) -> NEW MODULE © MS MacroSystem Computer GmbH Written by Klaus Deppisch dracofinal 1.4 (18.2.97) © MS MacroSystem Computer GmbH - Written by Henning Friedl cia.resource cia 39.10 (17.9.97) © MS MacroSystem Computer GmbH Written by Klaus Deppisch timer.device timer 39.11 (17.9.97) -> NEW MODULE © MS MacroSystem Computer GmbH Written by Klaus Deppisch battclock 40.1 (4.9.96) dracographics.library dracographics 1.6 (6.8.97) -> NEW MODULE © MS MacroSystem Computer GmbH Written by Henning Friedl |
|
22 September 2014, 18:32 | #18 |
-
Join Date: Jul 2003
Location: Helsinki / Finland
Age: 43
Posts: 9,907
|
Out of curiosity, what kind of encryption was it? I'm guessing just data or address lines swapped around a bit, since the CPU has to execute off the ROMs.
|
23 September 2014, 16:06 | #19 | |
Registered User
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 56
Posts: 2,038
|
Quote:
No hardware protection, only ROM data is stored in PC endian style, easy enough to understand for everyone who see some protected 68k ROM's data. Perhaps similar protection (?) has DraCo machine. Here is full decoding routine: Code:
incdir "dh2:include/" include 'exec/exec_lib.i' include 'dos/dos_lib.i' movem.l D0-A6,-(SP) lea Buffy,A0 lea File2,A1 lea File1,A2 moveq #4,D0 swap D0 ; counter Convert move.w (A1)+,D1 ror.w #8,D1 move.w D1,(A0)+ move.w (A2)+,D1 ror.w #8,D1 move.w D1,(A0)+ subq.l #1,D0 bne.b Convert bsr.w DecodeDraCo bsr.w DecodeAmiga move.l 4.W,A6 moveq #0,D0 ; version lea DosName(PC),A1 jsr _LVOOpenLibrary(A6) tst.l D0 beq.b Exit move.l D0,A6 lea Path(PC),A0 move.l A0,D1 move.l #1006,D2 ; new file jsr _LVOOpen(A6) move.l D0,D1 ; file handle move.l D0,-(SP) lea Buffy(PC),A0 move.l A0,D2 move.l #BuffyEnd-Buffy,D3 ; save size jsr _LVOWrite(A6) move.l (SP)+,D1 jsr _LVOClose(A6) Exit movem.l (SP)+,D0-A6 moveq #0,D0 rts DecodeDraCo lea Buffy,A0 ; source move.l A0,A1 ; destination move.l $10(A0),D0 addq.l #3,D0 lsr.l #2,D0 move.l D0,D2 move.w #$FF,D0 CopyDraCo move.l (A0)+,(A1)+ dbf D0,CopyDraCo move.l D2,D0 sub.l #$100,D0 move.l #$6BE92EAA,D3 LoopDraCo move.l (A0)+,D1 mulu.w #$6255,D3 add.l #$3619,D3 eor.l D3,D1 move.l D1,(A1)+ subq.l #1,D0 bne.b LoopDraCo rts DecodeAmiga lea Buffy+$80000,A0 ; source move.l A0,A1 ; destination move.l #$20000,D0 move.l #$D312B64A,D2 LoopAmiga move.l (A0)+,D1 mulu.w #$6255,D2 add.l #$3619,D2 eor.l D2,D1 move.l D1,(A1)+ subq.l #1,D0 bne.b LoopAmiga rts Path dc.b 'RAM:Casablanca.ROM',0 DosName dc.b 'dos.library',0 cnop 0,4 ; for fastest data access ; Buffy and Spike daughter Buffy ds.b $80000*2 BuffyEnd File1 incbin ram:casablancaromu4 File2 incbin ram:casablancaromu5 |
|
23 September 2014, 17:12 | #20 |
BoingBagged
Join Date: Aug 2007
Location: The South of nowhere
Age: 46
Posts: 2,358
|
No, the DraCo has no protection at all in its roms. There are two A3000 40.68 roms (in Amiga-like standard format), and another one which patches the other two, and it is easily viewable.
BTW, thank you for the information about the Casablanca roms. If you are interested I can send you the DraCo rom too. I was wondering if it could be possible to close Casablanca CopyProtection Version 0.1 romtag by using RemLib (from PeterK´s Iconlib archive), so that it doesn´t get in the way Maybe the DraCo can benefit from some of these modules, if they could be splitted and loaded with loadmodule, and in this way it could have a serious chance in running Casablanca software. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
DraCo Casablanca for 45e... | Cobe | MarketPlace | 22 | 10 August 2014 08:52 |
casablanca roms and pictures | mech | Amiga scene | 4 | 24 November 2010 05:28 |
For Sale: MACROSYSTEM TOCCATA Soundcard | piemmeweb | MarketPlace | 0 | 08 September 2009 23:04 |
Macrosystem Falcon 1240 accelerator | gulliver | support.Hardware | 11 | 30 May 2008 10:52 |
Microvitec or scandoubler? Definitive thread. | buckrogers | support.Hardware | 12 | 08 March 2006 19:47 |
|
|