Root of PB server for FireFox [Resolved]

Just starting out? Need help? Post your questions and find answers here.
User avatar
Kwai chang caine
Always Here
Always Here
Posts: 5342
Joined: Sun Nov 05, 2006 11:42 pm
Location: Lyon - France

Root of PB server for FireFox [Resolved]

Post by Kwai chang caine »

Hello at all

I use this style of code, thanks to Infratec, The.weather and Kiffy 8)

Code: Select all

InitNetwork()
Port = 5000
*Buffer = AllocateMemory(10000)

If CreateNetworkServer(0, Port)

 RunProgram("http://localhost:" + Trim(Str(Port)))
 Delay(3000)
 
 Repeat
  
  SEvent = NetworkServerEvent()
  Delay(100)
  
  If SEvent
   
   ClientID = EventClient()
   
   Select SEvent
     
    Case #PB_NetworkEvent_Data
              
     Content$ = "<!DOCTYPE HTML PUBLIC |-//W3C//DTD HTML 4.01 Transitional//EN|>" + #CRLF$
     Content$ + "<html>" + #CRLF$
     Content$ + " <head>" + #CRLF$
     Content$ + "  <title>Document sans titre</title>" + #CRLF$
     Content$ + "  <meta http-equiv=|Content-Type| content=|text/html; charset=iso-8859-1|>" + #CRLF$
     Content$ + " </head>" + #CRLF$
     Content$ + " <body>" + #CRLF$
     Content$ + "  <div style=|position:absolute; left:70px; top:14px; width:343px; height:128px;|>" + #CRLF$
				 Content$ + "   <img src=|MyImage.jpg| width=|409| height=|169|>" + #CRLF$
			  Content$ + "  </div>" + #CRLF$
     Content$ + " </body>" + #CRLF$
     Content$ + "</html>" + #CRLF$
     
     Reponse$ + "HTTP/1.1 200 OK" + #CRLF$
     Reponse$ + "Content-Type: text/html; charset=utf-8" + #CRLF$
     Reponse$ + "Content-Length: " + Len(Content$) + #CRLF$ + #CRLF$ + Content$ ; !!!
     
     *Data = UTF8(ReplaceString(Reponse$, "|", Chr(34)))
     SendNetworkData(ClientID, *Data, MemorySize(*Data) - 1)
     FreeMemory(*Data)
    
               
   EndSelect
   
  EndIf
  
 Until Quit = 1 
  
 CloseNetworkServer(0)
 
Else

 MessageRequester("Error", "Can't create the server (port in use ?).", 0)
 
EndIf

End  
But i search where is the root of the server for Firefox
I have put "MyImage.jpg" beside the exe nad Firefox not found it, i have thinking also to the temporary folder of FF, but they are numerous folders :|
The more strange it's even if i wrote

Code: Select all

<img src=|file:///C:/Temp/MyImage.jpg|
FF not found it :shock:
At your advice, where i must put the "MyImage.jpg" for FF found it

Have a good day
Last edited by Kwai chang caine on Wed Sep 19, 2018 4:58 pm, edited 3 times in total.
ImageThe happiness is a road...
Not a destination
User avatar
the.weavster
Addict
Addict
Posts: 1537
Joined: Thu Jul 03, 2003 6:53 pm
Location: England

Re: Root of PB server for FireFox

Post by the.weavster »

If you've loaded a file using the http:// protocol most browsers wont allow links that use the file:// protocol for security reasons.
Marc56us
Addict
Addict
Posts: 1477
Joined: Sat Feb 08, 2014 3:26 pm

Re: Root of PB server for FireFox

Post by Marc56us »

There is no document root because this is not a complete webserver, juste a network application that sent a string when webclient ask for it.

Il you need a real webserver to test, there is many that does not need to be installed (so no need admin rights)

:idea: PHP can act as webserver
C:\PHP\> PHP -S localhost:8000

:wink:
User avatar
Kwai chang caine
Always Here
Always Here
Posts: 5342
Joined: Sun Nov 05, 2006 11:42 pm
Location: Lyon - France

Re: Root of PB server for FireFox

Post by Kwai chang caine »

Hello the.weavster
You have right !!!!! again a thing never i think :shock:
I have lost one afternoon to search all solutions for just again a security question :?
So i have try to replace relative links to the full links of the site but this time i have another problem

Furthermore yesterday, i have discover alone it's possible to use this code in PROXY mode :shock:
When i have found this tips, i dance in my kitchen because i say to me with that, i have found another way for helping me to remote this devilish Firefox :evil:
Futhermore i say to me, it's surely better for communicate with FF, in proxy mode, because all the information is forced to pass into my code :idea:
So in PROXY mode, try to load image is not possible because justly, it's my at my PROXY to do all the job
And one time i have download images...i can't send to the browser, because it don't want to load local file
I turn around...i turn around
Image
I turn around... :?

Hello Marc56Us

At this subject if you know how PHP comunicate with FF .....how it send variables environnement etc ...

I have also thinking to use PHP, because PHP and FF have the habit to play cards since several years ago :mrgreen:
But my first goal is directly try to remote FF, because if i adding PHP, i must remote PHP first with window console, etc...and in the same time Firefox

Image

I'm not sure that make more easy my task :|

Since several weeks, i have testing TCP direct, with XMLHttpRequest, after WebSocket with the fantastic code of Celtic88
Remote in PROXY mode
I can use also PHP, and maybe they are again others methods to play with FF
With all this methods, perhaps i can reach my goal, by the problem, i don't know in what order i must use this methods, and even perhaps i need to use several ways in the same time.....
Already i use also , KeybEvent, SendInput.....for sending orders to the FF window itself :wink:

Again a simple idea of KCC :oops:

Image
ImageThe happiness is a road...
Not a destination
Marc56us
Addict
Addict
Posts: 1477
Joined: Sat Feb 08, 2014 3:26 pm

Re: Root of PB server for FireFox

Post by Marc56us »

Actually, you've done so many things that I don't even understand what you want to do anymore? :mrgreen:

À vrai dire, tu as tellement fait de sujets que je ne comprend même plus ce que tu veux faire ?

At this subject if you know how PHP comunicate with FF .....how it send variables environnement etc ...
Download PHP Windows
https://windows.php.net/download#php-7.2
Unzip all in C:\PHP>
Do a test file (C:\PHP\>info.php)

Code: Select all

<?PHP
	phpinfo();
?>	
Open a console in C:\PHP>
Launch PHP as server (-S in uppercase)

Code: Select all

C:\PHP>php -S localhost:8000
PHP 7.2.10 Development Server started at Tue Sep 18 17:01:05 2018
Listening on http://localhost:8000
Document root is C:\PHP
Press Ctrl-C to quit.
Open Firefox
http://localhost:8000/info.php

:idea: You will see a big page with all data PHP received and send and their name
and in console, you'll see all requests

Code: Select all

[Tue Sep 18 17:01:50 2018] ::1:50164 [200]: /info.php
[Tue Sep 18 17:01:51 2018] ::1:50165 [404]: /favicon.ico - No such file or directory
:wink:
normeus
Enthusiast
Enthusiast
Posts: 414
Joined: Fri Apr 20, 2012 8:09 pm
Contact:

Re: Root of PB server for FireFox

Post by normeus »

@KCC
I always wonder what you are doing with HTTP but, I never have time to read the entire post to figure it out. If your image is small, encode it base64 then you add it to your html.

Code: Select all

<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIUAAABbCAIAAADSjNE0AAADRklEQVR4nO3cTZabMBAEYO7kO3GnuY2yz51mFsxgA5LckvqnZEqvlwlp6kOS4UGWlP5h1rIs4T0EnHV4B/m2luX7+/8NSXBP+IYYCdnjnkUPrKIHVtEDq+iBVfTAKnpgFT2wih5YRQ+sogdWgXrc8+FVwvS47cPdhOmROD9YIEUPrKIHVtEDq4A8bruHH0IASfbOv3EPOVhg9CVLjATlwUo46xXrNzr/EKlVC2fPyCcmrmb0mKm8PRLXq7cenhisehU9lr9h3gEvhbce2ypfWei1QuR2IvWoTI5KfLwtN/HoC7F0sTNxc4/i4XIYXJHCPDL/AD0a4zL/HUWMpqycfteyJNXgQTOHknpwG8DySJwfbh7r1xezBqmnRx8JIYE8uKm4enBTAfLgtR/pUSIJ76/Y9MsI78fJA7aW8gjvTefU5vLY+96upNfraXaY3+e7002RLMkHwDyft7+eSXhbgySPdX2s64wqB4/pSEoeO8lJBf+85vYQkkw0XZ7vw13X3/DmxknqKoDneHg/cdL9sO5xJUFWyXjsJKfWw3vt9iipAC5ih+8NrlPk2nd4x90eU6jkPU4kCI2qYMhVos4381pi9sYqPHdFjLpK7HSpeYCTDGJgLmL519pLJCAqezMqGPJfYhAeUDCvDahjIKxg+dei62e7XMbsDB0qRife41GB0Woxe2QHiT4VRZjiFx4d559tdHA4G8hVjGZM7cuawTgmBeiAUVSp/U3wgPBhlD1I4q8iesPqDiTdi6cujOwPwS/upjaDKk23L9LZtB/usa7heXliNM0boYqCx4lkq/Ds7Ei2z+/3sljERj3S8Tbts1WapkWrSmX56vzG4ETywTAqJd/tO+9cshOFKq0k1xVs6P6+okKkVpj3e70uiTrP1NJWHiMq3YF+0rQ7bSGaT/BPG1QrjAMkSF1/uT0zVPTIqqjDWGfkA1BanGz/25Ls6DDIHkcrrNLxTUcxNDsPIc82hAyK12wrv3xUDvU+JTcPuc0Iw9uVzXpXK3FKkwnxEDqpX/g+0bcaoHiMzwY3D/lUHs3ELeX60N0Y9sMaha6Vvt/8sA79Wn3XQWD0rh4+Kq3ZISQe6SEMQmWERzmThwVPeHYW9QPgcO9c2BJBpgAAAABJRU5ErkJggg=='>  



