asker-tool 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +674 -0
  3. data/README.md +53 -0
  4. data/bin/asker +4 -0
  5. data/docs/changelog/v2.1.md +99 -0
  6. data/docs/commands.md +15 -0
  7. data/docs/contributions.md +18 -0
  8. data/docs/history.md +40 -0
  9. data/docs/idea.md +44 -0
  10. data/docs/inputs/README.md +39 -0
  11. data/docs/inputs/code.md +69 -0
  12. data/docs/inputs/concepts.md +142 -0
  13. data/docs/inputs/jedi.md +68 -0
  14. data/docs/inputs/tables.md +112 -0
  15. data/docs/inputs/templates.md +87 -0
  16. data/docs/install/README.md +38 -0
  17. data/docs/install/manual.md +26 -0
  18. data/docs/install/scripts.md +26 -0
  19. data/docs/revise/asker-file.md +41 -0
  20. data/docs/revise/buenas-practicas/01-convocatoria.md +30 -0
  21. data/docs/revise/buenas-practicas/02-formulario.md +35 -0
  22. data/docs/revise/buenas-practicas/03-descripcion.md +63 -0
  23. data/docs/revise/buenas-practicas/04-resultados.md +17 -0
  24. data/docs/revise/buenas-practicas/05-reproducir.md +10 -0
  25. data/docs/revise/ejemplos/01/README.md +27 -0
  26. data/docs/revise/ejemplos/02/README.md +31 -0
  27. data/docs/revise/ejemplos/03/README.md +31 -0
  28. data/docs/revise/ejemplos/04/README.md +37 -0
  29. data/docs/revise/ejemplos/05/README.md +25 -0
  30. data/docs/revise/ejemplos/06/README.md +43 -0
  31. data/docs/revise/ejemplos/README.md +11 -0
  32. data/docs/revise/projects.md +74 -0
  33. data/lib/asker.rb +103 -0
  34. data/lib/asker/ai/ai.rb +70 -0
  35. data/lib/asker/ai/ai_calculate.rb +55 -0
  36. data/lib/asker/ai/concept_ai.rb +49 -0
  37. data/lib/asker/ai/question.rb +58 -0
  38. data/lib/asker/ai/stages/base_stage.rb +16 -0
  39. data/lib/asker/ai/stages/main.rb +8 -0
  40. data/lib/asker/ai/stages/stage_b.rb +87 -0
  41. data/lib/asker/ai/stages/stage_d.rb +160 -0
  42. data/lib/asker/ai/stages/stage_f.rb +156 -0
  43. data/lib/asker/ai/stages/stage_i.rb +140 -0
  44. data/lib/asker/ai/stages/stage_s.rb +52 -0
  45. data/lib/asker/ai/stages/stage_t.rb +170 -0
  46. data/lib/asker/application.rb +30 -0
  47. data/lib/asker/checker.rb +356 -0
  48. data/lib/asker/cli.rb +85 -0
  49. data/lib/asker/code/ai/base_code_ai.rb +48 -0
  50. data/lib/asker/code/ai/code_ai_factory.rb +26 -0
  51. data/lib/asker/code/ai/javascript_code_ai.rb +167 -0
  52. data/lib/asker/code/ai/python_code_ai.rb +167 -0
  53. data/lib/asker/code/ai/ruby_code_ai.rb +169 -0
  54. data/lib/asker/code/ai/sql_code_ai.rb +69 -0
  55. data/lib/asker/code/code.rb +53 -0
  56. data/lib/asker/data/column.rb +62 -0
  57. data/lib/asker/data/concept.rb +183 -0
  58. data/lib/asker/data/data_field.rb +87 -0
  59. data/lib/asker/data/row.rb +93 -0
  60. data/lib/asker/data/table.rb +96 -0
  61. data/lib/asker/data/template.rb +65 -0
  62. data/lib/asker/data/world.rb +53 -0
  63. data/lib/asker/exporter/code_gift_exporter.rb +35 -0
  64. data/lib/asker/exporter/code_screen_exporter.rb +45 -0
  65. data/lib/asker/exporter/concept_ai_gift_exporter.rb +33 -0
  66. data/lib/asker/exporter/concept_ai_screen_exporter.rb +115 -0
  67. data/lib/asker/exporter/concept_ai_yaml_exporter.rb +33 -0
  68. data/lib/asker/exporter/concept_doc_exporter.rb +21 -0
  69. data/lib/asker/exporter/concept_screen_exporter.rb +25 -0
  70. data/lib/asker/exporter/main.rb +9 -0
  71. data/lib/asker/files/config.ini +40 -0
  72. data/lib/asker/formatter/code_string_formatter.rb +16 -0
  73. data/lib/asker/formatter/concept_doc_formatter.rb +37 -0
  74. data/lib/asker/formatter/concept_string_formatter.rb +66 -0
  75. data/lib/asker/formatter/question_gift_formatter.rb +65 -0
  76. data/lib/asker/formatter/question_hash_formatter.rb +40 -0
  77. data/lib/asker/formatter/question_moodlexml_formatter.rb +71 -0
  78. data/lib/asker/formatter/rb2haml_formatter.rb +26 -0
  79. data/lib/asker/lang/lang.rb +42 -0
  80. data/lib/asker/lang/lang_factory.rb +19 -0
  81. data/lib/asker/lang/text_actions.rb +150 -0
  82. data/lib/asker/loader/code_loader.rb +53 -0
  83. data/lib/asker/loader/content_loader.rb +101 -0
  84. data/lib/asker/loader/directory_loader.rb +58 -0
  85. data/lib/asker/loader/file_loader.rb +33 -0
  86. data/lib/asker/loader/image_url_loader.rb +61 -0
  87. data/lib/asker/loader/input_loader.rb +24 -0
  88. data/lib/asker/loader/project_loader.rb +71 -0
  89. data/lib/asker/logger.rb +21 -0
  90. data/lib/asker/project.rb +170 -0
  91. metadata +261 -0
