1 00:00:00,000 --> 00:00:09,870 2 00:00:09,870 --> 00:00:13,360 >> ZAMYLA Chan: Bon, isit la nou yo, dènye p la-mete nan CS50. 3 00:00:13,360 --> 00:00:17,040 Felisite nou soti nan gen vin twò lwen depi premye Bonjou ou 4 00:00:17,040 --> 00:00:20,090 Univer ak Printing moute Piramid pou Mario. 5 00:00:20,090 --> 00:00:21,930 Ou te fè yon sit entènèt semèn pase a. 6 00:00:21,930 --> 00:00:25,110 Apre sa, nou pral yo dwe fè yon lòt semèn sa a, yon sèl ki pèmèt ou 7 00:00:25,110 --> 00:00:28,570 kondwi otou kanpis la Harvard, davwa moute anplwaye CS50 ak 8 00:00:28,570 --> 00:00:31,910 pote yo tounen nan yo kay rezidansyèl yo. 9 00:00:31,910 --> 00:00:35,400 >> Koulye a, semèn pase a nou te travay nan PHP, yon sèvè lang bò. 10 00:00:35,400 --> 00:00:38,250 Pou sa p-seri, nou resevwa prezante JavaScript, ki se yon 11 00:00:38,250 --> 00:00:40,610 kliyan lang bò. 12 00:00:40,610 --> 00:00:44,020 Se konsa, kite a pran yon gade nan kèk nan la Kòd distribisyon ki nan bay 13 00:00:44,020 --> 00:00:46,210 ou pou sa a p-seri egzèsis la. 14 00:00:46,210 --> 00:00:49,700 Nan dosye a JavaScript, pral gen yon pakèt moun sou JavaScript dosye. 15 00:00:49,700 --> 00:00:53,600 >> Genyen buildings.js, ki gen yon etalaj nan bilding nan Harvard 16 00:00:53,600 --> 00:00:57,340 lakou lekòl la ak enfòmasyon yo ak pozisyon. 17 00:00:57,340 --> 00:01:01,630 Houses.js se yon etalaj de Harvard kay rezidansyèl ak yo 18 00:01:01,630 --> 00:01:04,030 latitid ak lonjitud. 19 00:01:04,030 --> 00:01:08,600 Passengers.js gen yon etalaj de pasaje, anplwaye lekòl ki CS50 20 00:01:08,600 --> 00:01:11,640 ki ou pral pote tounen nan kay rezidansyèl yo. 21 00:01:11,640 --> 00:01:16,450 >> Math3D.js, ki gen yon anpil nan fonksyon fè ak mouvman an. 22 00:01:16,450 --> 00:01:19,500 Si w ap matematik vle, Lè sa a, Mwen akeyi ou nan pran yon gade. 23 00:01:19,500 --> 00:01:23,530 Men, ou pa bezwen konprann tout bagay nan la. 24 00:01:23,530 --> 00:01:26,710 Shuttle.js, ki boule ak mouvman Shuttle la. 25 00:01:26,710 --> 00:01:31,450 Apre sa, index.html se paj la kay kote tout bagay sa yo rive, reyèlman, kote la 26 00:01:31,450 --> 00:01:33,610 itilizatè ki kominike avèk sit la. 27 00:01:33,610 --> 00:01:39,110 >> Service.css se fèy style CSS, ki nan adisyon nan Twitter a 28 00:01:39,110 --> 00:01:43,960 Bibliyotèk demaraj, kontwole ki jan index.html sanble. 29 00:01:43,960 --> 00:01:48,190 Lè sa a, nou menm tou nou gen service.js, ki gen fonksyon sèvis pou 30 00:01:48,190 --> 00:01:49,010 Shuttle la. 31 00:01:49,010 --> 00:01:53,010 Apre sa, Isit la nan kote w ap ale nan dwe ranpli nan kèk nan fè-a la. 32 00:01:53,010 --> 00:01:56,600 >> Koulye a, kite a pran yon gade nan objè ak ranje asosyatif nan JavaScript, 33 00:01:56,600 --> 00:01:59,360 ki, pou tout entansyon ak objektif, yo ka ranplase. 34 00:01:59,360 --> 00:02:03,030 Si m 'te vle fè yon objè yon varyab rele yon ralonj, mwen ta 35 00:02:03,030 --> 00:02:04,290 deklare li. 36 00:02:04,290 --> 00:02:09,350 Ak andedan sa yo aparèy òtopedik Curly, mwen ta presize, nwayo a se goumen tankou towo mawon, bwa a 37 00:02:09,350 --> 00:02:12,710 se Cherry, ak longè a se 13. 38 00:02:12,710 --> 00:02:16,370 >> Koulye a, mwen kapab tou jwenn aksè nan valè nan objè lè l sèvi avèk 39 00:02:16,370 --> 00:02:18,270 asosyatif notasyon etalaj. 40 00:02:18,270 --> 00:02:22,610 Nwayo endèks Se konsa, ralonj, mwen ka mete ki egal a goumen tankou towo mawon, oswa 41 00:02:22,610 --> 00:02:24,710 tcheke ke si mwen bezwen. 42 00:02:24,710 --> 00:02:28,890 Oswa mwen kapab itilize operatè a dot wand.wood egal Cherry, ak 43 00:02:28,890 --> 00:02:30,280 Se konsa, sou ak pou fè. 44 00:02:30,280 --> 00:02:33,930 Se konsa, ou wè ke ranje asosyatif ak objè ki nan JavaScript yo ale nan dwe 45 00:02:33,930 --> 00:02:37,710 ranplase, epi li pral vini nan byen sou la men. 46 00:02:37,710 --> 00:02:41,570 >> Lè sa a, nou wè yon etalaj nan bilding nan buildings.js, 47 00:02:41,570 --> 00:02:43,870 ankò, yon etalaj de objè yo. 48 00:02:43,870 --> 00:02:48,500 Si m 'te vle fè yon etalaj de pi bon an bilding sou lakou lekòl la Harvard, Lè sa a, 49 00:02:48,500 --> 00:02:49,710 Mwen ta fè l 'jan sa a. 50 00:02:49,710 --> 00:02:55,250 Lè l sèvi avèk notasyon sa a objè, kote Mwen sere rasin, non, adrès la, 51 00:02:55,250 --> 00:03:00,260 latitid, ak lonjitid pou chak yon sèl bilding objè. 52 00:03:00,260 --> 00:03:02,930 >> Se pou yo byen vit pale sou varyab nan JavaScript. 53 00:03:02,930 --> 00:03:07,760 Menm jan ak PHP, JavaScript varyab yo chetif oswa blesi tape. 54 00:03:07,760 --> 00:03:14,120 Pou kreye yon varyab lokal yo, ou prefiks non an varyab ak V-A-R, var. 55 00:03:14,120 --> 00:03:17,010 Koulye a, nan JavaScript, fonksyon pral limite sijè ki abòde lan varyab. 56 00:03:17,010 --> 00:03:20,600 Se konsa, si ou gen yon varyab lokal ki nan yon fonksyon, lè sa a lòt fonksyon 57 00:03:20,600 --> 00:03:22,060 pa ka jwenn aksè li. 58 00:03:22,060 --> 00:03:26,090 >> Men, kontrèman ak C, pasan ak kondisyon pa fè sa limite sijè ki abòde lan yon varyab. 59 00:03:26,090 --> 00:03:30,600 Se konsa, menm si ou deklare li andedan nan yon kondisyon, fonksyon an antye ap 60 00:03:30,600 --> 00:03:32,810 gen aksè a li. 61 00:03:32,810 --> 00:03:35,820 Koulye a, san yo pa var, varyab la yo pral mondyal la. 62 00:03:35,820 --> 00:03:39,170 Se konsa, si ou jis deklare non ak bay yon valè, Lè sa a, varyab sa a 63 00:03:39,170 --> 00:03:41,900 pral gen yon varyab mondyal nan JavaScript. 64 00:03:41,900 --> 00:03:48,480 >> Koulye a, nan kay, nou gen yon asosyatif etalaj de objè di ki kalite lame, kote 65 00:03:48,480 --> 00:03:52,100 chak kay se jis yon latitid ak yon lonjitid. 66 00:03:52,100 --> 00:03:55,140 Lè sa a, nou gen pasaje yo etalaj, ki se yon etalaj 67 00:03:55,140 --> 00:03:57,370 nan kalite objè pasaje. 68 00:03:57,370 --> 00:04:01,620 Se konsa, chak pasaje yo gen yon itilizatè non, yon non, ak yon kay. 69 00:04:01,620 --> 00:04:04,840 >> Remake m ap di nan kalite pasaje yo, ki reyèlman jis vle di 70 00:04:04,840 --> 00:04:08,150 ke chak objè gen nan menm valè kle pè. 71 00:04:08,150 --> 00:04:12,830 Se konsa, chak objè nan kalite pasaje yo gen yon non itilizatè, yon non, ak yon kay. 72 00:04:12,830 --> 00:04:14,850 Se konsa, sa nou bezwen fè pou p-seri a? 73 00:04:14,850 --> 00:04:20,779 Oke, nou bezwen pèmèt itilizatè yo chwazi moute manm pèsonèl la, yo montre tout 74 00:04:20,779 --> 00:04:25,080 anplwaye lekòl ki ki kounye a nan navèt nou an, epi lage yo ale. 75 00:04:25,080 --> 00:04:29,395 Lè sa a, nou pral tou pale sou siplemantè karakteristik ki kapab aplike pou 76 00:04:29,395 --> 00:04:30,980 Shuttle p-gwoup la. 77 00:04:30,980 --> 00:04:33,610 >> Men, se pou nou pale sou pickup an premye. 78 00:04:33,610 --> 00:04:37,480 Ap fè fas yo nan anplwaye CS50 yo te plante tout lòt peyi sou lakou lekòl la, kote chak 79 00:04:37,480 --> 00:04:41,750 se figi aplike kòm yon mak kote sou 3D Latè a, epi kòm yon 80 00:04:41,750 --> 00:04:44,020 makè sou kat jeyografik la 2D. 81 00:04:44,020 --> 00:04:47,880 Se konsa, lè itilizatè a klik Ramase la bouton, nou vle ajoute ki tou pre 82 00:04:47,880 --> 00:04:49,590 pasaje yo navèt la. 83 00:04:49,590 --> 00:04:53,650 Apre sa, nou menm tou nou vle retire plas yo make soti nan mond lan epi retire yo 84 00:04:53,650 --> 00:04:58,060 makè nan kat la, ki endike ke yo ap nan navèt nou an kounye a. 85 00:04:58,060 --> 00:05:02,520 >> Se konsa, ki jan nou detekte si pasaje se nan ran de navèt nou an? 86 00:05:02,520 --> 00:05:06,670 Oke, distans la fonksyon, se konsa shuttle.distance, pase nan la 87 00:05:06,670 --> 00:05:10,630 latitid ak lonjitid, ap kalkile distans ki soti nan pozisyon aktyèl la 88 00:05:10,630 --> 00:05:14,220 nan shuttle an nan pwen a ki ou presize ak ki bay 89 00:05:14,220 --> 00:05:15,860 latitid ak lonjitid. 90 00:05:15,860 --> 00:05:19,180 Se konsa, ou ka itilize sa a kalkile nan Distans soti nan navèt la a 91 00:05:19,180 --> 00:05:20,310 pasaje. 92 00:05:20,310 --> 00:05:24,040 >> Men, ki jan ou konnen ki kote pasaje yo yo ye? 93 00:05:24,040 --> 00:05:27,510 Oke, sa a, se kote nou pral gen modifye fonksyon an alimenté. 94 00:05:27,510 --> 00:05:32,500 Peple kote tout nan manm yo anplwaye nan pasaje nan mond lan 95 00:05:32,500 --> 00:05:36,300 ak nan kat jeyografik la, men li pa magazen kote yo. 96 00:05:36,300 --> 00:05:39,850 Se konsa, petèt ou ka magazen yo mete mak ak makè 97 00:05:39,850 --> 00:05:41,570 nan kèk etalaj mondyal la. 98 00:05:41,570 --> 00:05:45,780 >> Koulye a, gen deja se yon etalaj mondyal estoke enfòmasyon ki soti nan pasaje. 99 00:05:45,780 --> 00:05:49,960 Boutik sa yo pasaje etalaj chak Non pasaje a ak kay yo. 100 00:05:49,960 --> 00:05:54,985 Se konsa, petèt ou ka ajoute yon paramèt kèk gen yo objè yo pasaje. 101 00:05:54,985 --> 00:05:58,150 >> Pou ede nou detekte tout pasaje yo nan ranje nan nou an 102 00:05:58,150 --> 00:06:02,485 navèt, bouk Annou nan tout nan la pasaje peye ki nan etalaj la pasaje. 103 00:06:02,485 --> 00:06:07,790 A pou bouk nan JavaScript ta ka gade yon bagay tankou sa a, sanble anpil ak 104 00:06:07,790 --> 00:06:13,200 sa yo pou pasan nan C. oubyen nou ka sèvi ak yon altènatif pou estrikti bouk, pou 105 00:06:13,200 --> 00:06:18,680 var mwen an pozisyon, kote mwen ap toujou gen endèks la, men ou pa bezwen 106 00:06:18,680 --> 00:06:23,310 presize array.length la kondisyon e mwen + +. 107 00:06:23,310 --> 00:06:26,130 >> Kote chak pasaje a se yo bay nan mak plas yo. 108 00:06:26,130 --> 00:06:29,800 Men, make la kote se pa nan latitid ak lonjitid la. 109 00:06:29,800 --> 00:06:34,170 Nou gen jwenn aksè nan paramèt sa yo pa ap resevwa jeyometri a, lè l sèvi avèk Pran 110 00:06:34,170 --> 00:06:38,180 Jewometri sou make la kote, ak Lè sa a, yon fwa nou gen jeyometri a, ap resevwa 111 00:06:38,180 --> 00:06:42,580 swa latitid a oswa lonjitid la lè l sèvi avèk fonksyon sa yo. 112 00:06:42,580 --> 00:06:45,680 >> Se konsa, kounye a nou konnen ki jan yo detekte si wi ou non pasaje yo nan lespas 113 00:06:45,680 --> 00:06:47,920 ran de navèt nou an. 114 00:06:47,920 --> 00:06:52,050 Yon fwa nou gen moun ki pasaje, nou pral vle ajoute nenpòt ki pasaje ki 115 00:06:52,050 --> 00:06:53,140 nan ki pòte. 116 00:06:53,140 --> 00:06:57,580 Nou vle pou pèmèt yo hop sou epi pran yon plas sou navèt nou an, men se sèlman 117 00:06:57,580 --> 00:06:59,630 si nou gen ase espas nan men yo. 118 00:06:59,630 --> 00:07:04,120 >> Etalaj la shuttle.seats pral endike si wi ou non plas yo vid, oswa 119 00:07:04,120 --> 00:07:05,890 ki moun ki la nan ke chèz. 120 00:07:05,890 --> 00:07:11,160 Se konsa, si yon plas vid, Lè sa a, ki chèz pral nil. 121 00:07:11,160 --> 00:07:15,930 Se konsa, repňte sou etalaj la plas, tcheke pou plas vid, sere 122 00:07:15,930 --> 00:07:20,020 pasaje nan sa yo chèz jiskaske ou pa gen okenn plas plis vid. 123 00:07:20,020 --> 00:07:23,330 Apre sa, malerezman, nenpòt ki lòt pasaje ap gen pou ret tann pou la 124 00:07:23,330 --> 00:07:26,000 pwochen fwa shuttle an vini desann. 125 00:07:26,000 --> 00:07:30,280 >> Yon fwa yo jwenn sou navèt la, nou pral vle yo retire mak plas yo, ki 126 00:07:30,280 --> 00:07:32,580 se foto yo nan mond lan 3D. 127 00:07:32,580 --> 00:07:38,030 Si mwen te vle retire yon kote ki make p, Lè sa a, mwen ta jwenn tout nan karakteristik yo ki 128 00:07:38,030 --> 00:07:42,820 sou Latè mwen an, ki soti nan tè a Google, ak Lè sa a, retire kote sa a espesifik 129 00:07:42,820 --> 00:07:45,910 make lè l sèvi avèk fonksyon an removeChild. 130 00:07:45,910 --> 00:07:51,360 Lè sa a, Finalman, se pou yo retire makè a, Meksiko an sou kat jeyografik la 2d, pou nenpòt ki 131 00:07:51,360 --> 00:07:53,650 pasaje yo ke nou ap davwa ke yo pran. 132 00:07:53,650 --> 00:07:59,790 >> Pou retire yon makè m, Lè sa a, mwen pral jis egzekite m.setMap nil. 133 00:07:59,790 --> 00:08:03,670 Fè sa pou nenpòt ki pasaje nan ranje, ak ou te fini pickup. 134 00:08:03,670 --> 00:08:07,890 Fonksyon an tablo ta dwe montre tout nan pasaje yo ki nan ou 135 00:08:07,890 --> 00:08:11,000 navèt, ak chèz vid si vid. 136 00:08:11,000 --> 00:08:14,420 Se konsa, tablo ta dwe repekte sou shuttle.seats, ap montre a 137 00:08:14,420 --> 00:08:21,350 enfòmasyon pasaje pou chak endèks, ak plas vid si sa endèks se nil. 138 00:08:21,350 --> 00:08:26,160 >> Koulye a, si se HTML tèks mete andedan nan yon JavaScript varyab, Lè sa a, lè l sèvi avèk 139 00:08:26,160 --> 00:08:31,950 document.getElementByID, tablo bwat edite HTML anndan an nan ki bay 140 00:08:31,950 --> 00:08:36,140 eleman pa plase a Tèks HTML nan 141 00:08:36,140 --> 00:08:40,840 document.getElementByID anndan varyab HTML. 142 00:08:40,840 --> 00:08:46,180 Lè itilizatè yo klike sou bouton an Drop Off nan index.html, li ap rele nan 143 00:08:46,180 --> 00:08:47,160 fonksyon dropoff. 144 00:08:47,160 --> 00:08:49,510 Apre sa, li nan travay nou an aplike sa. 145 00:08:49,510 --> 00:08:54,150 >> Nan dropoff, nou pral vle retire nenpòt ki pasaje yo soti nan navèt la sèlman si 146 00:08:54,150 --> 00:08:58,740 nou ap nan seri nan destinasyon yo, yo rezidansyèl kay la. 147 00:08:58,740 --> 00:09:03,300 Se konsa, dropoff ap gen yo tcheke si wi ou non navèt la se nan seri nan nenpòt nan la 148 00:09:03,300 --> 00:09:08,200 kay, epi retire nenpòt ki nesesè pasaje yo soti nan navèt la. 149 00:09:08,200 --> 00:09:11,020 Se konsa, ki jan nou tcheke si nou ap nan seri nan nenpòt ki kay? 150 00:09:11,020 --> 00:09:16,630 Oke, ankò, nou pral fè pou sèvi ak nan shuttle.distance fonksyon, pase nan 151 00:09:16,630 --> 00:09:20,990 latitid ak lonjitid nan pwen an ke nou ap tcheke kont. 152 00:09:20,990 --> 00:09:22,730 >> Men, sa ki se pwen sa yo? 153 00:09:22,730 --> 00:09:27,210 Oke, etalaj la kay, si ou sonje nan houses.js, magazen an 154 00:09:27,210 --> 00:09:32,790 latitid ak lonjitid nan chak kay nan yon etalaj asosyatif, kote chak 155 00:09:32,790 --> 00:09:35,980 endèks se non an nan kay sa a. 156 00:09:35,980 --> 00:09:37,590 Lè sa a, yo retire pasaje - 157 00:09:37,590 --> 00:09:41,820 byen, sèlman si nou ap nan seri yo kay yo ke yo vle pou yo ale nan. 158 00:09:41,820 --> 00:09:46,380 Se konsa, ankò, sonje ke pasaje magazen kay la ke chak pasaje yo 159 00:09:46,380 --> 00:09:48,850 vle pou yo ale nan. 160 00:09:48,850 --> 00:09:51,670 Si yo ki nan seri yo kay, Lè sa a, nou pral retire ki 161 00:09:51,670 --> 00:09:57,200 pasaje yo soti nan shuttle.seats ak seri pozisyon yo nan etalaj la nan nil. 162 00:09:57,200 --> 00:10:00,220 >> Koulye a, kite nan pale sou kèk karakteristik siplemantè ki ka aplike nan 163 00:10:00,220 --> 00:10:02,690 CS50 Shuttle p-gwoup la. 164 00:10:02,690 --> 00:10:05,850 Genyen yon sistèm pwen kijan w kenbe tras nan konbyen 165 00:10:05,850 --> 00:10:07,520 pwen yon itilizatè te genyen an. 166 00:10:07,520 --> 00:10:11,120 Pou jete nan pasaje avèk siksè, yo ka jwenn pwen. 167 00:10:11,120 --> 00:10:15,100 Men, pou ap eseye depoze pasaje kote pa gen okenn kay ki tou pre, 168 00:10:15,100 --> 00:10:16,980 byen yo, yo ka jwenn okenn sanksyon kont pou sa. 169 00:10:16,980 --> 00:10:21,790 Se konsa, petèt ou vle kenbe tras nan pwen yo nan yon varyab mondyal la. 170 00:10:21,790 --> 00:10:25,970 >> Ou ka aplike petèt yon kwonomèt, kote itilizatè a gen yon sèten kantite 171 00:10:25,970 --> 00:10:29,800 tan yo ranmase ak desann kite sou yon sèten kantite pasaje. 172 00:10:29,800 --> 00:10:33,280 Petèt menm entegre sa a ak sistèm nan pwen. 173 00:10:33,280 --> 00:10:39,970 Oswa ou ka Edit Tablo sa yo ki pasaje yo Ranje pa kay la. 174 00:10:39,970 --> 00:10:45,250 Se konsa, ki ta kapab yon sòt fonksyone nan shuttle.seats. 175 00:10:45,250 --> 00:10:49,240 >> Ou ka aplike yon karakteristik vole, kote si itilizatè a entrain konami a 176 00:10:49,240 --> 00:10:53,460 Kòd, lè sa a shuttle an asanseur koupe nan tè ak shuttle an ka vole. 177 00:10:53,460 --> 00:10:58,890 Men, pou yon gout san danje koupe, pi bon fè navèt nan peyi a wou li sou la 178 00:10:58,890 --> 00:11:00,700 tè an premye. 179 00:11:00,700 --> 00:11:05,910 Ou kapab tou aplike teleportasyon, ki kote ou fè yon gout desann lis 180 00:11:05,910 --> 00:11:08,380 bilding nan index.html. 181 00:11:08,380 --> 00:11:12,270 Apre sa, chwazi youn nan sa yo, ap itilizatè te transpòte li nan 182 00:11:12,270 --> 00:11:14,220 ki bati sou lakou lekòl la. 183 00:11:14,220 --> 00:11:16,760 OK, menm si, yo vwayaje nan mi yo ki nan kèk 184 00:11:16,760 --> 00:11:19,290 bilding sou wout ou a. 185 00:11:19,290 --> 00:11:22,960 >> Ou kapab tou chanje vitès la nan la navèt, sa ki pèmèt itilizatè a ogmante 186 00:11:22,960 --> 00:11:25,490 oswa diminye vitès la. 187 00:11:25,490 --> 00:11:28,840 Petèt ou vle yon varyab mondyal kenbe tras nan konbyen lajan gaz la 188 00:11:28,840 --> 00:11:31,520 navèt gen, diminye li jan ou ale ansanm. 189 00:11:31,520 --> 00:11:35,860 Yon fwa ou frape zewo, menm si, shuttle an pa yo pral kapab pou avanse pou pi eksepte si yo te 190 00:11:35,860 --> 00:11:40,610 kreye, petèt lè l sèvi avèk yon bouton, oswa menm fè estasyon pwòp gaz ou a. 191 00:11:40,610 --> 00:11:43,240 >> Men, ki sètènman se pa yon lis konplè. 192 00:11:43,240 --> 00:11:46,340 Tcheke espèk a pou plen la lis, oswa petèt pwopoze 193 00:11:46,340 --> 00:11:47,840 pwòp TF ou ou. 194 00:11:47,840 --> 00:11:48,950 Syèl la se limit la. 195 00:11:48,950 --> 00:11:53,110 Sa a se dènye ou CS50 p-seri, Se konsa, gen amizan ak li. 196 00:11:53,110 --> 00:11:56,360 Sa a te CS50 Shuttle. 197 00:11:56,360 --> 00:11:59,230 >> Mwen te gen vle di, li te gen yon plezi fè sa yo pou ou ak nan 198 00:11:59,230 --> 00:12:00,400 pwodiksyon ekip. 199 00:12:00,400 --> 00:12:04,330 Apre sa, mwen espere ke ou te jwi yo, tankou byen. 200 00:12:04,330 --> 00:12:06,040 Non mwen se Zamyla. 201 00:12:06,040 --> 00:12:08,310 Lè sa a te CS50. 202 00:12:08,310 --> 00:12:16,363