Norm.
google Translate;Makes my jokes fall flat- Fait mes blagues tombent à plat- Machte meine Witze verpuffen- Eh cumpari ci vo sunari
User avatar
Kwai chang caine
Always Here
Always Here
Posts: 5342
Joined: Sun Nov 05, 2006 11:42 pm
Location: Lyon - France

Re: Root of PB server for FireFox

Post by Kwai chang caine »

Excuse me at you two, for the late answer, but i don't understand why, since several weeks i not receive the mail of FRED when i have answer of thread :shock: :|
I have search in spam of my webmail, and nothing...i don't understand...decidedly...even the mail don't want KCC programming :|

@MARC56
Marc56 wrote: Actually, you've done so many things that I don't even understand what you want to do anymore?
Yes you have right :oops:
In fact they are several years i try all i found in the forums for remote Firefox, the most simply possible (I know ..."simple" that not see for you :mrgreen:)
(Simple, Je sais ça se vois pas :mrgreen:)
But since several years, i just found hard ways for me, Python with selenium, Remote in WebDeveloppers mode, MozRepl with JS, etc ...
And me, i want just can say to FF :
- Navigate to "www.google.com"
- Write in main field "Nice womens"
- Submit Google
- Clic on the nice link found "Http://NiceWomenForKcc.php"
- Read text, or HTML of the page
- Download the nice picture of my futur wife... and keep it in your bedroom for the life

Image
:shock: :mrgreen:

You see..even when i try to explain to you...that not works :lol: :lol:
Marc56 wrote:Download PHP Windows
etc .....
Yeaaahhh !!! i have not understand the first time your idea :oops:
I believe you want i remote PHP with console for it remote FF :shock:
And i say to me..it's already enough hard for me...if i must adding PHP between FF and me :lol:
It's a real good idea...another way you open to me :wink:

In fact, what i search to do, is really simple
I want have the same thing than the OLE/COM for IE, but with FF
Apparently that's simple, but finally they are numerous way for remote FF, but fully...much less :|

I want create a BOT, because since several years i have used VB6 and IE, after PB and IE, after again PB and FF with REPL remote in JS, but this last way not really works (numerous bug :cry: )
In fact i'm forcing to abandon IE, because several site not want him, bacause never at the top of the HTML5 :|

Furthermore, i have now the habit to use FF, and it can be portable, it's a real good thing because i'm not always behind the same pc 8)
So i say to me, they are surely a really simple way for remote FF, with PB
It's the reason why, i begin to ask if
- I can connect PB to FF (Ok)
_ I can send data (Ok)
- I can send JS (Ok)
- I can send Js without clear the page (Difficult but with XMLHttpRequest an The.weather code it's possible)
- I can send more simple Js without clear the page (I found splendid code of Celtic88 creating WebSocket and that works)

After the problem is to send the page, with images and send the confirmation, etc ...
And i have an idea, perhaps i can use the code Infratec, The.weather give to me for use FF in PROXY mode :idea:
And never you believe me (even me i don't believe my eyes)...but that works :shock:

I have try the nice code of CxAlex Server Proxy, but that not works for me :|
So i decide to try to do muy own, but the most really simple possible

The only problem, is to have the images, because FF is connected to my code PROXY and not can have images
So i have thinking to download the images in local, and after sending her to FF
I have lost much time for do that, and try for that works, and The.weather say to me, it's impossible FF lock "file:///" :evil:

So i return to my first idea, send the page to FF, and change the path of the HTML i send, of relative to full path, and that works too :D

But with your idea, perhaps i can remote fully FF, sending to him order in JS....
I try to see :wink:

@NORMEUS
Hello Normeus :D
Yereees !!! it's a good idea...i have not thinking to that !!!
Often the image of a page is not really big, it's a good solution for see it
Because i have search how forced FF to download locally image..but apparently
Someones say in the web to adding that, in the prefs...but for me..that not works for the moment :|

Code: Select all

user_pref("capability.policy.policynames", "localfilelinks");
user_pref("capability.policy.localfilelinks.sites", "http://www.example.com");
user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");
@U2 ...
Image
no.... :oops:
@YOUTWO :mrgreen:

Again thanks at you two, for try to help me 8)
Because since all this time i begin to be a little bit tired to try all what i found on the NET, for always the same thing, and never have succes :|
ImageThe happiness is a road...
Not a destination
User avatar
Kwai chang caine
Always Here
Always Here
Posts: 5342
Joined: Sun Nov 05, 2006 11:42 pm
Location: Lyon - France

Re: Root of PB server for FireFox

Post by Kwai chang caine »

Marc56 wrote:There is no document root because this is Not a complete webserver, juste a network application that sent a string when webclient ask For it.
I have found, in fact, the path is really the path of the exe
Thanks To AtomicWebServer i have understand that 8)
And i Not believe myself, but that works :shock:
Again thanks at you all 8)

I continue my fight With bad FF.... :?

Image

(Obviously...you have recognize me..it's easy....i'm in blue) :mrgreen:

Run this code and clic on this link http://localhost:4000

Code: Select all

Global Title.s = "Atomic Web Server v2.0"

Global Port = 4000

Global WWWDirectory.s = "www/"
Global WWWIndex.s = "index.html"
Global WWWError.s = "error.html"

Global BufferSize = 1024, *Buffer = AllocateMemory(BufferSize), Buffer.s

Global ClientID

Declare Start()                                                 
Declare ProcessRequest()                                         
Declare BuildRequestHeader(*Buffer, DataLength, ContentType.s)  
Declare Exit()                                                  

Start()

