Login
    
Login

13 June 2009 ~ 55 Comments

การติดตั้ง Dynamic DNS สำหรับ Remote WebGUI

การติดตั้ง Dynamic DNS เพื่อใช้ในการ Remote ระยะไกลผ่านเครื่อข่าย Internet เพิ่มความสะดวกในการบริหาร WebGUI ได้ทุกที่ทุกเวลา

ลุยเลยดีกว่า ด้วยขั้นตอนง่ายๆ ดังต่อไปนี้ครับพี่น้อง

1. ทำการ Enable Secure Shell โดยไปที่ System > Advanced ตามนั้น
ประโยชน์ของ Secure Shell คงไม่ต้องบรรยายอีกนะครับ

dyndns-1

2. ไปที่ System > General Setup เพื่อกำหนด webGUI Protocol แนะนำให้ใช้ HTTPS

dyndns-2

3. สร้าง webGUI SSL certificate / key ไปที่  System > Advanced
คลิกที่ Create แล้วใส่ข้อมูลที่จำเป็น Certificat key ก็จะถูกสร้างตามที่เห็น

dyndns-3

4. กำหนด Dynamic DNS client อย่าลืมไปสมัครก่อนนะครับที่ www.dyndns.com
หรือใครจะใช้ค่ายอื่นเชิญตามสะดวก

dyndns-4

5. กำหนด Firewall > Rules สำหรับ WAN Interface เพื่ออนุญาติให้ pots ดังกล่าวใช้งานได้
เป็นอันเสร็จพิธี..

dyndns-5

ขณะนี้ท่านสามารถ Remote webGUI ได้แล้วตามตัวอย่างคือ https://laontalk.dyndns.biz

Did you like this? Share it:
 

