Aktualno¶ci Forum Graffiti Publicystyka Teleport
  kategoria: Muzyka
[#421] Re: Fajny modu³ dzi¶ s³ysza³em

@mikecios, post #420

Ha! super

[#422] Re: Fajny modu³ dzi¶ s³ysza³em

@nogorg, post #421

Ano tak ! Wiedzia³em ¿e z dema ale bym sam nie zgad³.
Sam wpad³e¶ czy dopyta³e¶ ?

Ps. Tym bardziej ze to nie z dema tylko z kompotow mod :>

Ostatnia aktualizacja: 24.03.2020 23:02:05 przez mikecios
[#423] Re: Fajny modu³ dzi¶ s³ysza³em

@mikecios, post #422

Nie pyta³em, wylosowa³ mi siê w koñcu sam z playlisty. Odrobinê temu losowaniu pomaga³em .

Mocno siê opiera³em, ¿eby nie zasugerowaæ w pierwszym po¶cie, ¿e to chyba kawa³ek z jakiego¶ dema. Ale po przejrzeniu paru toplist nic mi siê z t± muzyka nie kojarzy³o, wiêc stwierdzi³em, ¿e nie bêdê wprowadza³ w b³±d. On po prostu brzmi bardzo demowato. Szczególnie ten motyw fletowy, który mi siê kojarzy trochê z koñcówk± Hardwired.

Tak czy tak bardzo dobry track.
[#424] Re: Fajny modu³ dzi¶ s³ysza³em

@nogorg, post #423

Kawa³ka nie odgad³em ale wiedzia³em ¿e masz gdzie¶ u siebie
[#425] Re: Fajny modu³ dzi¶ s³ysza³em

@mikecios, post #422

Ps. Tym bardziej ze to nie z dema tylko z kompotow mod :>


A'propos dema to jest inne z kawa³kiem JSL'a. Demo takie se, ale muza zacna i mocarna. Z tego co widzê to na Poueta dopiero w 2017 trafi³o.

[#426] Re: Fajny modu³ dzi¶ s³ysza³em

@nogorg, post #425

W zwi±zku z lekkim powrotem do pods³uchiwania modków 4ch, chyba taki mniej znany groove od Strobo

"Bombin"
[#427] Re: Fajny modu³ dzi¶ s³ysza³em

@nogorg, post #426

Dzisiaj co¶ bardziej monumentalnego z roku 1997.

Whiskas - As In "Cockroach"
[#428] Re: Fajny modu³ dzi¶ s³ysza³em

@nogorg, post #426

Zajebisty kawa³ek! Nie zna³em tego, choæ mój katalog dh1:Work/Mods/Strobo liczy sobie ca³kiem sporo pozycji...

Dziêki za podzielenie siê.
[#429] Re: Fajny modu³ dzi¶ s³ysza³em

@nogorg, post #427

Tañcz±cy banan
[#430] Re: Fajny modu³ dzi¶ s³ysza³em

@nogorg, post #429

W takim razie ja podrzucê modu³ mojego ostatnio ulubionego twórcy (zerkaj±c na jego stronê i YouTuba) do¶æ mocno rozwiniêtego w wielu kierunkach.

LMAN i Something W. Lasers.

Ps MOgê oczywi¶cie byæ w b³êdzie, ale jak pierwszy raz us³ysza³em ten mod ( nie na Ami tylko gdzie¶ z netu) to po chwili pomy¶la³em ze to chyba nie mod tylko wielokana³owy XM czy inny diabe³...

Indzoj!
Bardzo cziluj±cy kawa³ek ;)

[#431] Re: Fajny modu³ dzi¶ s³ysza³em

@mikecios, post #430

Fajny kawa³ek. A ja skorzysta³em z okazji i uzupe³ni³em na swojej playli¶cie katalog LMana o kilka modków.

Natomiast dzisiaj s³ysza³em fajny szatañski funk:





Ostatnia aktualizacja: 12.04.2020 22:08:50 przez nogorg
[#432] Re: Fajny modu³ dzi¶ s³ysza³em

@nogorg, post #431

Trafi³em na kawa³ki Obbe i od wczoraj zbieram szczêkê z pod³ogi. Ch³op daje do wiwatu pokazuj±c jak dwud¼wiêkowymi samplami w rozmiarze chiptune tworzyæ rozleg³e akordy.



Podobne sample u¿y³ w kawa³ku z 2008 roku "unfinished.final9.mod". Tego akurat nie ma na Youtube wiêc link tu https://amp.dascene.net/detail.php?detail=modules&view=11628

Podobn± technikê, aczkolwiek w innym gatunku muzycznym, zastosowa³ te¿ Virgill. Rozmiar nadal chiptunowy ale brzmienie ju¿ niekoniecznie:



Podoba mi siê to bardzo, bo od paru lat i mnie pa³êta siê podobna idea po g³owie tym ¿e zastanawia³em siê czy da siê wygenerowaæ tego typu ca³e akordy, które nadal bêd± mia³y rozmiar nadaj±cy siê do chiptune. Matematycznie wzglêdnie ³atwo jest wyliczyæ odpowied¼ natomiast d¼wiêkowo mo¿na dopu¶ciæ siê pewnych niedok³adno¶ci i zaokr±gleñ. Idealnie by³oby móc sobie generowaæ takie loopy dla dowolnego tonu.


Jest jeszcze jeden kawa³ek Obbego który rozwala system i jest dok³adnie tym o czym mówi jego tytu³, ale zostawiê go na nastêpny raz, bo robi to trochê inaczej.
[#433] Re: Fajny modu³ dzi¶ s³ysza³em

@nogorg, post #432

Drugi kawa³ek Obbego rozwala system to: MOD.-_mod.obbfuscated.c

Niestety równie¿ nie znalaz³em go na Youtube, a szkoda bo to jest modu³ z typu tych do s³uchania i patrzenia. Poni¿ej zapodajê wiêc "preview". Modu³ jest modu³em i programem w C jednocze¶nie. Jak spojrzeæ od koñca to ma rozszerzenie ".c", a od przodu prawilny "mod.". Nie sprawdza³em czy da siê to skompilowaæ. Mo¿e komu¶ siê bêdzie chcia³o. W ka¿dym razie modu³ robi swoje, a program swoje - rozpieprza kolejno¶æ odgrywania modu³u tak jak to pokazane na obrazku poni¿ej:



<elon Szok rozjechany>



z tego wszystkiego zapomnia³em linka
https://amp.dascene.net/downmod.php?index=139376

Ostatnia aktualizacja: 01.05.2020 11:43:07 przez nogorg
[#434] Re: Fajny modu³ dzi¶ s³ysza³em

@nogorg, post #433

A mo¿e po prostu ca³y modu³ wkleiæ?

/*mod.obbfuscated.c #obbe                  A @   @                      = <   */char *msg =       /*  2   */"This C source "  /*     */"code file is a " /*  8   */"Protracker "     /*  @   */"module.\n"       /* (                          B @  @*/"This Protracker "/*       */"module is a "    /*1   1*/"C source code "  /*   ,    */"file which "     /*  
  */"implements a\n"  /* (   */"pattern data "   /* (  
 */"scrambler.";     /* (  	                                                                                                                                                                                                                                                                                                                                                                                                                       Cheers to everyone at        GERP 2015             ð @  ð 	

                                                                                                              M.K. ´›	       
 ª/        
 ª+     
  ¿ Ö[:0ÉS]	Å»    ‘ þ-Q   â^Ó  
6 ð^Ã Ö  Ö]A¦@  ÖàG    
          x›   À x»5 þ+}½X       x›    À x»   x»I   À x�   	  
    
X     Í0 ÖÐG Ö+T    À¬]@
  ¬}E         É  
 Ö
 ÖT  â-9ST  Ö+@T    Gü]   
  
D  	    üÍT   G@À : Ö]'¬@  ÖÐG  	    ªÍ         
4 ¬À  ÖÐ7 ®Â.^    
W    
G   Ç  
   
  
              
¬ Ö]D¬p  ÖpG      ÖÍa þð7 Ö+ ¬¦   x» Ö+@]B   GüT  x›     
	       
S         Ö^ÂM0 Öà7      ªÍ$ þà7     	  
        
"   É        þÍ0 þð7 Ö+ ÖT   	S]P   x»B   8        ¬ÍU ÖpG Ö+ ÖT   	S]  Ö+
 þT   ¬]T Ö+ þ]  	¬T   ÅË   ÇÍC:µÃ}km  âf      ÖÍX ÖÐ'      	  
E þ    X­'       
9    ´«@T   
 üT        É  
 þ+    })   Ö+ ÖT   	S]T þ+    
S¶    
}@  âp6  SÍE   8 ÖÀ €» þT   
c¬T  Ö+ ÖT   	S]E¬	¬T hM1 Öà7 þ/ Ö[SMa âÐGÅ â[hMb âpG . Ö+ ‡-c Ê   þ¿ ÖT Ð;.]  ª/       
 ª+    
  ¿ Ö[	:0ÉS]@à@/³à@G x»S Ö+T   	¬]"  
    
3    
  
5          ¬< ¦M\     
%      	    
8            
@ ¬À  ÖÐG      ÖÍ Öð7       É  
4    
b        Ö+  Ö]W  ST       ¬Í Öà7        Y  
   x› Ö,  x»2  ¬Í&   G þÀ   	  
Y ÖÐ  ÖàG x›     
4    x›      É x»` Ö¬TrM` Öp7 þ+  
 ª}H  
 Ö+ þ^Ä   ɬ]Gà»      
V      x»R Öð7  ¬Í   G þÀ 
 âT :@Ç}]E@
 þT ¬M2 ÖpY¬ x›   Ç x»     SýR   @	@VüM7 þ          Ì  
X      µÍ âð8  ÖT \; h]P Ö]0:@ÉST   
   SÝ       
   Y   ʹ$    
          þí       
P¬@      Ö+
 â]1  }T €ü]@@  ÖÐY Ö+SÆ\0Ì ÖÍ2    @ý   Ö+ Ö]5  ST  Ö   ÖMX            
   x›   À x»% Ö Ö]'h@  Öp7¬S3XMS  x›     
    ª+ ð^Äü0Ì x»       
R   ¬S=8 ¬@ P  .Ñü;	@M$ þ      
         µ»  
:@G þ-®ÂT     
%   x»b    âÐG    x»a    âpG       x› x»c        
     ¬Ë    ÉÍB: Ö]:@ÉST        Í0 ÖpY  SÍ   8 ÖÀ   
    ÖÍQ ÖÐ'   x»   8     
  
8              ¬Í    . ðT :0™S]        
	      
   È      SË	   É ÖÍ3   x›   À x»@ þ+  
G@  ÖÐ7    
              ÊÍ ÊðG      x»( âp8     þí9     x»a        SË   É ÖÍF —¶0    
@    ¬» Ö]B¬0ÀST     
C        :  âT :@Ç}]E    
Y      
@ þ]   	¬T     
%   G        ÖÍ2 âð8 ¬®Á.^    
@ ´«	 ð^Äü0Ì x»€ þ](  ¬T     
R   Ì  ¬kh½9.f þf        Ì  
!  SÍB   8 ÖÀ  Ö» ÖT   
 ST : ´]4¬@  Öp7    
 ª@       }Ë   Ç âÍF ¬» Ö]:@ÉST         
6    
)         Ö	 ÖTsí ÖàG   x»0   É x�   SË   É ÖÍ7 x› x»F      : âT :0Ç}]5      
      SÍ   G ÖÀ  x›	     
     
     É  
7       
T       
    G       x»G  ¦»       
X       ›  
	 Ö   íI          þ-  
    ¬Í1 Öp7» âT’:@L - þ/ Ö[SMa âðG â â[hMb âàG    
c         þ¿ ÖT Ð;.]        É  
b@ þ]#@@  ÖðY þ+  
8
@  ÊpG Ö+  þT   ¬] Ö+ þ]Q  	¬T  Ö+
T   	¬]! ð¶     
0        
C ÖÀ  þÐ7€»
 þT   
2¬T        
R    €  þ]    G¬T  þ+  
F@  ÖÐ7    x›  
( x�   SË   É ÖÍE      ¬ÍY ÖpX Ö+T   	¬](¦®Ä  	¦0ÀS½)      ÖÍG âà8 þ  
Dü0À â      
      ´« þT   
P¬T  ª+ ð^Äü0Ì x»      ÖÍ@ ÖðY Ö+ þT   	¬]U     Öý	   ÖT ¬M Öà7¬]2 ¬@ SP        
H   ¬ Ö]Q¬@  Öp7  SË   É ÖÍF   ¬Í1   G þÀ   S\ ¦M¬\  â0@T‘:MD€ þT    G¬]  ¬VüMT þ     x› Ö,  x»1}hm".f þf       Í ÊpG Ö/       
5 Ö/  
     
  ÖT ¬M# Öð7  	    ´Í( Öð7 þ  ÖTsüM5 þà7      ´ÍQ ÖÐ7     ¦M'    Ö+T   	¬]      ¬Í@ ÖÐ7 ´« ð^Äü0Ì x»'   x»1   À x� .	 ðT :0™S]H    @ýa   ´«	T   
R¬T     
W            
!       Ö+ ÖT   S]#  }Ë   Ç âÍD Ê« ÖT   
$ST ü»  
€0Ì     Ö]S}@  þ   Ê«	 þT   
¬T    x»b    âðG   x»a    âàG  ²    
c           
    þ+  
S@  þÐ7 Ö
 Ö4 ST :M Ö ÖT  â-TST   
 x»S        
  
         ʶ3    
U      
  
Sý	  
      ¬Í ÖðY        É  
R þ»
  
%ü0À µ®Ä      ¬M" ,  Ö+ â]  }T  Ö+@]8   GüT   	¬Í   G þÀ     
C                 x»"        È  
&      ÖÍ ÖpG   Ö^Â ÖÍ  ÖÐ7    
  	  : â]@@  âp6  	  :@É  
8»
 âT :0Ç}]    :@Ç  
    
P@      Ö]GS@  ÖàG  
  	  	  
Y:®Ä  €0À@½X:  
%€0Ì  » Ö]):0ÉST   ¬3SÝSS.»  
8\0À ֮Ĭ» Ö]&   ÀST  þ	 Ö]9¬@  þp7 Ö+    
V       þí2    
  
G ¬À  ÖÐ'    
       þ+  SM    ª®Á    
`     ¬» Ö]5:@ÉST  Ö ÖT   	S]       ÖË  
!       
R    ´«T   
5¬T ¬» ÖT   
0ST      Öý9     Ê« þT   
S¬T       Öý(   @®ÂT   	  
      x»    þ  
`ü0À â      ¬L   
H    
   Ç  
A  
0 â[:0Ç}] ´«  ÖT   
2ST     
P        ¬» ÖT   
8ST     
3       ´« ÖT   S]WÅ Ö]a þ. âÐGÅ â]b þ. âpG¬ ÖT’¦@8S]A      ÊÍS ÊÐG       Í ÊàG  
     Í ÖÐX  SË   É ÖÍ ¬ ÖT SM þ  
¹9    
D     ´« ÖT   
ST    .ÍY   É ÖÀ  ´«@T   
AüT        É  
H  
     É  
H x›	      L  
    
    Öp7  
     
F     
üÍB   G@À ¬ Ö]P   ÀST  þ+  
@  ÖàG         x»3 âT :@Ç}]%:»  
`:0Ì    :
 âT :@Ç}]» âT :0Ç}]	  }Ë   Ç âÍ þ+  
"Å@  âÐ8ü ¬T ¬M8 þà7¬»  þ]   À¬T      Öý(         ¬Í` Öà7 þ+  
 ª}   
  SË   É ÖÍC ʶ  	  
0     ‡« â]  }T   
P  
@     
c   x»      Ö» ÖT   
ST     
	:@É    
     É  
    
A ´À  Öð7    
          .Í9   É ÖÀ  Ö  Ö]   ÀST ¬ Ö]¬p  ÖðG   x»`   À x�  Ö+ â]9  }T      þíQ   Ö+
T   	Å]# ‡¹    
    @» þT   
F¬T   SÍ$   G ÖÀ    x»@   À x�     
C            	  
D    :
  :0Ì  
  
  
5 ‡À  ÊðG     ÖýW    €» þT   
¬T     
6              É  
         x»I    
	:@É   Ö+	]"  ¬T     x›  
b âÐG    x›  
a âpG . Ö+ ‡-c Ê      
 ÖÝ!  
 Ö+ T   	¬]@ ¬  
@@  âp8 ʮà þ[ü0Ì.]H    
          }Ë   Ç âÍ)    
 ªÀ  ÖðG  
T ”M ÊpG ¬ â]6@  âp6      Sýb ÖðG       Ë  
Y Ö  :M  @» þT   
6¬T   ¬Ë   Ç þÍ x›      
X   ](}@  âà8  
  
G  	   þ+  
B¬@  Öp7
¹9    
      
  M  ¬k
hf\½b þf Ö Ö]Eà  ÖÐG    
Y   Y  
      ¬Í Öð7 x›     
4   .  
V\0ÀS      
Q              ªÍ& ÖÐG        ›  
 âT :@Ç}]V   x›   À x»     Sý4       
        Å®Ä  :0À½       Ì  
)   x»   É       
H   Ç  
0      ÖýQ ÖpG          
H x›
  @MV ,  Ö Ö]Uh@  Öà7    
FX@G     x›   À x»    
         ‡¹4    
7          Öý ÖÐG  üÍ6   G@À  Ö]:@ÉST        É  
X ´«@T    Àü]S¬
 Ö]bX@  ÖðG þ+  
' ªp  ÖÐG   x›   À x»    
D ´À  ÖÐ7 Ö» ÖT :­QST     x›   À x»W  SË   É ÖÍ:®Ä  €0À@½        
F     Ö+T    À¬]B    
        x› Ö]b þ. âàGÅ â]a þ. âàG       x› x»c    
	           
7         x›     
(    —¹    
         ÖÝb ÖàG Ê«	 ÖT   
bST  þ+ ð]S”@  ÊàG¬¬]h@  Öà7 â+  
:0À  þ+    }7   Ö+@T    Gü]( Ö+
]@  ¬T @üVüMG þ      
A   G   ¬ Ö[¦@ÈS] Ö+
T    §@]Y  
     Ì  

¶9  
  
P           É  
5     SÝc ÖÐG@ þ](  	¬T  ¬» âT :@Ç}]E ´«
 þT   ¬]@

]”@  ÊàG Ö+]  ÅT €+::@É  
H     ‘  
  ‘@ þ]R€0À¬T  Ö» ÖT   
UST ¬ Ö]Y¬@  Öp7  
  
#   Ç       x»2   À x�  ¬]5@  âð8¬ Ö]G¬@  ÖÐ7    
9   Ç      ¬Ë
   Ç þÍ Ö+¬Í4¦0Ì þÆ  
]
@  ÖÐX     
          x›      É x»    
A}@  âÐ8@ þT   	¬]1    x›   À x»3 Ö¬]D@  Öp7 Ö ÖTs¬M' Öà7     
   G      
5  	       ÖÝD   Ö
 Ö]à  ÖÐG ´«  
4¦0Ì    ¬» ÖT’ x»2STs:¬]S@  ÖpG    
   Ç  
       
b ,  ´«  
\0Ì      ¬Í    G þÀ     
 ÊÀ  ÊðG    x›
   À x»     
:@É     x»   8   »	 Ö]!:0ÉST  x› Ö]b þ. âðGÅ â]a þ. âðG    
c          - þ.Ó        
              
     ¬» Ö]D:@ÉST  x›      É x»@ þ+  
¬@  ÖÐGàµÃ}k@m& ðf    x›	   À x»B    
P   È µ¬  
 â^Ó  
	 ð^Ã ´« ÖT   
ST     
 ÖÀ  ÖÐX€» þT   
Q¬T  Ö Ö]¦@8ST    x»"   É x�  x›  
   G  
 x›     É  
     ¬M4   : Ö]}@  þ        ÖÍC Öp7¬ ÖT    8S]) Ö  
í  
 ´]'¬@  Öð7  ¬^Â ÖÍ3 ÖÐG@
]@@  ÖàX       
     ´«  
 ¦0Ì     Ö   :M     ¬Í   G þÀ    x»3   É    x›     
#        
        € þ]  ¬T   SSSݬS      x»" Öp7    
#   G    
     
A      x»         Ö^Â ÖÍ$ ÖàG x›  
0   Ç     ´«@T    Àü]' x›
     
C     ¬Í4   G þÀ   
  
W         Ê«
T   
¬T     
:@Ç  
R âT :@Ç}]" x›  
T   Ç  
 €» þT   
U¬T   
  
)   É  
 Ö  :M2         
`    Ö+
 ÖT ¦@8S]B          
S       
$   
¶(    
!     x›  x»6  › x� ü .Ñ:@Ç þ-     ªMV   x› x»A   É x�  x›      L  
P þ+  
bü@  þp7¬´‘hk.o þm&  ²  	  
c        
      ¦®Ä  ¦0ÀS½ µ â]C}@  þ     x›   À x»Y
¼°    
           
@    @»
 þT   
8¬T @ þT   	¬]'     Sý8 ÖÐG  üÍ   G@À ¬» Ö]7:0ÌST     @ý9   ´«  
4\0Ì            8  
4}»      -` x›     
G          þÍ! þÐ7 ʶ    
    ¬ ÖT    8S]   â^Ó ð^Ã  
  Ö   ÖM%    
 x»   É     SÍ    8 ÖÀ        
C      
¬\  ÖÝP        
              þí&         x») âÐ8 þ+  
¬@  Öp7         x»(
¶8    
P          ÖÍ7 ÖÐ7 Ö¬^Âí% ÖàG Ö+T   	Å]% Ö+@T    Àü]¬» Ö]7¬0ÀST  x›     
H     
  @ý6        
'   É        þÍ þÐ7    x»T   É          x› x» Ö» Ö]I   ÀST  ʹ  
  
I    ¦µÃSk
mU âf: Ö[:0ÉS]9 Ö¬]@  ÖÐ7 þ+  
S@  ÖÐ7    
'            
I     	   þí   Ö
   :M    x›     
E    Ö+SÆ\0Ì ÖÍE    
                É  
H¬»	 ÖT’¦@8S]    
$   Ç      
b   Ç   Ö ÖTsíV ÖðG Ö	 Ö]   ÀST € þ]H€@G¬T  x›     
`   ¬
 ÖT’¦@8S]I Ö+	    
E  
®Ã þ^Ä  ¬]!     ¬M9       
$      s Ö
   ÖM%   ÖST í1¬T ¬khf.fü½ Ö+
 ÖT ¦@8S]!       þ-  ÖT \;h]#  	     
A    Ö+ ÖT   	S]9Å .Ñ   þ-4 þ+  r ª}c ÖÐG þ+    }G        ¬Í ÊðG       
B         x»R   Ö+ â]C  }T        É  
(¬ þ]H   À¬T   	  
a     ®Â  
  
    ¬}[¬}3ÅP \  
a þ@  ÖðY     ªM'   x›  
@   G  
`      ªÍ ÖÐG  
    Öý ÖÐG    
X           
       }Ë   Ç âÍ      ÍD ÖÐY    
          
    ÖÝ    ¬®ÃP    
D þ+  
  ªp  ÖàG     ÖÝ      
8           x»"   À x�   	SÍ   8 ÖÀ € þ]I€@G¬T   
  
A         
@ µÀ  ÖÐ' ´«T    À¬]U    @Ý6   Ê«
T   
¬T ]}@  âà8 þ	¬TrSM þp7  SÍ   8 ÖÀ  ð¶   
  
T        
V       ¬¬T SM3 ÖÐG ¬  
W:@É     x›
   À x»  ¬» Ö]a:@ÉST  ¬]7¬@  ÖÐ'@
] @@  ÊÐG    
:@Y  
9    
E   É  
    
0    
2  
  
X           Í ÖÐG    
#      Ö  
í$  
 Ö+ þT   	¬]       
E    þ/   ª} ÖàG€» þ]V  ¬T       ÖÍ7 ÖÐX¬¬]h@  Öp7. x›
ú@G x»       ªÍ ÖÐG   x»P   É     	¬ÍS   8À ]a¬@  Öà'  
     
"        ¬   Ç x»¬» ÖT   
IST  Ö   íR    Ö   íY    x› x»!   Ç          
@      
]@@  ÊðG  ¬Í   G þÀ  x› x»      
®Â[
  	Å]€ þT €@G¬] ʹ9    
F          ÖÝ      x»"   À x�       ÖÍ ÖÐ7       É  
X    
 ¬À  Öp7
®Â[  	Å] ´«T    À¬]B  	  
  ª@            É  
       x›
 x»     
0   È        
4        ª+ þ]"ü0Ì.T ¬¬T ¬} ÖÐG      x»   @®Â þT     
 x›     
U   «	  
      ¦ ð¹(  
  
R     þ+
    ª}4     
  ¬   Ç x»` Ö]:@ÉST     
7    Öð7    
C   Ç  
@  
   @ý     Ö+ ÖT   	S]Y  ¬ÍA   G þÀ       	  
Q       þ-U Ö+¬Í¦0Ì þÆ     þíF       
3            
	            É  
B x›      Ç x»€» þT   
(¬T @¬VXM` þ   Ö ÖTsí	 ÖðG ´« ÖT   
!ST    ¬Í   G þÀ  þ+
  
0X@GXdr  	   ¦MQ     
    
      
    ÖÍU ÖÐX    
         
&             SÝP ÖÐG ´« þT   
6¬T         Ç x»1
®Ã þ^Ä  ¬]#      ÖýS   þ+  þ]VÅ@  âp6  	    ÖÍF ÖÐ7 x›
 x»`   Ç          ÍW ÖÐX€ þ]F   G¬T   }Ë   Ç âÍ$+  
8€0À@     
Y   Ç            Ì  
1:»
  
Q:0Ì     ´« þT   ¬]8¬» ðT :0™S]W Ö+
 ÖT ¦@8S]c Ö]):@ÉST  Ê«@T   
AüT   ¬Í   G þÀ  þ+
    }7      
       ¬ ]G}@  ÖÐ' x¶    
      
 x»D   À x�  Ö+ ÖT   	S] þ+  SM  ¬ þ]&   À¬T  x›
     
3     	   ÖÝP    ¬Í9   G þÀ ¬]WÅ@ }P  Ö^ÂM8 ÖàG  SÍG   8 ÖÀ       	  
6    
T                
$    ¬» ÖT   
RST     
1            
B ´À  ÖÐ7+  
 €0À@  Ö Ö]Y¦@8ST        È  
 þ+   
#¬@  ÖÐ7       x› x»2    x› Ö,  x»       ÍA âð6      	  
3: Ö[:0ÉS]¬» Ö]1   ÀST   
  
$ ‡À  ÖpX      µÍQ Öp7      ¬ÍV Öà7      ‡Í0 Öà'  
¬^Ñ ªÍH þp7 Ö Ö]7à  ÖàG Ö» Ö]2   ÀST :  
T€0Ì   x›     
F    Ö+ ÖT   S] Ö   í%    þ+ ð]X¬@  ÖpX    
            
X                Ç x»A¬  S¬}  S    x›   À x»G x›     
X         ÖÍ) ÖÐ7       Í6 ÖàY¬Å=1¬p }P   
    Öý6 ÖÐG  ÅË   ÇÍC  	    ÖÍG ÖÐ7 þ»  
Tü0À µ®Ä    
EX@G       
I   G       x»W   8   .»   
&\0À Ö®Ä Ö+ þ^Ä   ɬ]3  
^Ã
M ÖÐX    
#          
I   É  
 Ö+@T    Àü]6 þ+  
)¬@  Öp7   	:@Ç  
%  
  
0   G    Ö Ö]Fh@  ÖÐ7       
!   @» þT   
Y¬T   
  
V µÀ  ÖÐ'  
^Ã
MV ÊðG x›  XM ,        É  
       
          
      x»W       Ê«	@T   
6üT S+ þÍ8¦0ÀS €»	 þT   
I¬T     
   G    }Ë   Ç âÍ$ ´« ÖT   S]  
  
X   Y         É  
A
¹4    
C      ü=Iü@  þ   þ+
  
C@  ÖÐ' ʹ    
     Ö+ ÖT ¦@8S]3 ʶ    
#     þ+  

@  ÖÐX     ÖÝ3     Ö» ÖT :­8ST @» þ]&€0À¬T   	    x»V    ¬» âT :@Ç}]1       
&             
`  
P  
@    
c    MH          Ì  
       
U  @ þ]€0À¬T 
¹9    
S    S+ þÍI¦0ÀS     @Ý5     Ö+ ÖT ¦@8S]   x›   À x»@»
 þ]9€0À¬T   
    ´Í( ÖÐ7    
V   X„E  ¬^Ñ ¬Í# Öp7  
     É  
S Ö¬]B@  Öð7@ü3 XM1@S   	      
W¬ Ö]0   ÀST        
        
   Ç     x›   À x»U    @ÝT   þ+S='S@ P    x›	   À x»`€ þ]¬@  ÖàY     SýP ÖÐG  
 x»"   À x�     
C ÖÐ  ÖÐG    x›  
V x�   
   ÍR ÖÐG þ ¬])S@  þð7ü»   
€0Ì    (µÃ”k@mT
f: âT :0Ç}] Ö» ÖT   
ST ¬  S¬}8  S    
$}@  âÐ6  
 x»F   À x�     x›   À x»%     @ý      	  
T     ‡« â]  }T  Ö ÖTs¬M` Öà7 Ö+T   	¬]V Ö+]  ÅT     
Y   Ì      
F   G   ª+ þ]Tü0Ì.T     
    É   Ö+T    §@]9 þ+]BS@ SP     
H              	  
 ð¹    
$        
6SÀ  ÖÐG  	     
           
R    
X¬L    ¬ Ö]I¬0ÀST       Öý(           
P Ö+ ÖT ¦@8S]1  	     É  
U  	¬^Â ÖÝ2 ÖÐG       	  
7  T   Å]9  SÍ`   8 ÖÀ ]¬@  Öp'    
V             SÝW    ¬  hMG Öð7     x»@  Z    
	           
&       Ö¬]¬@  ÖàG  T   Å]"  
    Í$ ÖðY@
ü] þ@  ÖàY þ+  r:M# ÖÐG   SÍD   G ÖÀ € þT €@G¬]c@¬S XMXüS  ´¶      
    
 ¬À  Öà' x›     
a   
¶    
      
 x›   Ç x»       
@   @®Á
^Â    
     x»7    
  
        ¬»
 Ö]@:0ÌST  þ+    ª}%     ¬ÍE   8À    Ö^ ÖÍ# Öà7     SÝH ÖpG       
    Ö
 Ö]h@  ÖÐ7    
	             µÍ4 þp7 þ+  
}@  ÖàY þ+ â]T}@  âà6      x»     
 x›   Ç x»U ¬]¬@  Öà'      ‡Í$ ÖàX¬ Ö]!  ST   }Ë   Ç âÍ)        
	¬ x›   Ç x»    
& ´À  ÖÐ7 ¬]D@  âÐ8    
 ÖÝ   
  	     
     SË   É ÖÍ%   x»3 âÀ  Öp7      Öý$     
]
@  ÊàG(»
      
 þ+  
T:@  ÖÐG¬¬T hM Öà7  
T ¬MA ÖàX  	   @Ý&     
]@@  ÖÐX    @Ý        
 µÀ  ÖðY    
               
   @
]¬@  ÖpX€» þ]c  ¬T  ð¶   	  
          ¬ÍQ ÖðG â»
  
0    
& Ö¬4 í2ST   
0 â[:0Ç}]E Ê« ÖT   
QST   SË   É ÖÍG¬ Ö] ¬0ÀST  Ê« ÖT   
2ST .   
'\0ÀS      :@É  
¬ Ö]:0ÌST   
  
0    
c  
  
   Ç      
     É  
&@  ¬}!   Ö   ÖM5  T ¬M ÖðG þ+  
7@  Öà7      ´Í ÖÐ7      
     —¶0    
!        
Sý5  
  }Ë   Ç âÍI  @Í5   ÈÀ     x› Ö,  x»@	 µ]'Å@  âÐ8     ÖÝU  ¬ Ö]1X@  ÖpG   x»I       
   Öý   Ö ¬^¦M ÖàG       É  
Y x›     
    Ö ÖTs¬M) ÖàG Ö¬]!@  ÖÐ7    
        €	 þT    G¬]	 þ+  
 þ@  ÖpY¬ Ö]Y¬@  Öp7 Ö+ ÖT   	S]       Ç  
W      µÍ# âÐ8        É  
      ÖÍ ÖÐ7      ÖÍ ÖàG   x›
   À x»'Å®Ä  :0À½0 ð¶)    
1      ¬Ë   ÉÍB       
B           
c        þí%        ÖÍ  Öà7      
   ¬ Ö]F  ST  þ+
  
4@  ÖÐ'        
Q         ÖÍ3 ÖÐ7€»
 þT   
a¬T ¬» ÖT’ x»SSTs x›	 x»#  › x� :»      
S
¬]'@  ÖpG   x›    À x»C  
  
   G        ÖÍ ÖÐY      ‡Í) Öp' Ö^ÂM ÖÐ7 þ+ ¬:@Y:½: Ö]Q:@ÉST  â+
  
):0À        É  
R  
   x»    }Ë   Ç âÍ     
"  	         É  
R  
    ‡ÍW ÊÐG      µÍ7 âÐ6         x»W¬ Ö]:0ÌST       
3         
D   ¬»
 ðT :0™S]a    
}@  âÐ8    
SX@G  ü Ö]5ü@  þp7      ÖýD      x›	   À x»4    
¬@      x›      É x»0 ¬]}@  Öp'     	    x»5     @ÝA    x›     
         ÖÍ ÖÐG¬S XMESS     
"@      Ö
¬TrM ÖÐ7 ð¹)  	  
C     x›     
P             
	 þ+h]@  Öp7       É  
U  ¬^Ñ ¬Í6 Öp7   â^Ó ð^à  
      SÝ! ÖpG Ö ÖT   	S]       
&   ¬» þ]I   À¬T     
           x›
   À x» Ö
¬](à  ÖàG x›     
6    þ+ µ\@M âp8    
2       x›
 x»U   É x�     
               Sý( ÖðG  	  
%         ¬  
}@     :  :0Ì  
 þ+  €½)     x»   É    ʮà þ[ü0Ì.]0  SÍ   G ÖÀ   ÿÞÐòêÛâßÝÜÚØÖÔÓÑÐÎËÉÇÅ¿½»ºººººººº»¥½½½¿ÀÂÃÅÇÉËÎÐÑÐÁ´±µÃð)1,6GIHPNQMOUSVY\_bcefhijkkjhYB;)íÇºÙØÎÚÕÑÓÒÒñ&**&øíåèí    ¡öÐÎçêêÞ4YUEÄ—Gðÿ_hý$*
 ûõèåÝÛÑÐÀ„߀¯À€€° €ˆ¦ßæ›Çßß»Ûßà í0ýØ/,:÷|?màg`7hH+@DçP ýÚúáÝÀ²·Í¨««²ƒ›¢¦¦•¹„€·¦€ËÀ€€ÿð€Ï ¢“öµì²Ëÿ(À×`ð#C÷?V SUh-{PHK8xmPmHw~0oD ?+å((èÕùÍò°²² £ˆ¾€§€€§€€‡ €€Ô€€ €ûê€�7°€À °èè3¿’ÿ¥ß ¾÷P Õ+Ì$;7\
?x@U(7}Pmh1ãW `.H_gD ,(ÿÜü±ò ¼Ð€µ€Òª°€½Ð€¿ ¯Û€€Óȩ舳óÌ€±ü ï Ï ¬÷Ô¶ÿX°çÜ+ çGJE+h?`_ed`=@ýdìJ5D;V Èo ÿaçÓ(8Ø7nÔÿ&àÿí; ä÷ ð²ÌåºØ€&€¿Ö€¼ä€€¶„€è€§®€¼€¿à€óü÷Ð/(70P>k+}lS_H{|~U`/Ov0×~*4$ÿ0ÛØ@è¼- ¬ðïà€ï €É€´¯è€× ˆ€ð€‡Ì˜•€€·Ø™ËĬ €³⨼ ØÐ» ¿(§3аïkà3ç] ÿ"tØKHGD*(<+?oÉxÍPíè ?Ðß,ïçØ¯ �€ôÈà€?À€ä߸—ا½À�èÆÝ¶‡ ¬ËÐÉäæè¯ìû
´Õ à@€OÐï÷»@¦GÚÿ
ÿù2ç-ñ#Ò/	ß[Ð	ßP‹4üÊ? Û)ß ûýB¹ÿHÀ ÏMàÃ÷P˜ì÷èüÛýùàÒç.°ïôÙüØ×÷Ø ÅÍÏ=ë÷û(êò ÿ4Ç Àý§Ç	üåðÿÛïNë?ä÷T2ïo<ûcp ?H'!MßW÷
ßêøÙåø×ë¿÷¯Òä‘òð·ÀúÒ¯à·Åì©àÜÖÿÕü¼÷˜ÐïÄ$¶ê û ç(×ëBÒWè7@ïU+@/?8$kÿH((C?$ Pè ÿ èýò·ê÷¨÷ÐßÙ¡ñ¡Ç˜È­Ø±À¿Â°ÇÐÃÚÜÏÕÎ÷áÈøíðÿ2â/çÿ; M'8ÿJ?2b'@2O :
 
/ìÿðàîàèÛô×àÏÌÚ²×ØÀ߰ߤßô¶ÛÐïÔݵýð Ñþã÷àÿ íï3è( ÿóDßñ   ÷Ùú,Ìáì÷!èÿ<Ý øø
ûü÷ÔìÝíìôíÝÃú Õàìææóèñëõæóí ë	øÿä	 ä2ÿÿæÓøùú
ñ   å+èý ïÚ ïÿêðÿÿúý ÿþô$û!ù 
2
ù'ù"÷ÿù ôìûìåüòâûàîÞüâÛùæâãí÷ÙîðçäûÞÈÚüàçôí Ýñøïøð  è&ûèýæã í
îÿôîäßýõù	
ú
ø ÿ
 ÿÿüóýõÿü÷úüåóåìñüýåÿóðõöõüÿ õ
íúèøõþõÿüñôüôùúöÿßëìûþôýî ü
öû 
ÿ
þú öøôùôçâùèòðãðûêãóàïðíòâñúá÷øû ý
öù"		  
ü þøüþý í õû ðæýöí ÷ýõòûåúòøóüûøøõõí	øì	ù öøòþ
 û 


ýûÿþ	ÿ	ÿ÷úñìýñèûýùòúõøð÷óûèÿóðî èûí÷ûøìòþõüúûð  ȵ¸½Î»kUjVÊÑ;  ȸλkU¾¸½VÊÑ  j-[D[JSH`OXY\w@+<öõо±ÈÄÚ  0))"'!-%)*,9û

ûèÏÜãâí  SdPMcUC^i-<{|``||t|jYrfHmo*QX ßÛæßÔ¶ª¬·—’‘‘“„‰˜„€�“ƒ¶´‰ƒ•±ñ΀¥¯¢èØ×ç   $*06;AFKPUY]beiloruwy{|}~~~~}|{ywurolieb]YUPKFA;60*$ úôíçáÛÕÏÉĵ±´¯ª¦¢»¹–“�«©ˆ†„ƒ‚��€��‚ƒ„†ˆ©«�“–¹»¢¦ª¯´±µÄÉÏÕÛáçíôú    «<Jþ{�™êÇ}Ñóò¦ç%¶Îþüm!7(²”3³ä
E˼¨à¼)´ïW\_†³«9‚‰}q©ÜgÐ"F«ñé¾0o¶îùu.¡”Yi€Mè…¾Y@X×û®<¹
E±F_ÎâÆ8«$µVK=ͬY„¦¼Ì$<,kÎ-öªÚdÃ7ý©·®äÓ©›ù1~Î-Møïƒ¾±îÚÐ2°Ãs
¹$fáÞ®ˆ],G•E_üw7æf{F}Ö·ûm8@]m½xÓ	ev'
·gq²ç£À»9¹®•Sæë‘©Z¶Ù×R?Ò´Ç]	¾OÜL…S謡6¢D„$€J5C?xØ“–ûÙy¥Ó
Þå\¬Ç‘Ô,Rà·op›Ø»`þD]ïGÖ&qÿ¹j}âlq*R�ë­Ê5.ÃýY÷*ÚDÊGÛ§gz‚�“±¥`íUÛ«f'y±x§¶¬˜û Dn¡^ˆ&®(V èfíîDw’`Ø{`´iak»»Ì¢DÙþ‘tF:~Y¦!ñÇèðFó¶{ôÑ›í›-t=Ï‹o§ÀQ¬Mín·~ÄßGÚ NÙ¯‚ûpv|\àã¥ø¶‡/‘ZÔàzÖ•é|Á_Ó7\o{ÝKt“³¸Ä«	úZ
¹	¯•Û%Yt|olìÊ,1Ƶ›\ͺ9q®ˆ¶s8ÇÄxðMûÒwYSÁ9<÷ï‰ês+Ò!)îÙVÈ$¹a®ºàè=ë§‹ÞK1Ô9�êÝ#ýµk²½ÒÔ®5Ë·)BwÍ2¡Ó«z4µ¶f²äî¿ ÅýT©ÖPì°ß,ױǻJô’D†æ”ȯìKIÀ®–—O—“°µ›·:¹²Üðºº+qtT±‹Ý‹•Ê:…º$”ÜDûo{L€8éz¶¨DÎû¯ÆƒZ]lù}Äæmþ—በ»¨™"µìØîÛy%~™>gÐñ„ºë€ÅÖ)æ?‚8%¦81®ð§Kul)HÖÝèÛá&d´l£LyÞöþò\¹ÖÊ-x5vÔ„ª1Ö¢UЉ@Þ«7<íUQ©ùÆUFcP<ÖÜUÁºÆS')^B3=êGüw€'t^p]ï/4Ën0¦w©ÔâÞ”ùù\ˆZ©ÎÇH„]åó9¢bÏbmâÖ”‰ï‘^%®a=« ËÊ×꥘ #-™A^ß6BX‚ƒÃ¸G›‹5£?ØXÙè@†2pá¡%¦,·ô¼)¸ÔÅ,4ÿÇV1ï˦È`Í.v¶bd_1xò–ºg™tÀÂu¥^ûL—~¦5@±†¶þ!¡4rl°~C_đŪϱ™ªkJÍO ¸rÇ­–ô©ÄÄ:åˆ:�mG�ø¼÷IyòãÒ{q¼F[Ê…kifÜË�xðNΓ¹-@ˆn‹g••®ãðµ¶‚÷0ª£ˆd‚¸p»÷?S°‰$4lã¸Ã(
pjGTb/ùÆë¶‘Ô‚fôùTºªwµ6Î:pt‹¥è�¥{Ó-Xl#.û‘slƒm±t‰%"¥—‡­â¿N>Ú–,xn÷lLa‡jOgÅv¦3{–¥½27€¶	Oð L'‘É'Oç GCî6#¾ăߩj§b}öÖò‘çÏ=»¦9¢
b_X¢±Ï=s#*:6µt%Ae7}ÉÚ£´aßzSÏSr1ƒ~­¢(·ëîÛ¬�G	1g݉N vÌmÓÎ.>UÌÁ=®¦kÜDõTÜ'3÷vwêÑFÚ3Òu“¢?i'†%1\›>¬gE†>ࡽàdwòzZæå‚û*‰µgØ8àÂà «Ü�qÇE)׬&n¯¬í«Mbˆû×'Øp'¡kÛå5ké_çs[»u!6Ç(ÕÅý® ¤ß�ŲF»ÀÅÄrÌÔȶ¢aÓÓ ¹w-¸&eý®ùßM£Ð:Mo½D8?j·¹%L
*²]Ú_±ì ÍÔQü€}d^)uù7ÌN¶ä“îÀãwÕªw«ñJTãDÖ(
„»Ghë)B®êî
™+eÒ“UÙ#¶M¬Â)«aò¶OÐW$ç1vöÄ2©ã·¤ÈóI;AÞÃ�@äûÔFÕ…ö«=Yj¤5§€&"{EDîUÐ@¥Nªºµ ýF#…ÊvÈfI·gù±©W¢#¨{nß)ÄþXþâ;›½¿J¶;OµõFU6áÉy‹Yf«’Ï�¢	½WsPk•·Ô®BwÞÚo1;w!¶™Ý°ý}õ,Ú"•‡È«d•*ܧÙz Ïö  ¢35WѴ܉(«]@&LY·¾v®¢®êp{ÈÛ
ðB²jêÐÏ«òÍ¥ÇMÅG×ÔìHPL²És[éÂð+2,–ɦ
4rwè¸åGµx Å+s(¥ó·¶×~ó¦ D¦Ù“íIîî÷ÂÁ»†ˆý <ÛNfÏ/p–,΀Òò•²eð8M^`ÊM÷äºÉBuƲÞ©‚ûÊ=h±/Y­íØ«]âæ´ú¯,³»F+wvz¿5]eäÑEbÒÿrs¯nûAÛ£z¢Ô”w–ˆ•ü[¦~öê�ÅÕ¡Dy¬mbýä­çꉈ²â²tñ”c“MmwÐØmµ²Óö0-?˜‰þ!´Ý>©%,ëȱK[6$l¾
X¬\F»ëµ¸z|=UByTÔ·l8×Ðó«U[»ñ謩&Ø$MKÔÖcA‰O…"ĵϫfÄ‹zà°“×Ï}ꯨ@âÏ}%jB--mM©ëÕv))‹öïÁ0Ñ—kpB¶y6/è’|SS:f«ùG'?ûVÀ‘#à*f©Ô*mµ2qdZ‰eƒ5«öí%«Î'­[h˜à\J—‹s„!ãE¤k«×Àì‚z}“§z-øm,þøüx@ðÇd_ lÒ·|»¹âpa hþS¡„¿ü´¨S�æ]–-´¡uÊ1Y4»øÜ–Ð	ý‡âHƒñCSÚd!ÆäæEhT<|V7FÅ{­S+5sH¶éðܲKt©¬_ZUêÕV|-&>&*Üý* ÂW/ßB—¹ºÚR\ýM±×H½ÿSPÉÔÕ‡ðê©·ÔË‚ò;6zMy07 f¯EXjôa´:xû<:	cJΰ*wà½bìÝJ€„aÙ¢'c¤ç"2áÜÎdÉÀ÷»'I¶j/J¾gKˆ`}¢]@Ül;·ùîõÂz/dm–‹?Ý­—$¯êâ¦lÐoÊð9¶¨åÁeǯõ…JX*Òìº)Î+°8²·Ã|½¢éÁ‘Ûuã5xøvé Qư™®ØÎF`þñ½ßBZftF�’mÜÆ{@d
 ¼é:?ú•,hJFÝ=€öÉújËÍcÒ}L’‘òÒE¥˜ˆÅ¬Ùù¿\¢ã©<>ô›ÈXl_
 a¶,RsÑx3‚lXÖã“ë5¶çd5ÓU ;±ø!!ûÿÆX÷™©
2Úcx“l®Ñ î	fä_>‰æ~ù¦ê-@ÈRð-‚¶öa WÒûK@íu¬¤BµBßÓÿ¨þL˜#X÷+´õ^¥ÖJ«!2>umM¼Çy¡›µ‘Ë°ÖØ‹eo'K§Ê}õÖ±_˜¾¢¿ôxOFòª�|¦úéÒ@õp/7äÓ3©Vt‘¶öx¬C›Ç”Á]ðD·Í§߯Sí£S2ÞN±J¿ELX€ÃæËÑ7#Mõa%·\nçY¸·sÌG§Öá±%RÁtöXxþ7AÂ%1þʬù\ÒíÜ7Iºg\ÕõbÝ} åÐo¦Ø(l4eú4›„‘®ó£çîüÒˆ´•ã$‰v¥–9S÷x®Ö)ƒ{^ï­z¥ü$e,z½i­ÌxBví˽ø²6yPªþ‡h¾©6{{¬VÓà3ªÖ ¶	™exµéH±¼‡ÛUÅ̆knâ;N¦ªrìåƒ3´;léÛÅÏ÷µ}<Z­c¯2N
¼aBàÿuG“GSrõ¦ªÑf>]OVðÎO±Ó	gïÓ±ßÚq«ç_¦¶“ÝñIÖ†W±}c1õñ3¼m#3ö–è±ð¦âH¡Í†	戔E½ÐPéÿ©ÓâÃØxBËÆ‘õÎíQ¦˜/»äJõÙµvtØO·/gP‹~ª
E/ü=k‰g 6­
Ζ›Snüª'_:Ý©s¯ÃÑârû-…Ê
I‰‰Ýt¡#˲„ú+#Áö×A¶DÃç¡  ÐêâÝÚÖÓÐËǽºººº»½½ÀÃÇËÐдµð16IPQOSY_cfikjY;ÇÙÎÕÓÒ&*í  RTEIIPURQNNUWUYceB%)ø

뻼ÄöÜ  SdPMcUC^i-<{|``||t|jYrfHmo*QX ßÛæßÔ¶ª¬·—’‘‘“„‰˜„€�“ƒ¶´‰ƒ•±ñ΀¥¯¢èØ×ç  SdPMcUC^i-<{|``||t|jYrfHmo*QX ßÛæßÔ¶ª¬·—’‘‘“„‰˜„€�“ƒ¶´‰ƒ•±ñ΀¥¯¢èØ×ç  SdPMcUC^i-<{|``||t|jYrfHmo*QX ßÛæßÔ¶ª¬·—’‘‘“„‰˜„€�“ƒ¶´‰ƒ•±ñ΀¥¯¢èØ×ç  */
/* This is mod.obbfuscated.c. Compile with a C99 compiler. */

#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#ifdef DEBUG
#define dprintf printf("%s():%d  ", __func__, __LINE__); printf
#else
#define dprintf if(0) printf
#endif

static const uint8_t CMD_JUMP = 0x7;
static const long O_MK = 1080;
static const long O_SONGLEN = 950;
static const long O_SONGPOS = 952;
static const long O_PATTERNDATA = 1084;
static const int POSLEN = 128;
static const int LLEN = 4*4;
static const int PLEN = 0x40*4*4;

/* Module state */
static struct {
  /* Each source line has a "next" line where the linear succession is copied. */
  int *nextline;
  /* Allocation state */
  int *linepool;
  /* Source pattern data, destination pattern data */
  uint8_t *srcp, *dstp;
  uint8_t songlen; /* 1..64 (128) (number of positions) */
  uint8_t hipattern; /* 0..63 */
} p = {NULL, NULL, NULL, NULL, 0, 0};

/* Source file, destination file */
FILE *sf = NULL, *df = NULL;

void init(void)
{
  fseek(sf, O_SONGLEN, SEEK_SET);
  p.songlen = fgetc(sf);
  /* Truncate because PT supports only 64 patterns. */
  p.songlen = 64 < p.songlen ? 64 : p.songlen;
  p.srcp = malloc(p.songlen*PLEN);
  p.dstp = malloc(p.songlen*PLEN);
  /* Make a linear copy of file pattern data to p.srcp */
  for (int i = 0; i < p.songlen; i++) {
    fseek(sf, O_SONGPOS+i, SEEK_SET);
    int j = fgetc(sf);
    fseek(sf, O_PATTERNDATA+j*PLEN, SEEK_SET);
    fread(p.srcp+i*PLEN, 1, PLEN, sf);
  }

  fseek(sf, O_SONGPOS, SEEK_SET);
  for (int i = 0; i < POSLEN; i++) {
    int j = fgetc(sf);
    p.hipattern = j > p.hipattern ? j : p.hipattern;
  }

  p.linepool = malloc(p.songlen*0x40*sizeof(int));
  p.nextline = malloc(p.songlen*0x40*sizeof(int));
  for (int i = 0; i < p.songlen*0x40; i++) {
    p.linepool[i] = i;
    p.nextline[i] = -1;
  }
}

/* Allocate a line having number n in any pattern, or nothing. */
int lines_allocmod(int n)
{
  n%=0x40;
  while (n < p.songlen*0x40) {
    if (-1 != p.linepool[n]) {
      p.linepool[n] = -1;
      return n;
    }
    n+=0x40;
  }
  return -1;
}

/* Allocate any line. */
int lines_allocany(void)
{
  for(int i = 0; i < p.songlen*0x40; i++) {
    int n = p.linepool[i];
    if (-1 != n) {
      p.linepool[i] = -1;
      return n;
    }
  }
  return -1;
}

static const int JUMP_NONE = -2;
static const int JUMP_ANY = -1;

int jumptype(int l)
{
  int absval, abs=0, any=0;
  uint8_t *entry = &p.srcp[l*4*4];

  for (int i = 0; i < 4; i++) {
    if (0 == ((entry[2] & 0xf) | entry[3])) {
      any++;
    } else if (CMD_JUMP == (entry[2] & 0xf)) {
      abs=1;
      absval=entry[3] % 0x40;
    }
    entry+=4;
  }

  if (abs && any) {
    return absval;
  } else if (1 < any) {
    return JUMP_ANY;
  } else {
    return JUMP_NONE;
  }
}

/* Find and allocate absolute line allocations. */
void pass1(void)
{
  int i, jt, n=0;

  lines_allocmod(0);
  for (i = 0; i < p.songlen*0x40-1; i++) {
    /* Get preference */
    jt = jumptype(i);
    if (0 <= jt) {
      /* Absolute allocation */
      n = lines_allocmod(jt);
      if (-1 == n) {
        printf("ABS: i=0x%04x, n=0x%04x, jt=0x%04x: allocation: FAIL\n", i, n, jt);
      } else {
        dprintf("ABS: i=0x%04x, n=0x%04x, jt=0x%04x: allocation: PASS\n", i, n, jt);
        p.nextline[i] = n;
      }
    } else if (JUMP_ANY == jt) {
      /* This is an ANY allocation: processed in next pass. */
    } else {
      printf("NONE: i=0x%04x, n=0x%04x, jt=0x%04x: allocation: FAIL\n", i, n, jt);
    }
  }
  /* Force jump from last line to first. */
  p.nextline[i] = 0;
}

/* Arrange the n elements of array in random order. */
void shuffle(int *array, int n)
{
  for (int i = 0; i < n-1; i++) {
    int j = i + rand() / (RAND_MAX / (n - i) + 1);
    int t = array[j];
    array[j] = array[i];
    array[i] = t;
  }
}

void pass2(void)
{
  /* First randomize the remaining lines */
  shuffle(p.linepool, p.songlen*64);

  for (int i = 0; i < p.songlen*0x40; i++) {
    /* Get preference */
    int jt = jumptype(i);
    int n = p.nextline[i];
    if (JUMP_NONE != jt) {
      /* Absolute or any allocation */
      if (-1 == n) {
        /* Not already allocated (could also be unresolved absolute jumps. */
        int a;
        a = lines_allocany();
        dprintf("ANY: i=0x%04x, a=0x%04x: allocation: PASS\n", i, a);
        p.nextline[i] = a;
      }
    } else {
      printf("NONE: i=0x%04x, n=0x%04x, jt=0x%04x: allocation: FAIL\n", i, n, jt);
    }
  }
  {
    int a;
    while (-1 != (a = lines_allocany())) {
      printf("Unallocated line: a=0x%04x: FAIL\n", a);
    }
  }
  /* Verify */
  for (int i = 0; i < p.songlen*0x40; i++) {
    /* Get preference */
    int m = p.nextline[i];
    if (m == -1) {
      printf("i=0x%04x has no next line installed: FAIL\n", i);
    }
    for (int j = 0; j < p.songlen*0x40; j++) {
      int n = p.nextline[j];
      if ((m == n) && (i != j)) {
        printf("Loop detected: i=0x%02x, j=0x%02x, n=0x%02x: FAIL\n", i, j, n);
      }
    }
  }
}

void setjump(uint8_t *entry, int jt, int dline)
{
  uint8_t pos = dline/64;
  uint8_t row = dline%64;

  /* B command must be BEFORE D command */
  if (JUMP_NONE == jt) {
    /* do nothing */
  } else if (JUMP_ANY == jt) {
    int found = 0;
    for (int i = 0; i < 4; i++) {
      if (0 == ((entry[2] & 0x0f) | entry[3])) {
        if (0 == found) {
          entry[2] |= 0x0b;
          entry[3] = pos;
        } else if (1 == found) {
          entry[2] |= 0x0d;
          /* Next position of the song and the row row. */
          /* Silly decimal representation! */
          entry[3] = (row/10)*16 | (row%10);
        }
        found++;
      }
      entry+=4;
    }
  } else { /* JUMP_ABS */
    int bdone = 0;
    for (int i = 0; i < 4; i++) {
      uint8_t cmd = entry[2] & 0x0f;
      if (CMD_JUMP == cmd) {
        entry[2] &= 0xf0;
        entry[3] = 0x00;
      }
      if ((0 == (cmd | entry[3])) || (CMD_JUMP == cmd)) {
        if (0 == bdone) {
          entry[2] |= 0x0b;
          entry[3] = pos;
        } else if (1 == bdone)  {
          entry[2] |= 0x0d;
          entry[3] = (row/10)*16 | (row%10);
        }
        bdone++;
      }
      entry+=4;
    }
  }
}

/* Copy each source line to destination. */
void pass3(void)
{
  int dl;

  dl = 0;
  for (int sl = 0; sl < p.songlen*64; sl++) {
    memcpy(&p.dstp[dl*LLEN], &p.srcp[sl*LLEN], LLEN);

    int next = p.nextline[sl];
    int jt = jumptype(sl);
    setjump(&p.dstp[dl*LLEN], jt, next);
    dl = next;
  }
}

void dump(void)
{
  char c;
  int i;
  fseek(sf, 0, SEEK_SET);
  for(i = 0; i < O_SONGLEN; i++) {
    c = fgetc(sf);
    fputc(c, df);
  }
  fputc(p.songlen, df);
  fputc(127, df);
  for (i = 0; i < p.songlen; i++) {
    fputc(i, df);
  }
  for (;i < POSLEN; i++) {
    fputc(0, df);
  }
  fwrite("M.K.", 1, 4, df);
  fwrite(p.dstp, PLEN, p.songlen, df);
  fseek(sf, O_PATTERNDATA+(p.hipattern+1)*PLEN, SEEK_SET);
  while ( EOF != (i = fgetc(sf))) {
    fputc(i, df);
  }
}

void tryopen(int argc, char *argv[])
{
  if (argc < 3) {
    printf("%s SOURCE DEST\n", argv[0]);
    exit(EXIT_FAILURE);
  }

  if (NULL == (sf = fopen(argv[1], "r"))) {
    printf("%s: open failed\n", argv[1]);
    exit(EXIT_FAILURE);
  }

  if (NULL == (df = fopen(argv[2], "wb"))) {
    printf("%s: open failed\n", argv[2]);
    exit(EXIT_FAILURE);
  }

  fseek(sf, O_MK, SEEK_SET);
  char buf[4];
  fread(buf, 1, 4, sf);
  if (strncmp(buf, "M.K.", 4)) {
    puts("No Protracker magic string");
    exit(EXIT_FAILURE);
  }
}

int main(int argc, char *argv[])
{
  puts(msg);
  tryopen(argc, argv);
  init();
  pass1();
  pass2();
  pass3();
  dump();

  return EXIT_SUCCESS;
}
[#435] Re: Fajny modu³ dzi¶ s³ysza³em

@nogorg, post #432

od paru lat i mnie pa³êta siê podobna idea po g³owie tym ¿e zastanawia³em siê czy da siê wygenerowaæ tego typu ca³e akordy, które nadal bêd± mia³y rozmiar nadaj±cy siê do chiptune. Matematycznie wzglêdnie ³atwo jest wyliczyæ odpowied¼ natomiast d¼wiêkowo mo¿na dopu¶ciæ siê pewnych niedok³adno¶ci i zaokr±gleñ.


PreTracker
AmigaKlang
[#436] Re: Fajny modu³ dzi¶ s³ysza³em

@AceMan, post #435

To jest zupe³nie inny temat.
[#437] Re: Fajny modu³ dzi¶ s³ysza³em

@nogorg, post #433

Nie wiem kiedy, ale jak znajdê czas to wrzucê go na YT "do patrzenia" ;))))
[#438] Re: Fajny modu³ dzi¶ s³ysza³em

@mikecios, post #437

OK
[#439] Re: Fajny modu³ dzi¶ s³ysza³em

@nogorg, post #438

Mo¿e z okazji trójkowego polskiego top wszechczasów, zrobiliby¶my co¶ takiego w polskich amigowych modu³ach?
[#440] Re: Fajny modu³ dzi¶ s³ysza³em

@nogorg, post #438

Proszê ;) Do patrzenia i s³uchania.

[#441] Re: Fajny modu³ dzi¶ s³ysza³em

@mikecios, post #440

Ha, ha ten jest zrobiony naprawdê z jajem szeroki u¶miech
Lekko, weso³o i z polotem- nie¼le siê przy nim ubawi³em OK
[#442] Re: Fajny modu³ dzi¶ s³ysza³em

@mikecios, post #440

No pikny modu³ ten jest szeroki u¶miech
[#443] Re: Fajny modu³ dzi¶ s³ysza³em

@mikecios, post #440

Teraz dla odmiany co¶ bardziej klasycznego:
[#444] Re: Fajny modu³ dzi¶ s³ysza³em

@nogorg, post #443

"Reaching Stars With" by Jazz
[#445] Re: Fajny modu³ dzi¶ s³ysza³em

@nogorg, post #444

#3 miejsce z TP 1

[#446] Re: Fajny modu³ dzi¶ s³ysza³em

@nogorg, post #445

Co¶ starszego:

[#447] Re: Fajny modu³ dzi¶ s³ysza³em

@nogorg, post #446




Ostatnia aktualizacja: 24.06.2020 13:06:28 przez nogorg
[#448] Re: Fajny modu³ dzi¶ s³ysza³em

@nogorg, post #447

Wiesz mam nieodparte wra¿enie ¿e IMP zjad³ ten w±tek.
[#449] Re: Fajny modu³ dzi¶ s³ysza³em

@nogorg, post #447

Podawaj od razu id z IMPa to prawilnie na Amidze pos³uchamy :D
[#450] Re: Fajny modu³ dzi¶ s³ysza³em

@juen, post #449

Mo¿esz sobie napisaæ parser do postów
Na stronie SCENA.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane s± tzw. cookies (ciasteczka). S³u¿± ona m.in. do tego, aby zalogowaæ siê na swoje konto, czy braæ udzia³ w ankietach. Ze wzglêdu na nowe regulacje prawne jeste¶my zobowi±zani do poinformowania Ciê o tym w wyra¼niejszy ni¿ dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawieñ przegl±darki internetowej bêdzie oznaczaæ, ¿e zgadzasz siê na ich wykorzystywanie.
OK, rozumiem