;Affichage / Show application
Procedure Start()

 Protected ServerEvent, Result
 
 If Not InitNetwork() 
  MessageRequester(Title, "Can't initialize the network !", 0)
 Else     
    
  If CreateNetworkServer(0, Port)
  
   OpenWindow(0, 0, 0, 800, 600, Title)
   EditorGadget(0, 0, 0, 800, 560, #PB_Editor_ReadOnly)
   AddGadgetItem(0, -1, "Server listening on port " + Port)
   
   CheckBoxGadget(1, 10, 570, 200, 22, "Show Log") 
   SetGadgetState(1, #PB_Checkbox_Checked)
   BindEvent(#PB_Event_CloseWindow, @Exit())
   
   Repeat
   
    Repeat : Until WindowEvent() = 0
    
    ServerEvent = NetworkServerEvent()
    
    If ServerEvent
    
     ClientID = EventClient()
     Buffer = ""
     
     Select ServerEvent
       
      Case #PB_NetworkEvent_Connect
       
       ReponseClient$ = ""
       
       Repeat
        FreeMemory(*Buffer)
        *Buffer = AllocateMemory(BufferSize)
        Result = ReceiveNetworkData(ClientID, *Buffer, BufferSize)
        ReponseClient$ + PeekS(*Buffer, -1, #PB_UTF8)
       Until Result <> BufferSize
       
       Debug ReponseClient$
       Debug ""
       
       Content$ = "<!DOCTYPE HTML PUBLIC |-//W3C//DTD HTML 4.01 Transitional//EN|>" + #CRLF$
       Content$ + "<html>" + #CRLF$
       Content$ + " <head>" + #CRLF$
       Content$ + "  <title>Document sans titre</title>" + #CRLF$
       Content$ + "  <meta http-equiv=|Content-Type| content=|text/html; charset=iso-8859-1|>" + #CRLF$
       Content$ + " </head>" + #CRLF$
       Content$ + " <body>" + #CRLF$
       Content$ + "  <div style=|position:absolute; left:140px; top:140px; width:150px; height:150px;|>Hello i'm KCC !!!" + #CRLF$
       Content$ + "   <img src=|image.jpg| width=|150| height=|150|>Laughing out loud" + #CRLF$
       Content$ + "  </div>" + #CRLF$
       Content$ + " </body>" + #CRLF$
       Content$ + "</html>" + #CRLF$
       
       Reponse$ = "HTTP/1.1 200 OK" + #CRLF$
       Reponse$ + "Content-Type: text/html; charset=utf-8" + #CRLF$
       Reponse$ + "Content-Length: " + Len(Content$) + #CRLF$ + #CRLF$ + Content$ ; !!!
       
       *Data = UTF8(ReplaceString(Reponse$, "|", Chr(34)))
       SendNetworkData(ClientID, *Data, MemorySize(*Data) - 1)
       FreeMemory(*Data)
       
      Case #PB_NetworkEvent_Data
       
       Repeat
        FreeMemory(*Buffer)
        *Buffer = AllocateMemory(BufferSize)
        Result = ReceiveNetworkData(ClientID, *Buffer, BufferSize)
        Buffer + PeekS(*Buffer, -1, #PB_UTF8)
       Until Result <> BufferSize
        
       ProcessRequest()
       
     EndSelect
     
    Else
    
     Delay(10)  ; Ne pas saturer le CPU / Don't stole the whole CPU !
     
    EndIf
    
   ForEver
   
  Else
  
   MessageRequester(Title, "Error: can't create the server (port " + port + " in use ?)")
   
  EndIf
  
 EndIf
 
EndProcedure

;Demande de traitement / Process Request
Procedure ProcessRequest()

 Protected RequestedFile.s, FileLength, MaxPosition, Position, ContentType.s
 Protected *FileBuffer
 Protected BufferOffset.s, *BufferOffset
 Protected Length
 Protected Week.s = "Sun, Mon,Tue,Wed,Thu,Fri,Sat"
 Protected MonthsOfYear.s = "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec" 
 
 Protected DayOfWeek.s = StringField("Sun, Mon,Tue,Wed,Thu,Fri,Sat", DayOfWeek(Date()) + 1, ",")
 Protected Day = Day(Date())
 Protected Month.s = StringField("Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec", Month(Date()), ",")
 Protected Year.s = Str(Year(Date()))
 Protected Time.s = FormatDate("%hh:%ii:%ss GMT", Date())

 If Left(Buffer, 3) = "GET"
 
  MaxPosition = FindString(Buffer, Chr(13), 5)
  Position = FindString(Buffer, " ", 5)
  
  If Position < MaxPosition
   RequestedFile = Mid(Buffer, 6, Position-5)      ; Automatically remove the leading '/'
   RequestedFile = RTrim(RequestedFile)
  Else
   RequestedFile = Mid(Buffer, 6, MaxPosition-5)   ; When a command like 'GET /' is sent..
  EndIf
  
  If RequestedFile = ""
   ;RequestedFile = WWWIndex
   ProcedureReturn #False
  EndIf
  
  ;Mise à jour du log / UPdated log
  If GetGadgetState(1) = #PB_Checkbox_Checked
   AddGadgetItem(0, -1, "Client IP " + IPString(GetClientIP(ClientID)) + " load " + RequestedFile) 
  EndIf
  
  If CreateImage(0, 55, 55)
     
   StartDrawing(ImageOutput(0))
  
   Restore Label_Yenne
  
   For ay=0 To 55-1
    For ax=0 To 55-1
    
     Read a.l
     Plot(ax,ay,a.l)
    
    Next ax
   Next ay
   StopDrawing()
  
   ay=0
   ax=0
  EndIf
  
  SaveImage(0, "image.jpg")
  FreeImage(0)
  Delay(500) 
  
  If ReadFile(0, RequestedFile)
  
   FileLength = Lof(0)
   
   Select Right(RequestedFile, 4)
    Case ".css" : ContentType = "text/css"
    Case ".js"  : ContentType = "application/javascript" 
    Case ".gif" : ContentType = "image/gif"
    Case ".jpg" : ContentType = "image/jpeg"
    Case ".png" : ContentType = "image/png"
    Case ".txt" : ContentType = "text/plain"
    Case ".zip" : ContentType = "application/zip"
    Case ".pdf" : ContentType = "application/pdf"
    Default     
     ContentType = "text/html"
   EndSelect      
 
   *FileBuffer   = AllocateMemory(FileLength + 200)
   *BufferOffset = *FileBuffer
   Length = PokeS(*BufferOffset, "HTTP/1.1 200 OK" + #CRLF$, -1, #PB_UTF8)                                                             : *BufferOffset + Length
   Length = PokeS(*BufferOffset, "Date: " + DayOfWeek + ", " + Day + " " + Month + " " + Year + " " + Time  + #CRLF$, -1, #PB_UTF8)    : *BufferOffset + Length
   Length = PokeS(*BufferOffset, "Server: "+ Title + #CRLF$, -1, #PB_UTF8)                                                             : *BufferOffset + Length
   Length = PokeS(*BufferOffset, "Content-Length: " + Str(FileLength) + #CRLF$, -1, #PB_UTF8)                                          : *BufferOffset + Length
   Length = PokeS(*BufferOffset, "Content-Type: " + ContentType + #CRLF$, -1, #PB_UTF8)                                                : *BufferOffset + Length
   Length = PokeS(*BufferOffset, #CRLF$, -1, #PB_UTF8)                                                                                 : *BufferOffset + Length
   
   ReadData(0, *BufferOffset, FileLength)
   CloseFile(0)
   Delay(500)
   SendNetworkData(ClientID, *FileBuffer, *BufferOffset - *FileBuffer + FileLength)
   FreeMemory(*FileBuffer)
   
  Else
  
   Content$ = "<!DOCTYPE HTML PUBLIC |-//W3C//DTD HTML 4.01 Transitional//EN|>" + #CRLF$
   Content$ + "<html>" + #CRLF$
   Content$ + " <head>" + #CRLF$
   Content$ + "  <title>Document sans titre</title>" + #CRLF$
   Content$ + "  <meta http-equiv=|Content-Type| content=|text/html; charset=iso-8859-1|>" + #CRLF$
   Content$ + " </head>" + #CRLF$
   Content$ + " <body>" + #CRLF$
   Content$ + "  <div style=|position:absolute; left:340px; top:340px; width:150px; height:150px;|>Hello i'm KCC !!!" + #CRLF$
   Content$ + "   <img src=|image.jpg| width=|150| height=|150|>Laughing out loud" + #CRLF$
   Content$ + "  </div>" + #CRLF$
   Content$ + " </body>" + #CRLF$
   Content$ + "</html>" + #CRLF$
   
   Reponse$ = "HTTP/1.1 200 OK" + #CRLF$
   Reponse$ + "Content-Type: text/html; charset=utf-8" + #CRLF$
   Reponse$ + "Content-Length: " + Len(Content$) + #CRLF$ + #CRLF$ + Content$ ; !!!
   
   *Data = UTF8(ReplaceString(Reponse$, "|", Chr(34)))
   SendNetworkData(ClientID, *Data, MemorySize(*Data) - 1)
   FreeMemory(*Data)
   
  EndIf   

 EndIf

EndProcedure

Procedure Exit()
 DeleteFile("Image.jpg")
 CloseNetworkServer(0)  
 End
EndProcedure

DataSection
 Label_Yenne:
 Data.l $141B1E,$0B1215,$0B1215,$172023,$20292D,$1D282C,$192529,$1A262A,$142228,$132329,$14272C,$14272E,$0C1F26,$00151B,$00151B,$061C22,$0C181C,$111D21,$202C30,$243034,$1D292D,$202C30,$2A363A,$293539,$2C383C,$2A363A,$2A363A,$2D393D,$2D393D,$273337,$1B272B,$101C20,$0C1F27,$0D2027,$13262B,$142528,$172426,$253131,$2C3735,$1E2926,$1A2320,$2D3835,$182523,$1B2928,$1F2E31,$17272D,$23363B,$1B2D34,$1F313C,$243641,$283A45,$273944,$243641,$233540,$263744
 Data.l $252C2F,$1B2225,$182124,$232C2F,$2D363A,$2C373B,$2C383C,$2D3B41,$354349,$2E3E44,$2D4045,$36484F,$384B52,$2D4047,$1E3138,$12282E,$192529,$172327,$283438,$3C484C,$3E4A4E,$404C50,$455155,$445054,$465256,$434F53,$404C50,$424E52,$434F53,$3F4B4F,$364246,$2E3A3E,$1B2E36,$21333A,$2E4146,$3B4A4D,$394648,$374343,$35403E,$2E3936,$15201D,$232E2C,$303C3C,$334042,$354447,$324248,$33454C,$485B62,$40525D,$41535E,$41535E,$3F515C,$3D4F5A,$3D4F5A,$40515E
 Data.l $2B3437,$20292C,$1B262A,$253034,$2E393D,$303C40,$333F43,$37454B,$3A484E,$3D4D53,$4D5D64,$62747B,$72848B,$73858C,$6A7C83,$61747C,$303C40,$1A262A,$142024,$1D292D,$212D31,$293539,$364246,$3B474B,$445054,$3F4B4F,$394549,$384448,$3A464A,$3A464A,$354145,$303C40,$2A3C43,$304249,$405056,$4A595C,$445153,$344040,$293535,$293432,$343F3D,$253131,$374446,$354447,$3F4F55,$41535A,$283B43,$3E525D,$3F515C,$3C4E59,$374954,$354752,$354752,$374954,$384956
 Data.l $2C383C,$222E32,$1F2B2F,$283438,$2F3B3F,$313D43,$324046,$39474D,$47555B,$525F67,$5B6870,$54646B,$415059,$303F48,$293841,$2A3942,$56646A,$414F55,$2F3D43,$243238,$212F35,$2F3D43,$3E4C52,$3D4B51,$39474D,$334147,$2C3A40,$2B393F,$2F3D43,$334147,$324046,$303E44,$2B3D44,$38484F,$3C4C52,$3C4B4E,$384448,$2B383A,$202C2C,$1F2B2B,$131F21,$162325,$273639,$2C3C42,$3C4D56,$445661,$304350,$374D59,$394B56,$344651,$30424D,$30424D,$334451,$354653,$334451
 Data.l $324144,$29383B,$28373A,$303F42,$36444A,$354349,$37454B,$3D4A52,$414E56,$4A575F,$4B5860,$3D4953,$2B353F,$242E38,$2C3640,$38424C,$2C3941,$334048,$39464E,$313E46,$2A373F,$344149,$334048,$1E2B33,$25323A,$202D35,$1C2931,$202D35,$2A373F,$334048,$38454D,$38454D,$2D3D44,$3F4F56,$3E4C52,$313F45,$333F43,$2D393D,$202C30,$1D292D,$19282B,$303E44,$213138,$1F3039,$2C404B,$354B57,$3A4F5E,$263D4D,$344552,$30414E,$2F404D,$324350,$394A57,$3A4B58,$364754
 Data.l $2C3F44,$25383D,$23363B,$2B3E43,$324248,$314148,$36434B,$3D4A52,$4F5C64,$47515B,$333D47,$1E2832,$151E28,$161E2B,$1A222F,$1B2330,$182730,$2E3D46,$45545D,$485760,$404F58,$42515A,$37464F,$1D2C35,$0D1C25,$0B1A23,$0E1D26,$192831,$293841,$36454E,$3D4C55,$3E4D56,$36464D,$4A575F,$424F57,$303E44,$2D3B41,$1F2D33,$101E24,$17242C,$2D3D44,$8D9EA7,$B2C4CF,$ACBFCC,$8196A5,$4E6575,$455B6D,$284052,$2A3B48,$293A47,$2A3B48,$2F404D,$364754,$374855,$334451
 Data.l $2B3F44,$23373C,$21353A,$283B42,$2E4047,$2F4148,$38484F,$44505A,$4B5761,$3C4650,$252D3A,$151D2A,$181E2B,$202633,$202633,$1B1E2C,$1F2D39,$263440,$3D4B57,$4C5A66,$45535F,$3C4A56,$33414D,$263440,$101E2A,$12202C,$192733,$283642,$394753,$465460,$4B5965,$4A5864,$45525A,$4E5B63,$414E56,$36434B,$2E3E45,$13222B,$112029,$364652,$8D9DA9,$8697A4,$677A89,$637788,$8197A9,$88A0B2,$5D7589,$243C50,$314151,$314151,$324252,$364754,$3B4C59,$3D4E5B,$3B4C59
 Data.l $354B51,$2B4147,$283E44,$30434A,$364950,$3B4C55,$485760,$57636D,$3F4855,$343D4A,$232B38,$171D2A,$191C2B,$202332,$1F2231,$1A1A2A,$1F2F3C,$1A2A37,$334350,$556572,$536370,$3D4D5A,$30404D,$2D3D4A,$0F1F2C,$11212E,$1A2A37,$293946,$394956,$42525F,$435360,$41515E,$4B5A63,$4A5962,$3D4C55,$3E4C58,$3A4A56,$1D2D3A,$2F404D,$788898,$758897,$617586,$5F7385,$546A7C,$6D8599,$7B92A8,$465D73,$2C445A,$334353,$324252,$324252,$344454,$374757,$3A4B58,$3B4C59
 Data.l $385056,$334A52,$30454D,$32474F,$3F525A,$4C5D66,$566470,$5C6874,$414A57,$2C3342,$1A2130,$191E2D,$1B1E2D,$1B1B2B,$1F1F31,$28283A,$182638,$2C3A4C,$394759,$4A586A,$576577,$435163,$303E50,$3A485A,$142234,$202E40,$2C3A4C,$354355,$3E4C5E,$435163,$3F4D5F,$384658,$3F4F5C,$4B5B68,$3D4D5A,$3F4F5F,$384858,$344657,$647687,$778B9D,$778B9D,$566B80,$3F5469,$4E657B,$657C92,$556C82,$3D546A,$3C526B,$39495A,$3C4C5D,$2B3B4C,$3D4D5D,$3B4B5B,$3E4E5E,$3A4B58
 Data.l $425961,$3C535B,$3A4F57,$3B5058,$445661,$4D5D69,$52606C,$55606E,$404957,$2C3342,$1C2130,$181C2E,$191B2D,$19192B,$1D1D2F,$262638,$213043,$2E3D50,$3D4C5F,$4C5B6E,$58677A,$526174,$4A596C,$4D5C6F,$2B3A4D,$2A394C,$2A394C,$2D3C4F,$324154,$344356,$344356,$334255,$29394A,$425263,$425465,$3D4E61,$3B4F61,$52657A,$7B90A6,$8DA2B8,$687E97,$647A93,$5A7089,$546A83,$50667F,$4E647D,$677E94,$90A7BD,$637384,$314152,$304051,$2E3E4F,$2D3D4D,$304050,$2E3E4E
 Data.l $485E69,$455964,$40545F,$435560,$475964,$495966,$475462,$45505E,$3A4351,$293142,$1C2334,$1A1E30,$1C1E30,$1B1C30,$232236,$2B2A3E,$2E3F54,$35465B,$46576C,$506176,$4E5F74,$4A5B70,$405166,$2F4055,$3B4C61,$34455A,$394A5F,$4E5F74,$5C6D82,$536479,$3D4E63,$2E3F54,$3E5166,$45586D,$485A71,$394E64,$4E647D,$798FA8,$778EA8,$667D97,$4E657F,$506781,$435A74,$324762,$2A4059,$2F445A,$465B71,$677C92,$8A99AC,$374659,$354556,$213142,$1F2F40,$223242,$243444
 Data.l $475B66,$425661,$41535E,$425360,$465663,$435360,$3B4856,$353F50,$2F3748,$262E3F,$202639,$222639,$23273A,$26273B,$2B2C40,$333448,$43536A,$3D4D64,$44546B,$46566D,$45556C,$596980,$67778E,$58687F,$58687F,$4F5F76,$4F5F76,$57677E,$56667D,$4D5D74,$506077,$5D6D84,$40546D,$3B516A,$4B607B,$4A607C,$7088A4,$A1B9D7,$879FBD,$6983A1,$667E9C,$627A98,$4B617D,$324762,$32465F,$3C4E65,$43566B,$4F6075,$808FA2,$59687B,$303F52,$1B2B3C,$172738,$1A2A3A,$1D2D3D
 Data.l $425360,$3F505D,$3D4E5B,$42525F,$465663,$455260,$394656,$303A4B,$242E3F,$242B3E,$242A3D,$262C3F,$282C3F,$2A2D42,$2F3247,$35384D,$34455F,$354660,$475872,$53647E,$556680,$677892,$6E7F99,$5B6C86,$51627C,$5A6B85,$64758F,$5A6B85,$3C4D67,$2B3C56,$455670,$6E7F99,$627796,$5E7694,$748CAA,$6B84A4,$738CAE,$849FC1,$6F8AAC,$6C87A9,$617A9A,$637A9A,$475D79,$1E334E,$172842,$2A3B50,$47556B,$606F82,$556379,$8897AA,$273649,$202F42,$172738,$19293A,$1E2E3E
 Data.l $3C4C59,$394956,$394956,$3F4F5C,$485565,$475464,$3B4858,$323C4D,$222C3E,$252C3F,$262D40,$262B40,$252A3F,$272C41,$2D3247,$32374C,$2E3F5A,$384964,$4E5F7A,$5F708B,$63748F,$647590,$5E6F8A,$4E5F7A,$556681,$5B6C87,$63748F,$62738E,$53647F,$485974,$52637E,$647590,$516A8C,$4E6789,$597496,$607A9E,$6985A8,$7590B5,$7893B8,$86A2C5,$6F89AD,$6C85A5,$4C6180,$223550,$172940,$29374D,$435164,$5B697B,$455369,$ADBBD1,$314053,$314053,$263647,$263647,$2C3C4C
 Data.l $33404E,$2F3C4A,$2E3B49,$364353,$414E5E,$424F5F,$3A4455,$303A4C,$242E40,$282F42,$272E42,$232A3E,$20273B,$262D41,$32374C,$3B4055,$4A5B76,$4F607B,$51627D,$586984,$647590,$677893,$6C7D98,$7889A4,$70819C,$62738E,$53647F,$50617C,$586984,$63748F,$697A95,$6A7B96,$6781A5,$6781A5,$5C779C,$617CA1,$5F7CA3,$5B789F,$6582A9,$6883A8,$7993B7,$6A83A5,$455A79,$273A55,$28384F,$324154,$394557,$3E4B5B,$5C6A80,$B1BFD5,$46546A,$3E4D60,$344356,$314152,$394959
 Data.l $273442,$222F3D,$222F3F,$2A3747,$364353,$3B4556,$333D4E,$293345,$263042,$283244,$272E42,$21283C,$20273B,$2A3145,$3A4155,$464D61,$485974,$5B6C87,$687994,$7485A0,$7A8BA6,$5D6E89,$42536E,$475873,$4E5F7A,$5A6B86,$61728D,$5D6E89,$556681,$52637E,$50617C,$4E5F7A,$627DA2,$809BC0,$7C99BE,$7B98BF,$6584AB,$54729B,$6E8DB4,$7390B7,$7A95BA,$6D86A8,$4C6180,$334661,$394960,$475568,$535F71,$616B7C,$77859B,$A0AEC4,$515F75,$3D4C5F,$354457,$2F3F50,$394959
 Data.l $25263A,$26283A,$242638,$202436,$2C3042,$3C4354,$414859,$3B4354,$262D40,$1E273B,$293049,$222B46,$0C1432,$3B4263,$414A6C,$4F587A,$62707C,$6B7985,$778492,$808D9B,$758292,$4B5769,$273246,$232E42,$444F65,$636D85,$505974,$828AA7,$848CAA,$A0A8C6,$9098B6,$737A9B,$6A748C,$717C97,$535F7B,$7E8DAD,$91A4C7,$53698D,$587297,$849DC5,$7A94B9,$7690B4,$6B82A2,$324763,$354660,$48566C,$404E60,$6E7B8B,$657788,$889AAB,$6E7E8F,$364456,$293547,$374153,$394053
 Data.l $1F2335,$222638,$222638,$212537,$262D3C,$333A49,$404758,$444C5D,$384254,$2F384C,$30384F,$1D2641,$141C39,$3A4462,$4A5374,$5F688A,$6E7987,$525D6B,$3C4657,$3E4859,$374152,$1C2638,$202A3C,$464F63,$424B5F,$171F36,$010920,$464E65,$515871,$545B74,$262D46,$2F364F,$667088,$5A637E,$37435F,$505F7F,$677A9D,$6C82A6,$7B92B8,$577098,$728CB1,$7B95B9,$576D90,$4B617D,$435770,$4E5F74,$4B596C,$6C7A8C,$6D8192,$7E90A1,$7E90A1,$1E2E3F,$1C2A3C,$232F41,$263042
 Data.l $212537,$222638,$22293A,$212837,$1F2635,$232C3A,$323B49,$404A5B,$3A4455,$2C384A,$253046,$111B33,$27324E,$424C6A,$50597A,$5D6687,$2C3043,$212538,$212538,$35394C,$3F4356,$313548,$34384A,$515567,$202436,$000113,$000011,$212537,$2F3443,$484D5C,$0B101F,$070C1B,$282F48,$505A72,$46516D,$3D4B68,$3F5071,$56698E,$7D94BA,$738CB4,$6B85AA,$98B2D6,$6780A2,$6F84A3,$4A5D78,$4A5C73,$495A6F,$59687B,$6D8193,$75899B,$93A4B7,$172639,$233144,$1E293D,$252E42
 Data.l $252C3D,$202839,$202937,$212A38,$192230,$111C2A,$1A2533,$2A3543,$243141,$1E2A3C,$182639,$101D33,$444F6A,$515C78,$545F7D,$535E7C,$46435C,$4A4760,$3F3C55,$343248,$3A394D,$3B3A4E,$323244,$2E2E3E,$252634,$2F313C,$2C2E38,$242630,$1A1D25,$393C44,$161A1F,$04080D,$0B1128,$5D647D,$4B5671,$24324F,$1B2C4D,$011538,$0F264C,$435D82,$466085,$92ACD1,$859EC0,$7C93B3,$485E7A,$495D76,$52647B,$586B80,$5F7287,$788BA0,$91A2B7,$2B394F,$364359,$29344A,$364157
 Data.l $212B3C,$1C2735,$1B2634,$1E2937,$182430,$0B1925,$0A1824,$111F2B,$11212E,$1D2C3C,$253345,$27344A,$526077,$515E78,$5A6682,$5B6783,$585370,$5A5570,$443F5A,$2D2942,$333046,$3E3C50,$353346,$292838,$080814,$12131D,$060810,$1C1F24,$16191D,$1A1E1F,$2F3334,$3E4342,$41475E,$6D748D,$555E79,$3F4A68,$495878,$2B3E61,$142A4E,$283F65,$476186,$7A94B9,$93ADD1,$8099B9,$566E8C,$425973,$455B74,$546881,$5C7187,$889DB3,$7789A0,$425269,$404E65,$333F57,$4B556D
 Data.l $1D2A3A,$1C2937,$1E2B39,$23303E,$23313D,$1A2A36,$13232F,$11212D,$12222F,$2D3E4B,$3A4A5A,$404F62,$48566C,$414F66,$5A6781,$67748E,$726D8A,$6B6683,$544F6A,$403B56,$39354E,$29263C,$121024,$090818,$1D1D2B,$21212D,$0D0E18,$262830,$1E2126,$05080C,$14171B,$15191A,$22263E,$30354E,$464F6A,$495470,$3B4A6A,$495C7F,$51678B,$384F75,$5E789D,$6983A8,$87A1C5,$89A4C6,$728BAB,$4C6482,$475F7B,$586F89,$7389A2,$9AB0C9,$637790,$51627C,$46556F,$424F69,$57627D
 Data.l $243343,$2B3A4A,$32424F,$354552,$384854,$384854,$334550,$2C3E49,$263843,$3B4C59,$3F4F5F,$516172,$415063,$414F65,$596980,$5E6E85,$595774,$5D5B78,$4C4B65,$33324C,$2E2E46,$2E2E46,$2B2C41,$2D2E43,$101125,$1B1D2F,$1C1F2E,$1D202F,$222533,$232634,$1F2230,$0F1220,$171B34,$242942,$525974,$4E5975,$283555,$3F5071,$64779C,$5A7296,$4B658A,$6883A8,$6D89AC,$8AA6C8,$718DAC,$5A7695,$647E9C,$5F7A95,$8299B3,$90A5C0,$5A6F8A,$526580,$51627D,$55637F,$5A6682
 Data.l $304050,$3E4E5E,$485868,$485966,$4A5C67,$50626D,$4F616C,$475964,$3F515C,$435461,$394959,$5B6B7C,$4B5A6D,$546278,$616F86,$526077,$434760,$686C85,$646881,$393D56,$292D46,$2F334C,$262945,$131632,$1B1E3A,$0C0F2B,$161935,$030622,$070A26,$181B37,$141634,$212341,$383C58,$393D59,$414966,$424C6A,$455272,$546586,$64789B,$798FB3,$486286,$94AED2,$7692B5,$89A5C7,$4C688A,$43607F,$567392,$2E4C69,$7992AC,$7289A3,$546B85,$495E79,$5A6D88,$61728D,$53617D
 Data.l $465667,$4B5B6C,$4F5F6F,$506070,$526370,$566774,$566873,$536570,$50626D,$566774,$435363,$435364,$4B5A6D,$56647A,$344258,$49576E,$384359,$576278,$3F4961,$2D374F,$0F1833,$010926,$272F4D,$373E5F,$3D4366,$565C81,$3A3F66,$363A63,$232652,$1E214E,$0E113E,$101340,$373D5A,$515774,$464E6C,$394464,$3F4B6D,$68789C,$5D7194,$6F85A9,$728AAE,$7690B4,$7692B5,$7F9BBD,$6682A4,$597897,$4F6C8B,$577493,$55708B,$566E8A,$556D89,$586E8A,$5B708C,$5D6F8C,$5E6E8B
 Data.l $4F6073,$526376,$536374,$506071,$516171,$556673,$566774,$536471,$455663,$475865,$485767,$4B596B,$526073,$4D5A70,$2C394F,$36425A,$405166,$223249,$15253C,$15243E,$1C2A47,$344161,$636F93,$5B668C,$6A739E,$9098C7,$8F96C8,$9298CD,$7A7FB6,$666AA4,$4F538E,$1D215C,$282F50,$2E3758,$40496B,$4D5779,$515F83,$8999BD,$7B8FB2,$5A7094,$6A82A6,$758FB3,$7591B3,$7C98BA,$4C6B8A,$4F6E8D,$496887,$506F8E,$55728D,$546F8A,$526A86,$516985,$556A86,$596B88,$596B88
 Data.l $4F5D74,$4F5D73,$4B596F,$455467,$435364,$465666,$485868,$475666,$3D4C5C,$344353,$4A586A,$505B6F,$545F73,$404B61,$29334B,$2A344C,$2E425B,$01152E,$30435E,$4C5E7B,$475978,$556589,$95A4CB,$7380AC,$707CAC,$818CC0,$808AC0,$858DC8,$7B83BF,$797FC0,$8086C7,$252B6E,$5B6489,$262F54,$182448,$344266,$536086,$8393B8,$7588AD,$5D7396,$6982A4,$7C95B7,$7E99BB,$87A4C3,$395675,$476784,$486885,$51718E,$5B7992,$56748D,$536E88,$526B85,$556C86,$596E89,$5D708B
 Data.l $3E4B65,$3F4C66,$3C4A61,$36445A,$354258,$374558,$384658,$354355,$364254,$263244,$485367,$4A5367,$4D556C,$333A53,$2B324B,$2B324D,$112342,$000726,$4A5B7C,$8495B6,$627297,$47567D,$9BA9D3,$596694,$8E9ACA,$838EC2,$858FC5,$959DD8,$949CD8,$9097D6,$A5ACEB,$343B7A,$94A0CA,$414D77,$09153D,$09183F,$334269,$617398,$607398,$607497,$6C82A5,$7B94B4,$829EBD,$96B2D0,$304E6B,$3D5B78,$42607B,$54728D,$57768F,$53728B,$4F6D86,$4F6A84,$536C86,$586F89,$5C718C
 Data.l $2F3A58,$333F5B,$35405C,$323D58,$313D55,$313E54,$313C50,$2C374B,$273044,$1D263A,$424B5F,$434960,$434861,$2B2F4B,$292D49,$2D304C,$252F57,$061038,$364068,$7E88B0,$646D98,$3B446F,$9AA3CF,$3F4776,$444C7B,$1D2455,$151C4D,$252C5E,$2F3668,$4D5388,$9EA4D9,$7278AD,$9DACDA,$4D5C8A,$3A4A75,$253560,$10204A,$3B4E74,$62759A,$516588,$647B9B,$7188A8,$7D97B5,$98B5D0,$2E4B66,$2F4C67,$32516A,$4D6C85,$496B82,$496980,$47677E,$48677E,$4D6981,$526C84,$556D85
 Data.l $293253,$2E3856,$323C5A,$303B57,$313A55,$2F3951,$2A354B,$252D44,$151D34,$20263D,$3F455C,$3C4059,$373A56,$282B47,$1F1F3D,$292947,$333768,$1B1F50,$25295A,$5D6191,$4D5181,$252959,$6C719E,$202552,$010732,$00001F,$00032C,$0A1039,$000027,$00062D,$353C63,$3B4269,$9FB0E1,$384778,$6979A8,$6C7CAA,$03143F,$04163F,$586B90,$516588,$5A7191,$6C84A2,$7B93AF,$8FAAC5,$38536D,$304E67,$315067,$4C6B82,$476980,$45677E,$45657C,$47667D,$4C6880,$506A82,$536B83
 Data.l $2D3658,$323B5C,$343D5E,$333B59,$2F3754,$2E3550,$262D46,$1F263F,$191F36,$343850,$3F435C,$333750,$292A46,$282846,$161634,$2C2B4B,$292560,$211E56,$28255D,$3E3B72,$302E62,$121242,$1F1F4D,$00022B,$04062E,$000021,$030829,$020726,$000015,$020924,$1B223B,$4B526B,$6D80B3,$24376A,$6273A4,$6173A2,$041744,$00042D,$3C4F75,$4A5E81,$516686,$7088A6,$7F97B3,$7F98B2,$425E76,$425E76,$416077,$4F6E85,$4B7084,$4A6D81,$45687C,$45667A,$48677C,$4D6A7F,$516C81
 Data.l $394264,$3C4567,$3E4566,$38405E,$323A57,$2F3651,$272E47,$21263F,$272C45,$494D66,$40445D,$2C2D49,$1C1D39,$282644,$161333,$373454,$3E3675,$302966,$352F6A,$322C65,$353067,$302D5F,$080634,$070630,$000026,$000221,$060A26,$040922,$000418,$0E1528,$00000D,$1D2536,$0A1C51,$2A3C71,$4D6093,$152959,$081B48,$192C57,$32456B,$2A3E61,$475C7C,$758BA7,$8099B3,$6D86A0,$446078,$4E6A82,$506D82,$516E83,$4E7387,$486D81,$426579,$3F6074,$416075,$466378,$4C677C
 Data.l $3C3D59,$434460,$363955,$474A66,$444763,$2D304C,$2F334F,$232743,$414561,$454965,$2F3651,$1B223D,$1D243F,$272E49,$0D142F,$414A65,$343377,$2C2E6F,$313673,$212B61,$3C4878,$1A2650,$000023,$000322,$04001D,$0E0722,$170E29,$0D0621,$0C0B25,$0E132C,$06112C,$14233D,$2F2571,$413783,$332D74,$332F71,$282765,$33366D,$2A3365,$2C3965,$45567D,$596F93,$647D9D,$607C9A,$44627F,$3E5F79,$547791,$42657F,$4F7080,$4A6B7B,$436474,$3F5D6E,$3E5C6D,$415F70,$486475
 Data.l $363955,$3E415D,$363955,$434662,$454864,$383C58,$414561,$383C58,$3F435F,$4D516D,$242B46,$202742,$272E49,$2A314C,$1F2641,$3A415C,$4C4B8D,$2B2D6D,$373C79,$3B457B,$414D7D,$24305A,$171E45,$4E5072,$434060,$231E3B,$0A0220,$0D0825,$0E0C29,$000522,$000824,$000E2A,$48418C,$362F78,$363279,$373577,$2A2B68,$3C4178,$2F386A,$485883,$3B4E74,$455B7F,$6A83A3,$536F8D,$4F6D8A,$41627C,$4B6C86,$4E6F89,$4B6C7C,$486979,$446273,$405E6F,$3F5D6E,$425E6F,$466273
 Data.l $282C48,$313551,$2C304C,$343854,$3B3F5B,$404460,$4E526E,$4B4F6B,$393D59,$4B4F6B,$1A1E3A,$252945,$2D314D,$2A314C,$2A314C,$282F4A,$545697,$2A2C6C,$363E79,$556197,$384677,$192652,$2B335B,$7E81A7,$6C6A8E,$5C5679,$2F2849,$211C3C,$191A3C,$232A4B,$2C3658,$000728,$4E4A95,$2F2C74,$312F75,$2A2C6D,$2E326D,$474E85,$142050,$20305B,$3A4D73,$445A7D,$7089A9,$466280,$54728F,$3F5D78,$385973,$4C6D87,$466477,$456376,$446275,$436174,$436174,$476276,$486377
 Data.l $1F2843,$252E49,$242D48,$282F4A,$323954,$424964,$535A75,$575E79,$323954,$3E425E,$202440,$2A2E4A,$2B2F4B,$343854,$2F334F,$252945,$4D4F8F,$404582,$424A85,$7A86BC,$455387,$202E5E,$515C88,$888EB7,$8585AD,$958FB8,$756F98,$68648D,$5E5E86,$70769F,$818DB5,$2F4067,$393B82,$5D5FA5,$52589B,$383F7E,$3F4782,$525F93,$293968,$3C4D78,$43587E,$667C9F,$6B84A4,$405C7A,$4A6782,$37546F,$2C4A65,$3B5974,$405D72,$415E73,$436075,$486378,$4A657A,$4C677C,$4F677D
 Data.l $2A3551,$2B3652,$2F3A56,$2D3854,$373F5C,$49516E,$565E7B,$626885,$2E3451,$2C304D,$333754,$383C59,$2C2E4C,$434563,$343654,$373957,$303370,$535994,$434B86,$8491C9,$505E92,$2C3B6C,$7783B3,$777DAC,$7676A6,$7673A1,$656290,$7D7AAB,$787AAA,$737BAA,$808EBE,$465685,$545DA1,$848DD0,$394383,$222D69,$46538B,$435487,$213461,$2D416A,$4E6488,$8AA3C5,$546D8D,$3E5876,$39546F,$35506B,$314E69,$2F4C67,$3E5870,$405A72,$425C74,$455F77,$476179,$4A627A,$4B637B
 Data.l $3A4864,$33415D,$3C4A66,$3C4864,$3F4B67,$4A5571,$4E5975,$616986,$282E4B,$1A203D,$3C405D,$464866,$2C2E4C,$444664,$3A3A58,$464664,$262A64,$5B629B,$444F88,$7C8ABF,$546499,$2D3D72,$7B88BC,$586095,$7577AD,$7572A9,$66639A,$7774AB,$7C7FB6,$7E88BE,$8290C5,$4E6095,$7282C4,$8899D8,$2C3E7B,$374A83,$596EA2,$3B4F7F,$223764,$2F456E,$566E92,$92ABCB,$395371,$36506E,$304864,$3A526E,$425A76,$374F6B,$3D5670,$3D5670,$3D5670,$3F5670,$405771,$405771,$415872
 Data.l $475774,$394966,$475774,$475774,$475572,$485371,$434D6B,$596381,$29314F,$1E2342,$393C5B,$555776,$303251,$383757,$3F3E5E,$434262,$363A6F,$595E95,$5C669C,$8292C7,$6D7FB4,$3C4D85,$6D7CB4,$545F99,$5E629D,$6A6AA6,$6564A2,$5E5D9B,$6368A5,$737DB9,$7080BB,$5769A4,$3F5492,$5267A4,$3F558F,$546CA2,$3B5284,$233B69,$38507A,$5B759A,$6B84A6,$7D96B6,$2F4765,$2C4460,$324A66,$3D536F,$445A76,$415773,$3A506C,$394F6B,$384E6A,$374D69,$384E6A,$3C516D,$3F5470
 Data.l $4F6382,$3E506F,$4F6180,$526483,$4F5E7E,$485575,$3D4868,$586182,$363D5E,$303556,$363B5C,$646688,$393A5C,$2A2B4D,$464567,$3C3B5D,$2B2F60,$353C6E,$5A6599,$7E8FC2,$7A8BC3,$40538C,$54649F,$56619F,$5B61A2,$5B5D9E,$6B6AAE,$7273B7,$6F75B8,$616DAF,$6273B2,$869BD9,$849EDA,$5A75AE,$4F6AA2,$5974A7,$375382,$546F9B,$6680A8,$5A7498,$7F9ABC,$6881A1,$304866,$253B57,$394F6B,$3A4F6B,$3B506C,$435874,$364A69,$354968,$344867,$344867,$384C6B,$3D5170,$435776
 Data.l $506483,$526685,$556988,$435574,$576686,$475676,$465373,$3E4969,$374061,$383F60,$4E5374,$414365,$414365,$333456,$3D3E60,$303153,$262956,$2D3362,$757FAF,$6F7DB1,$9FB1E6,$495C95,$30427F,$4E5A9C,$42498E,$4E5096,$6466AD,$6165AC,$6269AE,$7380C4,$5263A6,$758BCC,$8FACE5,$5674AB,$7796CB,$395788,$6B87B6,$58739F,$49668D,$536D91,$9AB3D3,$516987,$334965,$2D435F,$3B506C,$4C5F7A,$3C4F6A,$3F526D,$3C4E6D,$384A69,$334564,$3D4F6E,$4F6180,$506281,$4C5E7D
 Data.l $394C6D,$4C5F80,$516485,$354667,$465778,$4C5B7C,$535F81,$454F71,$4D5779,$475072,$545A7D,$464A6D,$464A6D,$3C3E61,$444669,$35375A,$32345D,$1A204B,$757EAA,$7383B2,$889ACF,$5668A3,$4B5C9B,$525FA3,$444C92,$5258A1,$50539D,$565CA3,$5B63A9,$5767AA,$4E62A3,$94ADED,$7F9DD4,$6584B9,$5170A3,$6785B4,$5774A1,$3F5B84,$4F6A8F,$738EB0,$8FA8C8,$556D8B,$475D79,$455A75,$40536E,$3D4E69,$354661,$485974,$3E4D6D,$3B4A6A,$3D4C6C,$4C5E7D,$5B6D8C,$536584,$485A79
 Data.l $485B7C,$46597A,$344768,$18294A,$2C3D5E,$3E4D6E,$4C5B7C,$4A5678,$545E80,$4C5678,$535C7E,$4A5073,$484E71,$41476A,$44486B,$33375A,$27264D,$1F2149,$525984,$8190BE,$9DB0E3,$8FA2DB,$3A4C8B,$213174,$3E4790,$474D96,$4A5099,$585EA5,$4C579B,$5969AB,$6F85C6,$AAC3FF,$7695CA,$6281B4,$4A6899,$6C8BB8,$3E5B87,$405D84,$6682A5,$98B4D3,$728AA8,$546A86,$516682,$4C5F7A,$3B4C67,$2D3E59,$22304C,$25334F,$2B3A5A,$273656,$344363,$516080,$5F6E8E,$546383,$475978
 Data.l $5C6C90,$3A4A6E,$19294D,$152549,$2C3C60,$324064,$344266,$3F4B6F,$333F63,$354165,$464F74,$4A5378,$485075,$454D72,$41496E,$31395E,$3F3E5E,$0E1033,$121940,$828FBB,$6374A5,$ACBFF8,$8E9FDE,$48589B,$3B448D,$323982,$585EA7,$6068AE,$485496,$8193D2,$97AFEB,$9DB8F1,$7E9BCE,$506E9F,$617DAC,$3F5C89,$38547D,$607BA0,$819CBE,$96AFCF,$4F6785,$465C78,$465B76,$425570,$3E4F6A,$3E4C68,$273551,$091733,$263451,$1F2D4A,$2F3D5A,$4D5B78,$546481,$4E5E7B,$4B5B78
 Data.l $4D5D81,$405074,$324064,$3C4A6E,$445276,$39476B,$273559,$2B395D,$1B274B,$2B375B,$445074,$535F83,$4B577B,$495579,$3F4B6F,$313D61,$1F1B38,$2F2E4E,$090F32,$67739D,$7282B1,$9BACE4,$9DAFEC,$7D8DD0,$6A74BA,$5E65AE,$7F85CC,$7780C4,$7786C5,$B7CBFF,$96AFE7,$96B2E8,$6E89BB,$405A89,$4C6694,$2A4571,$4C668E,$7892B6,$8CA5C7,$6B83A1,$445A76,$384D68,$374A65,$455671,$4B5975,$495773,$424E6A,$2B3753,$3C4864,$303C58,$394763,$4A5874,$485672,$495773,$51627D
 Data.l $515E84,$6D7AA0,$667399,$566389,$414E74,$424F75,$344167,$313E64,$334066,$455278,$58658B,$67749A,$525F85,$4E5B81,$3F4C72,$313E64,$3D3853,$1A1835,$07092B,$2E395F,$435280,$5A6CA1,$B2C4FF,$8393D5,$959FE5,$99A1E7,$8F98DC,$828CCC,$9DADE8,$AEC3FA,$637EB1,$7A98C9,$3A5181,$334A7A,$172F5D,$4E6690,$6A83AB,$7991B5,$8198B8,$495E7D,$495E7A,$334661,$283B56,$41526D,$3F4D69,$2D3B57,$3E4A66,$47536F,$3A4662,$323E5A,$3E4A66,$424E6A,$33415D,$3F4D69,$556681
 Data.l $657096,$848FB5,$7580A6,$5D688E,$424D73,$515E84,$4B587E,$4F5C82,$556288,$5E6B91,$627297,$7080A5,$5B6B90,$627297,$57678C,$4E5E83,$322C45,$28253F,$0D102F,$0D163C,$4B5A88,$526297,$6D7FBC,$7A88CA,$8B96DA,$A1AAEE,$8B94D7,$8E99D7,$8492CC,$758BBF,$4F6998,$395885,$1E3464,$39507E,$243B68,$778DB7,$778EB4,$6B81A5,$5A6F8F,$354A69,$3F5470,$354863,$253651,$313F5B,$273551,$1D2945,$34405C,$34405C,$202B46,$222F49,$36435D,$323F59,$1D2A44,$2E3D57,$4B5A74
 Data.l $606B91,$6E799F,$5E698F,$626D93,$5A658B,$67749A,$5D6A90,$667399,$566389,$58688D,$57678C,$6B7BA0,$627499,$7D8FB4,$7E90B5,$7E90B5,$8D859C,$6D6883,$3B3D5B,$161E43,$081541,$2E3E73,$374984,$808ED0,$8893D7,$A6AFF3,$A7AFF2,$BEC9FF,$7180B8,$687DB0,$849ECC,$1C3C67,$2F4674,$4F6694,$6A7FAC,$8399C3,$7186AC,$5A7093,$293E5E,$233756,$2C3E5B,$3A4D68,$293A55,$22314B,$22304C,$333F5B,$44506C,$1E2A46,$121D38,$1D2843,$35425C,$2B3852,$0D1A34,$1B2A44,$36455F
 Data.l $3B3F5B,$323652,$343854,$454965,$505470,$4D516D,$454B68,$464C69,$4A506D,$535B79,$636B89,$6F7795,$757D9B,$747E9C,$757E9F,$7780A1,$6E81A6,$6E81A6,$66789D,$4A5980,$1D2951,$0A133E,$303762,$656B98,$474D7C,$4B5180,$3A3F70,$585F90,$7077A9,$6F78AA,$374274,$242F61,$38587C,$577499,$7490B3,$849DBD,$6E82A1,$485974,$35425C,$121E36,$222D43,$313C52,$2B364A,$3A485B,$39475D,$405166,$283B50,$283B50,$38435E,$3F4A65,$404B66,$3F4A65,$3D4961,$344058,$313D55
 Data.l $22263F,$1C1F3B,$1E213D,$272B47,$2B2F4B,$262A46,$272B48,$2C324F,$343A57,$3F4562,$4C5472,$575F7D,$5C6482,$5E6684,$606788,$616889,$5C6E93,$53658A,$5B6B90,$7080A5,$7783AB,$566088,$202752,$00002B,$404673,$515786,$5C6291,$4F5687,$313B6B,$091244,$1B2658,$576294,$4D6D91,$7492B5,$728EB1,$7891B1,$3F5372,$33445F,$28354F,$222E46,$182339,$313C52,$3A4559,$3F4C62,$3A485E,$35465B,$2A3D52,$314459,$333E59,$35405B,$3C4762,$404B66,$3F4B63,$404C64,$47536B
 Data.l $0D112A,$0B0F28,$0E112D,$121531,$0F122E,$0B0E2A,$121632,$202441,$373B58,$3D4360,$484D6C,$4E5372,$4F5473,$4D5271,$4B5371,$4B5371,$58688C,$5A6A8E,$616F93,$68759B,$737EA4,$7D85AD,$838BB3,$878EB9,$1C234E,$000532,$00002B,$00002C,$1A2453,$152151,$384676,$5D6B9B,$6383A7,$8CAACD,$86A1C3,$6C83A3,$344867,$2B3C57,$3D4A64,$47536B,$29344A,$3A455B,$434E64,$37445A,$3A485E,$2D3E53,$2A3C53,$2A3F55,$38435E,$323D58,$3D4863,$45506B,$424E66,$515D75,$657189
 Data.l $080923,$090A24,$0C0D27,$0E0F29,$0C0D29,$0B0C28,$121531,$1E203E,$292B49,$2F3350,$383C59,$3D405F,$3D405F,$3A3F5E,$3A3F5E,$3B405F,$314061,$3C486A,$424E70,$454F71,$485176,$4D557A,$474E75,$3C426B,$5A628A,$484F7A,$363F6A,$242F5B,$394672,$435280,$546492,$556895,$5C7A9D,$7896B9,$829DBF,$435A7A,$354968,$12233E,$3B4862,$37435B,$323D53,$2F3A50,$2D384E,$1B283E,$344258,$2A3C53,$293B52,$1B3046,$303B56,$222D48,$2B3651,$2E3954,$253149,$3E4A62,$5B677F
 Data.l $090822,$070620,$090822,$0C0B25,$0E0D27,$0E0C29,$10112D,$141531,$181836,$1E203E,$292B49,$313352,$363857,$3B3D5C,$404362,$444766,$3F4A68,$3E4969,$394263,$394263,$485173,$5D6386,$5E6489,$51597E,$444D73,$566088,$5D6991,$5D6B95,$465680,$50648D,$5D739D,$6E84AE,$708EB1,$85A1C4,$7F9ABC,$415878,$445975,$21324D,$394660,$2A364E,$313C52,$303B51,$303D53,$243248,$45566B,$44566D,$40556B,$2F445A,$35405B,$27324D,$29344F,$212C47,$111D35,$2C3850,$4A566E
 Data.l $0D0823,$090620,$08051F,$0A0721,$0D0A24,$0E0A27,$0A0825,$080623,$191734,$1E1E3C,$272745,$2E2E4C,$323250,$373656,$3C3E5D,$414362,$3C4461,$49516E,$505876,$4C5170,$464B6A,$474C6D,$484F70,$474D70,$474F74,$394569,$38456B,$5B6D92,$4E6389,$566D93,$4D678C,$556F94,$7391B4,$88A4C6,$5E7797,$475F7D,$3E506D,$3F4D69,$34415B,$2F3B53,$283349,$3D485E,$48556B,$414F65,$4B5B72,$46586F,$3E526B,$334962,$3D4863,$3A4560,$37425D,$242F4A,$142038,$29354D,$404C64
 Data.l $0C0821,$0B0720,$08031E,$08031E,$0A0520,$0C0722,$0A0623,$080421,$15112E,$181633,$1C1A38,$1E1C3A,$1E1C3A,$1D1D3B,$222240,$262545,$2D314D,$252945,$1C203C,$1E223F,$282C49,$313453,$2F3453,$272E4F,$1A2344,$0B1739,$18284C,$35496C,$364C70,$3A5478,$456184,$4B678A,$415D7F,$546F91,$203959,$203554,$1A2C49,$273551,$14213B,$1B273F,$1A253B,$3C475D,$424F65,$3B4960,$2C3C53,$273B54,$192F48,$182E47,$27324D,$35405B,$323D58,$1B2641,$0F1B33,$1D2941,$2A364E
 
EndDataSection
ImageThe happiness is a road...
Not a destination
normeus
Enthusiast
Enthusiast
Posts: 414
Joined: Fri Apr 20, 2012 8:09 pm
Contact:

Re: Root of PB server for FireFox [Resolved]

Post by normeus »

@KCC,

The fact that you are now processing Firefox requests is what makes it work. FireFox does not care where the files are.
All it needs from your server, is a response with data which is what you are providing now.
if the file is in your USB on drive G:, your program will read it, create the proper response and send the data.

Code: Select all

Global BufferSize = 1024, *Buffer = AllocateMemory(BufferSize), Buffer.s  ; <----------------  YOUR GLOBAL BUFFER WHERE DATA IS KEPT
Procedure ProcessRequest()              ; <------ THIS IS WHERE YOU PROCESS "GET" REQUESTS FROM FIREFOX
If you need to handle "POST" requests then you have to add more code or...
There is a tiny server,it is about 4meg ; without PHP or MySQL ( it can be added later but, PHP is about 60 meg ) which I like a lot:
http://nginx.org/en/docs/beginners_guide.html
http://nginx.org/en/download.html

also press F12 in FireFox and under network tab you can see the responses from servers.
there is FireFox for developers also:
https://www.mozilla.org/en-US/firefox/developer/
Which looks cooler ( works the same ).

Good luck.
Norm.
google Translate;Makes my jokes fall flat- Fait mes blagues tombent à plat- Machte meine Witze verpuffen- Eh cumpari ci vo sunari
Marc56us
Addict
Addict
Posts: 1477
Joined: Sat Feb 08, 2014 3:26 pm

Re: Root of PB server for FireFox [Resolved]

Post by Marc56us »

Even smaller (53ko) and without installation: TinyWeb Server (freeware even for commercial use). Very old program (1997), created by Ritlabs (the authors of a famous mail client TheBat) but still maintained (2017). HEAD, GET, POST, CGI, SSL, work on Win10 etc

:wink:
User avatar
Kwai chang caine
Always Here
Always Here
Posts: 5342
Joined: Sun Nov 05, 2006 11:42 pm
Location: Lyon - France

Re: Root of PB server for FireFox [Resolved]

Post by Kwai chang caine »

@NORMEUS
Thanks a lot normeus for your detailled explanations 8)
Normeus wrote:FireFox does not care where the files are.
Yes it's what i have believe at the begining
but if i commented the lines

Code: Select all

 SaveImage(0, "image.jpg")
  FreeImage(0)
  Delay(500) 
the image not appear (You must erase all cache, cookies, etc.. in the webbrowser and run CTRL+F5 for be sure clean all reload)
So it's not really important...i see the real behavior with the time, the main thing, it's my image appear....for show at my turn, my nices teeth, so much i'm happy :mrgreen:

Image
If you need to handle "POST" requests then you have to add more code or...
For the moment...i don't really know what i need :oops:
In fact, in my recent "wedding" with FF, for the moment it's FF who wearing the pants :|
I try to do something, and like usually...that not work :? i search one day....i cry...and i write in the forum :wink:
It's a little bit my "professional" method :oops: , since i never go to the informatic school :|
Then, i hope i never need to POST....for me the security, etc..is not important, because it's just for remote FF in local mode
The main thing, it's i can : open FF, change panel, move windows FF, open an url, click a link, read the html source, the text page, write in a field, etc.... i would be the most happy KCC of the world, :D since several years i try to do this :|
Normeus wrote:Good luck.
Thanks for the encouragement 8)
Sure they are other ways, like AUTOIT, for do this style of things....
But i love PB, and for do something in another langage...it's really if PB cannot do it..
And we know all in this forum, that PB know all do....and if it's impossible with PB, it's not the fault of the car...but surely the driver is not really at the good level or place :mrgreen:

Image

I have see others way, not really understand...apparently they are a XPCOM , like the COM of crosoft :shock:
But in PB...for the moment, i'm sure to be like the chiken above on the wheel, about this subject :lol:
And surely other ways, perhaps hyper simple, to do what i need...i search, i search...and try what i found...
Marc56 wrote:Even smaller (53ko) and without installation: TinyWeb Server
Thanks Marc for your tip 8)
Tiny server can be usefull, if later i can't do what i want.
For the moment, i can see the Purebasic page with images and text, i have try Google, but my code found a

Code: Select all

src="/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"
of the main image, and replace the path, but like that always not works, i search and found this

Code: Select all

srcset="/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png 1x, /images/branding/googlelogo/2x/googlelogo_color_272x92dp.png 2x"
Never i see that :shock:

So my code not replace it, furthermore because not image extension, and the image not appear :?

I hope not meet others joyfulls things like this :|
At each new thing, i modify my code for the moment, for it detect the parameter to change.

Now my futur mission, is send and receive easily orders or texts Server/FF
I have found a splendid websocket code of Celtic88 who works, but only in ASCII and for the moment...i can't translate it (Again this bad unicode)
Other they are others code, i see about this subject in this forum
Because apparently, of what i have read, the websocket is THE solution for easily communicate without refresh the page
Because, when i demand to read the text in the actual page, the page disappear and be replaced by a white other, when FF receive the JS order..
So in this case it's difficult to him to read anything :lol:

See you soon (unfortunately for you all :oops: ) for the news adventures of KCC....
In the FOX WORLD :mrgreen:
Image
ImageThe happiness is a road...
Not a destination
Post Reply