55 Responses to “การติดตั้ง Dynamic DNS สำหรับ Remote WebGUI”

  1. dangerman 14 June 2009 at 12:37 pm Permalink

    ช่วยด้วยครับ……ในส่วนของ firewall rule ผมไม่เห็นตรงที่ ใส่ port เลยครับ
    ตอนนี้ ยัง remote ไปไม่ได้เลยครับ (ทำแค่หน้านี้เท่านั้นใช่ไหมครับ ผมทำตามทุกอย่างตอนนี้เข้าไม่ได้)

    • laontalk 14 June 2009 at 9:43 pm Permalink

      ถ้าทำทุกอย่างตามนี้ก็ควรจะ Remote ได้แล้ว แต่การ Remote จะต้องใช้ผ่านเครือข่ายอื่น ที่ไม่ใช่ LAN เดียวกันนะครับ

      ตัวอย่าง Firewall Rules
      dyndns-6.jpg

      * อ้างอิงวิธีการติดตั้งต่างๆ ตามวีดีโอที่สอนบนเว็นนี้, ถ้ามีการ Config ที่แตกต่างออกไปก็ต้องดูว่า Network Diagram เป็นแบบไหน

  2. tatummm 15 June 2009 at 1:47 pm Permalink

    ขอบคุณครับ แล้วจะลองดู

  3. tatummm 15 June 2009 at 1:58 pm Permalink

    เอ่อ สงสัยคับ แล้วที่ เราท์เตอร์อ่ะครับ ต้องเปิดport ไหนอ่ะครับ เพราะพิมพ์เข้ามา เจอหน้าlogonของเราท์เตอร์อ่ะครับ

    • laontalk 15 June 2009 at 11:28 pm Permalink

      ตามวีดีโอสอนการติดตั้ง ผมจะพูดถึง Rounter / ADSL Modem เฉพาะกำหนดให้เป็น Bridge Mode, นั่นหมายถึงเราไม่ได้ใช้คุณสมบัติของ Rounter เลย

      ถ้าคุณกำหนดเป็น Rounter Mode และใช้ DHCP Server เพื่อแจก IP Address ให้กับ pfSense หรือกำหนด IP Address ที่ WAN Interface ของ pfSense ก็ตามที

      ดังนั้น หน้าที่ของ DynamicDNS และ port forward จะตกอยู่ที่ Rounter ครับ, สำหรับ pfSense แค่เปิดใช้บริการ port 22, 443 ด้วยการเลือกที่ General Setting และ Advanced เท่านั้น (ทำเฉพาะขั้นตอน 1-3 และ 5 ) ครับ..

      ช่วยเขียนรายละเอียด Network Diagram มาดูหน่อยว่าติดตั้งแบบไหน, และใช้ Rounter / ADSL Modem ยี่ห้ออะไร

  4. dangerman 16 June 2009 at 5:33 pm Permalink

    ของผมต่อผ่าน loadbalance ครับ โดยแจก dhcp มายัง pfsense และให้ pfsense แจกไอพี อีกวงขึ้นมา ตอนนี้ก็ใช้งานได้ปกติแต่เมื่อวานผมไปทำ forward port ที่ตัว loadbalance โดยยึดเอา ip ที่จ่ายให้กับ pfsense เช่น 192.168.8.118 เป็น ip ที่ตั้งค่า forward port (https:443) เรียบร้อยแล้ว แต่พอเข้าไปที่ web dyndns เพื่อเข้าไปดู xxx.dyndns.biz ของผม ไอพีที่ได้ กลับไม่ใช่ ip ของ pfsense เป็น private ip และจนป่านนี้ ยังเข้าไม่ได้เลยครับ แต่ผมทำลักษณะแบบนี้ แต่เชื่อมแบบ pptp กับตัว loadbalance ก็ข้าไปได้ครับ

    • laontalk 17 June 2009 at 6:46 pm Permalink

      ในกรณีที่คุณต่อเป็น Router Mode ทั้ง 2 Link ควร Fixed IP เพื่อจะได้กำหนด port forward ได้ถูกต้อง ตัวอย่างเช่น

      Router-1 (x.x.1.254)——-(x.x.1.1)pfsense|—>LAN
      Router-2 (x.x.2.254)——-(x.x.2.1)

      เลือก Rounter ตัวใดตัวหนึ่ง สมมติเป็น Rounter-1 แล้วกำหนดค่าต่างๆ ดังนี้
      - ติดตั้ง Dynamic DNS
      - port forward (443, 22) มาที่ IP x.x.1.1
      - ที่เครื่อง pfSene ทำแค่ข้อ 1-3, 5

  5. atom007 9 July 2009 at 12:35 pm Permalink

    สวัสดีครับ ทีมงานละอ่อน ผมมีปัญหาอยากเรียนถามเกี่ยวกับการ Remote ครับ
    1.ผมมีกล้องวงจรปิด ถ้าต้องการดูผ่านทาง PfSense ต้องกำหนดที่ตรงไหนครับ
    1.1 Firewall Aliases
    1.2 Firewall Nat:Port Forward or 1:1 or Outbound
    1.3 Firewall Rules:Wan or Lan
    2.เกี่ยวกับการเก็บ Log ให้ได้ตาม พรบ.50 ต้องติดตั้งอะไรอีกหรือเปล่าครับ
    ขอบคุณเพื่อนๆทุกท่านครับ

  6. laontalk 10 July 2009 at 3:07 pm Permalink

    การ Remote เพื่อดูกล้องวงจรปิด ให้ใช้คำสั่ง Firewall -> NAT -> Port forward โดยแก้ไขที่ NAT IP (IP addrerss ของกล้อง), Local Port (ใส่ port ที่ถูกต้อง)

    การเก็บ Log ตาม พรบ. คอมฯ 50 ใช้ Squid + Light Squit + Kivi Syslog ก็น่าจะเพียงพอแล้วครับ

    ถ้าต้องการ Mapping MAC กับ IP Address ของ client เข้าด้วยกัน ให้ไปที่ DHCP Server
    ด้านล่างสุด เราสามารถ Add ได้อีก แต่ต้องไม่อยู่ใน DHCP Rang ปกตินะครับ

    แค่นี้เวลาเราดู Log Files ก็สามารถรู้ได้ทันทีว่า IP ไหนเป็นของเครื่องใคร

  7. มือใหม่หัด pfsense 13 July 2009 at 11:06 am Permalink

    ต้องการทำ WebGUI ครับ โดยรูปแบบของ Network ในที่ทำงานเป็นแบบนี้ จะต้องทำยังไงครับ (คือผมพยายามทำตามวิธีของ laontalk แต่เข้าทีไรก็ไปเจอ router ทุกทีครับ)

    ระบบในที่ทำงานเป็นแบบนีครับ

    TOT->ADSL Router(D-Link DSL2540T)DHCP–>computer1
    DHCP–>computer2
    DHCP–>computer3
    DHCP–>HUB->PFsense->HUB->คอม1
    ->คอม2
    ->คอม3
    ->คอม4
    โดยที่ computer1 – 3 จะให้ผู้บริหารใช้ประจำโต๊ะของท่านคนเดียว
    ส่วน คอม1-4 (และอาจมีเพิ่มอีก)ใช้ส่วนรวมหลายคนล็อกอินครับ

    คือถ้าผมต้องการจะ webGUI จากข้างนอกมาสู่ pfsense ในที่ทำงาน ลักษณะแบบนี้จะเซ็ตยังไงครับ

    อีกอย่างที่สงสัยคือ ถ้าผมจะเข้า webgui จากเครื่อง computer1-3 หรือ คอม1-4 ผ่านเน็ต
    เข้าไปที่เครื่อง pfsense ได้หรือเปล่าครับ(ลองอ่านด้านบนรู้สึกว่าถ้าเป็นแลนวงเดียวกันไม่ได้
    ใช่หรือเปล่า)

    ขอบคุณมากครับ
    มือใหม่หัด pfsense

  8. มือใหม่หัด pfsense 13 July 2009 at 11:11 am Permalink

    รูปแบบnetwork ถูกตัดบรรทัดขอลองอีกทีครับ
    TOT->ADSL Router(D-Link DSL2540T) จ่ายแบบDHCPไป 4 ทึ่คือ
    1. DHCP–>computer1
    2. DHCP–>computer2
    3. DHCP–>computer3
    4. DHCP–>HUB->PFsense->HUB->(จากจุดนี้จ่ายไป HUB อีก 4 ที่คือ)

    ->คอม1
    ->คอม2
    ->คอม3
    ->คอม4
    (ดูง่ายขึ้นหรือเปล่าครับ)

  9. laontalk 13 July 2009 at 8:23 pm Permalink

    D-Link DSL2540T ตัวนี้เป็น Broadband Router + ADSL Modem + 4 ports LAN การเชื่อมต่อตามตัวอย่างที่ให้มาผิดครับ, ถึงจะมี 4 Ports LAN แต่ไม่ได้หมายความว่าเอา PC ไปต่อจากตรงนี้

    ตัวอย่างง่ายๆ ตามนี้

    [TOT]--------[D-Link]--------[pfSense]-----[Switch Hub]-----[PC1-4]

    ดูภาพ Diagram ตอนที่ 1 และตอนอื่นๆ ประกอบ

    การติดตั้งตาม VDO ที่สอนในเว็บนี้

    1. D-Link จะต้องปรับเป็น Bridge Mode (ใช้คุณสมบัติ ADSL Modem อย่างเดียว) กำหนดให้ VPI = 1, VCI = 32 สำหรับ TOT
    ส่วน 4 Ports LAN ที่มีอยู่ ให้ใช้เพียง 1 port เท่านั้นเพื่อเชื่อมมายัง pfSense – WAN Interface

    2. pfSense – LAN interface เชื่อมต่อไปยัง Switch Hub

    3. Switch Hub เชื่อมต่อไปยัง PC ในเครือข่ายของเรา

    ลองดูใหม่นะครับ ใจเย็นๆ ไม่ต้องรีบร้อน ทำตามที่สอนให้ได้ทุกขั้นตอนก่อน แล้วค่อย Apply การเชื่อมต่อแบบอื่นๆ

  10. มือใหม่หัด pfsense 14 July 2009 at 12:46 am Permalink

    ขอบคุณทางทีมงาน laontalk มากครับ ผมนั่งรอคำตอบตลอดช่วงบ่ายเลย (ลุ้นคำตอบ)
    หลังเลิกงาน พอดีก่อนนอนมาเปิดดู อ้าว!! ได้คำตอบแล้ว

    ก็กะว่าคงเป็นช่วงเลิกงานตอนเย็นจะได้ทำอีกทีครับ เพราะช่วงเวลางานปกติทุกโต๊ะใช้เน็ตตลอดเลย

    ช่วงที่ยังไม่ได้ลองทำ ก็มีคำถามคาใจอยู่อีกนิดนึงว่า pfsense ถ้าต่อไว้หลัง switch จะทำ webGUI ได้หรือเปล่า? คือผมถามตามที่ไม่รู้และสงสัยจริงๆนะครับ

    เดี๋ยวผมจะทำตามวิธีที่ให้แนะนำไว้ให้ผ่านก่อน ขอบคุณมากครับ

  11. laontalk 14 July 2009 at 1:49 am Permalink

    ได้ครับ กรณีนี้คือถ้าความยาวสาย LAN ระหว่าง Router กับ pfSense อยู่ไกลกันมาก สามารถใช้ Switch Hub เข้ามาช่วยได้ แต่ต้องไม่ใช้ร่วมกันเครื่องอื่นนะ

    [TOT]---[D-Link]-----[Hub]-----[pfSense]-----[Hub]-----[PC1]

  12. มือใหม่หัด pfsense 14 July 2009 at 11:34 pm Permalink

    ทำได้แล้วครับ ขอบคุณทีมงาน laontalk มากที่ตอบทุกคำถามเลย

  13. atom007 27 July 2009 at 3:33 pm Permalink

    สวัสดีครับ ทีมงานละอ่อน ผมมีปัญหาอยากเรียนปรึกษานิดหน่อยครับ
    1. ถ้าหากเราทำ L/B แล้ว DDNS ที่เรากำหนดไว้จะยังใช้งานได้ปกติหรือเปล่าคร้ับ
    2. การทำ L/B ต้องให้ router เป็นตัว Connect ก่อนทั้งสองตัว แล้ว DDNS
    ที่เราได้เซ็ตค่าไว้่ จะเลือกต่อจาก wan ไหนเหรอครับ
    เพื่อนๆคนไหนเคยทำแล้วก้อสามารถบอกประสบการณ์ได้นะครับ ขอบคุณครับ

    • laontalk 27 July 2009 at 8:28 pm Permalink

      การติดตั้ง L/B มีวิธีการเชื่อมต่ออยู่หลายวิธีครับ ขอแนะนำวิธีที่ดีที่สุดนั่นก็คือ ใช้ router connect internet ทั้ง 2 link (router mode)

      ส่วน WAN1, WAN2 ของ pfSense ให้กำหนด Static IP และ Gateway โดยอยู่ใน Subnet ของ Router แต่ละตัว

      การติดตั้ง DDNS อ้างอิง comment ด้านบน
      ————————————–

      ในกรณีที่คุณต่อเป็น Router Mode ทั้ง 2 Link ควร Fixed IP เพื่อจะได้กำหนด port forward ได้ถูกต้อง ตัวอย่างเช่น

      Router-1 (x.x.1.254)——-(x.x.1.1)pfsense|—>LAN
      Router-2 (x.x.2.254)——-(x.x.2.1)

      เลือก Rounter ตัวใดตัวหนึ่ง สมมติเป็น Rounter-1 แล้วกำหนดค่าต่างๆ ดังนี้
      - ติดตั้ง Dynamic DNS
      - port forward (443, 22) มาที่ IP x.x.1.1
      - ที่เครื่อง pfSene ทำแค่ข้อ 1-3, 5

  14. atom007 27 July 2009 at 3:38 pm Permalink

    อีกอย่างครับ ถ้าระบบแจ้งว่า DISK USAGE FULL เรามีวิธีแก้ไขหรือเปล่าครับ หรือต้องถึงกับลงใหม่ครับ
    ขอบคุณทุกคำตอบครับ

  15. laontalk 28 July 2009 at 11:02 pm Permalink

    เรื่อง DISK USAGE FULL ผมก็ยังไม่เคยเจอนะครับ ไม่ทราบว่าใช้ HDD ความจุเท่าไหร่ หรือใช้มากี่ปีแล้ว

    วิธีแก้ที่สามารถทำได้ง่ายๆ ก็คงต้องลบ proxy cash และ package ที่ไม่จำเป็นออก

  16. eak 24 August 2009 at 7:57 pm Permalink

    เรื่อง DISK USAGE FULL ผมก็มีปัญหาเช่นเดียวกันครับ ตอนแรก Disk ผมยังว่างอยู่เลยแต่ตั้งแต่เช้าที่ผ่านมา CPU ก็ Run 100% และ DISK ก็ค่อยๆเต็ม ผมพึ่ง on service ได้ 2 อาทิตย์เอง HDD 40G ครับ จะแก้ยังไงดีครับ

    • laontalk 25 August 2009 at 9:36 am Permalink

      ขอรายละเอียด Spec เครื่องหน่อย ใช้ pfSense version ไหน ติดตั้ง package & Service อะไรบ้าง?

  17. panasars 27 August 2009 at 9:23 pm Permalink

    ทำให้ pfsenes มี 2WAN ได้ใหมครับวิธีทำทำไงครับคือผมอยากให้แลนวงเดียวใช้ 2isp และกำหนดให้แต่ล่ะเส้นisp แยกเกมส์และเนตออกจากกัน คือ isp1—->WAN1—–เกมส์ออนไล
    isp2—->WAN2—-http, FTP,internet

  18. panasars 28 August 2009 at 11:43 am Permalink

    isp1——wan1——pfsenseserver——–hup———com(อนุญาติเฉพาะอินเตอร์เนต)

    isp2——wan2——pfsenseserver——–hup———com(อนุญาติเฉพาะเกมส์ออนไล)
    hupตัวเดียวกัน
    pfsenseserver ตัวเดียวกัน
    2 ค่าย isp
    pfsense ทำได้หรือไม่ครับ ถ้าทำได้กรุณาบอกทีครับขอบคุณครับที่จัดทำเว็บที่ให้ความรู้นี้..ขอบคุณ

    • laontalk 28 August 2009 at 12:24 pm Permalink

      รับไว้พิจารณาครับ ตอนนี้กำลังดำเนินการอยู่ เสร็จแล้วจะแจ้งให้ทราบอีกที

      ความเห็นส่วนตัวนะครับ ในเมื่อเราทำ Loadbalance Failover แล้ว ไม่จำเป็นต้องแยกเน็ตแยกเกมส์หรอกครับ เพราะถ้าคนเล่นเกมส์มาก ก็จะไปหนัก WAN+Games ส่วน WAN+Internet ก็จะไม่ได้ใช้ประโยชน์อะไร

      คุณสมบัติ Loadbalance คือช่วยกันทำงานทั้ง 2 link พร้อมๆ กันครับ ส่วน Failover คือเมื่อ WAN ใดๆ หลุดก็จะถูกสลับไปใช้อีก WAN หนึ่งทันที ทำให้ไม่พลาดการเชื่อมต่อนั่นเอง…

      ลองนึกภาพว่าหากเราแยกเน็ตแยกเกมส์แล้ว เมื่อสายใดๆ หลุด แสดงว่าเน็ตหรือเกมส์ก็จะใช้ไม่ได้ทันที เพราะเราได้เจาะจงเส้นทางไว้แล้ว

  19. pangpond2009 29 August 2009 at 4:34 am Permalink

    ขอวิธีการเซ็ตค่า ดังแสดงในภาพหน่อยครับ ขอขอบพระคุณล่วงหน้าครับ
    show.php?id=ca057dcd2b0b66ed370950505e96683f

  20. pangpond2009 29 August 2009 at 4:42 am Permalink

    http://www.uppicweb.com/show.php?id=ca057dcd2b0b66ed370950505e96683f

  21. panasars 31 August 2009 at 7:06 am Permalink

    ในกรณีที่เรามี router 2 ก้อน มี isp 2 บริษัท แล้วเราต่อ router ให้เป็น bridge ทั้งสองก้อน
    แล้วต่อเข้า hup เลยได้ไหมครับ . หรือ
    ต่อเป็น bridge ทั้งสองก้อนแล้ว———>pfsense server ——->hup—->ลูกข่าย
    ในกรณีที่ต่อเข้า pfsense server จะเซ็ต router เป็น bridge ทั้งสองก้อนเลยไหม
    แล้วเราจะเซ็ต pfsense ย้งไง เพื่อให้เชื่อมต่อได้ทั้วสอง isp…-ขอรับ
    ขอขอบคุณล่วงหน้า..ท่านไม่เคยทำให้ผิดหวังเลย

  22. laontalk 31 August 2009 at 2:15 pm Permalink

    multiwan.png

    เอาอย่างง่ายนะครับ

    1. การเชื่อมต่อ WAN1 = PPPOE (Bridge Mode)
    WAN2=DHCP หรือ Staic (Router Mode)

    2. กำหนดที่ LAN Rules เพื่อแยกว่าต้องการให้ port ไหนออกไปยัง WAN ใดๆ

    ลองดูนะครับ ถ้ายังไม่ได้ให้กำหนด Outbound NAT เพิ่ม

  23. panasars 1 September 2009 at 5:41 pm Permalink

    ขอรบกวนท่านหน่อย คือกำลังทดลอง CC4.3 คอมมูน่ะ คือลงเสร็จลอง ssh เข้าไปมันเหมือนไม่มีแลนการ์ด ping ก็ไม่เห็น ลองทุกอย่างล่ะมันเหมือนตัวเชพเวอร์มันไม่เห็นแลนน่ะครับ เครื่องที่ต่อ HUP ไปยังเครื่อง
    เชพเวอร์cc4.3 ตัวสัญญาลักษ์ network connection มีสามเหลี่ยมสีเหลืองขึ้น รีแพล แล้วก็ไม่ทำงาน ถอดออกไปต่อกะแลนวงอื่นก็ใช้ได้ปกติ….งง มีวิธีไหมครับ….ขอบคุณ

    • laontalk 3 September 2009 at 2:20 am Permalink

      ปกติหลังจากติดตั้ง CC เสร็จแล้ว ทำการ Logon เข้าสู่หน้าจอเพื่อกำหนด DNS, DHCP เราจะพบ LAN Interface ตามจำนวนที่เราติดตั้ง

      การขึ้นรูปสีเหลืองที่ LAN แสดงว่า Client ไม่ได้รับแจก DHCP จาก Server หรือติดต่อ Server ไม่ได้

      cc-lan.jpg

      ลองดูคู่มือตามนี้ครับ (ถ้าซ้ำกับที่มีแล้วขออภัยด้วย)

      http://www.hadyaiinternet.com/index.php?topic=34.0

  24. coy 8 March 2010 at 1:00 pm Permalink

    แบบ forword จาก pf ไป ip 192.168.1.4 ถูกหรือเปล่า

    • laontalk 8 March 2010 at 8:09 pm Permalink

      กรณีทำ Remote WebGUI ไม่ต้องทำ NAT / port forward ครับ แค่เปิดอนุญต WAN Rules เท่านั้นเอง

      ทั้งนี้ขึ้นยู่กับการเชื่อมต่อครับ
      กรณีที่ 1 เชื่อมต่อโดยกำหนด Router Bridge Mode
      สามารถกำหนดค่าต่างๆ ตามนี้ได้เลย ไม่ต้อง forward port ใดๆ

      กรณีที่ 2 เชื่อมต่อโดยกำหนด Router เป็น Router Mode
      จะต้องทำการ forward port จากอุปกรณ์ Router (443, 22) มายัง IP ของ pfSense – WAN Interface

      เท่านี้ก็ใช้งานได้ล่ะ

  25. coy 8 March 2010 at 10:00 pm Permalink

    ทำ remote webgui ได้ครับ แต่ติดตรง forward port ให้ชีไปยัง เครื่อง webserver port 80 ครับ network diagram คล้ายกับ vdo ที่สอนครั บ

  26. laontalk 8 March 2010 at 10:19 pm Permalink

    การทำ port forward ไปยัง Web Server (80) LAN Subnet

    nat.jpg

    โดยที่ 192.168.1.10 คือ Web Server

  27. coy 8 March 2010 at 10:21 pm Permalink

    ตอบเร็วจังครับ ขอบคุณมาก เดี่ยวจะลองดู

  28. coy 8 March 2010 at 10:23 pm Permalink

    ตรง rule ล่ะครับ

    • laontalk 8 March 2010 at 10:28 pm Permalink

      WAN Rules ไม่ต้องทำอะไรเพราะ

      Auto-add a firewall rule to permit traffic through this NAT rule

  29. coy 8 March 2010 at 10:42 pm Permalink

    Auto-add a firewall rule to permit traffic through this NAT rule
    ของผมไม่มีครับ คงตอนนี้ 1.2.2 ครับ

    • laontalk 8 March 2010 at 11:06 pm Permalink

      ถ้าไม่มีก็คงต้องสร้าง WAN Rules เอง แต่แนะนำว่า Upgrade เป็น 1.2.3 ครับ สะดวกและเสถียรกว่าด้วย

  30. coy 8 March 2010 at 11:34 pm Permalink

    up แล้ว พังแล้วครับ config ใหม่อยู่

  31. coy 9 March 2010 at 1:23 am Permalink

    set แล้วไม่ได้ครับ

    • laontalk 9 March 2010 at 9:40 am Permalink

      ช่วยเขียน diagram หรืออธิบายคร่าวๆ หน่อยว่าเชื่อมต่อแบบไหน

  32. coy 9 March 2010 at 12:45 pm Permalink

    Mar 9 12:44:26 NG0 180.183.161.118:13679 192.168.1.4:80 TCP

  33. coy 9 March 2010 at 12:45 pm Permalink

    log file ของ firewall ครับ

  34. coy 9 March 2010 at 12:50 pm Permalink

    Mar 9 12:47:44 NG0 180.183.161.118:13728 117.47.85.87:443 TCP
    ของ https ขึ้นครับแต่ปรากฎหน้า https://xxxxx.dyndns.org
    แต่ http://xxxxx.dyndns.org ไม่ขึ้น

    • laontalk 9 March 2010 at 9:56 pm Permalink

      ถูกต้องแล้วครับ Web GUI port 443, เพราะเราเลือก webGUI protocol เป็นแบบ HTTPS นั่นเอง

      ส่วน port 80 จะต้องใช้ NAT – Port Forward ไปยัง IP Address LANSubnet (กรณีมี webserver)

  35. Wimax Zaqaria 15 March 2010 at 4:49 am Permalink

    Wonderful weblog, helpful advice .Thank you with regard to this excellent post – I will be sure to look through your weblog much more frequently.

  36. Chakkawarn 2 July 2010 at 4:15 pm Permalink

    การติดตั้ง L/B มีวิธีการเชื่อมต่ออยู่หลายวิธีครับ ขอแนะนำวิธีที่ดีที่สุดนั่นก็คือ ใช้ router connect internet ทั้ง 2 link (router mode)

    ส่วน WAN1, WAN2 ของ pfSense ให้กำหนด Static IP และ Gateway โดยอยู่ใน Subnet ของ Router แต่ละตัว

    การติดตั้ง DDNS อ้างอิง comment ด้านบน
    ————————————–

    ในกรณีที่คุณต่อเป็น Router Mode ทั้ง 2 Link ควร Fixed IP เพื่อจะได้กำหนด port forward ได้ถูกต้อง ตัวอย่างเช่น

    Router-1 (x.x.1.254)——-(x.x.1.1)pfsense|—>LAN
    Router-2 (x.x.2.254)——-(x.x.2.1)

    เลือก Rounter ตัวใดตัวหนึ่ง สมมติเป็น Rounter-1 แล้วกำหนดค่าต่างๆ ดังนี้
    - ติดตั้ง Dynamic DNS
    - port forward (443, 22) มาที่ IP x.x.1.1
    - ที่เครื่อง pfSene ทำแค่ข้อ 1-3, 5

    จากข้างบนหากผมจะ forward ต่อไปอีกเครื่องในวงแลนต้องทำยังไงครับเพราะตอนนี้ CCTV รีโมทย์มาดูไม่ได้เลยครับ ขอรบกวนด้วยนะครับ

    ขอบคุณครับ

  37. laontalk 3 July 2010 at 3:29 pm Permalink

    ต้อง Static IP ที่ WAN1 ตามดโครงสร้างคือ x.x.1.1 เสร็จแล้วทำการ port forward ที่ Router ไปยัง —> x.x.1.1

    และทำการ NAT : Port Forward ที่เครื่อง pfSense ไปยัง CCTV อีกที่ครับ

  38. manop 13 September 2010 at 5:46 pm Permalink

    ผมใช้ modem ทำ Bridge Mode ต่อเข้ากับ pfsense ตั้ง ddns ไม่ออก นอกวง ต้องทำยังไงครับพอลอง ping วงนอก แล้ว ไม่ได้ครับ

    • laontalk 15 September 2010 at 12:10 am Permalink

      ไม่ค่อยเ้ข้าใจคำถามเ่ท่าไหร่ ช่วยอธิบายง่ายๆ ด้วยครับ

      ตามบทความจะอธิบายวิธี Remote จากเครือข่าย Internet อื่นๆ เ่ช่นจากที่บ้านไปยังที่ทำงานเพื่อจัดการกับ pfsense

      ซึ่งถ้าทำตามบทความแล้วคุณก็จะสามารถ Remote ไปยัง pfsense จากที่ใดๆ ก็ได้

  39. manop 15 September 2010 at 7:40 am Permalink

    หมายความว่า พอผมping ***.dyndns.org มาที่192.168.1.254 ถ้าอยู่ในgetway 192.168.1.254 มันออกครับ แต่พอping getway 192.168.2.3 ที่เป็น isp อื่น มันping ไม่ได้ครับ ต้องเซทยังไงครับ ถ้าใช้ putty ใช้ได้ครับ แต่พอทดสอบบนdos โหมด ผมพิมพ์ ping ***.dyndns.org มันฟ้อง request time out ครับ

  40. manop 15 September 2010 at 7:48 am Permalink

    คือผมต้องการ ต่อกล้อง วงจรปิด กับ pfsense แต่สร้าง dyndns เข้าไปที่ Services: Dynamic DNS client
    Hostname ****.dyndns.tv
    Wildcards Enable Wildcard
    Username *******
    Password *******
    ผมทำแบบนี้ครับ แล้วลอง ping บน dos มันฟ้อง request time out
    อย่างนี้ต้องเซทตรงไหนของ pfsense เพิ่มอีกครับ

  41. cmtcboy 9 June 2011 at 12:34 am Permalink

    เปิดใช้งาน DynDns แล้ว Cached IP เป็น 0.0.0.0
    update IP ที่ dyndns.org ครั้งแรกที่สร้างครั้งเดียวครับ
    แล้วก็ไม่ update IP อีกแลย ต้องแก้ไขตรงไหนครับ ช่วยดูหน่อยนะครับ

  42. cmtcboy 9 June 2011 at 1:11 am Permalink

    ลองเปลี่ยนเป็น No-IP แล้ว work ครับ สั่ง disconnect WAN แล้ว Connect ใหม่ , No-IP update ทันที


