0:00:00.043,0:00:04.012 Nesse vídeo, nos vamos ver uma demostração de dados organizados em JSON 0:00:04.012,0:00:05.075 como um lembrete, JSON significa 0:00:05.075,0:00:08.002 Java Script Object Notation (Notação de Objeto em Java Script), e 0:00:08.002,0:00:09.077 isso é um padrão para escrever 0:00:09.077,0:00:13.081 dados de objetos em uma maneira legível para seres humanos, típicamente em um arquivo. 0:00:13.081,0:00:16.007 Isso é útil para transferir dados 0:00:16.007,0:00:18.011 entre programas, e geralmente 0:00:18.011,0:00:20.007 por ser um pouco flexível, isso é útil 0:00:20.007,0:00:23.012 para representar e armazenar dados que são semi-estruturados. 0:00:23.012,0:00:24.082 Um lembrete dos 0:00:24.082,0:00:26.087 contrutores básicos em JSON, nos 0:00:26.087,0:00:28.003 temos o valor atómico, como 0:00:28.003,0:00:30.032 também um inteiro, e strings, assim por diante 0:00:30.032,0:00:31.066 E então nos temos dois tipos de 0:00:31.066,0:00:33.015 coisas compostas; nos temos 0:00:33.015,0:00:34.002 objetos que são grupos de 0:00:34.002,0:00:38.048 pares de rotúlo-valor e também nos temos arrays que são lista de valores. 0:00:38.048,0:00:40.028 Na demostração, nos vamos entrar 0:00:40.028,0:00:41.086 em mais detalhes com os contrutores básicos 0:00:41.086,0:00:44.001 de JSON e nos vamos olhar em 0:00:44.001,0:00:46.034 algumas taticas de correção, nós vamos demostrar 0:00:46.034,0:00:47.009 a flexibilidade do modelo 0:00:47.009,0:00:49.018 de dados e então nos vamos 0:00:49.018,0:00:50.093 olhar rapidamente no schema de JSON. 0:00:50.093,0:00:52.081 não largamente usada ainda mas 0:00:52.081,0:00:54.029 ainda bem interessante para dar uma olhada 0:00:54.029,0:00:55.092 nos vamos olhar em alguma validação 0:00:55.092,0:00:59.038 de dados de JSON de contra a um schema em particular 0:00:59.038,0:01:00.062 Então, aqui está o dado JSON 0:01:00.062,0:01:03.002 que nós vamos trabalhar durante essa demostração 0:01:03.002,0:01:04.072 Esses são os mesmo dados que apareceram 0:01:04.072,0:01:07.002 nos slides, na introdução 0:01:07.002,0:01:08.038 para JSON, mas agora nós vamos 0:01:08.038,0:01:11.008 olhar os componentes dos dados. 0:01:11.008,0:01:13.021 Isso também é aliás, quase 0:01:13.021,0:01:14.007 o mesmo exemplo que nós 0:01:14.007,0:01:17.007 usamos para XML, só que é apenas reformatado, 0:01:17.007,0:01:18.055 é claro, para compatir com o modelo de dados do JSON 0:01:18.055,0:01:22.008 , mas você pode comparar os dois diretamente. 0:01:22.008,0:01:23.064 Por ultimo, nos temos 0:01:23.064,0:01:25.062 o arquivo para os dados 0:01:25.062,0:01:26.071 no website, e eu 0:01:26.071,0:01:28.002 sugiro que você faça download do 0:01:28.002,0:01:29.008 arquivos, para você poder 0:01:29.008,0:01:31.053 olhar diretamente no seu computador. 0:01:31.053,0:01:32.028 Oukey. 0:01:32.028,0:01:33.046 Então, vamos ver o que nós temos, 0:01:33.046,0:01:34.082 agora nós estamos em 0:01:34.082,0:01:36.066 um editor de dados de JSON 0:01:36.066,0:01:38.008 Que acontece ser o editor Eclipse 0:01:38.008,0:01:38.088 e nós vamos 0:01:38.088,0:01:39.094 fazer algumas alterações no 0:01:39.094,0:01:41.094 arquivo depois de nos olharmos 0:01:41.094,0:01:43.074 os construtores do arquivo. 0:01:43.074,0:01:45.069 Então, isso são dados de JSON 0:01:45.069,0:01:48.012 representando livros e 0:01:48.012,0:01:49.065 revistas, e nós temos 0:01:49.065,0:01:52.039 um pouco mais de informações sobre nossos livros e nossas revistas 0:01:52.039,0:01:53.092 Então, na parte externa, a 0:01:53.092,0:01:57.039 chaveta indica que isso é um objeto JSON. 0:01:57.039,0:01:59.014 COMO UM LEMBRETE, um objeto 0:01:59.014,0:02:01.043 é um grupo de pares rotulos => valores 0:02:01.043,0:02:03.062 , separados por virgulas. 0:02:03.062,0:02:07.007 Então, nosso primeiro valor é o rótulo "books". E 0:02:07.007,0:02:09.066 então nosso primeiro elemento no 0:02:09.066,0:02:11.056 objeto é o rótulo livros 0:02:11.056,0:02:14.049 e esse valor grande e o 0:02:14.049,0:02:16.004 segundo, então existe apenas dois pares rotulo-valor 0:02:16.004,0:02:17.075 aqui, e o 0:02:17.075,0:02:21.018 rotulo"magazines" e esse grande valor aqui. 0:02:21.018,0:02:23.091 E vamos olhar primeiro em "magazines". 0:02:23.091,0:02:25.018 Então "magazines, denovo, é o 0:02:25.018,0:02:26.045 rótulo e o valor que nós 0:02:26.045,0:02:27.085 podemos ver com o coxete 0:02:27.085,0:02:30.022 aqui é um array. 0:02:30.022,0:02:31.062 Um array é uma lista de 0:02:31.062,0:02:33.034 valores e aqui nos 0:02:33.034,0:02:35.008 temos dois valores no nosso array. 0:02:35.008,0:02:37.002 Eles são ainda valores compostos. 0:02:37.002,0:02:38.059 Então, nos temos dois valores, cada 0:02:38.059,0:02:40.028 um dos quais é um objeto, 0:02:40.028,0:02:42.007 um grupo de pares de rotulo-valor. 0:02:42.007,0:02:46.074 Me deixe mencionar, algumas vezes as pessoas chamam esses rótulos de 'propriedades'. 0:02:46.074,0:02:48.028 Oukey. Então, nos estamos dentro 0:02:48.028,0:02:49.007 de nossos 2 objetos que são 0:02:49.007,0:02:53.011 os dois elementos no array que o valor de magazines 0:02:53.011,0:02:54.008 E cada um desses tem 0:02:54.008,0:02:56.092 3 rotulos e 3 valores 0:02:56.092,0:02:58.086 e agora nos vamos finalmente para baixo nos valores base. 0:02:58.086,0:03:00.004 Então, nos temos o título sendo "National 0:03:00.004,0:03:02.026 Geographic", um string, o 0:03:02.026,0:03:04.005 mês sendo Janeiro, um string 0:03:04.005,0:03:06.033 e o ano 2009, aonde 2009 é um inteiro. 0:03:06.033,0:03:08.065 E denovo, nos temos 0:03:08.065,0:03:12.014 outro objeto aqui que é uma revista diferente 0:03:12.014,0:03:15.027 com um nome e meses diferentes, e o mesmo ano. 0:03:15.027,0:03:16.067 Agora, esses dois tem exatamente a 0:03:16.067,0:03:18.013 mesma estrutura mas eles não 0:03:18.013,0:03:19.038 precisam e nos vamos 0:03:19.038,0:03:21.099 ver que a medida que nos começarmos a editar o arquivo. 0:03:21.099,0:03:23.019 Mas antes de editar o arquivo, 0:03:23.019,0:03:24.059 vamos sair e olhar 0:03:24.059,0:03:26.014 nosso livros aqui. 0:03:26.014,0:03:28.055 O valor de nosso outro 0:03:28.055,0:03:30.011 par rótulo-valor dentro do 0:03:30.011,0:03:32.001 objeto externo,"book" é 0:03:32.001,0:03:34.027 também um array, e 0:03:34.027,0:03:35.087 o array nesse caso também 0:03:35.087,0:03:38.095 tem dois elementos, então nós temos representado dois "books" aqui. 0:03:38.095,0:03:40.039 Isso é um pouco mais complicado que a 0:03:40.039,0:03:42.056 revista, mas esses elementos 0:03:42.056,0:03:45.072 são ainda objetos de pares rotulo-valor. 0:03:45.072,0:03:47.044 Agora, nós temos o ISBN, 0:03:47.044,0:03:49.007 o preço, a adição, o título, 0:03:49.007,0:03:51.097 todos sendo inteiros ou strings, 0:03:51.097,0:03:54.075 e então nos temos uma composição junta 0:03:54.075,0:03:56.021 de objetos que são os autores 0:03:56.021,0:03:57.081 e aqui um array de novo. 0:03:57.081,0:04:02.029 Então, o array denovo, é indicado pelos******* 0:04:02.029,0:04:04.003 E dentros desse array, nos 0:04:04.003,0:04:06.013 temos dois autores e cada um 0:04:06.013,0:04:07.036 dos autores tem um primeiro 0:04:07.036,0:04:08.085 nome e ultimo nome 0:04:08.085,0:04:10.038 mas denovo, essa uniformidade não 0:04:10.038,0:04:13.031 é requirida pelo modelo em si mesmo, como nos vamos ver. 0:04:13.031,0:04:15.037 Então, como eu mensionei, 0:04:15.037,0:04:16.073 isso é na verdade um editor para 0:04:16.073,0:04:19.028 dados JSON e nos vamos voltar para esse editor em um momento. 0:04:19.028,0:04:20.003 Mas o que eu procurei fazer foi 0:04:20.003,0:04:22.006 mostrar os mesmos dados 0:04:22.006,0:04:23.069 em um browser por que browsers 0:04:23.069,0:04:25.038 na verdade oferecem alguns servisos legais 0:04:25.038,0:04:27.086 para navegar em JSON. 0:04:27.086,0:04:28.068 Então naqui nos estamos em 0:04:28.068,0:04:30.029 um navegador Chrome, que tem boas 0:04:30.029,0:04:32.072 ferramentas para navergar em JSON, 0:04:32.072,0:04:34.057 e outros navegadores tem também. 0:04:34.057,0:04:35.099 Nós podemos ver aqui que nos 0:04:35.099,0:04:37.053 temos um objeto no 0:04:37.053,0:04:39.002 nosso dado JSON, que consiste 0:04:39.002,0:04:40.082 de dois pares rotulo-valor; 0:04:40.082,0:04:42.073 'books' e 'magazines', que são 0:04:42.073,0:04:43.062 atualmente fexados e então 0:04:43.062,0:04:47.016 esse "mais" permite-nos abrir eles, e ver sua estrutura. 0:04:47.016,0:04:48.082 Por exemplo, nós abrimos revistas 0:04:48.082,0:04:52.021 e nós vemos que revistas e um array contendo dois objetos. 0:04:52.021,0:04:53.004 Nos podemos abrir um desses 0:04:53.004,0:04:55.094 objetos, e podemos ver que os três pares rotulo-valor. 0:04:55.094,0:04:59.059 Agora nós estamos nos níveis mais baixos e similarmente para os outros objetos. 0:04:59.059,0:05:00.072 Nos podemos ver que "Books" 0:05:00.072,0:05:03.007 é também um array, e nos vamos em frente e abrir isso. 0:05:03.007,0:05:05.011 Isso é um array de dois objetos. 0:05:05.011,0:05:06.004 Nos abrimos um desses 0:05:06.004,0:05:07.088 objetos e nós vemos de novo 0:05:07.088,0:05:09.061 o grupo de pares rotulo-valor, 0:05:09.061,0:05:10.008 aonde um dos valores 0:05:10.008,0:05:12.061 é uma junção mais aprofundada. 0:05:12.061,0:05:14.044 Isso é um array e nos abrimos 0:05:14.044,0:05:15.045 esse array, e nós vemos 0:05:15.045,0:05:16.069 dois objetos, e nos abrimos 0:05:16.069,0:05:19.042 eles e finalmente vemos os dados nos níveis mais baixos 0:05:19.042,0:05:21.048 E denovo, o navegador 0:05:21.048,0:05:22.065 aqui nos da um jeito legal 0:05:22.065,0:05:26.091 para navegar no dado JSON e nos vemos sua estrutura. 0:05:26.091,0:05:28.099 Então agora nos estamos de volta ao nosso editor JSON 0:05:28.099,0:05:30.075 Aproveitando, esse editor, Eclipse, também 0:05:30.075,0:05:32.058 tem algumas ferramentas para 0:05:32.058,0:05:34.015 abrir e fexar a estrutura 0:05:34.015,0:05:35.096 dos dados, mas isso não 0:05:35.096,0:05:38.013 é tão legal quanto o navegador que nós usamos. 0:05:38.013,0:05:39.082 Então nos decidimos usar o navegador ao contrario. 0:05:39.082,0:05:40.009 O que nós vamos 0:05:40.009,0:05:42.034 usar no editor é para 0:05:42.034,0:05:43.049 fazer algumas mudanças para os 0:05:43.049,0:05:44.084 dados JSON, e vemos quais 0:05:44.084,0:05:47.058 mudanças são legais e quais não são. 0:05:47.058,0:05:50.043 Então, vamos dar uma olhada na primeira mudança, uma bem simples. 0:05:50.043,0:05:52.001 O que se nos esquecêssemos uma virgula. 0:05:52.001,0:05:53.032 Bem, quando nos tentamos 0:05:53.032,0:05:54.043 salvar aquele arquivo, nos pegamos 0:05:54.043,0:05:55.051 uma mensagem dizendo que nos temos um 0:05:55.051,0:05:56.093 erro, que foi esperado um 0:05:56.093,0:05:58.085 valor N, então isso é um 0:05:58.085,0:06:02.066 erro bem direto, vamos por a virgula de volta. 0:06:02.066,0:06:04.068 Vamos dizer inserir uma 0:06:04.068,0:06:07.056 chave extra em algum lugar aqui, por qualquer rasão. 0:06:07.056,0:06:09.079 Nos acidentalmente colocamos em uma chave extra. 0:06:09.079,0:06:13.016 De novo nos vemos que isso é marcado como um erro 0:06:13.016,0:06:13.099 Então um erro que pode 0:06:13.099,0:06:15.033 ser bem comum para fazer é 0:06:15.033,0:06:18.009 esquecer para por quotes em volta de strings 0:06:18.009,0:06:20.017 0:06:20.017,0:06:23.065 0:06:23.065,0:06:24.077 0:06:24.077,0:06:27.003 0:06:27.003,0:06:29.006 0:06:29.006,0:06:31.066 0:06:31.066,0:06:33.016 0:06:33.016,0:06:34.044 0:06:34.044,0:06:37.071 0:06:37.071,0:06:40.077 0:06:40.077,0:06:41.079 0:06:41.079,0:06:43.051 0:06:43.051,0:06:44.093 0:06:44.093,0:06:46.008 0:06:46.008,0:06:47.097 0:06:47.097,0:06:51.071 0:06:51.071,0:06:56.021 0:06:56.021,0:06:57.019 0:06:57.019,0:06:58.067 0:06:58.067,0:07:00.057 0:07:00.057,0:07:03.031 0:07:03.031,0:07:04.048 0:07:04.048,0:07:05.059 0:07:05.059,0:07:07.018 0:07:07.018,0:07:08.089 0:07:08.089,0:07:10.007 0:07:10.007,0:07:15.038 0:07:15.038,0:07:16.058 0:07:16.058,0:07:17.096 0:07:17.096,0:07:20.045 0:07:20.045,0:07:22.039 0:07:22.039,0:07:24.042 0:07:24.042,0:07:25.076 0:07:25.076,0:07:27.019 0:07:27.019,0:07:28.088 0:07:28.088,0:07:30.039 0:07:30.039,0:07:32.027 0:07:32.027,0:07:35.003 0:07:35.003,0:07:36.063 0:07:36.063,0:07:38.016 0:07:38.016,0:07:39.065 0:07:39.065,0:07:40.007 0:07:40.007,0:07:42.014 0:07:42.014,0:07:43.053 0:07:43.053,0:07:47.088 0:07:47.088,0:07:50.018 0:07:50.018,0:07:51.024 0:07:51.024,0:07:52.009 0:07:52.009,0:07:54.007 0:07:54.007,0:07:56.035 0:07:56.035,0:07:58.004 0:07:58.004,0:07:59.067 0:07:59.067,0:08:01.017 0:08:01.017,0:08:02.022 0:08:02.022,0:08:04.026 0:08:04.026,0:08:05.009 0:08:05.009,0:08:07.098 0:08:07.098,0:08:09.053 0:08:09.053,0:08:11.033 0:08:11.033,0:08:13.027 0:08:13.027,0:08:15.067 0:08:15.067,0:08:17.002 0:08:17.002,0:08:18.083 0:08:18.083,0:08:20.002 0:08:20.002,0:08:22.092 0:08:22.092,0:08:24.003 0:08:24.003,0:08:25.037 0:08:25.037,0:08:26.066 0:08:26.066,0:08:30.022 0:08:30.022,0:08:32.000 0:08:32.000,0:08:33.008 0:08:33.008,0:08:35.074 0:08:35.074,0:08:37.079 0:08:37.079,0:08:41.046 0:08:41.046,0:08:42.097 0:08:42.097,0:08:44.055 0:08:44.055,0:08:46.042 0:08:46.042,0:08:50.091 0:08:50.091,0:08:52.036 0:08:52.036,0:08:53.043 0:08:53.043,0:08:54.081 0:08:54.081,0:08:58.004 0:08:58.004,0:09:01.093 0:09:01.093,0:09:02.098 0:09:02.098,0:09:04.036 0:09:04.036,0:09:05.067 0:09:05.067,0:09:08.001 0:09:08.001,0:09:09.029 0:09:09.029,0:09:12.003 0:09:12.003,0:09:13.091 0:09:13.091,0:09:15.001 0:09:15.001,0:09:16.038 0:09:16.038,0:09:19.016 0:09:19.016,0:09:20.003 0:09:20.003,0:09:21.049 0:09:21.049,0:09:24.064 0:09:24.064,0:09:26.008 0:09:26.008,0:09:28.001 0:09:28.001,0:09:29.029 0:09:29.029,0:09:30.082 0:09:30.082,0:09:33.029 0:09:33.029,0:09:34.006 0:09:34.006,0:09:36.014 0:09:36.014,0:09:37.061 0:09:37.061,0:09:39.008 0:09:39.008,0:09:40.024 0:09:40.024,0:09:42.084 0:09:42.084,0:09:46.004 0:09:46.004,0:09:48.005 0:09:48.005,0:09:50.073 0:09:50.073,0:09:52.095 0:09:52.095,0:09:55.011 0:09:55.011,0:09:56.052 0:09:56.052,0:09:57.078 0:09:57.078,0:09:59.022 0:09:59.022,0:10:00.045 0:10:00.045,0:10:02.088 0:10:02.088,0:10:04.023 0:10:04.023,0:10:05.077 0:10:05.077,0:10:08.008 0:10:08.008,0:10:11.083 0:10:11.083,0:10:13.001 0:10:13.001,0:10:14.026 0:10:14.026,0:10:15.047 0:10:15.047,0:10:17.027 0:10:17.027,0:10:18.096 0:10:18.096,0:10:20.034 0:10:20.034,0:10:22.077 0:10:22.077,0:10:25.013 0:10:25.013,0:10:27.008 0:10:27.008,0:10:29.004 0:10:29.004,0:10:31.031 0:10:31.031,0:10:33.018 0:10:33.018,0:10:35.037 0:10:35.037,0:10:37.011 0:10:37.011,0:10:37.098 0:10:37.098,0:10:39.042 0:10:39.042,0:10:41.005 0:10:41.005,0:10:43.049 0:10:43.049,0:10:47.008 0:10:47.008,0:10:49.023 0:10:49.023,0:10:51.046 0:10:51.046,0:10:53.014 0:10:53.014,0:10:54.031 0:10:54.031,0:10:57.058 0:10:57.058,0:10:58.079 0:10:58.079,0:11:01.003 0:11:01.003,0:11:02.075 0:11:02.075,0:11:04.056 0:11:04.056,0:11:06.076 0:11:06.076,0:11:08.053 0:11:08.053,0:11:11.057 0:11:11.057,0:11:12.072 0:11:12.072,0:11:15.023 0:11:15.023,0:11:16.032 0:11:16.032,0:11:17.074 0:11:17.074,0:11:19.029 0:11:19.029,0:11:20.087 0:11:20.087,0:11:24.005 0:11:24.005,0:11:28.002 0:11:28.002,0:11:29.056 0:11:29.056,0:11:31.062 0:11:31.062,0:11:34.055 0:11:34.055,0:11:37.018 0:11:37.018,0:11:38.033 0:11:38.033,0:11:39.056 0:11:39.056,0:11:42.046 0:11:42.046,0:11:43.068 0:11:43.068,0:11:48.047 0:11:48.047,0:11:52.068 0:11:52.068,0:11:53.078 0:11:53.078,0:11:55.008 0:11:55.008,0:11:57.027 0:11:57.027,0:11:58.054 0:11:58.054,0:12:00.061 0:12:00.061,0:12:02.063 0:12:02.063,0:12:04.065 0:12:04.065,0:12:05.077 0:12:05.077,0:12:07.088 0:12:07.088,0:12:11.064 0:12:11.064,0:12:13.055 0:12:13.055,0:12:15.001 0:12:15.001,0:12:16.055 0:12:16.055,0:12:19.025 0:12:19.025,0:12:22.042 0:12:22.042,0:12:24.016 0:12:24.016,0:12:26.001 0:12:26.001,0:12:27.051 0:12:27.051,0:12:31.000 0:12:31.000,0:12:32.096 0:12:32.096,0:12:34.077 0:12:34.077,0:12:36.023 0:12:36.023,0:12:37.094 0:12:37.094,0:12:41.003 0:12:41.003,0:12:42.015 0:12:42.015,0:12:45.055 0:12:45.055,0:12:46.054 0:12:46.054,0:12:47.065 0:12:47.065,0:12:49.007 0:12:49.007,0:12:50.059 0:12:50.059,0:12:54.001 0:12:54.001,0:12:55.071 0:12:55.071,0:12:58.015 0:12:58.015,0:12:59.029 0:12:59.029,0:13:03.001 0:13:03.001,0:13:04.059 0:13:04.059,0:13:06.047 0:13:06.047,0:13:07.076 0:13:07.076,0:13:09.003 0:13:09.003,0:13:10.038 0:13:10.038,0:13:13.028 0:13:13.028,0:13:14.002 0:13:14.002,0:13:16.049 0:13:16.049,0:13:18.044 0:13:18.044,0:13:19.075 0:13:19.075,0:13:21.039 0:13:21.039,0:13:25.033 0:13:25.033,0:13:26.077 0:13:26.077,0:13:28.041 0:13:28.041,0:13:29.067 0:13:29.067,0:13:32.018 0:13:32.018,0:13:34.047 0:13:34.047,0:13:35.056 0:13:35.056,0:13:37.076 0:13:37.076,0:13:39.058 0:13:39.058,0:13:42.005 0:13:42.005,0:13:44.001 0:13:44.001,0:13:46.022 0:13:46.022,0:13:47.026 0:13:47.026,0:13:49.095 0:13:49.095,0:13:51.003 0:13:51.003,0:13:53.068 0:13:53.068,0:13:56.006 0:13:56.006,0:13:58.061 0:13:58.061,0:14:00.041 0:14:00.041,0:14:01.097 0:14:01.097,0:14:05.014 0:14:05.014,0:14:06.066 0:14:06.066,0:14:08.026 0:14:08.026,0:14:09.046 0:14:09.046,0:14:11.006 0:14:11.006,0:14:13.025 0:14:13.025,0:14:15.043 0:14:15.043,0:14:16.037 0:14:16.037,0:14:18.024 0:14:18.024,0:14:20.004 0:14:20.004,0:14:21.091 0:14:21.091,0:14:23.002 0:14:23.002,0:14:26.034 0:14:26.034,0:14:27.048 0:14:27.048,0:14:28.081 0:14:28.081,0:14:32.016 0:14:32.016,0:14:33.054 0:14:33.054,0:14:35.016 0:14:35.016,0:14:36.063 0:14:36.063,0:14:40.023 0:14:40.023,0:14:43.038 0:14:43.038,0:14:45.024 0:14:45.024,0:14:47.008 0:14:47.008,0:14:48.056 0:14:48.056,0:14:50.005 0:14:50.005,0:14:52.072 0:14:52.072,0:14:56.021 0:14:56.021,0:14:57.068 0:14:57.068,0:14:59.014 0:14:59.014,0:15:00.062 0:15:00.062,0:15:03.043 0:15:03.043,0:15:05.035 0:15:05.035,0:15:06.098 0:15:06.098,0:15:08.092 0:15:08.092,0:15:13.008 0:15:13.008,0:15:14.011 0:15:14.011,0:15:15.036 0:15:15.036,0:15:17.006 0:15:17.006,0:15:18.003 0:15:18.003,0:15:20.079 0:15:20.079,0:15:22.042 0:15:22.042,0:15:25.074 0:15:25.074,0:15:29.045 0:15:29.045,0:15:32.015 0:15:32.015,0:15:35.004 0:15:35.004,0:15:38.012 0:15:38.012,0:15:39.069 0:15:39.069,0:15:40.073 0:15:40.073,0:15:42.089 0:15:42.089,0:15:44.008 0:15:44.008,0:15:45.043 0:15:45.043,0:15:46.075 0:15:46.075,0:15:48.044 0:15:48.044,0:15:51.042 0:15:51.042,0:15:53.019 0:15:53.019,0:15:56.018 0:15:56.018,0:15:57.085 0:15:57.085,0:15:59.027 0:15:59.027,0:16:01.045 0:16:01.045,0:16:02.086 0:16:02.086,0:16:03.088 0:16:03.088,0:16:05.014 0:16:05.014,0:16:06.024 0:16:06.024,0:16:10.046 0:16:10.046,0:16:12.002 0:16:12.002,0:16:13.054 0:16:13.054,0:16:14.091 0:16:14.091,0:16:17.063 0:16:17.063,0:16:19.007 0:16:19.007,0:16:21.004 0:16:21.004,0:16:23.004 0:16:23.004,0:16:24.095 0:16:24.095,0:16:26.027 0:16:26.027,0:16:28.047 0:16:28.047,0:16:32.082 0:16:32.082,0:16:33.007 0:16:33.007,0:16:36.092 0:16:36.092,0:16:38.027 0:16:38.027,0:16:39.044 0:16:39.044,0:16:42.021 0:16:42.021,0:16:43.083 0:16:43.083,0:16:46.033 0:16:46.033,0:16:47.093 0:16:47.093,0:16:51.085 0:16:51.085,0:16:53.061 0:16:53.061,0:16:54.066 0:16:54.066,0:16:57.036 0:16:57.036,0:16:59.027 0:16:59.027,0:17:00.092 0:17:00.092,0:17:02.034 0:17:02.034,0:17:04.008 0:17:04.008,0:17:06.007 0:17:06.007,0:17:08.027 0:17:08.027,0:17:10.052 0:17:10.052,0:17:11.067 0:17:11.067,0:17:12.009 0:17:12.009,0:17:14.003 0:17:14.003,0:17:17.012 0:17:17.012,0:17:20.074 0:17:20.074,0:17:22.039 0:17:22.039,0:17:24.009 0:17:24.009,0:17:27.008 0:17:27.008,0:17:29.025 0:17:29.025,0:17:31.043 0:17:31.043,0:17:32.096 0:17:32.096,0:17:34.052 0:17:34.052,0:17:36.016 0:17:36.016,0:17:37.077 0:17:37.077,0:17:40.049 0:17:40.049,0:17:41.093 0:17:41.093,0:17:43.064 0:17:43.064,0:17:46.018 0:17:46.018,0:17:48.046 0:17:48.046,0:17:50.019 0:17:50.019,0:17:53.083 0:17:53.083,0:17:56.096 0:17:56.096,0:17:58.005 0:17:58.005,0:18:01.053 0:18:01.053,0:18:02.088 0:18:02.088,0:18:04.062 0:18:04.062,0:18:06.065 0:18:06.065,0:18:08.044 0:18:08.044,0:18:11.081 0:18:11.081,0:18:14.075 0:18:14.075,0:18:16.029 0:18:16.029,0:18:20.021 0:18:20.021,0:18:21.083 0:18:21.083,0:18:23.041 0:18:23.041,0:18:24.059 0:18:24.059,0:18:26.044 0:18:26.044,0:18:27.084 0:18:27.084,0:18:31.021 0:18:31.021,0:18:34.038 0:18:34.038,0:18:35.018 0:18:35.018,0:18:36.007 0:18:36.007,0:18:37.093 0:18:37.093,0:18:41.022 0:18:41.022,0:18:43.016 0:18:43.016,0:18:45.019 0:18:45.019,0:18:46.056 0:18:46.056,0:18:52.037 0:18:52.037,0:18:55.077 0:18:55.077,0:18:57.016 0:18:57.016,0:19:00.019 0:19:00.019,0:19:02.073 0:19:02.073,0:19:04.013 0:19:04.013,0:19:05.089 0:19:05.089,0:19:07.018 0:19:07.018,0:19:09.003 0:19:09.003,0:19:12.054 0:19:12.054,0:19:14.015 0:19:14.015,0:19:15.072 0:19:15.072,0:19:18.003 0:19:18.003,0:19:20.002 0:19:20.002,0:19:22.034 0:19:22.034,0:19:23.092 0:19:23.092,0:19:26.017 0:19:26.017,0:19:30.004 0:19:30.004,0:19:32.002 0:19:32.002,0:19:34.021 0:19:34.021,0:19:35.047 0:19:35.047,0:19:39.044 0:19:39.044,0:19:41.084 0:19:41.084,0:19:44.067 0:19:44.067,0:19:46.065 0:19:46.065,0:19:48.087 0:19:48.087,0:19:50.006 0:19:50.006,0:19:52.018 0:19:52.018,0:19:54.006 0:19:54.006,0:19:55.054 0:19:55.054,0:19:57.004 0:19:57.004,0:19:59.034 0:19:59.034,0:20:00.085 0:20:00.085,0:20:02.019 0:20:02.019,0:20:03.083 0:20:03.083,0:20:05.093 0:20:05.093,0:20:08.002 0:20:08.002,0:20:09.004 0:20:09.004,0:20:14.053 0:20:14.053,0:20:17.034 0:20:17.034,0:20:18.065 0:20:18.065,0:20:19.089 0:20:19.089,0:20:21.026 0:20:21.026,0:20:23.001 0:20:23.001,0:20:24.031 0:20:24.031,0:20:27.063 0:20:27.063,0:20:28.086 0:20:28.086,0:20:30.008 0:20:30.008,0:20:31.094 0:20:31.094,0:20:33.062 0:20:33.062,0:20:34.086 0:20:34.086,0:20:36.056 0:20:36.056,0:20:39.093 0:20:39.093,0:20:43.051 0:20:43.051,0:20:44.073 0:20:44.073,0:20:46.014 0:20:46.014,0:20:47.069 0:20:47.069,0:20:49.077 0:20:49.077,0:20:50.088 0:20:50.088,0:20:52.029 0:20:52.029,0:20:54.097 0:20:54.097,0:20:56.095 0:20:56.095,0:20:58.068 0:20:58.068,0:21:00.099 0:21:00.099,0:21:02.059 0:21:02.059,0:21:05.022 0:21:05.022,0:21:06.062 0:21:06.062,0:21:09.093 0:21:09.093,0:21:13.027 0:21:13.027,0:21:15.029 0:21:15.029,0:21:16.054 0:21:16.054,0:21:17.083 0:21:17.083,0:21:21.019 0:21:21.019,0:21:22.036 0:21:22.036,0:21:23.064 0:21:23.064,0:21:27.012 0:21:27.012,0:21:29.034 0:21:29.034,0:21:31.037 0:21:31.037,0:21:32.081 0:21:32.081,0:21:34.064 0:21:34.064,0:21:36.055 0:21:36.055,0:21:37.075 0:21:37.075,0:21:38.098 0:21:38.098,0:21:40.054 0:21:40.054,0:21:42.087 0:21:42.087,0:21:43.098 0:21:43.098,0:21:45.011 0:21:45.011,0:21:46.011 0:21:46.011,0:21:48.005 0:21:48.005,0:21:50.023 0:21:50.023,0:21:53.072 0:21:53.072,0:21:54.087 0:21:54.087,0:21:56.073 0:21:56.073,0:21:58.025 0:21:58.025,0:21:59.074 0:21:59.074,0:22:01.025 0:22:01.025,0:22:02.097 0:22:02.097,0:22:04.081 0:22:04.081,0:22:06.036 0:22:06.036,0:22:07.083 0:22:07.083,0:22:09.056 0:22:09.056,0:22:10.044 0:22:10.044,0:22:12.018 0:22:12.018,0:22:13.037