@@ -0,0 +1,68 @@
1
+
2
+ # Jedi
3
+
4
+ Inputs
5
+ ======
6
+
7
+ Into *maps* directory we save our own concept map files. We could use subdirectories to
8
+ better organization. As example we have the file `maps/demo/starwars/jedi.haml`, that
9
+ contains one concept map about Jedi characters of StarWars film into HAML format.
10
+
11
+ Let's take a look (Spanish example, I know. Soon I'll write the english version):
12
+ ```
13
+ %map{ :lang => 'en', :context => 'character, starwars', :version => '1'}
14
+
15
+ %concept
16
+ %names obiwan
17
+ %tags jedi, teacher, annakin, skywalker, pupil, quigon-jinn
18
+ %def Jedi, teacher of Annakin Skywalker
19
+ %def Jedi, pupil of Quigon-Jinn
20
+ %table{ :fields => 'attribute, value' }
21
+ %title Associate every attribute with their value
22
+ %row
23
+ %col race
24
+ %col human
25
+ %row
26
+ %col laser sabel color
27
+ %col green
28
+ %row
29
+ %col hair color
30
+ %col red
31
+
32
+ %concept
33
+ %names yoda
34
+ %tags teacher, jedi
35
+ %def Jedi, teacher of all jedis
36
+ %def The Main Teacher of Jedi and one of the most important members of the Main Jedi Council, in the last days of Star Republic.
37
+ %def He has exceptional combat abilities with light sable, using acrobatics tecnics from Ataru.
38
+ %def He was master of all light sable combat styles and was considered during years as a Sword Master.
39
+ %table{ :fields => 'attribute, value' }
40
+ %row
41
+ %col color laser sabel
42
+ %col green
43
+ %row
44
+ %col hair color
45
+ %col white
46
+ %row
47
+ %col skin color
48
+ %col green
49
+ %row
50
+ %col high
51
+ %col 65 centimetres
52
+ ...
53
+ ```
54
+ As we see, we defined 2 concepts about Jedi characters. This are `obiwan` and `yoda`.
55
+ And we use special sintax (tags) to define it.
56
+
57
+ At now we have a this list of tags to define our own sintax for build conceptual maps:
58
+ * **context**: List of comma separated words, that identify the context where this concept "lives" or "exists".
59
+ * **names**: List of one or more names that identify the concept. At least one is requiered, of course!.
60
+ * **tags**: List of comma separated words, that briefly describe the concept. I mean, a short list of words
61
+ that came in mind when we think in it, and are useful for their identification.
62
+ * **def**: We use this tags as many times we need. In it, we write using natural language descriptions
63
+ asssociated to the concept. This are definitions/descriptions that are uniques
64
+ for this concept, but don't write the name of the concept into the text.
65
+ * **table**: Other way to build more sofisticated definitions/schemas is using "tables". It's similar
66
+ to HTML tag. I mean, with this "table", we build tables of knowledge into the concept. We use "row",
67
+ and "col", to defines table-rows and row-cols, of course. We could see an
68
+ example into `input/en/starwars/jedi.haml`.
@@ -0,0 +1,112 @@
1
+
2
+ [<< back](README.md)
3
+
4
+ # Learn tables
5
+
6
+ Now, we are going to learn keywords:
7
+ * table
8
+ * row
9
+ * col
10
+
11
+ Let's go!.
12
+
13
+ ---
14
+
15
+ # Def limits
16
+
17
+ We have learn that:
18
+ * **map** serves to identify an input file.
19
+ * **concept**, **names** and **tags** serves to identify a concept.
20
+ * **def** serves to add meaning to a concept.
21
+
22
+ But, it's not enough. **def** only contains meaning that could only be associated to one unique concept. For example:
23
+ ```
24
+ %concept
25
+ %names AC/DC, ACDC
26
+ %tags rock, band, australia
27
+ %def Australian rock band formed by Scottish-born brothers Malcolm and Angus Young
28
+ ```
29
+
30
+ **def** is good but we need other keyword to add meaning that isn't uniquely associated to one concept. That is **table** keyword.
31
+
32
+ ---
33
+ # Tables
34
+
35
+ ## Table with 1 field
36
+
37
+ Example, adding meaning using 1 field table. Field called `members`:
38
+
39
+ ```
40
+ %concept
41
+ %names AC/DC, ACDC
42
+ %tags single, seat, leg, backrest
43
+ %tags rock, band, australia
44
+ %table{ :fields => 'members'}
45
+ %row Bon Scott
46
+ %row Angus Young
47
+ %row Malcolm Young
48
+ %row Phil Rudd
49
+ %row Cliff Williams
50
+ ```
51
+
52
+ | Param | Description |
53
+ | ------ | ----------- |
54
+ | table | Group rows |
55
+ | fields | Comma separated values with field name |
56
+ | row | Field value |
57
+
58
+ ## Table with 2 fields
59
+
60
+ Example, adding meaning using 2 fields table. Fields called `attribute` and `value`:
61
+
62
+ ```
63
+ %concept
64
+ %names AC/DC, ACDC
65
+ %tags single, seat, leg, backrest
66
+ %tags rock, band, australia
67
+ %table{ :fields => 'attribute, value'}
68
+ %row
69
+ %col Genres
70
+ %col Hard rock blues rock rock and roll
71
+ %row
72
+ %col Years active
73
+ %col 1973–present
74
+ %row
75
+ %col Origin
76
+ %col Sydney
77
+ ```
78
+
79
+ | Param | Description |
80
+ | ------ | ------------------ |
81
+ | table | Group rows |
82
+ | fields | Comma separated values with field names |
83
+ | row | Group cols |
84
+ | col | Field column value |
85
+
86
+ ## Table with Sequence
87
+
88
+ Sometimes we have a 1 field table where rows are sorted or form a sequence. In that cases we also could take advantage defining a `sequence`, like:
89
+
90
+ ```
91
+ %concept
92
+ %names AC/DC, ACDC
93
+ %tags single, seat, leg, backrest
94
+ %tags rock, band, australia
95
+ %table{ :fields => 'Albums', :sequence => 'Albums sorted by date'}
96
+ %row Albums High Voltage
97
+ %row Powerage
98
+ %row Highway to Hell
99
+ %row Back in Black
100
+ %row Ballbreaker
101
+ %row Rock or Bust
102
+ ```
103
+
104
+ | Param | Description |
105
+ | -------- | ------------------ |
106
+ | table | Group rows |
107
+ | fields | Field name |
108
+ | sequence | Label form ordered values |
109
+ | row | Field value |
110
+
111
+ Example:
112
+ * [acdc.haml](../examples/bands/acdc.haml)
@@ -0,0 +1,87 @@
1
+
2
+ [<< back](README.md)
3
+
4
+ # Learn templates
5
+
6
+ Now, we are going to learn `template` keyword.
7
+
8
+ ---
9
+
10
+ # Powerfull tables
11
+
12
+ Table is usefull keyword to add information associated to concepts using table struct (That means with rows and columns scheme).
13
+
14
+ ## Example 01: repetitive rows
15
+
16
+ Let's see this repetitive row example about OS commands:
17
+
18
+ ```
19
+ %concept
20
+ %names command
21
+ %tags computing,directive,computer,perform,specific,task
22
+ %def In computing, is a directive to a computer program to perform a specific task.
23
+ %table{:action, :description}
24
+ %row
25
+ %col mkdir Endor
26
+ %col Create Endor directory
27
+ %row
28
+ %col mkdir Naboo
29
+ %col Create Naboo directory
30
+ %row
31
+ %col mkdir Dagobah
32
+ %col Create Dagobah directory
33
+ ```
34
+
35
+ ## Example 02: Using template
36
+
37
+ To be more productive, we could use `template` keyword.
38
+
39
+ ```
40
+ %concept
41
+ %names command
42
+ %tags computing,directive,computer,perform,specific,task
43
+ %def In computing, is a directive to a computer program to perform a specific task.
44
+ %table{:action, :description}
45
+ %template{:DIRNAME => 'Endor,Naboo,Dabobah'}
46
+ %row
47
+ %col mkdir DIRNAME
48
+ %col Create DIRNAME directory
49
+ ```
50
+
51
+ We see example 01 produce the same result, but with less input lines.
52
+ Template will be apply to every definition inside.
53
+
54
+ | Param | Description |
55
+ | -------- | ----------- |
56
+ | template | Begin template definition |
57
+ | DIRNAME | Token o variable that will be replaced with value list |
58
+ | Endor,Naboo,Dagobah |Comma separated value list |
59
+
60
+ ## Example 03: Going crazy
61
+
62
+ ```
63
+ %concept
64
+ %names command
65
+ %tags computing,directive,computer,perform,specific,task
66
+ %def In computing, is a directive to a computer program to perform a specific task.
67
+ %table{:action, :description}
68
+ %template{:NAME => 'Endor,Naboo,Dabobah'}
69
+ %row
70
+ %col mkdir NAME
71
+ %col Create NAME directory
72
+ %row
73
+ %col rmdir NAME
74
+ %col Delete NAME directory
75
+ %row
76
+ %col touch NAME
77
+ %col Create NAME file
78
+ %row
79
+ %col rm NAME
80
+ %col Delete NAME file
81
+ %row
82
+ %col useradd NAME
83
+ %col Create user NAME
84
+ %row
85
+ %col userdel NAME
86
+ %col Delete user NAME
87
+ ```
@@ -0,0 +1,38 @@
1
+
2
+ [<< back](../../README.md)
3
+
4
+ # Installation
5
+
6
+ * Installation process:
7
+ 1. Install Ruby on your system.
8
+ 2. `gem install asker-tool`
9
+ * Run `asker version` to check that your installation is ok.
10
+
11
+ > **PROBLEMS**: If you have problems to find `asker`command (OpenSUSE distro), try this:
12
+ > * `find / -name asker`, to find absolute path to teuton command.
13
+ > * As superuser do `ln -s /PATH/TO/bin/asker /usr/local/bin/asker`, to create symbolic link to asker command.
14
+ > * Try again as normal user.
15
+
16
+ * **Update** Asker with `gem asker update`.
17
+ * **Uninstall** Asker with `gem uninstall asker`
18
+
19
+ > Others ways to install Asker:
20
+ > * [Installation scripts](scripts.md)
21
+ >* [Manual installation](manual.md)
22
+
23
+ ---
24
+ # Configuring Asker
25
+
26
+ There exist `config.ini`file, into Asker base directory with some configurable options.
27
+
28
+ | Section | Param | Default | Values | Description |
29
+ | ----------- | -------- | ------- | --------- | ----------- |
30
+ | [global] | internet | no | yes or no | Accept to connect Google and download find images URLs |
31
+ | [questions] | exclude | | Comma separated strings| Exclude questions with this texts into their names |
32
+
33
+ ---
34
+ # Download input examples
35
+
36
+ If you want to download our repository with asker input files:
37
+
38
+ `git clone https://github.com/dvarrui/asker-inputs.git`
@@ -0,0 +1,26 @@
1
+
2
+ [<< back](README.md)
3
+
4
+ # Manual installation
5
+
6
+ 1. Git installation
7
+ * Install Git.
8
+ * Run `git --version` to show current version
9
+ 1. Ruby installation
10
+ * Install ruby.
11
+ * Run `ruby -v` to show current version
12
+ 1. Rake installation
13
+ * Run `gem install rake`, then
14
+ * `rake --version` to show current version.
15
+ 1. Download this project
16
+ * (a) `git clone https://github.com/dvarrui/asker.git` or
17
+ * (b) Download and unzip [file](https://github.com/dvarrui/asker/archive/master.zip).
18
+ 1. Move into repo folder
19
+ * Run `cd asker`
20
+ 1. Gems installation.
21
+ * `rake install:gems`, to install required gems.
22
+ 1. Only for developers
23
+ * Run `rake install:debian` or
24
+ * `rake install:opensuse`, install gem for developers.
25
+ 1. Final check
26
+ * `rake`
@@ -0,0 +1,26 @@
1
+
2
+ [<< back](README.md)
3
+
4
+ # Using installation scripts
5
+
6
+ ## GNU/Linux installation script
7
+
8
+ Run as `root` user:
9
+ ```
10
+ wget -qO- https://raw.githubusercontent.com/dvarrui/asker/devel/install/linux_asker_install.sh | bash
11
+ ```
12
+
13
+ Run `asker version` as normal user.
14
+
15
+ ## Windows installation script
16
+
17
+ Requirements:
18
+ * Windows 7+ / Windows Server 2003+
19
+ * PowerShell v2+
20
+
21
+ Run this coomand as Administrator user on PowerShell (PS):
22
+ ```
23
+ Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/dvarrui/asker/davel/install/windows_asker_install.ps1'))
24
+ ```
25
+
26
+ Run `asker version` as normal user.
@@ -0,0 +1,41 @@
1
+
2
+ > **Output file format**
3
+ >
4
+ > * At this moment, the output text file format is GIFT. But in the
5
+ future will be posible to choose between several output formats.
6
+ > * The GIFT format is very common format in elearning software as Moodle.
7
+
8
+ # Demo
9
+
10
+ Vamos a ver un ejemplo.
11
+
12
+ ---
13
+
14
+ ## Input (Mapa conceptual)
15
+
16
+ Primero hay que crear un fichero de entrada con el mapa conceptual que queremos
17
+ trabajar. Vamos a usar de ejemplo [`input/es/demo/jedi.haml`](../../../input/es/demo/jedi.haml)
18
+
19
+ ---
20
+
21
+ ## Ejecutar el programas
22
+
23
+ Para ejecutar el programa *darts* con este fichero de entrada hacemos:
24
+ ```
25
+ $ ./darts input/es/demo/jedi.yaml
26
+ ```
27
+
28
+ Veremos en pantalla la siguiente [información](./jedi-log.txt).
29
+
30
+ Este informe muestra qué tal ha ido el proceso de generación, mostrando
31
+ estadísticas al final.
32
+
33
+ ---
34
+
35
+ ## Output
36
+
37
+ En el directorio `output` se guardan los ficheros de salida.
38
+
39
+ * [Fichero con las preguntas](./jedi-gift.txt) en formato GIFT.
40
+ * [Fichero con log del proceso](./jedi-log.txt).
41
+ * [Fichero con los contenidos](./jedi-doc.txt) en formato TXT más legible.
@@ -0,0 +1,30 @@
1
+
2
+
3
+ La presente convocatoria tiene por objeto la detección, supervisión, reconocimiento y difusión de las buenas prácticas docentes, como actividades de interés educativo, entendiendo como tales aquellas que forman parte del trabajo diario y habitual del docente, que deberán poseer las siguientes características:
4
+
5
+ 1. Innovadoras, aquellas que ponen en práctica diferentes modelos de enseñanza desde un enfoque competencial.
6
+ 2. Eficaces y eficientes, aquellas que generan un impacto positivo y tangible en el proceso de enseñanza y aprendizaje.
7
+ 3. Sostenibles, aquellas que hacen uso de recursos personales y materiales que hacen posible su continuidad en el tiempo.
8
+ 4. Transferibles, aquellas cuya aplicación son viables en otros centros y enseñanzas.
9
+
10
+
11
+
12
+ 1. El docente que desee participar en la presente convocatoria deberá presentar solicitud de participación y descripción de la buena práctica.
13
+
14
+ 2. Relación de documentación a presentar, demostrativa de los rasgos habituales del quehacer profesional del docente:
15
+
16
+ • Programación didáctica del área, materia, ámbito o módulo cuya buena práctica se presenta.
17
+ • Unidad didáctica, unidad de programación, unidad de trabajo o situación de aprendizaje correspondiente a la experiencia de enseñanza y aprendizaje realizada.
18
+ • Evidencias de cada uno de los apartados de la rúbrica de evaluación.
19
+
20
+ La documentación se presentará exclusivamente por medios electrónicos (ficheros en formato pdf y rutas de acceso a espacios donde estén alojados ficheros de audio y/o vídeo) y se corresponderá con la información referida en el Anexo II. (Acceder al Formulario de solicitud).
21
+
22
+ 3. Conforme al artículo 83 de la Ley 39/2015, de 1 de octubre, del Procedimiento Administrativo Común de las Administraciones Públicas, para la presentación de solicitudes se establece el plazo de un mes a contar a partir de la publicación del anuncio en el Boletín Oficial de Canarias.
23
+
24
+ - Fecha de publicación: 2-11-2018.
25
+
26
+ Presentación de solicitudes: hasta el 2 de diciembre de 2018.
27
+
28
+ Convocatoria.
29
+
30
+ Resolución de 24 de octubre de 2018 (BOC Nº 212. Viernes 2 de Noviembre de 2018).
@@ -0,0 +1,35 @@
1
+
2
+ FORMULARIO DE PRESENTACIÓN DE
3
+ SOLICITUDES PARA LA CONVOCATORIA DE LA VICECONSEJERÍA DE EDUCACIÓN Y UNIVERSIDADES PARA EL PROCEDIMIENTO DE DETECCIÓN, SUPERVISIÓN, RECONOCIMIENTO Y DIFUSIÓN DE BUENAS PRÁCTICAS EN LOS PROCESOS DE ENSEÑANZA Y APRENDIZAJE DURANTE EL CURSO ESCOLAR 2018/2019
4
+
5
+ ---
6
+
7
+ * Para cumplimentar correctamente la solicitud deberá contestar todas los apartados solicitados en las dos secciones principales de la presente convocatoria:
8
+
9
+ a) Datos generales de la buena práctica
10
+
11
+ b) Criterios que cumple la buena práctica (podrá adjuntar una evidencia para cada criterio)
12
+
13
+ > No se dará por presentada la solicitud hasta que Vd. no haga clic en "Confirmar Solicitud", hasta ese momento podrá modificar los datos que ya ha introducido.
14
+
15
+ * Una vez que confirme la solicitud, no podrá modificarla, ni aportar evidencias. Si quisiera modificar la solicitud confirmada tendrá que ponerse en contacto con uno de los siguientes teléfonos: 928455492 / 928455453, y solamente si la convocatoria tiene el plazo de inscripción abierto.
16
+
17
+ Seleccione la opción que desee:
18
+
19
+ * Crear Solicitud/Modificar
20
+ * Consultar estado de la solicitud
21
+
22
+ > Problemas con este aplicativo web: 928 45 54 92 / 53
23
+
24
+ ---
25
+
26
+ NO SE DARÁ POR PRESENTADA SU SOLICITUD HASTA QUE VD. NO HAGA CLIC EN EL BOTÓN "CONFIRMAR SOLICITUD" DISPUESTO AL FINAL DE ESTA PÁGINA.
27
+
28
+ Para la correcta presentación de su Buena Práctica deberá cumplimentar los datos solicitados en los dos apartados siguientes:
29
+
30
+ CUMPLIMENTAR LOS DATOS INICIALES CUMPLIMENTAR LOS CRITERIOS
31
+ RECUERDE QUE NO TIENE PRESENTADA LA SOLICITUD HASTA QUE VD. HAGA CLIC EN EL BOTÓN "CONFIRMAR SOLICITUD". UNA VEZ CONFIRMADA NO PODRÁ MODIFICAR LOS DATOS.
32
+
33
+ Problemas con este aplicativo web: 928 45 54 92 / 53
34
+
35
+ ImprimirVolver