Leave a Reply

You must be logged in to post a comment.

PHVsPjxsaT48c3Ryb25nPndvb19hYm91dDwvc3Ryb25nPiAtIOC4muC4o+C4tOC4iOC4suC4hOC5gOC4h+C4tOC4meC4iuC5iOC4p+C4ouC5gOC4q+C4peC4t+C4reC4nOC4ueC5ieC4m+C4o+C4sOC4quC4muC4reC4uOC4l+C4geC4oOC4seC4oiDguJzguYjguLLguJnguKrguKDguLLguIHguLLguIrguLLguJTguYTguJfguKIsIOC4mOC4meC4suC4hOC4suC4o+C5hOC4l+C4ouC4nuC4suC4k+C4tOC4iuC4ouC5jCDguKrguLLguILguLLguKrguKDguLLguIHguLLguIrguLLguJTguYTguJfguKIsIOC4iuC4t+C5iOC4reC4muC4seC4jeC4iuC4tSDguKrguKDguLLguIHguLLguIrguLLguJTguYTguJfguKLguIrguYjguKfguKLguJzguLnguYnguJvguKPguLDguKrguJrguK3guLjguJfguIHguKDguLHguKIsIOC5gOC4peC4guC4l+C4teC5iOC4muC4seC4jeC4iuC4tSAwNDUtMy0wNDE5MC02IOC4muC4seC4jeC4iuC4teC4geC4o+C4sOC5geC4quC4o+C4suC4ouC4p+C4seC4mSBGYXg6IDAtMjI1Ni00MDk2IHd3dy5yZWRjcm9zcy5vci50aDwvbGk+PGxpPjxzdHJvbmc+d29vX2Fib3V0X21vcmVfdGV4dDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2Fib3V0X21vcmVfdXJsPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fYWJvdXRfdGV4dDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2Fkc19yb3RhdGU8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fYWRfMjUwX2Fkc2Vuc2U8L3N0cm9uZz4gLSA8c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIj48IS0tDQpnb29nbGVfYWRfY2xpZW50ID0gXCJwdWItMjY4Mjk4NDcyNjEzMzAzMFwiOw0KLyogMjUweDI1MCwg4LiW4Li54LiB4Liq4Lij4LmJ4Liy4LiH4LiC4Li24LmJ4LiZ4LmB4Lil4LmJ4LinIDEyLzI5LzA4ICovDQpnb29nbGVfYWRfc2xvdCA9IFwiMjkwMTY2MjgxOFwiOw0KZ29vZ2xlX2FkX3dpZHRoID0gMjUwOw0KZ29vZ2xlX2FkX2hlaWdodCA9IDI1MDsNCi8vLS0+DQo8L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiDQpzcmM9XCJodHRwOi8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL3Nob3dfYWRzLmpzXCI+DQo8L3NjcmlwdD48L2xpPjxsaT48c3Ryb25nPndvb19hZF8yNTBfaW1hZ2U8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy0yNTB4MjUwLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkXzI1MF91cmw8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF9jb250ZW50X2Fkc2Vuc2U8L3N0cm9uZz4gLSA8c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIj48IS0tDQpnb29nbGVfYWRfY2xpZW50ID0gXCJwdWItMjY4Mjk4NDcyNjEzMzAzMFwiOw0KLyogNDY4eDYwLCDguJbguLnguIHguKrguKPguYnguLLguIfguILguLbguYnguJnguYHguKXguYnguKcgMTIvMjkvMDggKi8NCmdvb2dsZV9hZF9zbG90ID0gXCIzMDk5NjgzMzkyXCI7DQpnb29nbGVfYWRfd2lkdGggPSA0Njg7DQpnb29nbGVfYWRfaGVpZ2h0ID0gNjA7DQovLy0tPg0KPC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIg0Kc3JjPVwiaHR0cDovL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9zaG93X2Fkcy5qc1wiPg0KPC9zY3JpcHQ+PC9saT48bGk+PHN0cm9uZz53b29fYWRfY29udGVudF9pbWFnZTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTQ2OHg2MC0yLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2NvbnRlbnRfdXJsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfMTwvc3Ryb25nPiAtIGh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9wcm9kdWN0X2Jhbm5lcnMvZVN0b3JlX2Jhbm5lcl8xMjVfMTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzI8L3N0cm9uZz4gLSBodHRwOi8vYmV0YWdsdWNhbjEuY29tL2ltYWdlcy9idXNpbmVzczEyNXgxMjUuanBnPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfMzwvc3Ryb25nPiAtIGh0dHA6Ly93d3cubHVuYXJwYWdlcy5jb20vYmFubmVycy9pbWFnZXMvYmFubmVyX2Fkc18xMjV4MTI1XzAyLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzQ8L3N0cm9uZz4gLSBodHRwOi8vYmV0YWdsdWNhbjEuY29tL2ltYWdlcy9iYW5uZXIxMjV4MTI1LTIucG5nPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfNTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtNC5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV82PC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMTI1eDEyNS00LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3BhZ2U8L3N0cm9uZz4gLSBTZWxlY3QgYSBwYWdlOjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3RvcDwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fYWRfdG9wX2Fkc2Vuc2U8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19hZF90b3BfaW1hZ2U8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy00Njh4NjAtMi5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF90b3BfdXJsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzE8L3N0cm9uZz4gLSBodHRwOi8vd3d3LnRpcHNhbmR0cmlja3MtaHEuY29tL3dvcmRwcmVzcy1lc3RvcmUtcGx1Z2luLWNvbXBsZXRlLXNvbHV0aW9uLXRvLXNlbGwtZGlnaXRhbC1wcm9kdWN0cy1mcm9tLXlvdXItd29yZHByZXNzLWJsb2ctc2VjdXJlbHktMTA1OT9hcF9pZD1zeXNuYXA8L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfMjwvc3Ryb25nPiAtIGh0dHA6Ly9iZXRhZ2x1Y2FuMS5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfMzwvc3Ryb25nPiAtIGh0dHA6Ly93d3cubHVuYXJwYWdlcy5jb20vaWQvc2VhdGVjaDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF80PC9zdHJvbmc+IC0gaHR0cDovL2JldGFnbHVjYW4xLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF81PC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzY8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hbHRfc3R5bGVzaGVldDwvc3Ryb25nPiAtIGRlZmF1bHQuY3NzPC9saT48bGk+PHN0cm9uZz53b29fYXJjaGl2ZXNfcGFnZTwvc3Ryb25nPiAtIEFyY2hpdmVzPC9saT48bGk+PHN0cm9uZz53b29fYXJjaGl2ZV9jb250ZW50PC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19hcnRpY2xlc19jYXRlZ29yeTwvc3Ryb25nPiAtIFNlbGVjdCBhIGNhdGVnb3J5OjwvbGk+PGxpPjxzdHJvbmc+d29vX2FydGljbGVzX3Rlcm1faWQ8L3N0cm9uZz4gLSA5OTwvbGk+PGxpPjxzdHJvbmc+d29vX2FzaWRlc19jYXRlZ29yeTwvc3Ryb25nPiAtIEZlYXR1cmVkPC9saT48bGk+PHN0cm9uZz53b29fYXNpZGVzX2VudHJpZXM8L3N0cm9uZz4gLSAxPC9saT48bGk+PHN0cm9uZz53b29fYXVkaW9fY2F0ZWdvcnk8L3N0cm9uZz4gLSBTZWxlY3QgYSBjYXRlZ29yeTo8L2xpPjxsaT48c3Ryb25nPndvb19hdWRpb190ZXJtX2lkPC9zdHJvbmc+IC0gMTAxPC9saT48bGk+PHN0cm9uZz53b29fYXV0b19pbWc8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2Jncjwvc3Ryb25nPiAtIGRlZmF1bHQuY3NzPC9saT48bGk+PHN0cm9uZz53b29fYml0bHlfYXBpX2tleTwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2JpdGx5X2FwaV9sb2dpbjwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2JvZHlfY29sb3I8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19ib2R5X2ltZzwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2JvZHlfcG9zPC9zdHJvbmc+IC0gdG9wPC9saT48bGk+PHN0cm9uZz53b29fYm9keV9yZXBlYXQ8L3N0cm9uZz4gLSByZXBlYXQ8L2xpPjxsaT48c3Ryb25nPndvb19idXR0b25fY29sb3I8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19jYXRfZXg8L3N0cm9uZz4gLSAxNTwvbGk+PGxpPjxzdHJvbmc+d29vX2NhdF9tZW51PC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2NvbW1lbnRzPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fY29udGFjdGZvcm1fZW1haWw8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19jb250ZW50X2FyY2hpdmVzPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19jb250ZW50X2hvbWU8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2N1c3RvbV9jc3M8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19jdXN0b21fZmF2aWNvbjwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2N1c3RvbV9yc3M8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fY3VzdG9tX3Nlb190ZW1wbGF0ZTwvc3Ryb25nPiAtIGE6Mjp7aTowO2E6NTp7czo0OiJuYW1lIjtzOjEwOiJzZW9faW5mb18xIjtzOjM6InN0ZCI7czowOiIiO3M6NToibGFiZWwiO3M6NDoiU0VPICI7czo0OiJ0eXBlIjtzOjQ6ImluZm8iO3M6NDoiZGVzYyI7czoxODk6IkFkZGl0aW9uYWwgU0VPIGN1c3RvbSBmaWVsZHMgYXZhaWxhYmxlOiA8c3Ryb25nPkN1c3RvbSBQYWdlIFRpdGxlczwvc3Ryb25nPi4gR28gdG8gPGEgaHJlZj0iaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtYWRtaW4vYWRtaW4ucGhwP3BhZ2U9d29vdGhlbWVzX3NlbyI+U0VPIFNldHRpbmdzPC9hPiBwYWdlIHRvIGFjdGl2YXRlLiI7fWk6MTthOjU6e3M6NDoibmFtZSI7czoxMDoic2VvX2ZvbGxvdyI7czozOiJzdGQiO3M6NToiZmFsc2UiO3M6NToibGFiZWwiO3M6MjE6IlNFTyAtIFJlbW92ZSBOb2ZvbGxvdyI7czo0OiJ0eXBlIjtzOjg6ImNoZWNrYm94IjtzOjQ6ImRlc2MiO3M6NTk6Ik1ha2UgbGluayBmcm9tIHRoaXMgcG9zdC9wYWdlIGZvbGxvd2FibGUgYnkgc2VhcmNoIGVuZ2luZXMuIjt9fTwvbGk+PGxpPjxzdHJvbmc+d29vX2R5bmFtaWNfaW1nX2hlaWdodDwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19mYWNlYm9vazwvc3Ryb25nPiAtIG1hc2UudGI8L2xpPjxsaT48c3Ryb25nPndvb19mZWF0dXJlZF9jYXRlZ29yeTwvc3Ryb25nPiAtIEZlYXR1cmVkPC9saT48bGk+PHN0cm9uZz53b29fZmVhdHVyZWRfZW50cmllczwvc3Ryb25nPiAtIDM8L2xpPjxsaT48c3Ryb25nPndvb19mZWF0dXJlZF9wb3N0czwvc3Ryb25nPiAtIDE8L2xpPjxsaT48c3Ryb25nPndvb19mZWVkYnVybmVyX2lkPC9zdHJvbmc+IC0gMjc5NTM0MDwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlZWRidXJuZXJfdXJsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5sYW9udGFsay5jb20vZm9ydW0vPC9saT48bGk+PHN0cm9uZz53b29fZmVlZF91cmw8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19mbGlja3JfZW50cmllczwvc3Ryb25nPiAtIDY8L2xpPjxsaT48c3Ryb25nPndvb19mbGlja3JfaWQ8L3N0cm9uZz4gLSAzNTM2ODEzNEBOMDY8L2xpPjxsaT48c3Ryb25nPndvb19mb250X3NpdGVfdGl0bGU8L3N0cm9uZz4gLSBhOjU6e3M6NDoic2l6ZSI7czoyOiI0MCI7czo0OiJ1bml0IjtzOjI6InB4IjtzOjQ6ImZhY2UiO3M6NzoiR2VvcmdpYSI7czo1OiJzdHlsZSI7czowOiIiO3M6NToiY29sb3IiO3M6NzoiIzAwMDAwMCI7fTwvbGk+PGxpPjxzdHJvbmc+d29vX2ZvbnRfdGFnbGluZTwvc3Ryb25nPiAtIGE6NTp7czo0OiJzaXplIjtzOjI6IjE0IjtzOjQ6InVuaXQiO3M6MjoicHgiO3M6NDoiZmFjZSI7czo3OiJHZW9yZ2lhIjtzOjU6InN0eWxlIjtzOjY6Iml0YWxpYyI7czo1OiJjb2xvciI7czo3OiIjOTk5OTk5Ijt9PC9saT48bGk+PHN0cm9uZz53b29fZm9vdGVyX2FmZl9saW5rPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZm9vdGVyX2N1c3RvbTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fZm9vdGVyX2N1c3RvbV90ZXh0PC9zdHJvbmc+IC0gPHA+PC9wPjwvbGk+PGxpPjxzdHJvbmc+d29vX2Zvb3RfY2F0X21lbnU8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2Zvb3RfbmF2X2V4Y2x1ZGU8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19mcmFtZXdvcmtfdmVyc2lvbjwvc3Ryb25nPiAtIDIuOS4xNDwvbGk+PGxpPjxzdHJvbmc+d29vX2dvb2dsZV9hbmFseXRpY3M8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19ncmF2YXRhcjwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19ob21lX2NvbnRlbnQ8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWVfbGlua19kZXNjPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29faG9tZV9saW5rX3RleHQ8L3N0cm9uZz4gLSBIb21lPC9saT48bGk+PHN0cm9uZz53b29faG9tZV90aHVtYl9oZWlnaHQ8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19ob21lX3RodW1iX3dpZHRoPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29faW1hZ2VzX2NhdGVnb3J5PC9zdHJvbmc+IC0gU2VsZWN0IGEgY2F0ZWdvcnk6PC9saT48bGk+PHN0cm9uZz53b29faW1hZ2VzX3Rlcm1faWQ8L3N0cm9uZz4gLSAxMDA8L2xpPjxsaT48c3Ryb25nPndvb19pbWFnZV9oZWlnaHQ8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19pbWFnZV9saW5rX3RvPC9zdHJvbmc+IC0gcG9zdDwvbGk+PGxpPjxzdHJvbmc+d29vX2ltYWdlX3dpZHRoPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fbGF5b3V0PC9zdHJvbmc+IC0gZGVmYXVsdC5waHA8L2xpPjxsaT48c3Ryb25nPndvb19saW5rc19jYXRlZ29yeTwvc3Ryb25nPiAtIFNlbGVjdCBhIGNhdGVnb3J5OjwvbGk+PGxpPjxzdHJvbmc+d29vX2xpbmtzX3Rlcm1faWQ8L3N0cm9uZz4gLSAxMDQ8L2xpPjxsaT48c3Ryb25nPndvb19saW5rX2NvbG9yPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fbGlua19ob3Zlcl9jb2xvcjwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2xvZ288L3N0cm9uZz4gLSBodHRwOi8vd3d3Lmxhb250YWxrLmNvbS9pbWFnZXMvbGFvbnRhbGstbG9nby1uZXcucG5nPC9saT48bGk+PHN0cm9uZz53b29fbWFudWFsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL3N1cHBvcnQvdGhlbWUtZG9jdW1lbnRhdGlvbi9tYWluc3RyZWFtPC9saT48bGk+PHN0cm9uZz53b29fbmF2X2V4Y2x1ZGU8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19uZWVkc190dW1ibG9nX3VwZ3JhZGU8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX29wdGlvbnM8L3N0cm9uZz4gLSBhOjUyOntzOjE4OiJ3b29fYWx0X3N0eWxlc2hlZXQiO3M6MTE6ImRlZmF1bHQuY3NzIjtzOjg6Indvb19sb2dvIjtzOjQ4OiJodHRwOi8vd3d3Lmxhb250YWxrLmNvbS9pbWFnZXMvbGFvbnRhbGtfbG9nby5wbmciO3M6MTM6Indvb190ZXh0dGl0bGUiO3M6NToiZmFsc2UiO3M6MTk6Indvb19mb250X3NpdGVfdGl0bGUiO2E6NTp7czo0OiJzaXplIjtzOjI6IjQwIjtzOjQ6InVuaXQiO3M6MjoicHgiO3M6NDoiZmFjZSI7czo3OiJHZW9yZ2lhIjtzOjU6InN0eWxlIjtzOjA6IiI7czo1OiJjb2xvciI7czo3OiIjMDAwMDAwIjt9czoxNjoid29vX2ZvbnRfdGFnbGluZSI7YTo1OntzOjQ6InNpemUiO3M6MjoiMTQiO3M6NDoidW5pdCI7czoyOiJweCI7czo0OiJmYWNlIjtzOjc6Ikdlb3JnaWEiO3M6NToic3R5bGUiO3M6NjoiaXRhbGljIjtzOjU6ImNvbG9yIjtzOjc6IiM5OTk5OTkiO31zOjE4OiJ3b29fY3VzdG9tX2Zhdmljb24iO3M6MDoiIjtzOjIwOiJ3b29fZ29vZ2xlX2FuYWx5dGljcyI7czowOiIiO3M6MTI6Indvb19mZWVkX3VybCI7czowOiIiO3M6MTk6Indvb19zdWJzY3JpYmVfZW1haWwiO3M6MDoiIjtzOjIxOiJ3b29fY29udGFjdGZvcm1fZW1haWwiO3M6MDoiIjtzOjE0OiJ3b29fY3VzdG9tX2NzcyI7czowOiIiO3M6MTI6Indvb19jb21tZW50cyI7TjtzOjE0OiJ3b29fY3VzdG9tX3JzcyI7czo0OiJ0cnVlIjtzOjE2OiJ3b29faG9tZV9jb250ZW50IjtzOjU6ImZhbHNlIjtzOjE5OiJ3b29fYXJjaGl2ZV9jb250ZW50IjtzOjU6ImZhbHNlIjtzOjIxOiJ3b29fYXJ0aWNsZXNfY2F0ZWdvcnkiO3M6MTg6IlNlbGVjdCBhIGNhdGVnb3J5OiI7czoxOToid29vX2ltYWdlc19jYXRlZ29yeSI7czoxODoiU2VsZWN0IGEgY2F0ZWdvcnk6IjtzOjE3OiJ3b29faW1hZ2VfbGlua190byI7czo0OiJwb3N0IjtzOjE5OiJ3b29fdmlkZW9zX2NhdGVnb3J5IjtzOjE4OiJTZWxlY3QgYSBjYXRlZ29yeToiO3M6MTk6Indvb19xdW90ZXNfY2F0ZWdvcnkiO3M6MTg6IlNlbGVjdCBhIGNhdGVnb3J5OiI7czoxODoid29vX2xpbmtzX2NhdGVnb3J5IjtzOjE4OiJTZWxlY3QgYSBjYXRlZ29yeToiO3M6MTg6Indvb19hdWRpb19jYXRlZ29yeSI7czoxODoiU2VsZWN0IGEgY2F0ZWdvcnk6IjtzOjE0OiJ3b29fYWJvdXRfdGV4dCI7czowOiIiO3M6MTk6Indvb19hYm91dF9tb3JlX3RleHQiO3M6MDoiIjtzOjE4OiJ3b29fYWJvdXRfbW9yZV91cmwiO3M6MDoiIjtzOjE1OiJ3b29fdXJsX3Nob3J0ZW4iO3M6MTc6IlNlbGVjdCBhIFNlcnZpY2U6IjtzOjE5OiJ3b29fYml0bHlfYXBpX2xvZ2luIjtzOjA6IiI7czoxNzoid29vX2JpdGx5X2FwaV9rZXkiO3M6MDoiIjtzOjE0OiJ3b29fYm9keV9jb2xvciI7czowOiIiO3M6MTI6Indvb19ib2R5X2ltZyI7czowOiIiO3M6MTU6Indvb19ib2R5X3JlcGVhdCI7czo2OiJyZXBlYXQiO3M6MTI6Indvb19ib2R5X3BvcyI7czozOiJ0b3AiO3M6MTQ6Indvb19saW5rX2NvbG9yIjtzOjA6IiI7czoyMDoid29vX2xpbmtfaG92ZXJfY29sb3IiO3M6MDoiIjtzOjE2OiJ3b29fYnV0dG9uX2NvbG9yIjtzOjA6IiI7czoxMjoid29vX2NhdF9tZW51IjtzOjQ6InRydWUiO3M6MTU6Indvb19uYXZfZXhjbHVkZSI7czowOiIiO3M6MjI6Indvb19wb3N0X2ltYWdlX3N1cHBvcnQiO3M6NToiZmFsc2UiO3M6MTc6Indvb19waXNfaGFyZF9jcm9wIjtzOjU6ImZhbHNlIjtzOjEwOiJ3b29fcmVzaXplIjtzOjQ6InRydWUiO3M6MTI6Indvb19hdXRvX2ltZyI7czo1OiJmYWxzZSI7czoyMjoid29vX2R5bmFtaWNfaW1nX2hlaWdodCI7czo0OiJ0cnVlIjtzOjExOiJ3b29fdGh1bWJfdyI7aTo0NDA7czoxMToid29vX3RodW1iX2giO2k6MjAwO3M6MTU6Indvb190aHVtYl9hbGlnbiI7czo5OiJhbGlnbmxlZnQiO3M6MTY6Indvb190aHVtYl9zaW5nbGUiO3M6NToiZmFsc2UiO3M6MTI6Indvb19zaW5nbGVfdyI7aTo0NDA7czoxMjoid29vX3NpbmdsZV9oIjtpOjIwMDtzOjEzOiJ3b29fcnNzX3RodW1iIjtzOjU6ImZhbHNlIjtzOjE5OiJ3b29fZm9vdGVyX2FmZl9saW5rIjtzOjA6IiI7czoxNzoid29vX2Zvb3Rlcl9jdXN0b20iO3M6NToiZmFsc2UiO3M6MjI6Indvb19mb290ZXJfY3VzdG9tX3RleHQiO3M6NzoiPHA+PC9wPiI7fTwvbGk+PGxpPjxzdHJvbmc+d29vX290aGVyX2VudHJpZXM8L3N0cm9uZz4gLSA0PC9saT48bGk+PHN0cm9uZz53b29fb3RoZXJfaGVhZGxpbmVzPC9zdHJvbmc+IC0gNDwvbGk+PGxpPjxzdHJvbmc+d29vX3Bpc19oYXJkX2Nyb3A8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Bvc3RfaW1hZ2Vfc3VwcG9ydDwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fcHJvZmlsZTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cubGFvbnRhbGsuY29tL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvOC10aGFpMDFfcmVzaXplLmpwZzwvbGk+PGxpPjxzdHJvbmc+d29vX3F1b3Rlc19jYXRlZ29yeTwvc3Ryb25nPiAtIFNlbGVjdCBhIGNhdGVnb3J5OjwvbGk+PGxpPjxzdHJvbmc+d29vX3F1b3Rlc190ZXJtX2lkPC9zdHJvbmc+IC0gMTAzPC9saT48bGk+PHN0cm9uZz53b29fcmVzaXplPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Jzc190aHVtYjwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fc2VvX3RlbXBsYXRlPC9zdHJvbmc+IC0gYTozMTp7aTowO2E6Mjp7czo0OiJuYW1lIjtzOjY6IkJhc2ljcyI7czo0OiJ0eXBlIjtzOjc6ImhlYWRpbmciO31pOjE7YTozOntzOjQ6Im5hbWUiO3M6MTE6IlBsZWFzZSBSZWFkIjtzOjQ6InR5cGUiO3M6NDoiaW5mbyI7czozOiJzdGQiO3M6MzUyOiJXZWxjb21lIHRvIHRoZSBXb29TRU8gZmVhdHVyZS4gPGJyIC8+PHNtYWxsPkhlcmUgd2UgaGVscCB5b3UgdGFrZSBjb250cm9sIG9mIHlvdXIgc2VhcmNoIGVuZ2luZSByZWFkaW5lc3Mgd2l0aCBzb21lIGluLWJ1aWx0IHRoZW1lIG9wdGlvbnMuIE91ciB0aGVtZXMgZG8gaG93ZXZlciBzdXBwb3J0IHR3byBvZiBXb3JkUHJlc3Mub3JnJ3MgbW9zdCBjb21tb25seSB1c2VkIFNFTyBwbHVnaW5zIC0gPHN0cm9uZz5BbGwtaW4tT25lIFNFTzwvc3Ryb25nPiBhbmQgPHN0cm9uZz5IZWFkc3BhY2UgMjwvc3Ryb25nPi4gVXNlIHRoZSBjaGVja2JveCBiZWxvdyB0byB1c2UgM3JkIHBhcnR5IHBsdWdpbiBkYXRhLjwvc21hbGw+Ijt9aToyO2E6NTp7czo0OiJuYW1lIjtzOjI1OiJVc2UgM3JkIFBhcnR5IFBsdWdpbiBEYXRhIjtzOjQ6ImRlc2MiO3M6MTk4OiJNZXRhIGRhdGEgYWRkZWQgdG8gPHN0cm9uZz5jdXN0b20gZmllbGRzIGluIHBvc3RzIGFuZCBwYWdlczwvc3Ryb25nPiB3aWxsIGJlIGV4dHJhY3RlZCBhbmQgdXNlZCB3aGVyZSBhcHBsaWNhYmxlLiBUaGlzIHR5cGljYWxseSBkb2VzIG5vdCBpbmNsdWRlIEhvbWVwYWdlcyBhbmQgQXJjaGl2ZXMsIGFuZCBvbmx5IFNpbmd1bGFyIHRlbXBsYXRlcy4iO3M6MjoiaWQiO3M6Mjg6InNlb193b29fdXNlX3RoaXJkX3BhcnR5X2RhdGEiO3M6Mzoic3RkIjtzOjU6ImZhbHNlIjtzOjQ6InR5cGUiO3M6ODoiY2hlY2tib3giO31pOjM7YTo1OntzOjQ6Im5hbWUiO3M6MjI6IkhpZGUgU0VPIGN1c3RvbSBmaWVsZHMiO3M6NDoiZGVzYyI7czo4MjoiQ2hlY2sgdGhpcyBib3ggdG8gaGlkZSB0aGUgaW5wdXQgZmllbGRzIGNyZWF0ZWQgaW4gdGhlIHBvc3QgYW5kIHBhZ2UgZWRpdCBzY3JlZW5zLiI7czoyOiJpZCI7czoxOToic2VvX3dvb19oaWRlX2ZpZWxkcyI7czozOiJzdGQiO3M6NToiZmFsc2UiO3M6NDoidHlwZSI7czo4OiJjaGVja2JveCI7fWk6NDthOjI6e3M6NDoibmFtZSI7czoxMDoiUGFnZSBUaXRsZSI7czo0OiJ0eXBlIjtzOjc6ImhlYWRpbmciO31pOjU7YTo1OntzOjQ6Im5hbWUiO3M6OToiU2VwYXJhdG9yIjtzOjQ6ImRlc2MiO3M6NTQ6IkRlZmluZSBhIG5ldyBzZXBhcmF0b3IgY2hhcmFjdGVyIGZvciB5b3VyIHBhZ2UgdGl0bGVzLiI7czoyOiJpZCI7czoxNzoic2VvX3dvb19zZXBlcmF0b3IiO3M6Mzoic3RkIjtzOjE6InwiO3M6NDoidHlwZSI7czo0OiJ0ZXh0Ijt9aTo2O2E6NTp7czo0OiJuYW1lIjtzOjEwOiJCbG9nIFRpdGxlIjtzOjQ6ImRlc2MiO3M6OTA6Ik5PVEU6IFRoaXMgaXMgdGhlIHNhbWUgc2V0dGluZyBhcyBwZXIgdGhlIFNFVFRJTkdTID4gR0VORVJBTCB0YWIgaW4gdGhlIFdvcmRQcmVzcyBiYWNrZW5kLiI7czoyOiJpZCI7czo4OiJibG9nbmFtZSI7czozOiJzdGQiO3M6MDoiIjtzOjQ6InR5cGUiO3M6NDoidGV4dCI7fWk6NzthOjU6e3M6NDoibmFtZSI7czoxNjoiQmxvZyBEZXNjcmlwdGlvbiI7czo0OiJkZXNjIjtzOjkwOiJOT1RFOiBUaGlzIGlzIHRoZSBzYW1lIHNldHRpbmcgYXMgcGVyIHRoZSBTRVRUSU5HUyA+IEdFTkVSQUwgdGFiIGluIHRoZSBXb3JkUHJlc3MgYmFja2VuZC4iO3M6MjoiaWQiO3M6MTU6ImJsb2dkZXNjcmlwdGlvbiI7czozOiJzdGQiO3M6MDoiIjtzOjQ6InR5cGUiO3M6NDoidGV4dCI7fWk6ODthOjY6e3M6NDoibmFtZSI7czoxODoiRW5hYmxlIHdvb190aXRsZSgpIjtzOjQ6ImRlc2MiO3M6MTUzOiJ3b29fdGl0bGUoKSBtYWtlcyB1c2Ugb2YgV29yZFByZXNzJ3MgYnVpbHQgaW4gd3BfdGl0bGUoKSBmdW5jdGlvbiB0byBjb250cm9sIHRoZSBvdXRwdXQgZm9yIHlvdXIgcGFnZSB0aXRsZXMuIEl0J3MgYWxzbyByZWNvbW1lbmRlZCBmb3IgdXNlIHdpdGggcGx1Z2lucy4iO3M6MjoiaWQiO3M6MTY6InNlb193b29fd3BfdGl0bGUiO3M6Mzoic3RkIjtzOjU6ImZhbHNlIjtzOjU6ImNsYXNzIjtzOjk6ImNvbGxhcHNlZCI7czo0OiJ0eXBlIjtzOjg6ImNoZWNrYm94Ijt9aTo5O2E6Njp7czo0OiJuYW1lIjtzOjIxOiJEaXNhYmxlIEN1c3RvbSBUaXRsZXMiO3M6NDoiZGVzYyI7czoxMzA6IklmIHlvdSBwcmVmZXIgdG8gaGF2ZSB1bmlmb3JtIHRpdGxlcyBhY3Jvc3MgeW91IHRoZW1lLiBBbHRlcm5hdGl2ZWx5IHRoZXkgd2lsbCBiZSBnZW5lcmF0ZWQgZnJvbSBjdXN0b20gZmllbGRzIGFuZC9vciBwbHVnaW4gZGF0YS4iO3M6MjoiaWQiO3M6Mjk6InNlb193b29fd3BfY3VzdG9tX2ZpZWxkX3RpdGxlIjtzOjM6InN0ZCI7czo1OiJmYWxzZSI7czo1OiJjbGFzcyI7czo2OiJoaWRkZW4iO3M6NDoidHlwZSI7czo4OiJjaGVja2JveCI7fWk6MTA7YTo2OntzOjQ6Im5hbWUiO3M6MTQ6IlBhZ2VkIFZhcmlhYmxlIjtzOjQ6ImRlc2MiO3M6NjQ6IlRoZSBuYW1lIHZhcmlhYmxlIHRoYXQgd2lsbCBhcHBlYXIgdGhlbiBwYWdpbmcgdGhyb3VnaCBhcmNoaXZlcy4iO3M6MjoiaWQiO3M6MTc6InNlb193b29fcGFnZWRfdmFyIjtzOjM6InN0ZCI7czo0OiJQYWdlIjtzOjU6ImNsYXNzIjtzOjY6ImhpZGRlbiI7czo0OiJ0eXBlIjtzOjQ6InRleHQiO31pOjExO2E6Nzp7czo0OiJuYW1lIjtzOjIzOiJQYWdlZCBWYXJpYWJsZSBQb3NpdGlvbiI7czo0OiJkZXNjIjtzOjU3OiJDaGFuZ2UgdGhlIHBvc2l0aW9uIHdoZXJlIHRoZSBwYWdlZCB2YXJpYWJsZSB3aWxsIGFwcGVhci4iO3M6MjoiaWQiO3M6MjE6InNlb193b29fcGFnZWRfdmFyX3BvcyI7czozOiJzdGQiO3M6NjoiYmVmb3JlIjtzOjU6ImNsYXNzIjtzOjY6ImhpZGRlbiI7czo3OiJvcHRpb25zIjthOjI6e3M6NjoiYmVmb3JlIjtzOjY6IkJlZm9yZSI7czo1OiJhZnRlciI7czo1OiJBZnRlciI7fXM6NDoidHlwZSI7czo3OiJzZWxlY3QyIjt9aToxMjthOjc6e3M6NDoibmFtZSI7czoyMToiSG9tZXBhZ2UgVGl0bGUgTGF5b3V0IjtzOjQ6ImRlc2MiO3M6NjU6IkRlZmluZSB0aGUgb3JkZXIgdGhlIHRpdGxlLCBkZXNjcmlwdGlvbiBhbmQgbWV0YSBkYXRhIGFwcGVhcnMgaW4uIjtzOjI6ImlkIjtzOjE5OiJzZW9fd29vX2hvbWVfbGF5b3V0IjtzOjM6InN0ZCI7czowOiIiO3M6NToiY2xhc3MiO3M6NjoiaGlkZGVuIjtzOjc6Im9wdGlvbnMiO2E6Mzp7czoxOiJhIjtzOjI4OiJCbG9nIHRpdGxlOyBibG9nIGRlc2NyaXB0aW9uIjtzOjE6ImIiO3M6MTA6IkJsb2cgdGl0bGUiO3M6MToiYyI7czoxNjoiQmxvZyBkZXNjcmlwdGlvbiI7fXM6NDoidHlwZSI7czo3OiJzZWxlY3QyIjt9aToxMzthOjc6e3M6NDoibmFtZSI7czoxOToiU2luZ2xlIFRpdGxlIExheW91dCI7czo0OiJkZXNjIjtzOjY1OiJEZWZpbmUgdGhlIG9yZGVyIHRoZSB0aXRsZSwgZGVzY3JpcHRpb24gYW5kIG1ldGEgZGF0YSBhcHBlYXJzIGluLiI7czoyOiJpZCI7czoyMToic2VvX3dvb19zaW5nbGVfbGF5b3V0IjtzOjM6InN0ZCI7czowOiIiO3M6NToiY2xhc3MiO3M6NjoiaGlkZGVuIjtzOjc6Im9wdGlvbnMiO2E6NTp7czoxOiJhIjtzOjIyOiJQYWdlIHRpdGxlOyBCbG9nIHRpdGxlIjtzOjE6ImIiO3M6MTE6IlBhZ2UgdGl0bGU7IjtzOjE6ImMiO3M6MjM6IkJsb2cgdGl0bGU7IFBhZ2UgdGl0bGU7IjtzOjE6ImQiO3M6Mjg6IlBhZ2UgdGl0bGU7IEJsb2cgZGVzY3JpcHRpb24iO3M6MToiZSI7czo0MDoiQmxvZyB0aXRsZTsgUGFnZSB0aXRsZTsgQmxvZyBkZXNjcmlwdGlvbiI7fXM6NDoidHlwZSI7czo3OiJzZWxlY3QyIjt9aToxNDthOjc6e3M6NDoibmFtZSI7czoxNzoiUGFnZSBUaXRsZSBMYXlvdXQiO3M6NDoiZGVzYyI7czo2NToiRGVmaW5lIHRoZSBvcmRlciB0aGUgdGl0bGUsIGRlc2NyaXB0aW9uIGFuZCBtZXRhIGRhdGEgYXBwZWFycyBpbi4iO3M6MjoiaWQiO3M6MTk6InNlb193b29fcGFnZV9sYXlvdXQiO3M6Mzoic3RkIjtzOjA6IiI7czo1OiJjbGFzcyI7czo2OiJoaWRkZW4iO3M6Nzoib3B0aW9ucyI7YTo1OntzOjE6ImEiO3M6MjI6IlBhZ2UgdGl0bGU7IEJsb2cgdGl0bGUiO3M6MToiYiI7czoxMToiUGFnZSB0aXRsZTsiO3M6MToiYyI7czoyMzoiQmxvZyB0aXRsZTsgUGFnZSB0aXRsZTsiO3M6MToiZCI7czoyODoiUGFnZSB0aXRsZTsgQmxvZyBkZXNjcmlwdGlvbiI7czoxOiJlIjtzOjQwOiJCbG9nIHRpdGxlOyBQYWdlIHRpdGxlOyBCbG9nIGRlc2NyaXB0aW9uIjt9czo0OiJ0eXBlIjtzOjc6InNlbGVjdDIiO31pOjE1O2E6Nzp7czo0OiJuYW1lIjtzOjIwOiJBcmNoaXZlIFRpdGxlIExheW91dCI7czo0OiJkZXNjIjtzOjY1OiJEZWZpbmUgdGhlIG9yZGVyIHRoZSB0aXRsZSwgZGVzY3JpcHRpb24gYW5kIG1ldGEgZGF0YSBhcHBlYXJzIGluLiI7czoyOiJpZCI7czoyMjoic2VvX3dvb19hcmNoaXZlX2xheW91dCI7czozOiJzdGQiO3M6MDoiIjtzOjU6ImNsYXNzIjtzOjY6ImhpZGRlbiI7czo3OiJvcHRpb25zIjthOjU6e3M6MToiYSI7czoyMjoiUGFnZSB0aXRsZTsgQmxvZyB0aXRsZSI7czoxOiJiIjtzOjExOiJQYWdlIHRpdGxlOyI7czoxOiJjIjtzOjIzOiJCbG9nIHRpdGxlOyBQYWdlIHRpdGxlOyI7czoxOiJkIjtzOjI4OiJQYWdlIHRpdGxlOyBCbG9nIGRlc2NyaXB0aW9uIjtzOjE6ImUiO3M6NDA6IkJsb2cgdGl0bGU7IFBhZ2UgdGl0bGU7IEJsb2cgZGVzY3JpcHRpb24iO31zOjQ6InR5cGUiO3M6Nzoic2VsZWN0MiI7fWk6MTY7YToyOntzOjQ6Im5hbWUiO3M6MTM6IkluZGV4aW5nIE1ldGEiO3M6NDoidHlwZSI7czo3OiJoZWFkaW5nIjt9aToxNzthOjY6e3M6NDoibmFtZSI7czoxNjoiQXJjaGl2ZSBJbmRleGluZyI7czo0OiJkZXNjIjtzOjEyODoiU2VsZWN0IHdoaWNoIGFyY2hpdmVzIHRvIGluZGV4IG9uIHlvdXIgc2l0ZS4gQWlkcyBpbiByZW1vdmluZyBkdXBsaWNhdGUgY29udGVudCBmcm9tIGJlaW5nIGluZGV4ZWQsIHByZXZlbnRpbmcgY29udGVudCBkaWx1dGlvbi4iO3M6MjoiaWQiO3M6MjE6InNlb193b29fbWV0YV9pbmRleGluZyI7czozOiJzdGQiO3M6ODoiY2F0ZWdvcnkiO3M6NDoidHlwZSI7czoxMDoibXVsdGljaGVjayI7czo3OiJvcHRpb25zIjthOjU6e3M6ODoiY2F0ZWdvcnkiO3M6MTc6IkNhdGVnb3J5IEFyY2hpdmVzIjtzOjM6InRhZyI7czoxMjoiVGFnIEFyY2hpdmVzIjtzOjY6ImF1dGhvciI7czoxMjoiQXV0aG9yIFBhZ2VzIjtzOjY6InNlYXJjaCI7czoxNDoiU2VhcmNoIFJlc3VsdHMiO3M6NDoiZGF0ZSI7czoxMzoiRGF0ZSBBcmNoaXZlcyI7fX1pOjE4O2E6NTp7czo0OiJuYW1lIjtzOjQ5OiJBZGQgbWV0YSBmb3IgUG9zdHMgJiBQYWdlcyB0byAnZm9sbG93JyBieSBkZWZhdWx0IjtzOjQ6ImRlc2MiO3M6MTQzOiJCeSBkZWZhdWx0IHRoZSB3b29fbWV0YSgpOyBhZGRzIGEgJ25vZm9sbG93JyBtZXRhIHRvIHBvc3QgYW5kIHBhZ2VzLCBtZWFuaW5nIHNlYXJjaCBlbmdpbmVzIHdpbGwgbm90IGluZGV4IHBhZ2VzIGxlYWRpbmcgYXdheSBmcm9tIHRoZXNlIHBhZ2VzLiI7czoyOiJpZCI7czoyNjoic2VvX3dvb19tZXRhX3NpbmdsZV9mb2xsb3ciO3M6Mzoic3RkIjtzOjA6IiI7czo0OiJ0eXBlIjtzOjg6ImNoZWNrYm94Ijt9aToxOTthOjI6e3M6NDoibmFtZSI7czoxNjoiRGVzY3JpcHRpb24gTWV0YSI7czo0OiJ0eXBlIjtzOjc6ImhlYWRpbmciO31pOjIwO2E6Njp7czo0OiJuYW1lIjtzOjIwOiJIb21lcGFnZSBEZXNjcmlwdGlvbiI7czo0OiJkZXNjIjtzOjYxOiJDaG9vc2Ugd2hlcmUgdG8gcG9wdWxhdGUgeW91ciBIb21lcGFnZSBtZXRhIGRlc2NyaXB0aW9uIGZyb20uIjtzOjI6ImlkIjtzOjIyOiJzZW9fd29vX21ldGFfaG9tZV9kZXNjIjtzOjM6InN0ZCI7czoxOiJhIjtzOjc6Im9wdGlvbnMiO2E6Mzp7czoxOiJhIjtzOjM6Ik9mZiI7czoxOiJiIjtzOjI0OiJGcm9tIFdQIFNpdGUgRGVzY3JpcHRpb24iO3M6MToiYyI7czozMjoiRnJvbSBDdXN0b20gSG9tZXBhZ2UgRGVzY3JpcHRpb24iO31zOjQ6InR5cGUiO3M6NToicmFkaW8iO31pOjIxO2E6NTp7czo0OiJuYW1lIjtzOjI3OiJDdXN0b20gSG9tZXBhZ2UgRGVzY3JpcHRpb24iO3M6NDoiZGVzYyI7czo0NzoiQWRkIGEgY3VzdG9tIG1ldGEgZGVzY3JpcHRpb24gdG8geW91ciBob21lcGFnZS4iO3M6MjoiaWQiO3M6Mjk6InNlb193b29fbWV0YV9ob21lX2Rlc2NfY3VzdG9tIjtzOjM6InN0ZCI7czowOiIiO3M6NDoidHlwZSI7czo4OiJ0ZXh0YXJlYSI7fWk6MjI7YTo2OntzOjQ6Im5hbWUiO3M6Mjg6IlNpbmdsZSBQYWdlL1Bvc3QgRGVzY3JpcHRpb24iO3M6NDoiZGVzYyI7czo3OToiQWRkIHlvdXIgcG9zdC9wYWdlIGRlc2NyaXB0aW9uIGZyb20gY3VzdG9tIGZpZWxkcy4gPHN0cm9uZz4qIFNlZSBiZWxvdzwvc3Ryb25nPiI7czoyOiJpZCI7czoyNDoic2VvX3dvb19tZXRhX3NpbmdsZV9kZXNjIjtzOjM6InN0ZCI7czoxOiJhIjtzOjc6Im9wdGlvbnMiO2E6Mzp7czoxOiJhIjtzOjU6Ik9mZiAqIjtzOjE6ImIiO3M6MzM6IkZyb20gQ3VzdG9tcyBGaWVsZCBhbmQvb3IgUGx1Z2lucyI7czoxOiJjIjtzOjM2OiJBdXRvbWF0aWNhbGx5IGZyb20gUG9zdC9QYWdlIENvbnRlbnQiO31zOjQ6InR5cGUiO3M6NToicmFkaW8iO31pOjIzO2E6Njp7czo0OiJuYW1lIjtzOjI5OiJHbG9iYWwgUG9zdC9QYWdlIERlc2NyaXB0aW9ucyI7czo0OiJkZXNjIjtzOjE4OToiQWRkIGEgY3VzdG9tIG1ldGEgZGVzY3JpcHRpb24gdG8geW91ciBwb3N0cyBhbmQgcGFnZXMuIFRoaXMgd2lsbCBvbmx5IHNob3cgaWYgbm8gb3RoZXIgZGF0YSBpcyBhdmFpbGFibGUgZnJvbSB0aGUgc2VsZWN0aW9uIGFib3ZlLiBXaWxsIHN0aWxsIGJlIGFkZGVkIGV2ZW4gaWYgc2V0dGluZyBhYm92ZSBpcyBzZXQgdG8gIk9mZiIuIjtzOjI6ImlkIjtzOjMzOiJzZW9fd29vX21ldGFfc2luZ2xlX2Rlc2Nfc2l0ZXdpZGUiO3M6Mzoic3RkIjtzOjA6IiI7czo1OiJjbGFzcyI7czo5OiJjb2xsYXBzZWQiO3M6NDoidHlwZSI7czo4OiJjaGVja2JveCI7fWk6MjQ7YTo2OntzOjQ6Im5hbWUiO3M6MjI6IkFkZCBHbG9iYWwgRGVzY3JpcHRpb24iO3M6NDoiZGVzYyI7czoyNzoiQWRkIHlvdXIgZ2xvYmFsIGRlY3JpcHRpb24uIjtzOjI6ImlkIjtzOjMxOiJzZW9fd29vX21ldGFfc2luZ2xlX2Rlc2NfY3VzdG9tIjtzOjM6InN0ZCI7czowOiIiO3M6NToiY2xhc3MiO3M6NjoiaGlkZGVuIjtzOjQ6InR5cGUiO3M6ODoidGV4dGFyZWEiO31pOjI1O2E6Mjp7czo0OiJuYW1lIjtzOjEyOiJLZXl3b3JkIE1ldGEiO3M6NDoidHlwZSI7czo3OiJoZWFkaW5nIjt9aToyNjthOjY6e3M6NDoibmFtZSI7czoxNzoiSG9tZXBhZ2UgS2V5d29yZHMiO3M6NDoiZGVzYyI7czo2MToiQ2hvb3NlIHdoZXJlIHRvIHBvcHVsYXRlIHlvdXIgSG9tZXBhZ2UgbWV0YSBkZXNjcmlwdGlvbiBmcm9tLiI7czoyOiJpZCI7czoyMToic2VvX3dvb19tZXRhX2hvbWVfa2V5IjtzOjM6InN0ZCI7czoxOiJhIjtzOjc6Im9wdGlvbnMiO2E6Mjp7czoxOiJhIjtzOjM6Ik9mZiI7czoxOiJjIjtzOjI5OiJGcm9tIEN1c3RvbSBIb21lcGFnZSBLZXl3b3JkcyI7fXM6NDoidHlwZSI7czo1OiJyYWRpbyI7fWk6Mjc7YTo1OntzOjQ6Im5hbWUiO3M6MjQ6IkN1c3RvbSBIb21lcGFnZSBLZXl3b3JkcyI7czo0OiJkZXNjIjtzOjU4OiJBZGQgYSAoY29tbWEgc2VwYXJhdGVkKSBsaXN0IG9mIGtleXdvcmRzIHRvIHlvdXIgaG9tZXBhZ2UuIjtzOjI6ImlkIjtzOjI4OiJzZW9fd29vX21ldGFfaG9tZV9rZXlfY3VzdG9tIjtzOjM6InN0ZCI7czowOiIiO3M6NDoidHlwZSI7czo4OiJ0ZXh0YXJlYSI7fWk6Mjg7YTo2OntzOjQ6Im5hbWUiO3M6MjU6IlNpbmdsZSBQYWdlL1Bvc3QgS2V5d29yZHMiO3M6NDoiZGVzYyI7czo3NToiQWRkIHlvdXIgcG9zdC9wYWdlIGtleXdvcmRzIGZyb20gY3VzdG9tIGZpZWxkLiA8c3Ryb25nPiogU2VlIGJlbG93PC9zdHJvbmc+IjtzOjI6ImlkIjtzOjIzOiJzZW9fd29vX21ldGFfc2luZ2xlX2tleSI7czozOiJzdGQiO3M6MToiYSI7czo3OiJvcHRpb25zIjthOjM6e3M6MToiYSI7czo1OiJPZmYgKiI7czoxOiJiIjtzOjMzOiJGcm9tIEN1c3RvbSBGaWVsZHMgYW5kL29yIFBsdWdpbnMiO3M6MToiYyI7czo0NToiQXV0b21hdGljYWxseSBmcm9tIFBvc3QgVGFncyAmYW1wOyBDYXRlZ29yaWVzIjt9czo0OiJ0eXBlIjtzOjU6InJhZGlvIjt9aToyOTthOjY6e3M6NDoibmFtZSI7czoyNToiQ3VzdG9tIFBvc3QvUGFnZSBLZXl3b3JkcyI7czo0OiJkZXNjIjtzOjIzNDoiQWRkIGEgY3VzdG9tIG1ldGEga2V5d29yZHMgdG8geW91ciBwb3N0cyBhbmQgcGFnZXMuIFRoaXMgd2lsbCBvbmx5IHNob3cgaWYgbm8gb3RoZXIgZGF0YSBpcyBhdmFpbGFibGUgZnJvbSB0aGUgc2VsZWN0aW9uIGFib3ZlLiBFdmVuIGlmIHRoZSBvcHRpb24gYWJvdmUgaXMgc2V0IHRvIDxzdHJvbmc+J09mZic8L3N0cm9uZz4sIHdpbGwgdGhpcyBrZXl3b3JkcyBzdGlsbCBiZSBhZGRlZCB0byB5b3VyIHNpdGUuIjtzOjI6ImlkIjtzOjMyOiJzZW9fd29vX21ldGFfc2luZ2xlX2tleV9zaXRld2lkZSI7czozOiJzdGQiO3M6MDoiIjtzOjU6ImNsYXNzIjtzOjk6ImNvbGxhcHNlZCI7czo0OiJ0eXBlIjtzOjg6ImNoZWNrYm94Ijt9aTozMDthOjY6e3M6NDoibmFtZSI7czoyODoiQ3VzdG9tIFBvc3QvUGFnZSBEZXNjcmlwdGlvbiI7czo0OiJkZXNjIjtzOjUxOiJBZGQgYSBjdXN0b20gbWV0YSBrZXl3b3JkcyB0byB5b3VyIHBvc3RzIGFuZCBwYWdlcy4iO3M6MjoiaWQiO3M6MzA6InNlb193b29fbWV0YV9zaW5nbGVfa2V5X2N1c3RvbSI7czozOiJzdGQiO3M6MDoiIjtzOjU6ImNsYXNzIjtzOjY6ImhpZGRlbiI7czo0OiJ0eXBlIjtzOjg6InRleHRhcmVhIjt9fTwvbGk+PGxpPjxzdHJvbmc+d29vX3NldHRpbmdzX2N1c3RvbV9uYXZfYWR2YW5jZWRfb3B0aW9uczwvc3Ryb25nPiAtIHllczwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3J0bmFtZTwvc3Ryb25nPiAtIHdvbzwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3dfYWRzX2JvdHRvbTwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19zaG93X2Fkc190b3A8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fc2hvd19mZWF0dXJlZDwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19zaG93X3ZpZGVvPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3NpbmdsZV9oPC9zdHJvbmc+IC0gMjAwPC9saT48bGk+PHN0cm9uZz53b29fc2luZ2xlX2hlaWdodDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX3NpbmdsZV93PC9zdHJvbmc+IC0gNDQwPC9saT48bGk+PHN0cm9uZz53b29fc2luZ2xlX3dpZHRoPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fc3Vic2NyaWJlX2VtYWlsPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fdGV4dHRpdGxlPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb190aGVtZW5hbWU8L3N0cm9uZz4gLSBNYWluc3RyZWFtPC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfYWxpZ248L3N0cm9uZz4gLSBhbGlnbmxlZnQ8L2xpPjxsaT48c3Ryb25nPndvb190aHVtYl9oPC9zdHJvbmc+IC0gMjAwPC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfaGVpZ2h0PC9zdHJvbmc+IC0gMTAwPC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfc2luZ2xlPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb190aHVtYl93PC9zdHJvbmc+IC0gNDQwPC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfd2lkdGg8L3N0cm9uZz4gLSAxMDA8L2xpPjxsaT48c3Ryb25nPndvb190d2l0dGVyPC9zdHJvbmc+IC0gbGFvbnRhbGs8L2xpPjxsaT48c3Ryb25nPndvb191cGxvYWRzPC9zdHJvbmc+IC0gYTo3OntpOjA7czo2NjoiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy85LTQ2OHg2MC1iYW5uZXIucG5nIjtpOjE7czo2NjoiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy84LXRoYWkwMV9yZXNpemUuanBnIjtpOjI7czo2NjoiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy83LXRoYWkwMV9yZXNpemUuanBnIjtpOjM7czo2MzoiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy82LXdlbG92ZXRoYWkuanBnIjtpOjQ7czo1NzoiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy81LXRoYWkucG5nIjtpOjU7czo2NToiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy80LWlhbV9sYW9udGFsay5qcGciO2k6NjtzOjY1OiJodHRwOi8vd3d3Lmxhb250YWxrLmNvbS93cC1jb250ZW50L3dvb191cGxvYWRzLzMtaWFtX2xhb250YWxrLmpwZyI7fTwvbGk+PGxpPjxzdHJvbmc+d29vX3VybF9zaG9ydGVuPC9zdHJvbmc+IC0gU2VsZWN0IGEgU2VydmljZTo8L2xpPjxsaT48c3Ryb25nPndvb192aWRlb3NfY2F0ZWdvcnk8L3N0cm9uZz4gLSBTZWxlY3QgYSBjYXRlZ29yeTo8L2xpPjxsaT48c3Ryb25nPndvb192aWRlb19jYXRlZ29yeTwvc3Ryb25nPiAtIFZpZGVvczwvbGk+PGxpPjxzdHJvbmc+d29vX3ZpZGVvX3Rlcm1faWQ8L3N0cm9uZz4gLSAxMDI8L2xpPjwvdWw+