tp:=เรามาใช้ Firefox แทน IE กันเต๊อะ.. tg:= op:=Firefox เป็นโปรแกรมเว็บเบราเซอร์ที่พัฒนาต่อเนื่องมาจาก Netscape (คู่แข่งตลอดกาลของ Internet Explorer) ครับ.. ======================================================= {b}ความเจ๋งของ Firefox ที่ผมเทใจให้{/b} มีดังนี้ครับ {b}1. มี tab{/b} .. (คล้ายๆ worksheet ในโปรแกรม excel น่ะครับ) ทำให้ไม่ต้องเปิดหลายๆ หน้าต่างจนเต็ม taskbar ไปหมด และเดาเอาเองว่า น่าจะประหยัดทรัพยากรเครื่องได้หลายอยู่.. (รึเปล่า?) (หน้าต่างใหม่ = ctrl+n, แท็บใหม่ = ctrl+t) (เปิดลิงก์ในหน้าต่างใหม่ = shift+click, เปิดลิงก์ในแท็บใหม่ = ctrl+click) {u}หมายเหตุ{/u} ปรากฏว่าตอนนี้ IE เวอร์ชั่น 7 มี tab แล้วเหมือนกัน! (แต่ tab ไม่สวยเอาเสียเลยครับท่าน..) {b}2. สามารถพ่วง extension เพิ่มเติมได้{/b} (แค่ดาวน์โหลดขนาดไฟล์ไม่กี่ kB แล้วลากเข้ามาในหน้าต่างก็เรียบร้อย) และมีคนทำ extension เจ๋งๆ แจกให้เราใช้เยอะแยะไปหมด ที่ผมว่าควรมีไว้ก็เช่น - adblock เอาไว้บอกว่า url มีคำว่าอะไรไม่ต้องโหลดบ้าง (เช่น *googlesyn*, *ads1.msn*, *ads.pantip* ฯลฯ) เปิดหน้าเว็บแล้วตรงบริเวณไหนเป็นโฆษณา หรือเป็นรูปไม่พึงประสงค์ก็บอกมันไป แล้วคราวหน้ามันจะไม่โหลดรูปหรือข้อความตรงนั้นมารบกวนใจเราอีกเลย.. ว้าว! จะทำให้บล๊อก banner และ pop-up ได้อย่างเห็นผล 100% (สำหรับผมเครื่องอืด ผมก็เลยบล๊อกพวกมีเดีย wmv, asf ต่างๆ ที่ไม่ใช่โฆษณาด้วย :) - tab mix plus เจ๋งตรงที่มันจะจำว่าครั้งล่าสุดเราเปิดหน้าเว็บอะไรบ้าง กี่ tab และถ้าเกิดโปรแกรมหรือเครื่องค้าง.. เปิดครั้งต่อไปมันจะ restore หน้าเหล่านี้ให้ครับ อีกอย่าง ถ้าเราต้องเข้าหลายๆ เว็บเป็นประจำทุกครั้ง เราก็เปิดๆๆๆ แล้วให้มันจำไว้ (เซฟ session ไว้) คราวต่อไปเราสามารถเรียกเปิดทีเดียวพรึ่บพร้อมกันได้เลย.. {u}หมายเหตุ{/u} ผมเขียนแนะนำ 9 Extensions ประจำใจ ไว้ข้างล่างกระทู้นี้แล้วครับ {b}3. รองรับ rss feed{/b} (ไอ้ที่มักจะเห็นปุ่มสีส้มเล็กๆ ตามเว็บ blog หรือเว็บข่าวน่ะครับ) ถ้าเรากดปุ่มสมัครเพื่อรับหัวข้อข่าวหรือหัวข้อ blog เหล่านั้นแล้ว มันจะมาโชว์ลิงก์อยู่ในเมนูบาร์ของ Firefox โดยอัตโนมัติ ทุกครั้งที่เปิดโปรแกรม มันจะไปดูดเฉพาะหัวข้อข่าวมาให้เราทันที สนใจค่อยกดเปิดอ่าน.. (ทำเราไม่ต้องนั่งรอโหลด blog หรือ msn spaces นานๆ เพื่อจะพบว่า ไม่มีอะไรใหม่เลย!) {del}-- กะว่าจะทำเว็บนี้ให้มี rss feed ด้วยเหมือนกันนะนี่ --{/del} <-- ทำเสร็จนานแหล่ว.. {b}4. ถ้าเทียบกับ IE โดยเฉพาะ{/b} ขนาดไฟล์เล็กมากๆ ครับ (รุ่นตัดคำไทย ขนาดประมาณ 7 MB) เล็กกว่า IE สิบเท่า แถมยังไม่ต้อง install ด้วย คลาย zip แล้วใช้ได้เลย.. และลำพังแค่ไม่ต้องบล๊อกโฆษณาก็โหลดหน้าเว็บได้เร็วกว่าแล้ว (ทดลองดูสิครับ :) ผมว่าหน้าตาของโปรแกรมก็สวยงามกว่าด้วย แต่ถ้าใครไม่ถูกใจก็เอา skin มาเปลี่ยนได้ อีกอย่างที่สำคัญคือ ปลอดภัยต่อการโจมตีต่างๆ มากกว่า (พวกโจมตีมักจ้องเล่นแต่ IE ครับ.. เนื่องจากประชากรโลกร้อยละกว่า 90 นั้นใช้ IE) {b}5. ส่วนประกอบจ๊าบๆ อื่นๆ{/b} เช่น - view source เปิดมาปั๊บมีการใช้สีสันแยกกันระหว่างแท็กต่างๆ และข้อความ - page info บอกรายละเอียดทุกสิ่งทุกอย่าง (จริงๆ!) ของหน้าเว็บนั้น และยังขโมยรูปได้ด้วย :P - find in this page เป็นการค้นหาแบบทันทีที่พิมพ์ยังไม่จบคำ.. - save as การดาวน์โหลด (โดยไม่ใช้โปรแกรมอื่นช่วย) สามารถ pause/resume ได้ครับ - อันนี้คนชอบโพสเว็บบอร์ดคงชอบ.. เพราะถ้าเรากด post ข้อความ (หรือกดส่งเมล์) แล้ว error เพียงแค่กดปุ่ม back กลับไป จะพบว่าข้อความทุกช่องที่เราพิมพ์ไว้ยังอยู่ครับ! ไม่ต้องพิมพ์ใหม่! - บางจุดสามารถคลิกขวาเรียกเมนูซ้อนบนเมนูได้.. โอ้.. มหัศจรรย์! - แสดงผลพวกบรรทัดที่มีตัวยก ตัวห้อย (โดยใช้แท็ก sup และ sub) ได้สวยงาม ไม่ไปเบียดกับบรรทัดข้างเคียง หรือเห็นตัวหนังสือหัวขาด อีกต่อไป.. ======================================================= {b}หมายเหตุ{/b} : ส่วนที่ยังไม่ค่อยถูกใจของ Firefox เวอร์ชั่นปัจจุบัน ก็มีนะครับ.. • บางเว็บจะเปิดดูแล้วเน่าๆ เพราะคนเขียนเว็บไม่ได้ลองทดสอบด้วยตระกูล Firefox ก่อน (คือ Firefox จะค่อนข้างเข้มงวดเรื่อง syntax ครับ.. ขณะที่ IE นั้น ผิดนิดหน่อยก็ยังอนุโลมได้ ผมว่าคนทำเว็บควรทดสอบกับทั้ง IE และ Firefox นะครับ เพื่อให้เว็บได้มาตรฐานจริงๆ..) และบางเว็บก็ไปใช้พวก ActiveX อะไรต่างๆ ที่ไม่ใช่มาตรฐานสากล จึงไม่ทำงานใน Firefox • ยังตัดคำภาษาไทยขึ้นบรรทัดใหม่ไม่เป็น ..ปัญหานี้แก้ได้แล้ว โดยใช้ {a href=http://www.osdev.co.th}Thai Line-breaking Extension(MozTle){/a} ซึ่งเป็น extension หนึ่งเดียวในโลกที่ทำหน้าที่ตัดแยกคำภาษาไทยครับ! ของเขาดีจริงๆ (ป.ล. Firefox 3.0 ที่กำลังจะออกในปี 2551 นี้ จะตัดคำไทยได้เองในตัวแล้วครับ.. เย่!..) • ใช้งานครั้งแรกต้องตั้งค่าฟอนต์ก่อน ไม่งั้นภาษาไทยออกมาเป็นตัวแฟนซีกันเลยทีเดียว วิธีตั้งก็ตามนี้ครับ.. เปิดเมนู Tools > Options > Content > Fonts&Colors ตั้งค่า Default Font : Tahoma (Size 16) กดปุ่ม Advanced > Fonts for.. เลือก Thai แล้วแก้สามช่องล่างให้เป็น Tahoma ส่วนด้านล่างก็ตั้งค่า Default Character Encoding : Thai (Windows-874) • แล้วนอกจากนี้ยังต้องปรับแก้ค่าต่างๆ ใน config ก่อน เพื่อให้แรงปรู๊ดปร๊าดตามที่คุย.. ซึ่งผมจะลิสต์รายการปรับแต่งทั้งหมดไว้ที่ข้อความถัดไปครับ :] ถ้าสนใจแล้วขอเชิญดาวน์โหลดที่เว็บต่อไปนี้ได้เลย.. {a href=http://www.firefox.com}http://www.firefox.com{/a} us:=นวย - (แก้ 14/02/2008) - 22/06/2006 12:19 ๏+๏-๏- op:={b}----- วิธีปรับแต่ง Firefox ให้เร็วเต็มที่!! -----{/b} (รวบรวมจากเว็บบอร์ด pantip.com, เว็บ fire.f0nt.com firefoxthai.com, และเว็บของฝรั่ง) เริ่มโดยพิมพ์ {b}about:config{/b} ในช่อง address แล้ว เคาะ Enter 1. general.useragent.locale ... (จากเดิมอาจจะเป็น en-US) ให้แก้เป็น th-TH (เพื่อให้บางเว็บรู้อัตโนมัติว่ามาจากประเทศไทย และจะเห็น extension บางตัวเป็นภาษาไทยด้วย) 2. network.http.max-connections แก้จาก 24 เป็น 64 3. network.http.max-connections-per-server แก้จาก 8 เป็น 20 4. network.http.max-persistent-connections-per-proxy แก้จาก 4 เป็น 10 5. network.http.max-persistent-connections-per-server แก้จาก 2 เป็น 10 6. network.http.pipelining แก้เป็น true 7. network.http.pipelining.maxrequests แก้จาก 4 เป็น 200 8. network.http.request.max-start-delay แก้จาก 10 เป็น 0 9. network.http.proxy.pipelining แก้เป็น true 10. network.http.proxy.version แก้จาก 1.1 เป็น 1.0 11. network.dns.disableIPv6 แก้จาก false เป็น true 12. browser.sessionhistory.max_total_viewers ให้ใส่ตามปริมาณ RAM ในเครื่องของคุณ ..ดังนี้ 32 MB ให้ใส่ 0 64 MB ให้ใส่ 1 128 MB ให้ใส่ 2 256 MB ให้ใส่ 3 512 MB ให้ใส่ 5 มากกว่านี้ ให้ใส่ 8 (ให้ใส่ 8 ได้มากที่สุดเท่านั้น ถ้าใส่มากกว่านี้ไฟร์ฟอกซ์จะปิดการเก็บ cache) 13. คลิกขวาตรงที่ว่างๆ และเลือก New-> Integer ใส่ตัวแปรชื่อ nglayout.initialpaint.delay และใส่ค่าเป็น 0 14. คลิกขวาที่ว่าง เลือก New ->Boolean ใส่ตัวแปร config.trim_on_minimize และเลือกค่าเป็น True 15. คลิกขวาที่ว่าง เลือก New -> Integer ใส่ตัวแปร Browser.cache.memory.capacity แล้วใส่ค่าโดยแปรผันตามปริมาณ RAM ..ดังนี้ 32 MB ให้ใส่ 2048 64 MB ให้ใส่ 4096 128 MB ให้ใส่ 8192 256 MB ให้ใส่ 14336 512 MB ให้ใส่ 22528 1 GB ให้ใส่ 32768 2 GB ให้ใส่ 45056 4 GB ให้ใส่ 59392 แล้วก็ให้ปิด autoupdate ทั้งหมดด้วยครับ (จากเมนู Tools > Options > Advance > Update) us:=นวย.:am:. - (แก้ไข 14/02/2008) - 22/06/2006 12:36 ๏+๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏- op:=วันนี้ขอแนะนำ {b}9 Firefox Extensions{/b} ที่สุดแสนจำเป็นสำหรับผมครับ! นอกจากตัวตัดคำไทย {a href=http://www.osdev.co.th}Thai Line-breaking Extension (MozTle){/a} ที่ได้แนะนำไปแล้วข้างบน (หลังจากเคยเขียนไว้ครั้งนึงแล้ว server เน่า กระทู้เลยหายไป) {b}1.{/b} {a href=http://adblockplus.org}Adblock Plus (พร้อมทั้ง Element Hiding Helper){/a} การท่องเน็ตของคุณจะไม่เหมือนเดิมอีกต่อไป! เพิ่มความราบรื่น สปีดปรู๊ดปร๊าด และหน้าเว็บสวยงามเป็นระเบียบขึ้น เมื่อใช้ extension นี้ ตำแหน่งไหนที่คุณไม่ชอบใจก็จงบอกมา (เช่น แบนเนอร์) แล้ว Firefox จะไม่โหลดรูปภาพ/เฟรม ตรงนั้น มากวนใจเราอีกเลย.. (เอาไปใช้บล๊อกพวก popup, flash, วีดิโอ/เพลง ที่เราขี้เกียจโหลดได้ด้วย) {b}2.{/b} {a href=http://ted.mielczarek.org/code/mozilla/fxif}FxIF{/a} ถ้าต้องการดูข้อมูล EXIF ที่แนบมากับภาพถ่ายโดยกล้องดิจิตอล แทนที่จะเซฟรูปภาพนั้นแล้วเปิดดูด้วยโปรแกรมภายนอกเช่น ACDSee เพียงใช้ extension นี้ แค่คลิกขวาที่รูปแล้วเลือก Properties ก็จะโชว์ให้ดูหมดเปลือก.. {b}3.{/b} {a href=http://users.skynet.be/mgueury/mozilla}HTML Validator (Tidy){/a} สำหรับคนทำเว็บทุกท่าน นอกจากดูความถูกต้องด้วยตาเปล่าแล้ว นี่เป็น extension ที่ควรมีไว้ประจำกายเป็นอย่างยิ่ง.. สามารถตรวจสอบไวยากรณ์ของ HTML ได้หลายดีกรีความเข้มงวด ทีเดียวเจียว (ติดตั้งแล้วไม่ต้องทำอะไรกับมันอีกเลย เพราะมันจะตรวจให้ทุกหน้าอยู่ตลอดเวลา) {b}4.{/b} {a href=http://ietab.mozdev.org}IE Tab{/a} เมื่อใช้ Firefox จนเป็นสาวกกันไปข้างแล้ว จะเกิดอาการไม่อยากเปิด IE extension นี้ จะทำให้ Firefox แสดงผลโดยใช้ IE engine ..ง่ายดายเพียงคลิกเดียว! เหมาะสำหรับเปิดบางเว็บที่จำเป็นต้องใช้ IE เท่านั้น (เว็บที่คนเขียนไม่รู้จัก Firefox) และสำหรับคนทำเว็บ ซึ่งจำเป็นต้องทดสอบเปิดดูเว็บจากทั้ง 2 เบราเซอร์ {b}5.{/b} {a href=http://www.orbitdownloader.com}Orbit Downloader{/a} ไม่ได้เป็นแค่ extension แต่เป็นโปรแกรมเล็กๆ ภายนอก ที่ทำหน้าที่ช่วยดาวน์โหลด เจ๋งกว่าโปรแกรมอื่นอยู่โข เพราะช่วยโหลดพวกวีดิโอสตรีมได้ด้วย (เช่น youtube) แถมยังโหลดไฟล์จากเว็บฝากไฟล์ได้, แบ่งไฟล์จากคนอื่นแบบ p2p ด้วย.. สุดยอด! ..สำคัญกว่านั้น ผนวกร่างตัวเองเข้ากับ IE, Firefox, Opera ได้เป็นอันหนึ่งอันเดียวกัน ไม่จำเป็นต้องติดตั้ง extension อื่นใดเพิ่ม เพื่อเป็นตัวช่วยเชื่อมอีกต่อไป {b}6.{/b} {a href=https://addons.mozilla.org/en-US/firefox/addon/3664}Show Picture{/a} คุณเคยประสบปัญหาอย่างนี้ไหม? ..รูปไม่โชว์ หรือโหลดมาได้ไม่เต็มรูปก็ขาดไป พอคลิกขวาเลือก View Image ก็จะได้ดูเฉพาะรูป ในหน้าเปล่าๆ พื้นขาว ซะอีก.. ถ้าคุณมี extension นี้ เพียงคลิกขวาแล้วเลือก Show Picture เหมือนตอนใช้ IE เท่านั้น! {b}7.{/b} {a href=http://hemiolapei.free.fr/divers/sap/sap-en.html}Stop Autoplay{/a} ถ้าบางเว็บที่จ้องแต่จะถมๆๆ วีดิโอเอย เพลงเอย กันเข้าไป ทำให้เครื่องคุณอืดล่ะก็ ลองใช้ extension ปราบสายเดี่ยว ตัวนี้ดูครับ มันจะหยุดการโหลดคลิปเหล่านี้ไว้ แล้วจากนั้นถ้าคุณอยากให้คลิปไหนถูกโหลดและเล่น ก็สามารถกดปุ่มเอาเองได้ {b}8.{/b} {a href=http://tmp.garyr.net}Tab Mix Plus{/a} สุดยอด extension ในการจัดการเกี่ยวกับแท็บ อาทิเช่น.. - แสดงแถบ progress bar บนชื่อแท็บ จะได้เห็นว่าหน้าไหนโหลดเสร็จแล้วบ้าง - แสดงแท็บที่โหลดเสร็จแล้วแต่ยังไม่ได้เปิดอ่าน ด้วยตัวหนา - เลือกสีอักษร สีแถบ ขนาด/ตำแหน่งแท็บ การวางปุ่มปิดแท็บ ฯลฯ ตามชอบใจ - undo closed tab ได้.. (สุดยอด!) และ save session ได้ (ทุก window, ทุก tab) - ถ้าโปรแกรมค้าง เปิดใหม่จะสามารถ restore ทุกๆ หน้า ที่กำลังเปิดล่าสุดได้ {b}9.{/b} {a href=http://chrispederick.com/work/web-developer}Web Developer{/a} extension นี้ทำได้ทุกอย่างเกี่ยวกับการแสดงผลเว็บ ..เท่าที่ผู้สร้างจะนึกออก ไม่ว่าจะเป็นการ disable สคริปต์/คุกกี้/แคช/รูปภาพ ฯลฯ หรือแสดงค่า css, ขอบเขตตาราง, ข้อมูลในฟอร์ม, ข้อมูลซ่อน ฯลฯ ..ไม่จำเป็นต้องเป็นคนทำเว็บ ก็สามารถใช้ extension นี้สนองความซุกซนของคุณได้! us:=นวย.:am:. - (แก้ไข 14/02/2008) - 09/09/2007 01:42 ๏+๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-๏-