Auto Post Thumbnail - Version 3.7.7

Version Description

  • Fixed: Encoding issues. Solution by @bibliata
  • Fixed: Uppercase issue (agrable > AGRABLE) strtoupper() -> mb_strtoupper()
  • Raised the minimum version of PHP -> 7.0
  • Other minor fixes
Download this release

Release Info

Developer webtemyk
Plugin Icon 128x128 Auto Post Thumbnail
Version 3.7.7
Comparing to
See all releases

Code changes from version 3.7.6 to 3.7.7

Files changed (165) hide show
  1. admin/assets/css/settings.css +3 -3
  2. admin/assets/css/tabs.css +226 -226
  3. admin/assets/img/apt.svg +13 -13
  4. admin/assets/jquery-ui/jquery-ui.min.css +6 -6
  5. admin/assets/jquery-ui/jquery-ui.progressbar.min.js +5 -5
  6. admin/assets/js/upload-font.js +2 -2
  7. admin/class-wapt-activation.php +2 -2
  8. admin/class-wapt-page.php +2 -2
  9. admin/pages/generate.php +2 -2
  10. admin/pages/license.php +2 -2
  11. admin/pages/settings.php +3 -3
  12. admin/views/tab-license.php +1 -1
  13. admin/views/tab-main.php +7 -5
  14. admin/views/tab-settings.php +4 -4
  15. auto-post-thumbnail.php +27 -67
  16. includes/class-wapt-base.php +5 -5
  17. includes/class-wapt-image.php +3 -0
  18. includes/class-wapt-plugin.php +3 -3
  19. includes/controls/class.color.php +1 -1
  20. includes/controls/class.fonts.php +1 -1
  21. includes/controls/class.mediabutton.php +1 -1
  22. languages/apt-ru_RU.mo +0 -0
  23. languages/apt-ru_RU.po +512 -495
  24. languages/apt.pot +345 -333
  25. libs/factory/adverts/boot.php +12 -12
  26. libs/factory/adverts/includes/class-base.php +6 -6
  27. libs/factory/adverts/includes/class-dashboard-widget.php +4 -4
  28. libs/factory/adverts/includes/class-rest-request.php +4 -4
  29. libs/factory/adverts/langs/wbcr_factory_adverts_122-ru_RU.mo +0 -0
  30. libs/factory/adverts/langs/wbcr_factory_adverts_122-ru_RU.po +83 -0
  31. libs/factory/bootstrap/assets/css-min/bootstrap.accordion.min.css +2 -2
  32. libs/factory/bootstrap/assets/css-min/bootstrap.blue.min.css +2 -2
  33. libs/factory/bootstrap/assets/css-min/bootstrap.coffee.min.css +2 -2
  34. libs/factory/bootstrap/assets/css-min/bootstrap.core.min.css +3 -3
  35. libs/factory/bootstrap/assets/css-min/bootstrap.datepicker.min.css +1 -1
  36. libs/factory/bootstrap/assets/css-min/bootstrap.ectoplasm.min.css +2 -2
  37. libs/factory/bootstrap/assets/css-min/bootstrap.form-group.min.css +2 -2
  38. libs/factory/bootstrap/assets/css-min/bootstrap.light.min.css +2 -2
  39. libs/factory/bootstrap/assets/css-min/bootstrap.midnight.min.css +2 -2
  40. libs/factory/bootstrap/assets/css-min/bootstrap.ocean.min.css +2 -2
  41. libs/factory/bootstrap/assets/css-min/bootstrap.separator.min.css +2 -2
  42. libs/factory/bootstrap/assets/css-min/bootstrap.sunrise.min.css +2 -2
  43. libs/factory/bootstrap/assets/css-min/control.checkbox.min.css +2 -2
  44. libs/factory/bootstrap/assets/css-min/control.dropdown.min.css +2 -2
  45. libs/factory/bootstrap/assets/css-min/control.multiple-textbox.min.css +2 -2
  46. libs/factory/bootstrap/assets/css-min/holder.more-link.min.css +2 -2
  47. libs/factory/bootstrap/assets/js-min/bootstrap.dropdown.min.js +2 -2
  48. libs/factory/bootstrap/assets/js-min/bootstrap.tooltip.min.js +1 -1
  49. libs/factory/bootstrap/assets/js-min/control.checkbox.min.js +2 -2
  50. libs/factory/bootstrap/assets/js-min/control.dropdown.min.js +2 -2
  51. libs/factory/bootstrap/assets/js-min/control.list.min.js +2 -2
  52. libs/factory/bootstrap/assets/js-min/control.multiple-textbox.min.js +2 -2
  53. libs/factory/bootstrap/boot.php +9 -9
  54. libs/factory/bootstrap/includes/functions.php +10 -10
  55. libs/factory/bootstrap/package-lock.json +1810 -0
  56. libs/factory/core/ajax/install-addons.php +228 -0
  57. libs/factory/core/assets/js/core-components.js +227 -0
  58. libs/factory/core/assets/js/core-general.js +99 -0
  59. libs/factory/core/boot.php +38 -27
  60. libs/factory/core/includes/activation/class-factory-activator.php +3 -3
  61. libs/factory/core/includes/activation/class-factory-update.php +3 -3
  62. libs/factory/core/includes/assets-managment/class-factory-assets-list.php +4 -4
  63. libs/factory/core/includes/assets-managment/class-factory-script-list.php +2 -2
  64. libs/factory/core/includes/assets-managment/class-factory-style-list.php +1 -1
  65. libs/factory/core/includes/class-check-compatibility.php +2 -2
  66. libs/factory/core/includes/class-factory-migrations.php +13 -13
  67. libs/factory/core/includes/class-factory-notices.php +5 -5
  68. libs/factory/core/includes/class-factory-options.php +2 -2
  69. libs/factory/core/includes/class-factory-plugin-abstract.php +228 -52
  70. libs/factory/core/includes/class-factory-plugin-base.php +25 -25
  71. libs/factory/core/includes/class-factory-requests.php +1 -1
  72. libs/factory/core/includes/class-factory-requirements.php +5 -5
  73. libs/factory/core/includes/components/class-delete-component-button.php +55 -0
  74. libs/factory/core/includes/components/class-install-component-button.php +460 -0
  75. libs/factory/core/includes/entities/class-factory-paths.php +1 -1
  76. libs/factory/core/includes/entities/class-factory-support.php +1 -1
  77. libs/factory/core/includes/functions.php +7 -7
  78. libs/factory/core/includes/premium/class-factory-license-interface.php +1 -1
  79. libs/factory/core/includes/premium/class-factory-manager.php +10 -10
  80. libs/factory/core/includes/premium/class-factory-provider-abstract.php +6 -6
  81. libs/factory/core/includes/updates/class-factory-premium-upgrader.php +12 -12
  82. libs/factory/core/includes/updates/class-factory-upgrader.php +99 -86
  83. libs/factory/core/includes/updates/repositories/class-factory-github.php +247 -0
  84. libs/factory/core/includes/updates/repositories/class-factory-repository-abstract.php +7 -7
  85. libs/factory/core/includes/updates/repositories/class-factory-wordpress.php +21 -13
  86. libs/factory/core/langs/wbcr_factory_444-ru_RU.mo +0 -0
  87. libs/factory/core/langs/wbcr_factory_444-ru_RU.po +128 -0
  88. libs/factory/feedback/assets/css/dialog-boxes.css +89 -89
  89. libs/factory/feedback/assets/js/deactivate-feedback.js +10 -10
  90. libs/factory/feedback/boot.php +12 -12
  91. libs/factory/feedback/includes/class-base.php +13 -10
  92. libs/factory/feedback/includes/class-rest-request.php +4 -4
  93. libs/factory/feedback/views/deactivate-form.php +20 -20
  94. libs/factory/forms/boot.php +95 -95
  95. libs/factory/forms/controls/checkbox.php +4 -4
  96. libs/factory/forms/controls/color-and-opacity.php +4 -4
  97. libs/factory/forms/controls/color.php +2 -2
  98. libs/factory/forms/controls/customs/html.php +2 -2
  99. libs/factory/forms/controls/customs/separator.php +2 -2
  100. libs/factory/forms/controls/datepicker-range.php +4 -4
  101. libs/factory/forms/controls/dropdown-and-colors.php +6 -6
  102. libs/factory/forms/controls/dropdown.php +5 -5
  103. libs/factory/forms/controls/font.php +11 -11
  104. libs/factory/forms/controls/google-font.php +8 -8
  105. libs/factory/forms/controls/gradient.php +4 -4
  106. libs/factory/forms/controls/hidden.php +2 -2
  107. libs/factory/forms/controls/holders/accordion-item.php +2 -2
  108. libs/factory/forms/controls/holders/accordion.php +2 -2
  109. libs/factory/forms/controls/holders/columns.php +2 -2
  110. libs/factory/forms/controls/holders/control-group-item.php +2 -2
  111. libs/factory/forms/controls/holders/control-group.php +3 -3
  112. libs/factory/forms/controls/holders/div.php +2 -2
  113. libs/factory/forms/controls/holders/form-group.php +2 -2
  114. libs/factory/forms/controls/holders/more-link.php +2 -2
  115. libs/factory/forms/controls/holders/tab-item.php +2 -2
  116. libs/factory/forms/controls/holders/tab.php +4 -4
  117. libs/factory/forms/controls/integer.php +2 -2
  118. libs/factory/forms/controls/list.php +4 -4
  119. libs/factory/forms/controls/multiple-textbox.php +3 -3
  120. libs/factory/forms/controls/paddings-editor.php +3 -3
  121. libs/factory/forms/controls/pattern.php +9 -9
  122. libs/factory/forms/controls/radio-colors.php +2 -2
  123. libs/factory/forms/controls/radio.php +2 -2
  124. libs/factory/forms/controls/textarea.php +2 -2
  125. libs/factory/forms/controls/textbox.php +2 -2
  126. libs/factory/forms/controls/url.php +3 -3
  127. libs/factory/forms/controls/wp-editor.php +3 -3
  128. libs/factory/forms/includes/complex-control.class.php +4 -4
  129. libs/factory/forms/includes/control-holder.class.php +5 -5
  130. libs/factory/forms/includes/control.class.php +5 -5
  131. libs/factory/forms/includes/custom-element.class.php +2 -2
  132. libs/factory/forms/includes/form-element.class.php +7 -7
  133. libs/factory/forms/includes/form-layout.class.php +5 -5
  134. libs/factory/forms/includes/form.class.php +39 -39
  135. libs/factory/forms/includes/holder.class.php +6 -6
  136. libs/factory/forms/includes/html-builder.class.php +2 -2
  137. libs/factory/forms/includes/providers/meta-value-provider.class.php +2 -2
  138. libs/factory/forms/includes/providers/options-value-provider.class.php +3 -3
  139. libs/factory/forms/includes/providers/value-provider.interface.php +2 -2
  140. libs/factory/forms/langs/wbcr_factory_forms_441-ru_RU.mo +0 -0
  141. libs/factory/forms/langs/wbcr_factory_forms_441-ru_RU.po +95 -0
  142. libs/factory/forms/layouts/bootstrap-3/bootstrap-3.php +7 -7
  143. libs/factory/freemius/boot.php +18 -18
  144. libs/factory/freemius/includes/class-freemius-api.php +7 -7
  145. libs/factory/freemius/includes/entities/class-freemius-entity.php +1 -1
  146. libs/factory/freemius/includes/entities/class-freemius-license.php +2 -2
  147. libs/factory/freemius/includes/entities/class-freemius-plugin.php +1 -1
  148. libs/factory/freemius/includes/entities/class-freemius-scope.php +1 -1
  149. libs/factory/freemius/includes/entities/class-freemius-site.php +1 -1
  150. libs/factory/freemius/includes/entities/class-freemius-user.php +1 -1
  151. libs/factory/freemius/includes/licensing/class-freemius-provider.php +18 -18
  152. libs/factory/freemius/includes/updates/class-freemius-repository.php +47 -40
  153. libs/factory/pages/boot.php +10 -10
  154. libs/factory/pages/includes/admin-page.class.php +6 -6
  155. libs/factory/pages/includes/page.class.php +7 -7
  156. libs/factory/pages/langs/wbcr_factory_pages_443-fr_FR.mo +0 -0
  157. libs/factory/pages/langs/wbcr_factory_pages_443-fr_FR.po +99 -0
  158. libs/factory/pages/langs/wbcr_factory_pages_443-ru_RU.mo +0 -0
  159. libs/factory/pages/langs/wbcr_factory_pages_443-ru_RU.po +98 -0
  160. libs/factory/pages/pages.php +11 -11
  161. libs/factory/pages/templates/assets/css/impressive.page.template.css +124 -124
  162. libs/factory/pages/templates/impressive-page.class.php +24 -99
  163. migrations/030600.php +1 -1
  164. migrations/030700.php +1 -1
  165. readme.txt +9 -3
admin/assets/css/settings.css CHANGED
@@ -2,7 +2,7 @@
2
  padding: 0px 30px;
3
  }
4
 
5
- .factory-bootstrap-433 .factory-ajax-loader {
6
  width: 120px !important;
7
  background: url("../img/ajax-loader-line.gif") no-repeat center center !important;
8
  background-size: contain !important;
@@ -12,7 +12,7 @@
12
  top: 5px;
13
  }
14
 
15
- .factory-bootstrap-433 select.form-control {
16
  display: inline;
17
  background: #fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;
18
  background-size: 16px 16px !important;
@@ -23,7 +23,7 @@
23
  font-size: 16px !important;
24
  }
25
 
26
- .factory-bootstrap-433 .btn-default.active, .factory-bootstrap-433 .btn-default:active {
27
  text-shadow: none;
28
  color: #fff !important;
29
  background-color: #33aad5 !important;
2
  padding: 0px 30px;
3
  }
4
 
5
+ .factory-bootstrap-444 .factory-ajax-loader {
6
  width: 120px !important;
7
  background: url("../img/ajax-loader-line.gif") no-repeat center center !important;
8
  background-size: contain !important;
12
  top: 5px;
13
  }
14
 
15
+ .factory-bootstrap-444 select.form-control {
16
  display: inline;
17
  background: #fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;
18
  background-size: 16px 16px !important;
23
  font-size: 16px !important;
24
  }
25
 
26
+ .factory-bootstrap-444 .btn-default.active, .factory-bootstrap-444 .btn-default:active {
27
  text-shadow: none;
28
  color: #fff !important;
29
  background-color: #33aad5 !important;
admin/assets/css/tabs.css CHANGED
@@ -1,227 +1,227 @@
1
- #wpcontent {
2
- padding-left: 0 !important;
3
- background-color: white !important;
4
- }
5
-
6
- #wpbody-content {
7
- /*height: 100vh;*/
8
- }
9
-
10
- a:active, a:focus {
11
- outline: none !important;
12
- box-shadow: none !important;
13
- }
14
-
15
- .wapt-container {
16
- /*padding: 0px 30px 0px 10px;*/
17
- padding: 1px 0 0 0;
18
- background-color: #ffffff;
19
- }
20
-
21
- .tabs {
22
- position: relative;
23
- width: 100%;
24
- overflow: hidden;
25
- margin: 1em 0 2em;
26
- font-weight: 400;
27
- }
28
-
29
- /* Nav */
30
- .tabs nav {
31
- text-align: left;
32
- margin-bottom: -4px;
33
- }
34
-
35
- .tabs nav ul {
36
- padding: 0;
37
- margin: 0;
38
- list-style: none;
39
- display: inline-block;
40
- margin-left: 25px;
41
- }
42
-
43
- .tabs nav ul li {
44
- border: 1px solid #ccc;
45
- border-bottom: none;
46
- border-top-left-radius: 10px;
47
- border-top-right-radius: 10px;
48
- border-bottom-right-radius: 0px;
49
- border-bottom-left-radius: 0px;
50
- margin: 0 0.25em;
51
- display: block;
52
- float: left;
53
- position: relative;
54
- width: 20em;
55
- background-color: #f1f1f1;
56
- }
57
-
58
- .tabs nav ul li:hover {
59
- background-color: white;
60
- }
61
-
62
- .tabs nav li.tab-current {
63
- border: 1px solid #006303;
64
- box-shadow: inset 0px 5px 4px -3px #ff7600;
65
- border-top-left-radius: 10px;
66
- border-top-right-radius: 10px;
67
- border-bottom-right-radius: 0px;
68
- border-bottom-left-radius: 0px;
69
- border-bottom: none;
70
- z-index: 100;
71
- background-color: #f1f1f1;
72
- }
73
-
74
- .tabs nav li.tab-current:before,
75
- .tabs nav li.tab-current:after {
76
- content: '';
77
- position: absolute;
78
- height: 1px;
79
- right: 100%;
80
- bottom: 0;
81
- width: 1000px;
82
- background: #006303;
83
- }
84
-
85
- .tabs nav li.tab-current:after {
86
- right: auto;
87
- left: 100%;
88
- width: 4000px;
89
- }
90
-
91
- .tabs nav a {
92
- color: #becbd2;
93
- display: block;
94
- font-size: 1.45em;
95
- line-height: 2.5;
96
- padding: 0 1.25em;
97
- white-space: nowrap;
98
- }
99
-
100
- .tabs nav a:hover {
101
- color: #006303;
102
- }
103
-
104
- .tabs nav li.tab-current a {
105
- color: #006303;
106
- font-weight: bold;
107
- outline: none !important;
108
- }
109
-
110
- /* Icons */
111
- .tabs nav a:before {
112
- display: inline-block;
113
- vertical-align: middle;
114
- text-transform: none;
115
- font-weight: normal;
116
- font-variant: normal;
117
- line-height: 1;
118
- speak: none;
119
- -webkit-font-smoothing: antialiased;
120
- margin: -0.25em 0.4em 0 0;
121
- }
122
-
123
- .icon-general:before {
124
- content: url(../img/settings-icon.png);
125
- }
126
-
127
- .icon-image:before {
128
- content: url(../img/image-icon.png);
129
- }
130
-
131
- .icon-api:before {
132
- content: url(../img/api-icon.png);
133
- }
134
-
135
-
136
- /* Content */
137
- .content {
138
- border-bottom: 1px solid #006303;
139
- border-top: 0;
140
- background-color: #f1f1f1;
141
- padding: 10px 30px;
142
- /*height: 100vh;*/
143
- }
144
-
145
- .content section {
146
-
147
- /*padding: 1em 2em;*/
148
- max-width: 1230px;
149
- margin: 0 auto;
150
- }
151
-
152
- .content section:before,
153
- .content section:after {
154
- content: '';
155
- display: table;
156
- }
157
-
158
- .content section:after {
159
- clear: both;
160
- }
161
-
162
- /* Fallback example */
163
- .no-js .content section {
164
- display: block;
165
- padding-bottom: 2em;
166
- border-bottom: 1px solid #006303;
167
- }
168
-
169
- .content section.content-current {
170
- display: block;
171
- }
172
-
173
- /* Example media queries */
174
-
175
- @media screen and (max-width: 52.375em) {
176
- .tabs nav a span {
177
- display: none;
178
- }
179
-
180
- .tabs nav a:before {
181
- margin-right: 0;
182
- }
183
- }
184
-
185
- @media screen and (max-width: 32em) {
186
- .tabs nav ul,
187
- .tabs nav ul li a {
188
- width: 100%;
189
- padding: 0;
190
- }
191
-
192
- .tabs nav ul li {
193
- width: 20%;
194
- width: calc(20% + 1px);
195
- margin: 0 0 0 -1px;
196
- }
197
-
198
- .tabs nav ul li:last-child {
199
- border-right: none;
200
- }
201
- }
202
-
203
- .tabs nav li a {
204
- color: #006303;
205
- text-decoration: none;
206
- outline: none !important;
207
- }
208
-
209
- .tabs nav li a:hover {
210
- font-weight: bold;
211
- }
212
-
213
- p.info {
214
- text-align: center;
215
- padding: 20px;
216
- }
217
-
218
- .wapt-page-title {
219
- text-align: center;
220
- padding: 10px 0;
221
- }
222
-
223
- .wapt-page-title h1 {
224
- vertical-align: middle;
225
- color: #000000;
226
- text-shadow: 1px 1px 1px #ccc;
227
  }
1
+ #wpcontent {
2
+ padding-left: 0 !important;
3
+ background-color: white !important;
4
+ }
5
+
6
+ #wpbody-content {
7
+ /*height: 100vh;*/
8
+ }
9
+
10
+ a:active, a:focus {
11
+ outline: none !important;
12
+ box-shadow: none !important;
13
+ }
14
+
15
+ .wapt-container {
16
+ /*padding: 0px 30px 0px 10px;*/
17
+ padding: 1px 0 0 0;
18
+ background-color: #ffffff;
19
+ }
20
+
21
+ .tabs {
22
+ position: relative;
23
+ width: 100%;
24
+ overflow: hidden;
25
+ margin: 1em 0 2em;
26
+ font-weight: 400;
27
+ }
28
+
29
+ /* Nav */
30
+ .tabs nav {
31
+ text-align: left;
32
+ margin-bottom: -4px;
33
+ }
34
+
35
+ .tabs nav ul {
36
+ padding: 0;
37
+ margin: 0;
38
+ list-style: none;
39
+ display: inline-block;
40
+ margin-left: 25px;
41
+ }
42
+
43
+ .tabs nav ul li {
44
+ border: 1px solid #ccc;
45
+ border-bottom: none;
46
+ border-top-left-radius: 10px;
47
+ border-top-right-radius: 10px;
48
+ border-bottom-right-radius: 0px;
49
+ border-bottom-left-radius: 0px;
50
+ margin: 0 0.25em;
51
+ display: block;
52
+ float: left;
53
+ position: relative;
54
+ width: 20em;
55
+ background-color: #f1f1f1;
56
+ }
57
+
58
+ .tabs nav ul li:hover {
59
+ background-color: white;
60
+ }
61
+
62
+ .tabs nav li.tab-current {
63
+ border: 1px solid #006303;
64
+ box-shadow: inset 0px 5px 4px -3px #ff7600;
65
+ border-top-left-radius: 10px;
66
+ border-top-right-radius: 10px;
67
+ border-bottom-right-radius: 0px;
68
+ border-bottom-left-radius: 0px;
69
+ border-bottom: none;
70
+ z-index: 100;
71
+ background-color: #f1f1f1;
72
+ }
73
+
74
+ .tabs nav li.tab-current:before,
75
+ .tabs nav li.tab-current:after {
76
+ content: '';
77
+ position: absolute;
78
+ height: 1px;
79
+ right: 100%;
80
+ bottom: 0;
81
+ width: 1000px;
82
+ background: #006303;
83
+ }
84
+
85
+ .tabs nav li.tab-current:after {
86
+ right: auto;
87
+ left: 100%;
88
+ width: 4000px;
89
+ }
90
+
91
+ .tabs nav a {
92
+ color: #becbd2;
93
+ display: block;
94
+ font-size: 1.45em;
95
+ line-height: 2.5;
96
+ padding: 0 1.25em;
97
+ white-space: nowrap;
98
+ }
99
+
100
+ .tabs nav a:hover {
101
+ color: #006303;
102
+ }
103
+
104
+ .tabs nav li.tab-current a {
105
+ color: #006303;
106
+ font-weight: bold;
107
+ outline: none !important;
108
+ }
109
+
110
+ /* Icons */
111
+ .tabs nav a:before {
112
+ display: inline-block;
113
+ vertical-align: middle;
114
+ text-transform: none;
115
+ font-weight: normal;
116
+ font-variant: normal;
117
+ line-height: 1;
118
+ speak: none;
119
+ -webkit-font-smoothing: antialiased;
120
+ margin: -0.25em 0.4em 0 0;
121
+ }
122
+
123
+ .icon-general:before {
124
+ content: url(../img/settings-icon.png);
125
+ }
126
+
127
+ .icon-image:before {
128
+ content: url(../img/image-icon.png);
129
+ }
130
+
131
+ .icon-api:before {
132
+ content: url(../img/api-icon.png);
133
+ }
134
+
135
+
136
+ /* Content */
137
+ .content {
138
+ border-bottom: 1px solid #006303;
139
+ border-top: 0;
140
+ background-color: #f1f1f1;
141
+ padding: 10px 30px;
142
+ /*height: 100vh;*/
143
+ }
144
+
145
+ .content section {
146
+
147
+ /*padding: 1em 2em;*/
148
+ max-width: 1230px;
149
+ margin: 0 auto;
150
+ }
151
+
152
+ .content section:before,
153
+ .content section:after {
154
+ content: '';
155
+ display: table;
156
+ }
157
+
158
+ .content section:after {
159
+ clear: both;
160
+ }
161
+
162
+ /* Fallback example */
163
+ .no-js .content section {
164
+ display: block;
165
+ padding-bottom: 2em;
166
+ border-bottom: 1px solid #006303;
167
+ }
168
+
169
+ .content section.content-current {
170
+ display: block;
171
+ }
172
+
173
+ /* Example media queries */
174
+
175
+ @media screen and (max-width: 52.375em) {
176
+ .tabs nav a span {
177
+ display: none;
178
+ }
179
+
180
+ .tabs nav a:before {
181
+ margin-right: 0;
182
+ }
183
+ }
184
+
185
+ @media screen and (max-width: 32em) {
186
+ .tabs nav ul,
187
+ .tabs nav ul li a {
188
+ width: 100%;
189
+ padding: 0;
190
+ }
191
+
192
+ .tabs nav ul li {
193
+ width: 20%;
194
+ width: calc(20% + 1px);
195
+ margin: 0 0 0 -1px;
196
+ }
197
+
198
+ .tabs nav ul li:last-child {
199
+ border-right: none;
200
+ }
201
+ }
202
+
203
+ .tabs nav li a {
204
+ color: #006303;
205
+ text-decoration: none;
206
+ outline: none !important;
207
+ }
208
+
209
+ .tabs nav li a:hover {
210
+ font-weight: bold;
211
+ }
212
+
213
+ p.info {
214
+ text-align: center;
215
+ padding: 20px;
216
+ }
217
+
218
+ .wapt-page-title {
219
+ text-align: center;
220
+ padding: 10px 0;
221
+ }
222
+
223
+ .wapt-page-title h1 {
224
+ vertical-align: middle;
225
+ color: #000000;
226
+ text-shadow: 1px 1px 1px #ccc;
227
  }
admin/assets/img/apt.svg CHANGED
@@ -1,13 +1,13 @@
1
- <?xml version="1.0" standalone="no"?>
2
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
3
- "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
4
- <svg version="1.0" xmlns="http://www.w3.org/2000/svg"
5
- width="99.000000pt" height="95.000000pt" viewBox="0 0 99.000000 95.000000"
6
- preserveAspectRatio="xMidYMid meet">
7
- <metadata>
8
- Created by potrace 1.15, written by Peter Selinger 2001-2017
9
- </metadata>
10
- <g transform="translate(0.000000,95.000000) scale(0.100000,-0.100000)"
11
- fill="#000000" stroke="none">
12
- </g>
13
- </svg>
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
3
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
4
+ <svg version="1.0" xmlns="http://www.w3.org/2000/svg"
5
+ width="99.000000pt" height="95.000000pt" viewBox="0 0 99.000000 95.000000"
6
+ preserveAspectRatio="xMidYMid meet">
7
+ <metadata>
8
+ Created by potrace 1.15, written by Peter Selinger 2001-2017
9
+ </metadata>
10
+ <g transform="translate(0.000000,95.000000) scale(0.100000,-0.100000)"
11
+ fill="#000000" stroke="none">
12
+ </g>
13
+ </svg>
admin/assets/jquery-ui/jquery-ui.min.css CHANGED
@@ -1,7 +1,7 @@
1
- /*! jQuery UI - v1.12.1 - 2019-07-26
2
- * http://jqueryui.com
3
- * Includes: core.css, progressbar.css, theme.css
4
- * To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=start&cornerRadiusShadow=5px&offsetLeftShadow=5px&offsetTopShadow=5px&thicknessShadow=0px&opacityShadow=45&bgImgOpacityShadow=55&bgTextureShadow=flat&bgColorShadow=999999&opacityOverlay=30&bgImgOpacityOverlay=75&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=fcd113&fcError=ffffff&borderColorError=cd0a0a&bgImgOpacityError=45&bgTextureError=gloss_wave&bgColorError=e14f1c&iconColorHighlight=f7a50d&fcHighlight=915608&borderColorHighlight=fcd113&bgImgOpacityHighlight=55&bgTextureHighlight=glass&bgColorHighlight=f8da4e&iconColorActive=f5e175&fcActive=ffffff&borderColorActive=acdd4a&bgImgOpacityActive=50&bgTextureActive=gloss_wave&bgColorActive=6eac2c&iconColorHover=056b93&fcHover=026890&borderColorHover=448dae&bgImgOpacityHover=75&bgTextureHover=glass&bgColorHover=79c9ec&iconColorDefault=e0fdff&fcDefault=ffffff&borderColorDefault=77d5f7&bgImgOpacityDefault=45&bgTextureDefault=glass&bgColorDefault=0078ae&iconColorContent=0078ae&fcContent=222222&borderColorContent=a6c9e2&bgImgOpacityContent=100&bgTextureContent=inset_hard&bgColorContent=fcfdfd&iconColorHeader=d8e7f3&fcHeader=eaf5f7&borderColorHeader=4297d7&bgImgOpacityHeader=75&bgTextureHeader=gloss_wave&bgColorHeader=2191c0&cornerRadius=5px&fsDefault=1.1em&fwDefault=normal&ffDefault=Verdana%2CArial%2Csans-serif
5
- * Copyright jQuery Foundation and other contributors; Licensed MIT */
6
-
7
  .ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #77d5f7}.ui-widget-content{border:1px solid #a6c9e2;background:#fcfdfd url("images/ui-bg_inset-hard_100_fcfdfd_1x100.png") 50% bottom repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #4297d7;background:#2191c0 url("images/ui-bg_gloss-wave_75_2191c0_500x100.png") 50% 50% repeat-x;color:#eaf5f7;font-weight:bold}.ui-widget-header a{color:#eaf5f7}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #77d5f7;background:#0078ae url("images/ui-bg_glass_45_0078ae_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#fff}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#fff;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #448dae;background:#79c9ec url("images/ui-bg_glass_75_79c9ec_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#026890}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#026890;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #acdd4a;background:#6eac2c url("images/ui-bg_gloss-wave_50_6eac2c_500x100.png") 50% 50% repeat-x;font-weight:normal;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#acdd4a;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcd113;background:#f8da4e url("images/ui-bg_glass_55_f8da4e_1x400.png") 50% 50% repeat-x;color:#915608}.ui-state-checked{border:1px solid #fcd113;background:#f8da4e}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#915608}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#e14f1c url("images/ui-bg_gloss-wave_45_e14f1c_500x100.png") 50% top repeat-x;color:#fff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#fff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#fff}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_0078ae_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_d8e7f3_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_056b93_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_f5e175_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_f7a50d_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_fcd113_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_e0fdff_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:5px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:5px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:5px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:5px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:5px 5px 0 #999;box-shadow:5px 5px 0 #999}
1
+ /*! jQuery UI - v1.12.1 - 2019-07-26
2
+ * http://jqueryui.com
3
+ * Includes: core.css, progressbar.css, theme.css
4
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=start&cornerRadiusShadow=5px&offsetLeftShadow=5px&offsetTopShadow=5px&thicknessShadow=0px&opacityShadow=45&bgImgOpacityShadow=55&bgTextureShadow=flat&bgColorShadow=999999&opacityOverlay=30&bgImgOpacityOverlay=75&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=fcd113&fcError=ffffff&borderColorError=cd0a0a&bgImgOpacityError=45&bgTextureError=gloss_wave&bgColorError=e14f1c&iconColorHighlight=f7a50d&fcHighlight=915608&borderColorHighlight=fcd113&bgImgOpacityHighlight=55&bgTextureHighlight=glass&bgColorHighlight=f8da4e&iconColorActive=f5e175&fcActive=ffffff&borderColorActive=acdd4a&bgImgOpacityActive=50&bgTextureActive=gloss_wave&bgColorActive=6eac2c&iconColorHover=056b93&fcHover=026890&borderColorHover=448dae&bgImgOpacityHover=75&bgTextureHover=glass&bgColorHover=79c9ec&iconColorDefault=e0fdff&fcDefault=ffffff&borderColorDefault=77d5f7&bgImgOpacityDefault=45&bgTextureDefault=glass&bgColorDefault=0078ae&iconColorContent=0078ae&fcContent=222222&borderColorContent=a6c9e2&bgImgOpacityContent=100&bgTextureContent=inset_hard&bgColorContent=fcfdfd&iconColorHeader=d8e7f3&fcHeader=eaf5f7&borderColorHeader=4297d7&bgImgOpacityHeader=75&bgTextureHeader=gloss_wave&bgColorHeader=2191c0&cornerRadius=5px&fsDefault=1.1em&fwDefault=normal&ffDefault=Verdana%2CArial%2Csans-serif
5
+ * Copyright jQuery Foundation and other contributors; Licensed MIT */
6
+
7
  .ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #77d5f7}.ui-widget-content{border:1px solid #a6c9e2;background:#fcfdfd url("images/ui-bg_inset-hard_100_fcfdfd_1x100.png") 50% bottom repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #4297d7;background:#2191c0 url("images/ui-bg_gloss-wave_75_2191c0_500x100.png") 50% 50% repeat-x;color:#eaf5f7;font-weight:bold}.ui-widget-header a{color:#eaf5f7}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #77d5f7;background:#0078ae url("images/ui-bg_glass_45_0078ae_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#fff}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#fff;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #448dae;background:#79c9ec url("images/ui-bg_glass_75_79c9ec_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#026890}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#026890;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #acdd4a;background:#6eac2c url("images/ui-bg_gloss-wave_50_6eac2c_500x100.png") 50% 50% repeat-x;font-weight:normal;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#acdd4a;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcd113;background:#f8da4e url("images/ui-bg_glass_55_f8da4e_1x400.png") 50% 50% repeat-x;color:#915608}.ui-state-checked{border:1px solid #fcd113;background:#f8da4e}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#915608}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#e14f1c url("images/ui-bg_gloss-wave_45_e14f1c_500x100.png") 50% top repeat-x;color:#fff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#fff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#fff}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_0078ae_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_d8e7f3_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_056b93_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_f5e175_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_f7a50d_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_fcd113_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_e0fdff_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:5px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:5px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:5px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:5px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:5px 5px 0 #999;box-shadow:5px 5px 0 #999}
admin/assets/jquery-ui/jquery-ui.progressbar.min.js CHANGED
@@ -1,6 +1,6 @@
1
- /*! jQuery UI - v1.12.1 - 2019-07-26
2
- * http://jqueryui.com
3
- * Includes: widget.js, widgets/progressbar.js
4
- * Copyright jQuery Foundation and other contributors; Licensed MIT */
5
-
6
  (function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){t.ui=t.ui||{},t.ui.version="1.12.1";var e=0,i=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},l=e.split(".")[0];e=e.split(".")[1];var h=l+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][h.toLowerCase()]=function(e){return!!t.data(e,h)},t[l]=t[l]||{},n=t[l][e],o=t[l][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:l,widgetName:e,widgetFullName:h}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var s,n,o=i.call(arguments,1),a=0,r=o.length;r>a;a++)for(s in o[a])n=o[a][s],o[a].hasOwnProperty(s)&&void 0!==n&&(e[s]=t.isPlainObject(n)?t.isPlainObject(e[s])?t.widget.extend({},e[s],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,s){var n=s.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=i.call(arguments,1),l=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(l=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):l=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new s(o,this))})),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(i,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=e++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),i),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),h=l[1]+o.eventNamespace,c=l[2];c?n.on(h,c,r):i.on(h,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,t.widget("ui.progressbar",{version:"1.12.1",options:{classes:{"ui-progressbar":"ui-corner-all","ui-progressbar-value":"ui-corner-left","ui-progressbar-complete":"ui-corner-right"},max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.attr({role:"progressbar","aria-valuemin":this.min}),this._addClass("ui-progressbar","ui-widget ui-widget-content"),this.valueDiv=t("<div>").appendTo(this.element),this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header"),this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"),this.valueDiv.remove()},value:function(t){return void 0===t?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),void 0)},_constrainedValue:function(t){return void 0===t&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).width(i.toFixed(0)+"%"),this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,e===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("<div>").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}})});
1
+ /*! jQuery UI - v1.12.1 - 2019-07-26
2
+ * http://jqueryui.com
3
+ * Includes: widget.js, widgets/progressbar.js
4
+ * Copyright jQuery Foundation and other contributors; Licensed MIT */
5
+
6
  (function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){t.ui=t.ui||{},t.ui.version="1.12.1";var e=0,i=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},l=e.split(".")[0];e=e.split(".")[1];var h=l+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][h.toLowerCase()]=function(e){return!!t.data(e,h)},t[l]=t[l]||{},n=t[l][e],o=t[l][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:l,widgetName:e,widgetFullName:h}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var s,n,o=i.call(arguments,1),a=0,r=o.length;r>a;a++)for(s in o[a])n=o[a][s],o[a].hasOwnProperty(s)&&void 0!==n&&(e[s]=t.isPlainObject(n)?t.isPlainObject(e[s])?t.widget.extend({},e[s],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,s){var n=s.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=i.call(arguments,1),l=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(l=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):l=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new s(o,this))})),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(i,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=e++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),i),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),h=l[1]+o.eventNamespace,c=l[2];c?n.on(h,c,r):i.on(h,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,t.widget("ui.progressbar",{version:"1.12.1",options:{classes:{"ui-progressbar":"ui-corner-all","ui-progressbar-value":"ui-corner-left","ui-progressbar-complete":"ui-corner-right"},max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.attr({role:"progressbar","aria-valuemin":this.min}),this._addClass("ui-progressbar","ui-widget ui-widget-content"),this.valueDiv=t("<div>").appendTo(this.element),this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header"),this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"),this.valueDiv.remove()},value:function(t){return void 0===t?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),void 0)},_constrainedValue:function(t){return void 0===t&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).width(i.toFixed(0)+"%"),this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,e===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("<div>").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}})});
admin/assets/js/upload-font.js CHANGED
@@ -1,10 +1,10 @@
1
  jQuery(function ($) {
2
 
3
- var $element = $(".factory-bootstrap-433 .factory-wapt-fonts");
4
  var upload_button = $('#wapt-upload-button');
5
  var upload_loader = $('#wapt-upload-loader');
6
 
7
- $element.factoryBootstrap433_dropdownControl();
8
 
9
  upload_button.on('click', function (e) {
10
  e.preventDefault();
1
  jQuery(function ($) {
2
 
3
+ var $element = $(".factory-bootstrap-444 .factory-wapt-fonts");
4
  var upload_button = $('#wapt-upload-button');
5
  var upload_loader = $('#wapt-upload-loader');
6
 
7
+ $element.factoryBootstrap444_dropdownControl();
8
 
9
  upload_button.on('click', function (e) {
10
  e.preventDefault();
admin/class-wapt-activation.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @author Webcraftic <wordpress.webraftic@gmail.com>
6
  * @copyright (c) 02.12.2018, Webcraftic
7
- * @see Wbcr_Factory433_Activator
8
  *
9
  * @version 1.0.1
10
  */
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- class WAPT_Activation extends Wbcr_Factory433_Activator {
18
 
19
  /**
20
  * Method is executed during the activation of the plugin.
4
  *
5
  * @author Webcraftic <wordpress.webraftic@gmail.com>
6
  * @copyright (c) 02.12.2018, Webcraftic
7
+ * @see Wbcr_Factory444_Activator
8
  *
9
  * @version 1.0.1
10
  */
14
  exit;
15
  }
16
 
17
+ class WAPT_Activation extends Wbcr_Factory444_Activator {
18
 
19
  /**
20
  * Method is executed during the activation of the plugin.
admin/class-wapt-page.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @author Webcraftic <wordpress.webraftic@gmail.com>
6
  * @copyright (c) 02.12.2018, Webcraftic
7
- * @see Wbcr_FactoryPages432_AdminPage
8
  *
9
  * @version 1.0.0
10
  */
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- class WAPT_Page extends Wbcr_FactoryPages432_AdminPage {
18
 
19
  /**
20
  * Name of the template to get content of. It will be based on plugins /admin/views/ dir.
4
  *
5
  * @author Webcraftic <wordpress.webraftic@gmail.com>
6
  * @copyright (c) 02.12.2018, Webcraftic
7
+ * @see Wbcr_FactoryPages443_AdminPage
8
  *
9
  * @version 1.0.0
10
  */
14
  exit;
15
  }
16
 
17
+ class WAPT_Page extends Wbcr_FactoryPages443_AdminPage {
18
 
19
  /**
20
  * Name of the template to get content of. It will be based on plugins /admin/views/ dir.
admin/pages/generate.php CHANGED
@@ -20,7 +20,7 @@ class WAPT_Generate extends WAPT_Page {
20
  * Mainly used to navigate between pages.
21
  *
22
  * @since 1.0.0
23
- * @see FactoryPages432_AdminPage
24
  *
25
  * @var string
26
  */
@@ -112,7 +112,7 @@ class WAPT_Generate extends WAPT_Page {
112
  *
113
  * @return void
114
  * @since 1.0.0
115
- * @see FactoryPages432_AdminPage
116
  *
117
  */
118
  public function assets( $scripts, $styles ) {
20
  * Mainly used to navigate between pages.
21
  *
22
  * @since 1.0.0
23
+ * @see FactoryPages443_AdminPage
24
  *
25
  * @var string
26
  */
112
  *
113
  * @return void
114
  * @since 1.0.0
115
+ * @see FactoryPages443_AdminPage
116
  *
117
  */
118
  public function assets( $scripts, $styles ) {
admin/pages/license.php CHANGED
@@ -1,8 +1,8 @@
1
  <?php
2
 
3
  // Exit if accessed directly
4
- use WBCR\Factory_433\Premium\Interfaces\License;
5
- use WBCR\Factory_433\Premium\Provider;
6
 
7
  if ( ! defined( 'ABSPATH' ) ) {
8
  exit;
1
  <?php
2
 
3
  // Exit if accessed directly
4
+ use WBCR\Factory_444\Premium\Interfaces\License;
5
+ use WBCR\Factory_444\Premium\Provider;
6
 
7
  if ( ! defined( 'ABSPATH' ) ) {
8
  exit;
admin/pages/settings.php CHANGED
@@ -48,7 +48,7 @@ class WAPT_Settings extends WAPT_Page {
48
  $this->capabilitiy = "manage_options";
49
  $this->template_name = "settings";
50
 
51
- add_action( 'wbcr_factory_forms_430_register_controls', function () {
52
  $colorControls = array(
53
  [
54
  'type' => 'wapt-color',
@@ -469,12 +469,12 @@ class WAPT_Settings extends WAPT_Page {
469
  wp_enqueue_script( 'wapt-settings-script', WAPT_PLUGIN_URL . '/admin/assets/js/settings.js', [], WAPT_PLUGIN_VERSION, true );
470
  // creating a form
471
  global $form;
472
- $form = new Wbcr_FactoryForms430_Form( [
473
  'scope' => substr( $this->plugin->getPrefix(), 0, - 1 ),
474
  'name' => 'setting'
475
  ], $this->plugin );
476
 
477
- $form->setProvider( new Wbcr_FactoryForms430_OptionsValueProvider( $this->plugin ) );
478
 
479
  $wapt_tab = WAPT_Plugin::app()->request->get( 'apt_tab', '' );
480
  switch ( $wapt_tab ) {
48
  $this->capabilitiy = "manage_options";
49
  $this->template_name = "settings";
50
 
51
+ add_action( 'wbcr_factory_forms_441_register_controls', function () {
52
  $colorControls = array(
53
  [
54
  'type' => 'wapt-color',
469
  wp_enqueue_script( 'wapt-settings-script', WAPT_PLUGIN_URL . '/admin/assets/js/settings.js', [], WAPT_PLUGIN_VERSION, true );
470
  // creating a form
471
  global $form;
472
+ $form = new Wbcr_FactoryForms441_Form( [
473
  'scope' => substr( $this->plugin->getPrefix(), 0, - 1 ),
474
  'name' => 'setting'
475
  ], $this->plugin );
476
 
477
+ $form->setProvider( new Wbcr_FactoryForms441_OptionsValueProvider( $this->plugin ) );
478
 
479
  $wapt_tab = WAPT_Plugin::app()->request->get( 'apt_tab', '' );
480
  switch ( $wapt_tab ) {
admin/views/tab-license.php CHANGED
@@ -1,5 +1,5 @@
1
  <div class="wrap">
2
- <div class="factory-bootstrap-433 factory-fontawesome-000">
3
  <?php wp_nonce_field( 'license' ); ?>
4
  <div id="wapt-license-wrapper"
5
  data-loader="<?php echo WAPT_PLUGIN_URL . '/admin/assets/img/loader.gif'; ?>"
1
  <div class="wrap">
2
+ <div class="factory-bootstrap-444 factory-fontawesome-000">
3
  <?php wp_nonce_field( 'license' ); ?>
4
  <div id="wapt-license-wrapper"
5
  data-loader="<?php echo WAPT_PLUGIN_URL . '/admin/assets/img/loader.gif'; ?>"
admin/views/tab-main.php CHANGED
@@ -1,6 +1,6 @@
1
  <div class="wrap">
2
  <h2><?php esc_html_e( 'Generate Featured images for posts', 'apt' ) ?></h2>
3
- <div class="factory-bootstrap-433 factory-fontawesome-000">
4
  <div class="row">
5
  <div class="col-md-9">
6
 
@@ -48,9 +48,10 @@
48
  class="apt-filter-label"><?php esc_html_e( 'Post status', 'aptp' ) ?></label>
49
  </div>
50
  <div class="col-md-10">
51
- <select name="filter_poststatus" id="filter_poststatus" class="apt-filter-input" tabindex="-1">
 
52
  <option value="">&nbsp;</option>
53
- <?php
54
  foreach ( $stati as $status ) {
55
  echo '<option value="' . $status->name . '">' . $status->label . '</option>';
56
  }
@@ -67,9 +68,10 @@
67
  class="apt-filter-label"><?php esc_html_e( 'Post category', 'aptp' ) ?></label>
68
  </div>
69
  <div class="col-md-10">
70
- <select name="filter_postcategory" id="filter_postcategory" class="apt-filter-input" tabindex="-1">
 
71
  <option value="">&nbsp;</option>
72
- <?php
73
  foreach ( $categories as $cat ) {
74
  echo '<option value="' . $cat->term_id . '">' . $cat->name . ' (' . $cat->count . ')</option>';
75
  }
1
  <div class="wrap">
2
  <h2><?php esc_html_e( 'Generate Featured images for posts', 'apt' ) ?></h2>
3
+ <div class="factory-bootstrap-444 factory-fontawesome-000">
4
  <div class="row">
5
  <div class="col-md-9">
6
 
48
  class="apt-filter-label"><?php esc_html_e( 'Post status', 'aptp' ) ?></label>
49
  </div>
50
  <div class="col-md-10">
51
+ <select name="filter_poststatus" id="filter_poststatus" class="apt-filter-input"
52
+ tabindex="-1">
53
  <option value="">&nbsp;</option>
54
+ <?php
55
  foreach ( $stati as $status ) {
56
  echo '<option value="' . $status->name . '">' . $status->label . '</option>';
57
  }
68
  class="apt-filter-label"><?php esc_html_e( 'Post category', 'aptp' ) ?></label>
69
  </div>
70
  <div class="col-md-10">
71
+ <select name="filter_postcategory" id="filter_postcategory" class="apt-filter-input"
72
+ tabindex="-1">
73
  <option value="">&nbsp;</option>
74
+ <?php
75
  foreach ( $categories as $cat ) {
76
  echo '<option value="' . $cat->term_id . '">' . $cat->name . ' (' . $cat->count . ')</option>';
77
  }
admin/views/tab-settings.php CHANGED
@@ -6,19 +6,19 @@ $current_tab = 'general';
6
  $TABS = array(
7
  'general' => array(
8
  'current' => false,
9
- 'caption' => 'General',
10
  'icon' => 'icon-general',
11
  'url' => $current_url . "&apt_tab=general",
12
  ),
13
  'img_generation' => array(
14
  'current' => false,
15
- 'caption' => 'Image generation',
16
  'icon' => 'icon-image',
17
  'url' => $current_url . "&apt_tab=img_generation",
18
  ),
19
  'api' => array(
20
  'current' => false,
21
- 'caption' => 'API',
22
  'icon' => 'icon-api',
23
  'url' => $current_url . "&apt_tab=api",
24
  ),
@@ -56,7 +56,7 @@ if ( isset( $_GET['apt_tab'] ) && ! empty( $_GET['apt_tab'] ) ) {
56
  <div class="content">
57
  <section id="section-<?php echo $current_tab; ?>">
58
  <div class="wrap">
59
- <div class="factory-bootstrap-433 factory-fontawesome-000">
60
  <div class="row">
61
  <div class="col-md-8">
62
  <form method="post" class="form-horizontal">
6
  $TABS = array(
7
  'general' => array(
8
  'current' => false,
9
+ 'caption' => __( 'General', 'apt' ),
10
  'icon' => 'icon-general',
11
  'url' => $current_url . "&apt_tab=general",
12
  ),
13
  'img_generation' => array(
14
  'current' => false,
15
+ 'caption' => __( 'Image generation', 'apt' ),
16
  'icon' => 'icon-image',
17
  'url' => $current_url . "&apt_tab=img_generation",
18
  ),
19
  'api' => array(
20
  'current' => false,
21
+ 'caption' => __( 'API', 'apt' ),
22
  'icon' => 'icon-api',
23
  'url' => $current_url . "&apt_tab=api",
24
  ),
56
  <div class="content">
57
  <section id="section-<?php echo $current_tab; ?>">
58
  <div class="wrap">
59
+ <div class="factory-bootstrap-444 factory-fontawesome-000">
60
  <div class="row">
61
  <div class="col-md-8">
62
  <form method="post" class="form-horizontal">
auto-post-thumbnail.php CHANGED
@@ -3,30 +3,24 @@
3
  Plugin Name: Auto Featured Image (Auto Post Thumbnail)
4
  Plugin URI: https://cm-wp.com/apt
5
  Description: Automatically generate the Featured Image from the first image in post or any custom post type only if Featured Image is not set manually. Featured Image Generation From Title. Native image search for Elementor, Gutenberg, Classic Editor.
6
- Version: 3.7.6
7
  Author: Creativemotion <support@cm-wp.com>
8
  Author URI: cm-wp.com
9
  Text Domain: apt
10
  Domain Path: /languages
11
  */
12
 
13
- /* Copyright 2019 Creativemotion
14
-
15
- This program is free software; you can redistribute it and/or modify
16
- it under the terms of the GNU General Public License as published by
17
- the Free Software Foundation; either version 2 of the License, or
18
- (at your option) any later version.
19
-
20
- This program is distributed in the hope that it will be useful,
21
- but WITHOUT ANY WARRANTY; without even the implied warranty of
22
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23
- GNU General Public License for more details.
24
-
25
- You should have received a copy of the GNU General Public License
26
- along with this program; if not, write to the Free Software
27
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28
- */
29
-
30
  if ( ! defined( 'ABSPATH' ) ) {
31
  exit; // Exit if accessed directly.
32
  }
@@ -44,100 +38,70 @@ require_once( dirname( __FILE__ ) . '/libs/factory/core/includes/class-factory-r
44
 
45
  $plugin_info = array(
46
  'prefix' => 'wapt_',
47
- // Префикс для базы данных и полей формы. Строка должна соответствовать условию [A-z0-9_].
48
  'plugin_name' => 'wbcr_apt',
49
- // Кодовое название плагина, используется как уникальный идентификатор. Строка должна соответствовать условию [A-z0-9_].
50
  'plugin_title' => __( 'Auto Featured Image', 'apt' ),
51
- // Название плагина. То же что и Plugin Name. Используется в интерфейсе и сообщениях.
52
 
53
  // Служба поддержки
54
- // Указываем ссылки и имена страниц сайта плагина, чтобы иметь к ним доступ внутри плагина.
55
  'support_details' => array(
56
- 'url' => 'https://cm-wp.com',// Ссылка на сайт плагина
57
  'pages_map' => array(
58
- 'features' => 'features', // {site}/premium-features "страница возможности"
59
- 'pricing' => 'pricing', // {site}/prices страница "цены"
60
- 'support' => '', // {site}/support страница "служба поддержки"
61
- 'docs' => 'docs' // {site}/docs страница "документация"
62
  )
63
  ),
64
 
65
  // Настройка обновлений плагина
66
- // Имеется ввиду настройка обновлений из удаленного репозитория. Это может быть wordpress.org, freemius.com, codecanyon.com
67
  'has_updates' => true,
68
- // Нужно ли проверять обновления для этого плагина
69
  'updates_settings' => array(
70
  'repository' => 'wordpress',
71
- // Тип репозитория из которого получаем обновления. Может быть wordpress, freemius
72
  'slug' => 'auto-post-thumbnail',
73
- // Слаг плагина в удаленном репозитории
74
  'maybe_rollback' => true,
75
- // Можно ли делать откат к предыдущей версии плагина?
76
  'rollback_settings' => array(
77
  'prev_stable_version' => '0.0.0'
78
- // Нужно указать предыдущую стабильную версию, к которой нужно сделать откат.
79
  )
80
  ),
81
 
82
  // Настройка премиум плагина
83
- // Сюда входят настройки лицензирования и премиум обновлений плагина и его надстройки
84
  'has_premium' => true,
85
- // Есть ли у текущего плагина премиум? Если false, премиум модуль загружен не будет
86
  'license_settings' => array(
87
  'has_updates' => true,
88
  'provider' => 'freemius',
89
- // Тип лицензионного поставщика, может быть freemius, codecanyon, templatemonster
90
  'slug' => 'auto-post-thumbnail-premium',
91
- // Слаг плагина в выбранном поставщике лицензий и обновлений
92
  'plugin_id' => '4146',
93
- // ID плагина в freemius.com
94
  'public_key' => 'pk_5e3ec7615d3abb543e25ee6eb2fc7',
95
- // Публичный ключ плагина в freemius.com
96
  'price' => 29,
97
- // Минимальная цена плагина, выводится в рекламных блоках
98
  // Настройка обновлений премиум плагина
99
  'updates_settings' => array(
100
- 'maybe_rollback' => true, // Можно ли делать откат к предыдущей версии плагина?
101
  'rollback_settings' => array(
102
  'prev_stable_version' => '0.0.0'
103
- // Нужно указать предыдущую стабильную версию, к которой нужно сделать откат.
104
  )
105
  )
106
  ),
107
 
108
- // Настройки рекламы от CreativeMotion
109
  'render_adverts' => true,
110
- // Показывать рекламу CreativeMotion в админке Wordpress?
111
  'adverts_settings' => array(
112
  'dashboard_widget' => true,
113
- // если true, показывать виджет новостей на страницу Dashboard
114
  'right_sidebar' => true,
115
- // если true, показывать виджет в правом сайбаре интерфейса плагина
116
  'notice' => true,
117
- // если true, показывать сквозное уведомление на всех страницах админ панели Wordpress
118
  ),
119
 
120
- // Подключаемые модуль фреймворка
121
- // Необходимые для ускоренной разработки продуктов Webcrfatic
122
  'load_factory_modules' => array(
123
- array( 'libs/factory/bootstrap', 'factory_bootstrap_433', 'admin' ),
124
- // Модуль позволяет использовать различные js виджеты и стили оформление форм.
125
- array( 'libs/factory/forms', 'factory_forms_430', 'admin' ),
126
- // Модуль позволяет быстро создавать формы и готовые поля настроек
127
- array( 'libs/factory/pages', 'factory_pages_432', 'admin' ),
128
- // Модуль позволяет создавать страницы плагина, в том числе шаблонизированные страницы
129
- array( 'libs/factory/freemius', 'factory_freemius_120', 'all' ),
130
- // Модуль для работы с freemius.com, содержит api библиотеку и провайдеры для премиум менеджера
131
- array( 'libs/factory/adverts', 'factory_adverts_112', 'admin' ),
132
- // Модуль для показа рекламы в админпанели Wordpress, вся реклама вытягивается через API Creative Motion
133
- array( 'libs/factory/feedback', 'factory_feedback_106', 'admin' ),
134
  )
135
  );
136
 
137
- $wapt_compatibility = new Wbcr_Factory433_Requirements( __FILE__, array_merge( $plugin_info, array(
138
  'plugin_already_activate' => defined( 'WAPT_PLUGIN_ACTIVE' ),
139
- 'required_php_version' => '5.4',
140
- 'required_wp_version' => '4.2.0',
141
  //'required_clearfy_check_component' => false
142
  ) ) );
143
 
@@ -151,18 +115,14 @@ if ( ! $wapt_compatibility->check() ) {
151
 
152
  /********************************************/
153
 
154
- // Устанавливает статус плагина, как активный
155
  define( 'WAPT_PLUGIN_ACTIVE', true );
156
- // Версия плагина
157
  define( 'WAPT_PLUGIN_VERSION', $wapt_compatibility->get_plugin_version() );
158
 
159
  define( 'WAPT_PLUGIN_FILE', __FILE__ );
160
  define( 'WAPT_ABSPATH', dirname( __FILE__ ) );
161
  define( 'WAPT_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
162
  define( 'WAPT_PLUGIN_SLUG', dirname( plugin_basename( __FILE__ ) ) );
163
- // Ссылка к директории плагина
164
  define( 'WAPT_PLUGIN_URL', plugins_url( null, __FILE__ ) );
165
- // Директория плагина
166
  define( 'WAPT_PLUGIN_DIR', dirname( __FILE__ ) );
167
 
168
 
3
  Plugin Name: Auto Featured Image (Auto Post Thumbnail)
4
  Plugin URI: https://cm-wp.com/apt
5
  Description: Automatically generate the Featured Image from the first image in post or any custom post type only if Featured Image is not set manually. Featured Image Generation From Title. Native image search for Elementor, Gutenberg, Classic Editor.
6
+ Version: 3.7.7
7
  Author: Creativemotion <support@cm-wp.com>
8
  Author URI: cm-wp.com
9
  Text Domain: apt
10
  Domain Path: /languages
11
  */
12
 
13
+ /**
14
+ * Developers who contributions in the development plugin:
15
+ *
16
+ * Artem Prihodko
17
+ * ---------------------------------------------------------------------------------
18
+ * 3.4.2 - current
19
+ *
20
+ * Email: webtemyk@yandex.ru
21
+ * Personal repo: https://github.com/temyk
22
+ * ---------------------------------------------------------------------------------
23
+ */
 
 
 
 
 
 
24
  if ( ! defined( 'ABSPATH' ) ) {
25
  exit; // Exit if accessed directly.
26
  }
38
 
39
  $plugin_info = array(
40
  'prefix' => 'wapt_',
 
41
  'plugin_name' => 'wbcr_apt',
 
42
  'plugin_title' => __( 'Auto Featured Image', 'apt' ),
 
43
 
44
  // Служба поддержки
 
45
  'support_details' => array(
46
+ 'url' => 'https://cm-wp.com',
47
  'pages_map' => array(
48
+ 'features' => 'features',
49
+ 'pricing' => 'pricing',
50
+ 'support' => '',
51
+ 'docs' => 'docs',
52
  )
53
  ),
54
 
55
  // Настройка обновлений плагина
 
56
  'has_updates' => true,
 
57
  'updates_settings' => array(
58
  'repository' => 'wordpress',
 
59
  'slug' => 'auto-post-thumbnail',
 
60
  'maybe_rollback' => true,
 
61
  'rollback_settings' => array(
62
  'prev_stable_version' => '0.0.0'
 
63
  )
64
  ),
65
 
66
  // Настройка премиум плагина
 
67
  'has_premium' => true,
 
68
  'license_settings' => array(
69
  'has_updates' => true,
70
  'provider' => 'freemius',
 
71
  'slug' => 'auto-post-thumbnail-premium',
 
72
  'plugin_id' => '4146',
 
73
  'public_key' => 'pk_5e3ec7615d3abb543e25ee6eb2fc7',
 
74
  'price' => 29,
 
75
  // Настройка обновлений премиум плагина
76
  'updates_settings' => array(
77
+ 'maybe_rollback' => true,
78
  'rollback_settings' => array(
79
  'prev_stable_version' => '0.0.0'
 
80
  )
81
  )
82
  ),
83
 
 
84
  'render_adverts' => true,
 
85
  'adverts_settings' => array(
86
  'dashboard_widget' => true,
 
87
  'right_sidebar' => true,
 
88
  'notice' => true,
 
89
  ),
90
 
 
 
91
  'load_factory_modules' => array(
92
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_444', 'admin' ),
93
+ array( 'libs/factory/forms', 'factory_forms_441', 'admin' ),
94
+ array( 'libs/factory/pages', 'factory_pages_443', 'admin' ),
95
+ array( 'libs/factory/freemius', 'factory_freemius_132', 'all' ),
96
+ array( 'libs/factory/adverts', 'factory_adverts_122', 'admin' ),
97
+ array( 'libs/factory/feedback', 'factory_feedback_109', 'admin' ),
 
 
 
 
 
98
  )
99
  );
100
 
101
+ $wapt_compatibility = new Wbcr_Factory444_Requirements( __FILE__, array_merge( $plugin_info, array(
102
  'plugin_already_activate' => defined( 'WAPT_PLUGIN_ACTIVE' ),
103
+ 'required_php_version' => '7.0',
104
+ 'required_wp_version' => '4.8.0',
105
  //'required_clearfy_check_component' => false
106
  ) ) );
107
 
115
 
116
  /********************************************/
117
 
 
118
  define( 'WAPT_PLUGIN_ACTIVE', true );
 
119
  define( 'WAPT_PLUGIN_VERSION', $wapt_compatibility->get_plugin_version() );
120
 
121
  define( 'WAPT_PLUGIN_FILE', __FILE__ );
122
  define( 'WAPT_ABSPATH', dirname( __FILE__ ) );
123
  define( 'WAPT_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
124
  define( 'WAPT_PLUGIN_SLUG', dirname( plugin_basename( __FILE__ ) ) );
 
125
  define( 'WAPT_PLUGIN_URL', plugins_url( null, __FILE__ ) );
 
126
  define( 'WAPT_PLUGIN_DIR', dirname( __FILE__ ) );
127
 
128
 
includes/class-wapt-base.php CHANGED
@@ -232,7 +232,7 @@ class AutoPostThumbnails {
232
  if ( $need_show_about && ! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) && ! ( defined( 'DOING_CRON' ) && DOING_CRON ) ) {
233
  try {
234
  $redirect_url = '';
235
- if ( class_exists( 'Wbcr_FactoryPages432' ) ) {
236
  $redirect_url = admin_url( "admin.php?page=wapt_about-wbcr_apt&wapt_about_page_viewed=1" );
237
  }
238
  if ( $redirect_url ) {
@@ -532,7 +532,7 @@ class AutoPostThumbnails {
532
  // If thumb id is not found, try to look for the image in DB. Thanks to "Erwin Vrolijk" for providing this code.
533
  if ( ! $thumb_id ) {
534
  //$image = substr( $image, strpos( $image, '"' ) + 1 );
535
- $result = $wpdb->get_results( "SELECT ID FROM {$wpdb->posts} WHERE guid = '" . $url . "'" );
536
  if ( $result ) {
537
  $thumb_id = $result[0]->ID;
538
  }
@@ -588,7 +588,7 @@ class AutoPostThumbnails {
588
 
589
  return $thumb_id;
590
  } else {
591
- $thumb_id = $wpdb->get_var( "SELECT ID FROM {$wpdb->posts} WHERE guid LIKE '" . $images['urls'][ $key ] . "'" );
592
  if ( $thumb_id ) {
593
  update_post_meta( $post_id, '_thumbnail_id', $thumb_id );
594
 
@@ -1365,10 +1365,10 @@ class AutoPostThumbnails {
1365
  $text_transform = WAPT_Plugin::app()->getOption( 'text-transform', "no" );
1366
  switch ( $text_transform ) {
1367
  case 'upper':
1368
- $text = strtoupper( $text );
1369
  break;
1370
  case 'lower':
1371
- $text = strtolower( $text );
1372
  break;
1373
  }
1374
 
232
  if ( $need_show_about && ! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) && ! ( defined( 'DOING_CRON' ) && DOING_CRON ) ) {
233
  try {
234
  $redirect_url = '';
235
+ if ( class_exists( 'Wbcr_FactoryPages443' ) ) {
236
  $redirect_url = admin_url( "admin.php?page=wapt_about-wbcr_apt&wapt_about_page_viewed=1" );
237
  }
238
  if ( $redirect_url ) {
532
  // If thumb id is not found, try to look for the image in DB. Thanks to "Erwin Vrolijk" for providing this code.
533
  if ( ! $thumb_id ) {
534
  //$image = substr( $image, strpos( $image, '"' ) + 1 );
535
+ $result = $wpdb->get_results( "SELECT ID FROM {$wpdb->posts} WHERE guid = '%" . $url . "%'" );
536
  if ( $result ) {
537
  $thumb_id = $result[0]->ID;
538
  }
588
 
589
  return $thumb_id;
590
  } else {
591
+ $thumb_id = $wpdb->get_var( "SELECT ID FROM {$wpdb->posts} WHERE guid LIKE '%" . $images['urls'][ $key ] . "%'" );
592
  if ( $thumb_id ) {
593
  update_post_meta( $post_id, '_thumbnail_id', $thumb_id );
594
 
1365
  $text_transform = WAPT_Plugin::app()->getOption( 'text-transform', "no" );
1366
  switch ( $text_transform ) {
1367
  case 'upper':
1368
+ $text = mb_strtoupper( $text );
1369
  break;
1370
  case 'lower':
1371
+ $text = mb_strtolower( $text );
1372
  break;
1373
  }
1374
 
includes/class-wapt-image.php CHANGED
@@ -304,6 +304,9 @@ class WAPT_Image {
304
  */
305
  public function write_text( $text, $font = '', $font_size = '', $font_color = '', $align = 'left', $valign = 'top', $line_spacing = '1.5', $shadow_color = '' ) {
306
  if ( ! empty( $text ) ) {
 
 
 
307
  if ( empty( $font ) ) {
308
  $font = $this->font_path;
309
  }
304
  */
305
  public function write_text( $text, $font = '', $font_size = '', $font_color = '', $align = 'left', $valign = 'top', $line_spacing = '1.5', $shadow_color = '' ) {
306
  if ( ! empty( $text ) ) {
307
+ $text = mb_convert_encoding( $text, 'HTML-ENTITIES', 'UTF-8' );
308
+ $text = preg_replace( '~^(&([a-zA-Z0-9]);)~', htmlentities( '${1}' ), $text );
309
+
310
  if ( empty( $font ) ) {
311
  $font = $this->font_path;
312
  }
includes/class-wapt-plugin.php CHANGED
@@ -12,11 +12,11 @@ if ( ! defined( 'ABSPATH' ) ) {
12
  * @copyright (c) 2018 Webraftic Ltd
13
  * @version 1.0
14
  */
15
- class WAPT_Plugin extends Wbcr_Factory433_Plugin {
16
 
17
  /**
18
  * @see self::app()
19
- * @var Wbcr_Factory433_Plugin
20
  */
21
  private static $app;
22
 
@@ -74,7 +74,7 @@ class WAPT_Plugin extends Wbcr_Factory433_Plugin {
74
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
75
  * классам.
76
  *
77
- * @return Wbcr_Factory433_Plugin
78
  */
79
  public static function app() {
80
  return self::$app;
12
  * @copyright (c) 2018 Webraftic Ltd
13
  * @version 1.0
14
  */
15
+ class WAPT_Plugin extends Wbcr_Factory444_Plugin {
16
 
17
  /**
18
  * @see self::app()
19
+ * @var Wbcr_Factory444_Plugin
20
  */
21
  private static $app;
22
 
74
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
75
  * классам.
76
  *
77
+ * @return Wbcr_Factory444_Plugin
78
  */
79
  public static function app() {
80
  return self::$app;
includes/controls/class.color.php CHANGED
@@ -19,7 +19,7 @@ if ( ! defined( 'ABSPATH' ) ) {
19
 
20
  if ( ! class_exists( 'Wapt_FactoryForms_ColorControl' ) ) {
21
 
22
- class Wapt_FactoryForms_ColorControl extends Wbcr_FactoryForms430_Control {
23
 
24
  public $type = 'wapt-color';
25
 
19
 
20
  if ( ! class_exists( 'Wapt_FactoryForms_ColorControl' ) ) {
21
 
22
+ class Wapt_FactoryForms_ColorControl extends Wbcr_FactoryForms441_Control {
23
 
24
  public $type = 'wapt-color';
25
 
includes/controls/class.fonts.php CHANGED
@@ -22,7 +22,7 @@ if ( ! defined( 'ABSPATH' ) ) {
22
 
23
  if ( ! class_exists( 'Wapt_FactoryForms_FontsControl' ) ) {
24
 
25
- class Wapt_FactoryForms_FontsControl extends Wbcr_FactoryForms430_DropdownControl {
26
 
27
  public $type = 'wapt-fonts';
28
 
22
 
23
  if ( ! class_exists( 'Wapt_FactoryForms_FontsControl' ) ) {
24
 
25
+ class Wapt_FactoryForms_FontsControl extends Wbcr_FactoryForms441_DropdownControl {
26
 
27
  public $type = 'wapt-fonts';
28
 
includes/controls/class.mediabutton.php CHANGED
@@ -20,7 +20,7 @@ if ( ! defined( 'ABSPATH' ) ) {
20
 
21
  if ( ! class_exists( 'Wapt_FactoryForms_MediaButtonControl' ) ) {
22
 
23
- class Wapt_FactoryForms_MediaButtonControl extends Wbcr_FactoryForms430_Control {
24
 
25
  public $type = 'wapt-mediabutton';
26
 
20
 
21
  if ( ! class_exists( 'Wapt_FactoryForms_MediaButtonControl' ) ) {
22
 
23
+ class Wapt_FactoryForms_MediaButtonControl extends Wbcr_FactoryForms441_Control {
24
 
25
  public $type = 'wapt-mediabutton';
26
 
languages/apt-ru_RU.mo CHANGED
Binary file
languages/apt-ru_RU.po CHANGED
@@ -3,7 +3,7 @@ msgstr ""
3
  "Project-Id-Version: Auto Featured Image\n"
4
  "Report-Msgid-Bugs-To: \n"
5
  "POT-Creation-Date: 2020-07-23 08:21+0000\n"
6
- "PO-Revision-Date: 2020-07-23 08:33+0000\n"
7
  "Last-Translator: \n"
8
  "Language-Team: Русский\n"
9
  "Language: ru_RU\n"
@@ -15,192 +15,272 @@ msgstr ""
15
  "X-Generator: Loco https://localise.biz/\n"
16
  "X-Loco-Version: 2.4.0; wp-5.4.2"
17
 
18
- #: auto-post-thumbnail.php:50 includes/class-wapt-base.php:978
19
- #: admin/pages/generate.php:100
20
- msgid "Auto Featured Image"
21
- msgstr "Auto Featured Image"
22
-
23
- #: includes/class-wapt-base.php:208
24
- msgid "Use as thumbnail"
25
- msgstr "Применить изображение"
26
 
27
- #: includes/class-wapt-base.php:209 includes/class-wapt-base.php:935
28
- msgid "Change featured image"
29
- msgstr "Изменить изображение"
30
 
31
- #: includes/class-wapt-base.php:418
32
- msgid "This plugin has been automatically deactivated."
33
- msgstr "Этот плагин был автоматически деактивирован."
34
 
35
- #: includes/class-wapt-base.php:839 admin/pages/settings.php:162
36
- msgid "Image"
37
- msgstr "Изображение"
 
38
 
39
- #: includes/class-wapt-base.php:932
40
- msgid "No image"
41
- msgstr "Нет изображений"
42
 
43
- #: includes/class-wapt-base.php:952
44
- msgid "Auto Featured Images"
45
- msgstr "Auto Featured Images"
46
 
47
- #: includes/class-wapt-base.php:952
48
  msgid "Add from APT"
49
  msgstr "Добавить через APT"
50
 
51
- #: includes/class-wapt-base.php:1207
52
- #, php-format
53
- msgid ""
54
- "You have reached the limit at the moment. Try again in an 1 hour or <a "
55
- "href=\"%s\">Upgrade to Premium</a>"
56
- msgstr ""
57
- "На данный момент Вы достигли лимита запросов. Повторите попытку через 1 час "
58
- "или <a href=\"%s\">обновите до Premium</a>"
59
 
60
- #: includes/class-wapt-base.php:1266
61
- #, php-format
62
- msgid ""
63
- "To download images from Google, specify Google API keys in the <a href='%s'>"
64
- "settings</a>."
65
  msgstr ""
66
- "Чтобы загружать изображения из Google, укажите ключи API Google в <a "
67
- "href='%s'>настройках</a>."
68
 
69
- #: includes/class-wapt-base.php:1295
70
- #, php-format
71
- msgid ""
72
- "What's new in version 3.7.0? Find out from <a href='%s'>the article</a> on "
73
- "our website."
74
  msgstr ""
 
 
75
 
76
- #: includes/class-wapt-base.php:1323
77
- msgid "Standard"
78
- msgstr "Стандартные"
79
 
80
- #: includes/class-wapt-base.php:1338
81
- msgid "Uploaded"
82
- msgstr "Загруженные"
83
 
84
- #: includes/class-wapt-plugin.php:142
85
- msgid "Generate featured image"
86
- msgstr "Генерировать изображение"
87
 
88
- #: includes/class-wapt-plugin.php:143
89
- msgid "Unset featured image"
90
- msgstr "Убрать изображение"
91
 
92
- #: includes/class-wapt-plugin.php:188
93
- msgid "Processed posts: "
94
- msgstr "Обработано постов:"
 
 
 
 
 
 
 
 
 
95
 
96
- #: includes/class-wapt-plugin.php:198
 
 
 
 
 
 
 
 
97
  msgid ""
98
- "To use premium features, update the <b>Auto Featured Image Premium</b> "
99
- "plugin!"
 
 
100
  msgstr ""
101
- "Чтобы пользоваться премиум функциями, обновите плагин <b>Auto Featured Image "
102
- "Premium</b>!"
 
 
103
 
104
- #: includes/class-wapt-plugin.php:219
105
- msgid "Featured Image"
106
- msgstr "Изображение"
107
 
108
- #: includes/class-wapt-plugin.php:220
109
- msgid "With image"
110
- msgstr "С изображением"
111
 
112
- #: includes/class-wapt-plugin.php:221
113
- msgid "Without image"
114
- msgstr "Без изображения"
115
 
116
- #: includes/class-wapt-plugin.php:263
117
- msgid "Without featured image"
118
- msgstr "Без изображения"
119
 
120
- #: includes/class-wapt-plugin.php:277
121
- msgid "Generate"
122
- msgstr "Генерировать"
123
 
124
- #: admin/ajax/check-license.php:26
125
- msgid "Licensing action not passed or this action is prohibited!"
126
- msgstr "Licensing action not passed or this action is prohibited!"
127
 
128
- #: admin/ajax/check-license.php:38
 
129
  msgid ""
130
- "License key is empty or license key too long (license key is 32 characters "
131
- "long)"
 
132
  msgstr ""
133
- "Лицензионный ключ пуст или слишком длинный (длина лицензионного ключа "
134
- "составляет 32 символа)"
 
135
 
136
- #: admin/ajax/check-license.php:41
137
- msgid "Your license has been successfully activated"
138
- msgstr "Ваша лицензия успешно активирована"
139
 
140
- #: admin/ajax/check-license.php:46
141
- msgid "The license is deactivated"
142
- msgstr "Ваша лицензия деактивирована"
143
 
144
- #: admin/ajax/check-license.php:50
145
- msgid "The license has been updated"
146
- msgstr "Ваша лицензия была обновлена"
147
 
148
- #: admin/ajax/check-license.php:54
149
- msgid "Subscription success cancelled"
150
- msgstr "Подписка успешно отменена"
151
 
152
- #: admin/pages/about.php:45
153
- msgid "About APT"
154
- msgstr "О плагине Auto Featured Image"
155
 
156
- #: admin/pages/about.php:46
157
- msgid "About"
158
- msgstr "О плагине"
159
 
160
- #: admin/pages/generate.php:101
161
- msgid "Generate featured images"
162
- msgstr "Генератор изображений"
163
 
164
- #: admin/pages/license.php:94
165
- msgid "License of APT"
166
- msgstr "Лицензия Auto Featured Image"
167
 
168
- #: admin/pages/settings.php:46
169
- msgid "Settings of APT"
170
- msgstr "Настройки Auto Featured Image"
171
 
172
- #: admin/pages/settings.php:47
173
- msgid "Settings"
174
- msgstr "Настройки"
175
 
176
- #: admin/pages/settings.php:100
177
- msgid "Add featured image when saving a post"
178
- msgstr "Добавлять featured image во время сохранения поста"
179
 
180
- #: admin/pages/settings.php:102
181
- msgid "Automatically add featured image when saving a post"
182
- msgstr "Автоматически добавлять featured image во время сохранения поста"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
183
 
184
  #: admin/pages/settings.php:110
185
  msgid "Find in post"
186
  msgstr "Искать в посте"
187
 
188
- #: admin/pages/settings.php:111
189
- msgid "Generate from title"
190
- msgstr "Генерировать из заголовка"
191
 
192
- #: admin/pages/settings.php:112
193
- msgid "Both"
194
- msgstr "Оба способа"
195
 
196
- #: admin/pages/settings.php:115
197
- msgid "Featured image"
198
- msgstr "Featured image"
199
 
200
- #: admin/pages/settings.php:116
201
- msgid ""
202
- "How to generate featured image:\n"
203
- "\t\t\t\t\t\t\t<br> <b>Find in post:</b> search for the first image in the "
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
204
  "post text\n"
205
  "\t\t\t\t\t\t\t<br> <b>Generate from title:</b> created from the title on a "
206
  "colored background\n"
@@ -212,466 +292,403 @@ msgstr ""
212
  "поста\n"
213
  "\t\t\t\t\t\t\t<br> <b>Генерировать из заголовка:</b> создать изображение с "
214
  "текстом из заголовка на цветном фоне\n"
215
- "\t\t\t\t\t\t\t<br> <b>Оба способа:</b> find an image in the post text, if it "
216
- "is not present, generate it from the title\n"
217
  "\t\t\t\t\t\t\t<br> <b>Оба способа:</b> искать первое изображение в тексте "
218
  "поста, если его нет в тексте, тогда генерировать из заголовка"
219
 
220
- #: admin/pages/settings.php:126 admin/pages/settings.php:128
221
- msgid "Delete settings when removing the plugin"
222
- msgstr "Удалять настройки при удалении плагина"
223
-
224
- #: admin/pages/settings.php:149
225
- msgid "Background settings"
226
- msgstr "Настройки фона"
227
-
228
- #: admin/pages/settings.php:161
229
- msgid "Color"
230
- msgstr "Цвет"
231
-
232
- #: admin/pages/settings.php:165
233
- msgid "Background type"
234
- msgstr "Тип фона"
235
-
236
- #: admin/pages/settings.php:166
237
- msgid "Select the background type for the featured image"
238
- msgstr "Тип фона для изображения поста"
239
-
240
- #: admin/pages/settings.php:174
241
- msgid "Background color for the image"
242
- msgstr "Цвет фона"
243
-
244
- #: admin/pages/settings.php:175
245
- msgid "Set the background color for the featured image"
246
- msgstr "Цвет фона для изображения поста"
247
-
248
- #: admin/pages/settings.php:182
249
- msgid "Select image"
250
- msgstr "Выбрать изображение"
251
-
252
- #: admin/pages/settings.php:183
253
- msgid "Background image"
254
- msgstr "Фоновое изображение"
255
-
256
- #: admin/pages/settings.php:184
257
- msgid "Set the background image. Only JPG or PNG"
258
- msgstr "Изображение для фона. Только JPG или PNG"
259
 
260
- #: admin/pages/settings.php:194
261
- msgid "JPEG"
262
- msgstr "JPEG"
263
 
264
- #: admin/pages/settings.php:195
265
- msgid "PNG"
266
- msgstr "PNG"
267
 
268
  #: admin/pages/settings.php:198
269
  msgid "Image format"
270
  msgstr "Формат изображения"
271
 
272
- #: admin/pages/settings.php:199
273
- msgid "Set format to save images"
274
- msgstr "В каком формате сохранять изображения поста"
275
-
276
- #: admin/pages/settings.php:204
277
- msgid "Font settings"
278
- msgstr "Настройки шрифта"
279
 
280
- #: admin/pages/settings.php:216
281
- msgid "Font name"
282
- msgstr "Шрифт"
283
 
284
- #: admin/pages/settings.php:217
285
- msgid "Select a font for the text in the featured image"
286
- msgstr "Шрифт текста на изображении поста"
287
 
288
- #: admin/pages/settings.php:227
289
- msgid "Font size"
290
- msgstr "Размер шрифта"
291
 
292
- #: admin/pages/settings.php:228
293
- msgid "Set the font size for the featured image"
294
- msgstr "Размер шрифта на изображении поста"
 
 
 
 
295
 
296
- #: admin/pages/settings.php:234
297
- msgid "Font color"
298
- msgstr "Цвет шрифта"
299
 
300
- #: admin/pages/settings.php:235
301
- msgid "Set the font color for the featured image"
302
- msgstr "Цвет шрифта на изображении поста"
303
 
304
- #: admin/pages/settings.php:241
305
- msgid "Text settings"
306
- msgstr "Настройки текста"
307
 
308
- #: admin/pages/settings.php:253
309
- msgid "Text shadow"
310
- msgstr "Тень"
311
 
312
- #: admin/pages/settings.php:254
313
- msgid "Use text shadow?"
314
- msgstr "Рисовать тень для текста?"
315
 
316
- #: admin/pages/settings.php:266
317
- msgid "Shadow color"
318
- msgstr "Цвет тени"
319
 
320
- #: admin/pages/settings.php:267
321
- msgid "Set the shadow color for the text"
322
- msgstr "Цвет тени для текста"
323
 
324
  #: admin/pages/settings.php:275
325
  msgid "No transform"
326
  msgstr "Нет"
327
 
328
- #: admin/pages/settings.php:276
329
- msgid "Uppercase"
330
- msgstr "ЗАГЛАВНЫЕ"
331
-
332
- #: admin/pages/settings.php:277
333
- msgid "Lowercase"
334
- msgstr "строчные"
335
-
336
- #: admin/pages/settings.php:280
337
- msgid "Text transform"
338
- msgstr "Преобразование текста"
339
 
340
- #: admin/pages/settings.php:281
341
- msgid "Select type of text transformation"
342
- msgstr "Выберите тип преобразования текста"
343
 
344
- #: admin/pages/settings.php:288
345
- msgid "chars"
346
- msgstr "символов"
347
 
348
- #: admin/pages/settings.php:290
349
- msgid "Text length"
350
- msgstr "Длина текста"
351
 
352
- #: admin/pages/settings.php:291
353
- msgid "Set the maximum text length"
354
- msgstr "Максимальная длинна текста (обрезается по словам)"
355
 
356
- #: admin/pages/settings.php:300
357
- msgid "Line spacing"
358
- msgstr "Межстрочный интервал"
359
 
360
- #: admin/pages/settings.php:301
361
- msgid "Set the line spacing"
362
- msgstr "Интервал между строками текста (коэффициент от размера шрифта)"
363
 
364
- #: admin/pages/settings.php:307
365
- msgid "Alignment"
366
- msgstr "Выравнивание"
367
 
368
- #: admin/pages/settings.php:319
369
- msgid "Left"
370
- msgstr "Слева"
371
 
372
- #: admin/pages/settings.php:320 admin/pages/settings.php:335
373
- msgid "Center"
374
- msgstr "По центру"
375
 
376
- #: admin/pages/settings.php:321
377
- msgid "Right"
378
- msgstr "Справа"
379
 
380
- #: admin/pages/settings.php:324
381
- msgid "Horizontal text alignment"
382
- msgstr "Горизонтальное выравнивание"
383
 
384
- #: admin/pages/settings.php:325
385
- msgid "Select how to horizontally align the text on the image"
386
- msgstr "Горизонтальное выравнивание текста на изображении поста"
387
-
388
- #: admin/pages/settings.php:334
389
- msgid "Top"
390
- msgstr "Вверху"
391
-
392
- #: admin/pages/settings.php:336
393
- msgid "Bottom"
394
- msgstr "Внизу"
395
-
396
- #: admin/pages/settings.php:339
397
- msgid "Vertical text alignment"
398
- msgstr "Вертикальное выравнивание"
399
-
400
- #: admin/pages/settings.php:340
401
- msgid "Select how to vertically align the text on the image"
402
- msgstr "Вертикальное выравнивание текста на изображении поста"
403
-
404
- #: admin/pages/settings.php:347
405
- msgid "Padding"
406
- msgstr "Отступы"
407
 
408
  #: admin/pages/settings.php:358 admin/pages/settings.php:369
409
  msgid "px"
410
  msgstr "px"
411
 
412
- #: admin/pages/settings.php:360
413
- msgid "Top/bottom text padding"
414
- msgstr "Верхний/нижний отступ"
415
 
416
- #: admin/pages/settings.php:361
417
- msgid "Padding at the top and bottom of the text"
418
- msgstr "Отступ сверху и снизу от текста"
419
 
420
- #: admin/pages/settings.php:371
421
- msgid "Left/right text padding"
422
- msgstr "Левый/правый отступ"
423
 
424
- #: admin/pages/settings.php:372
425
- msgid "Padding at the left and right of the text"
426
- msgstr "Отступ слева и справа от текста"
427
 
428
- #: admin/pages/settings.php:379
429
- msgid "Addition of text"
430
- msgstr "Добавление текста"
431
 
432
- #: admin/pages/settings.php:390
433
- msgid "String before text"
434
- msgstr "Текст до"
435
 
436
- #: admin/pages/settings.php:391
437
- msgid "Additional string before text. For a line break, use <b>[br]</b>"
438
- msgstr ""
439
- "Дополнительный текст перед текстом. Для переноса строки используйте <b>[br]"
440
- "</b>"
441
 
442
- #: admin/pages/settings.php:400
443
- msgid "String after text"
444
- msgstr "Текст после"
445
 
446
- #: admin/pages/settings.php:401
447
- msgid "Additional string after text. For a line break, use <b>[br]</b>"
448
- msgstr ""
449
- "Дополнительный текст после текста. Для переноса строки используйте <b>[br]"
450
- "</b>"
451
 
452
- #: admin/pages/settings.php:427
453
- msgid "How to get google api key & custom search engine id"
454
- msgstr "Как получить Google API key и Custom Search Engine ID"
455
 
456
- #: admin/pages/settings.php:444
457
- msgid "API key for Google"
458
- msgstr "API ключ Google"
459
 
460
- #: admin/pages/settings.php:452
461
- msgid "Google Custom Search Engine ID"
462
- msgstr "Google Custom Search Engine ID"
463
 
464
- #: admin/pages/settings.php:453
465
- msgid "You can get API key after registration on the site"
466
- msgstr "Вы можете получить API ключ на сайте"
467
 
468
- #: admin/views/tab-license.php:11
469
- #, php-format
470
- msgid "Activate %s"
471
- msgstr ""
472
 
473
- #: admin/views/tab-license.php:22
474
- msgid "Upgrade to Premium"
475
- msgstr ""
476
 
477
- #: admin/views/tab-license.php:25
478
- #, php-format
479
- msgid "Your current license for %1$s:"
480
- msgstr ""
481
 
482
- #: admin/views/tab-license.php:31
483
- msgid "Delete Key"
484
- msgstr "Удалить ключ"
485
 
486
- #: admin/views/tab-license.php:35
487
- msgid "Synchronization"
488
- msgstr "Синхронизация"
489
 
490
- #: admin/views/tab-license.php:54
491
- msgid ""
492
- "Public License is a GPLv2 compatible license allowing you to change and use "
493
- "this version of the plugin for free. Please keep in mind this license covers "
494
- "only free edition of the plugin. Premium versions are distributed with other "
495
- "type of a license."
496
- msgstr ""
497
 
498
- #: admin/views/tab-license.php:58
499
- msgid ""
500
- "You use a paid subscription for the plugin updates. In case you don’t want "
501
- "to receive paid updates, please, click <a data-action=\"unsubscribe\" "
502
- "class=\"wapt-control-btn\" href=\"#\">cancel subscription</a>"
503
- msgstr ""
504
 
505
- #: admin/views/tab-license.php:64
506
- msgid ""
507
- "Your license has expired, please extend the license to get updates and "
508
- "support."
509
- msgstr ""
510
- "Ваша лицензия истекла, пожалуйста, продлите лицензию, чтобы продолжить "
511
- "пользоваться премиум функциями"
512
 
513
- #: admin/views/tab-license.php:72
514
- msgid "domain"
515
- msgstr ""
516
 
517
- #: admin/views/tab-license.php:76
518
- msgid "plan"
519
- msgstr "тариф"
520
 
521
- #: admin/views/tab-license.php:82
522
- msgid "of"
523
- msgstr "из"
524
 
525
- #: admin/views/tab-license.php:84
526
- msgid "active sites"
527
- msgstr "активных сайтов"
528
 
529
- #: admin/views/tab-license.php:89
530
- msgid "version"
531
- msgstr "версия"
532
 
533
- #: admin/views/tab-license.php:94
534
- msgid "EXPIRED!"
535
- msgstr ""
536
 
537
- #: admin/views/tab-license.php:95
538
- msgid "please update the key"
539
- msgstr ""
540
 
541
- #: admin/views/tab-license.php:105
542
- msgid "day(s)"
543
- msgstr "дней"
544
 
545
- #: admin/views/tab-license.php:107
546
- msgid "remained"
547
- msgstr "осталось"
548
 
549
- #: admin/views/tab-license.php:118
550
- msgid "Have a key to activate the premium version? Paste it here:"
551
- msgstr "Есть ключ для активации премиум версии? Вставьте его сюда:"
552
 
553
- #: admin/views/tab-license.php:120
554
- msgid "Have a key to activate the plugin? Paste it here:"
555
- msgstr "Есть ключ для активации плагина? Вставьте его сюда:"
556
 
557
- #: admin/views/tab-license.php:126
558
- msgid "Submit Key"
559
- msgstr "Отправить ключ"
560
 
561
- #: admin/views/tab-license.php:134
 
 
 
 
 
 
 
 
 
 
 
 
562
  #, php-format
563
  msgid ""
564
- "<a href=\"%s\" target=\"_blank\" rel=\"noopener\">Lean more</a> about the "
565
- "premium version and get the license key to activate it now!"
566
  msgstr ""
567
- "<a href=\"%s\" target=\"_blank\" rel=\"noopener\">Узнать больше</a> о "
568
- "премиум версии и получить лицензионный ключ!"
569
 
570
- #: admin/views/tab-license.php:138
571
- #, php-format
572
  msgid ""
573
- "Can’t find your key? Go to <a href=\"%s\" target=\"_blank\" rel=\"noopener\">"
574
- "this page</a> and login using the e-mail address associated with your "
575
- "purchase."
576
  msgstr ""
 
 
577
 
578
- #: admin/views/tab-main.php:2
579
- msgid "Generate Featured images for posts"
580
- msgstr "Генератор изображений для постов"
581
-
582
- #: admin/views/tab-main.php:37
583
- msgid "Posts"
584
- msgstr "Посты"
585
-
586
- #: admin/views/tab-main.php:38
587
- msgid "Pages"
588
- msgstr "Страницы"
589
-
590
- #: admin/views/tab-main.php:105
591
- msgid "Generate Featured images"
592
- msgstr "Сгенерировать изображения"
593
 
594
- #: admin/views/tab-main.php:110
595
- msgid "Delete Featured images"
596
- msgstr "Убрать изображения"
597
 
598
- #: admin/views/tab-main.php:128
599
- msgid ""
600
- "Note: Thumbnails won't be generated for posts that already have post "
601
- "thumbnail or <strong><em>skip_post_thumb</em></strong> custom meta field."
602
- msgstr ""
603
- "Обратите внимание: Изображения не будут сгенерированы для записей у которых "
604
- "уже есть изображение или имеют заполненное мета поле <strong><em>"
605
- "skip_post_thumb</em></strong>."
606
 
607
- #: admin/views/tab-main.php:130
608
- msgid "You must enable Javascript in order to proceed!"
609
- msgstr "Вам нужно включить JavaScript чтобы продолжить!"
610
 
611
- #: admin/views/tab-main.php:189 admin/views/tab-main.php:252
612
- msgid "All done! Processed posts:"
613
- msgstr "Завершено! Обработано постов: "
614
 
615
- #: admin/views/tab-main.php:189
616
- msgid "Set featured image in posts:"
617
- msgstr "Добавлены изображения в посты:"
618
 
619
- #: admin/views/tab-main.php:252
620
- msgid "Delete featured image in posts:"
621
- msgstr "Убраны изображения из постов:"
622
 
623
- #: admin/views/tab-settings.php:38
624
- msgid "Settings of"
625
- msgstr "Настройки"
626
 
627
- #: admin/views/sources/google.php:43
628
- msgid "No hits"
629
- msgstr "Нет результатов"
630
 
631
- #: admin/views/sources/google.php:160
632
- msgid "Search..."
633
- msgstr "Запрос для поиска"
634
 
635
- #: admin/views/sources/google.php:162
636
- msgid "Search"
637
- msgstr "Поиск"
 
 
 
638
 
639
- #: admin/views/sources/google.php:167
640
- msgid "Commercial and derived use"
641
- msgstr "Коммерческое и производное использование"
642
 
643
- #: admin/views/sources/google.php:175
644
- msgid "Prev"
645
- msgstr "Предыдущая"
646
 
647
- #: admin/views/sources/google.php:178
648
- msgid "Next"
649
- msgstr "Следующая"
650
 
651
- #: admin/views/sources/google.php:186
652
- msgid "API key is missing. Add it in APT settings"
653
- msgstr "Ключ API не задан. Добавьте его в настройках Auto Featured Image"
654
 
655
- #. Name of the plugin
656
- msgid "Auto Featured Image (Auto Post Thumbnail)"
 
 
 
657
  msgstr ""
 
 
658
 
659
- #. Description of the plugin
 
 
 
 
660
  msgid ""
661
- "Automatically generate the Featured Image from the first image in post or "
662
- "any custom post type only if Featured Image is not set manually. Featured "
663
- "Image Generation From Title. Native image search for Elementor, Gutenberg, "
664
- "Classic Editor."
665
  msgstr ""
666
 
667
- #. URI of the plugin
668
- msgid "https://cm-wp.com/apt"
669
- msgstr "https://cm-wp.com/apt"
 
670
 
671
- #. Author of the plugin
672
- msgid "Creativemotion <support@cm-wp.com>"
673
- msgstr "Creativemotion <support@cm-wp.com>"
674
 
675
- #. Author URI of the plugin
676
- msgid "cm-wp.com"
677
- msgstr "cm-wp.com"
 
 
 
 
3
  "Project-Id-Version: Auto Featured Image\n"
4
  "Report-Msgid-Bugs-To: \n"
5
  "POT-Creation-Date: 2020-07-23 08:21+0000\n"
6
+ "PO-Revision-Date: 2021-02-10 12:56+0000\n"
7
  "Last-Translator: \n"
8
  "Language-Team: Русский\n"
9
  "Language: ru_RU\n"
15
  "X-Generator: Loco https://localise.biz/\n"
16
  "X-Loco-Version: 2.4.0; wp-5.4.2"
17
 
18
+ #: admin/views/tab-license.php:134
19
+ #, php-format
20
+ msgid ""
21
+ "<a href=\"%s\" target=\"_blank\" rel=\"noopener\">Lean more</a> about the "
22
+ "premium version and get the license key to activate it now!"
23
+ msgstr ""
24
+ "<a href=\"%s\" target=\"_blank\" rel=\"noopener\">Узнать больше</a> о "
25
+ "премиум версии и получить лицензионный ключ!"
26
 
27
+ #: admin/pages/about.php:46
28
+ msgid "About"
29
+ msgstr "О плагине"
30
 
31
+ #: admin/pages/about.php:45
32
+ msgid "About APT"
33
+ msgstr "О плагине Auto Featured Image"
34
 
35
+ #: admin/views/tab-license.php:11
36
+ #, php-format
37
+ msgid "Activate %s"
38
+ msgstr ""
39
 
40
+ #: admin/views/tab-license.php:84
41
+ msgid "active sites"
42
+ msgstr "активных сайтов"
43
 
44
+ #: admin/pages/settings.php:100
45
+ msgid "Add featured image when saving a post"
46
+ msgstr "Добавлять featured image во время сохранения поста"
47
 
48
+ #: includes/class-wapt-base.php:931
49
  msgid "Add from APT"
50
  msgstr "Добавить через APT"
51
 
52
+ #: admin/pages/settings.php:379
53
+ msgid "Addition of text"
54
+ msgstr "Добавление текста"
 
 
 
 
 
55
 
56
+ #: admin/pages/settings.php:401
57
+ msgid "Additional string after text. For a line break, use <b>[br]</b>"
 
 
 
58
  msgstr ""
59
+ "Дополнительный текст после текста. Для переноса строки используйте <b>[br]"
60
+ "</b>"
61
 
62
+ #: admin/pages/settings.php:391
63
+ msgid "Additional string before text. For a line break, use <b>[br]</b>"
 
 
 
64
  msgstr ""
65
+ "Дополнительный текст перед текстом. Для переноса строки используйте <b>[br]"
66
+ "</b>"
67
 
68
+ #: admin/pages/settings.php:307
69
+ msgid "Alignment"
70
+ msgstr "Выравнивание"
71
 
72
+ #: admin/views/tab-main.php:191 admin/views/tab-main.php:254
73
+ msgid "All done! Processed posts:"
74
+ msgstr "Завершено! Обработано постов: "
75
 
76
+ #: admin/views/tab-settings.php:21
77
+ msgid "API"
78
+ msgstr "API"
79
 
80
+ #: admin/pages/settings.php:444
81
+ msgid "API key for Google"
82
+ msgstr "API ключ Google"
83
 
84
+ #: admin/views/sources/google.php:130
85
+ msgid "API key is missing. Add it in APT settings"
86
+ msgstr "Ключ API не задан. Добавьте его в настройках Auto Featured Image"
87
+
88
+ #: auto-post-thumbnail.php:42 includes/class-wapt-base.php:957
89
+ #: admin/pages/generate.php:100
90
+ msgid "Auto Featured Image"
91
+ msgstr "Auto Featured Image"
92
+
93
+ #. Name of the plugin
94
+ msgid "Auto Featured Image (Auto Post Thumbnail)"
95
+ msgstr "Auto Featured Image (Auto Post Thumbnail)"
96
 
97
+ #: includes/class-wapt-base.php:931
98
+ msgid "Auto Featured Images"
99
+ msgstr "Auto Featured Images"
100
+
101
+ #: admin/pages/settings.php:102
102
+ msgid "Automatically add featured image when saving a post"
103
+ msgstr "Автоматически добавлять featured image во время сохранения поста"
104
+
105
+ #. Description of the plugin
106
  msgid ""
107
+ "Automatically generate the Featured Image from the first image in post or "
108
+ "any custom post type only if Featured Image is not set manually. Featured "
109
+ "Image Generation From Title. Native image search for Elementor, Gutenberg, "
110
+ "Classic Editor."
111
  msgstr ""
112
+ "Автоматически генерирует избранное изображение из первого изображения, "
113
+ "найденного в посте, если избранного изображения ещё нет. Генерирует "
114
+ "избранное изображение из заголовка. Нативный поиск изображений в фотобанках "
115
+ "для Elementor, Gutenberg, Classic Editor."
116
 
117
+ #: admin/pages/settings.php:174
118
+ msgid "Background color for the image"
119
+ msgstr "Цвет фона"
120
 
121
+ #: admin/pages/settings.php:183
122
+ msgid "Background image"
123
+ msgstr "Фоновое изображение"
124
 
125
+ #: admin/pages/settings.php:149
126
+ msgid "Background settings"
127
+ msgstr "Настройки фона"
128
 
129
+ #: admin/pages/settings.php:165
130
+ msgid "Background type"
131
+ msgstr "Тип фона"
132
 
133
+ #: admin/pages/settings.php:112
134
+ msgid "Both"
135
+ msgstr "Оба способа"
136
 
137
+ #: admin/pages/settings.php:336
138
+ msgid "Bottom"
139
+ msgstr "Внизу"
140
 
141
+ #: admin/views/tab-license.php:138
142
+ #, php-format
143
  msgid ""
144
+ "Can’t find your key? Go to <a href=\"%s\" target=\"_blank\" rel=\"noopener\">"
145
+ "this page</a> and login using the e-mail address associated with your "
146
+ "purchase."
147
  msgstr ""
148
+ "Не можете найти ключ? На <a href=\"%s\" target=\"_blank\" rel=\"noopener\">"
149
+ "этой странице</a> авторизуйтесь при помощи e-mail который указывали при "
150
+ "покупке."
151
 
152
+ #: admin/pages/settings.php:320 admin/pages/settings.php:335
153
+ msgid "Center"
154
+ msgstr "По центру"
155
 
156
+ #: includes/class-wapt-base.php:206 includes/class-wapt-base.php:914
157
+ msgid "Change featured image"
158
+ msgstr "Изменить изображение"
159
 
160
+ #: admin/pages/settings.php:288
161
+ msgid "chars"
162
+ msgstr "символов"
163
 
164
+ #. Author URI of the plugin
165
+ msgid "cm-wp.com"
166
+ msgstr "cm-wp.com"
167
 
168
+ #: admin/pages/settings.php:161
169
+ msgid "Color"
170
+ msgstr "Цвет"
171
 
172
+ #: admin/views/sources/google.php:111
173
+ msgid "Commercial and derived use"
174
+ msgstr "Коммерческое и производное использование"
175
 
176
+ #. Author of the plugin
177
+ msgid "Creativemotion <support@cm-wp.com>"
178
+ msgstr "Creativemotion <support@cm-wp.com>"
179
 
180
+ #: admin/views/tab-license.php:105
181
+ msgid "day(s)"
182
+ msgstr "дней"
183
 
184
+ #: admin/views/tab-main.php:254
185
+ msgid "Delete featured image in posts:"
186
+ msgstr "Убраны изображения из постов:"
187
 
188
+ #: admin/views/tab-main.php:112
189
+ msgid "Delete Featured images"
190
+ msgstr "Убрать изображения"
191
 
192
+ #: admin/views/tab-license.php:31
193
+ msgid "Delete Key"
194
+ msgstr "Удалить ключ"
195
 
196
+ #: admin/pages/settings.php:126 admin/pages/settings.php:128
197
+ msgid "Delete settings when removing the plugin"
198
+ msgstr "Удалять настройки при удалении плагина"
199
+
200
+ #: admin/views/tab-license.php:72
201
+ msgid "domain"
202
+ msgstr "домен"
203
+
204
+ #: admin/views/tab-license.php:94
205
+ msgid "EXPIRED!"
206
+ msgstr "ИСТЕКЛО!"
207
+
208
+ #: includes/class-wapt-plugin.php:218
209
+ msgid "Featured Image"
210
+ msgstr "Изображение"
211
+
212
+ #: admin/pages/settings.php:115
213
+ msgid "Featured image"
214
+ msgstr "Избранное изображение"
215
 
216
  #: admin/pages/settings.php:110
217
  msgid "Find in post"
218
  msgstr "Искать в посте"
219
 
220
+ #: admin/pages/settings.php:234
221
+ msgid "Font color"
222
+ msgstr "Цвет шрифта"
223
 
224
+ #: admin/pages/settings.php:216
225
+ msgid "Font name"
226
+ msgstr "Шрифт"
227
 
228
+ #: admin/pages/settings.php:204
229
+ msgid "Font settings"
230
+ msgstr "Настройки шрифта"
231
 
232
+ #: admin/pages/settings.php:227
233
+ msgid "Font size"
234
+ msgstr "Размер шрифта"
235
+
236
+ #: admin/views/tab-settings.php:9
237
+ msgid "General"
238
+ msgstr "Основные"
239
+
240
+ #: includes/class-wapt-plugin.php:276
241
+ msgid "Generate"
242
+ msgstr "Генерировать"
243
+
244
+ #: includes/class-wapt-plugin.php:141
245
+ msgid "Generate featured image"
246
+ msgstr "Генерировать изображение"
247
+
248
+ #: admin/views/tab-main.php:107
249
+ msgid "Generate Featured images"
250
+ msgstr "Сгенерировать изображения"
251
+
252
+ #: admin/pages/generate.php:101
253
+ msgid "Generate featured images"
254
+ msgstr "Генератор изображений"
255
+
256
+ #: admin/views/tab-main.php:2
257
+ msgid "Generate Featured images for posts"
258
+ msgstr "Генератор изображений для постов"
259
+
260
+ #: admin/pages/settings.php:111
261
+ msgid "Generate from title"
262
+ msgstr "Генерировать из заголовка"
263
+
264
+ #: admin/pages/settings.php:452
265
+ msgid "Google Custom Search Engine ID"
266
+ msgstr "Google Custom Search Engine ID"
267
+
268
+ #: admin/views/tab-license.php:120
269
+ msgid "Have a key to activate the plugin? Paste it here:"
270
+ msgstr "Есть ключ для активации плагина? Вставьте его сюда:"
271
+
272
+ #: admin/views/tab-license.php:118
273
+ msgid "Have a key to activate the premium version? Paste it here:"
274
+ msgstr "Есть ключ для активации премиум версии? Вставьте его сюда:"
275
+
276
+ #: admin/pages/settings.php:324
277
+ msgid "Horizontal text alignment"
278
+ msgstr "Горизонтальное выравнивание"
279
+
280
+ #: admin/pages/settings.php:116
281
+ msgid ""
282
+ "How to generate featured image:\n"
283
+ "\t\t\t\t\t\t\t<br> <b>Find in post:</b> search for the first image in the "
284
  "post text\n"
285
  "\t\t\t\t\t\t\t<br> <b>Generate from title:</b> created from the title on a "
286
  "colored background\n"
292
  "поста\n"
293
  "\t\t\t\t\t\t\t<br> <b>Генерировать из заголовка:</b> создать изображение с "
294
  "текстом из заголовка на цветном фоне\n"
 
 
295
  "\t\t\t\t\t\t\t<br> <b>Оба способа:</b> искать первое изображение в тексте "
296
  "поста, если его нет в тексте, тогда генерировать из заголовка"
297
 
298
+ #: admin/pages/settings.php:427
299
+ msgid "How to get google api key & custom search engine id"
300
+ msgstr "Как получить Google API key и Custom Search Engine ID"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
301
 
302
+ #. URI of the plugin
303
+ msgid "https://cm-wp.com/apt"
304
+ msgstr "https://cm-wp.com/apt"
305
 
306
+ #: includes/class-wapt-base.php:810 admin/pages/settings.php:162
307
+ msgid "Image"
308
+ msgstr "Изображение"
309
 
310
  #: admin/pages/settings.php:198
311
  msgid "Image format"
312
  msgstr "Формат изображения"
313
 
314
+ #: admin/views/tab-settings.php:15
315
+ msgid "Image generation"
316
+ msgstr "Генерация изображения"
 
 
 
 
317
 
318
+ #: admin/pages/settings.php:194
319
+ msgid "JPEG"
320
+ msgstr "JPEG"
321
 
322
+ #: admin/pages/settings.php:319
323
+ msgid "Left"
324
+ msgstr "Слева"
325
 
326
+ #: admin/pages/settings.php:371
327
+ msgid "Left/right text padding"
328
+ msgstr "Левый/правый отступ"
329
 
330
+ #: admin/ajax/check-license.php:38
331
+ msgid ""
332
+ "License key is empty or license key too long (license key is 32 characters "
333
+ "long)"
334
+ msgstr ""
335
+ "Лицензионный ключ пуст или слишком длинный (длина лицензионного ключа "
336
+ "составляет 32 символа)"
337
 
338
+ #: admin/pages/license.php:94
339
+ msgid "License of APT"
340
+ msgstr "Лицензия Auto Featured Image"
341
 
342
+ #: admin/ajax/check-license.php:26
343
+ msgid "Licensing action not passed or this action is prohibited!"
344
+ msgstr "Licensing action not passed or this action is prohibited!"
345
 
346
+ #: admin/pages/settings.php:300
347
+ msgid "Line spacing"
348
+ msgstr "Межстрочный интервал"
349
 
350
+ #: admin/pages/settings.php:277
351
+ msgid "Lowercase"
352
+ msgstr "строчные"
353
 
354
+ #: admin/views/sources/google.php:122
355
+ msgid "Next"
356
+ msgstr "Следующая"
357
 
358
+ #: admin/views/sources/google.php:17
359
+ msgid "No hits"
360
+ msgstr "Нет результатов"
361
 
362
+ #: includes/class-wapt-base.php:911
363
+ msgid "No image"
364
+ msgstr "Нет изображений"
365
 
366
  #: admin/pages/settings.php:275
367
  msgid "No transform"
368
  msgstr "Нет"
369
 
370
+ #: admin/views/tab-main.php:130
371
+ msgid ""
372
+ "Note: Thumbnails won't be generated for posts that already have post "
373
+ "thumbnail or <strong><em>skip_post_thumb</em></strong> custom meta field."
374
+ msgstr ""
375
+ "Обратите внимание: Изображения не будут сгенерированы для записей у которых "
376
+ "уже есть изображение или имеют заполненное мета поле <strong><em>"
377
+ "skip_post_thumb</em></strong>."
 
 
 
378
 
379
+ #: admin/views/tab-license.php:82
380
+ msgid "of"
381
+ msgstr "из"
382
 
383
+ #: admin/pages/settings.php:347
384
+ msgid "Padding"
385
+ msgstr "Отступы"
386
 
387
+ #: admin/pages/settings.php:372
388
+ msgid "Padding at the left and right of the text"
389
+ msgstr "Отступ слева и справа от текста"
390
 
391
+ #: admin/pages/settings.php:361
392
+ msgid "Padding at the top and bottom of the text"
393
+ msgstr "Отступ сверху и снизу от текста"
394
 
395
+ #: admin/views/tab-main.php:38
396
+ msgid "Pages"
397
+ msgstr "Страницы"
398
 
399
+ #: admin/views/tab-license.php:76
400
+ msgid "plan"
401
+ msgstr "тариф"
402
 
403
+ #: admin/views/tab-license.php:95
404
+ msgid "please update the key"
405
+ msgstr ""
406
 
407
+ #: admin/pages/settings.php:195
408
+ msgid "PNG"
409
+ msgstr "PNG"
410
 
411
+ #: admin/views/tab-main.php:37
412
+ msgid "Posts"
413
+ msgstr "Посты"
414
 
415
+ #: admin/views/sources/google.php:119
416
+ msgid "Prev"
417
+ msgstr "Предыдущая"
418
 
419
+ #: includes/class-wapt-plugin.php:187
420
+ msgid "Processed posts: "
421
+ msgstr "Обработано постов:"
422
 
423
+ #: admin/views/tab-license.php:54
424
+ msgid ""
425
+ "Public License is a GPLv2 compatible license allowing you to change and use "
426
+ "this version of the plugin for free. Please keep in mind this license covers "
427
+ "only free edition of the plugin. Premium versions are distributed with other "
428
+ "type of a license."
429
+ msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
430
 
431
  #: admin/pages/settings.php:358 admin/pages/settings.php:369
432
  msgid "px"
433
  msgstr "px"
434
 
435
+ #: admin/views/tab-license.php:107
436
+ msgid "remained"
437
+ msgstr "осталось"
438
 
439
+ #: admin/pages/settings.php:321
440
+ msgid "Right"
441
+ msgstr "Справа"
442
 
443
+ #: admin/views/sources/google.php:106
444
+ msgid "Search"
445
+ msgstr "Поиск"
446
 
447
+ #: admin/views/sources/google.php:104
448
+ msgid "Search..."
449
+ msgstr "Запрос для поиска"
450
 
451
+ #: admin/pages/settings.php:217
452
+ msgid "Select a font for the text in the featured image"
453
+ msgstr "Шрифт текста на изображении поста"
454
 
455
+ #: admin/pages/settings.php:325
456
+ msgid "Select how to horizontally align the text on the image"
457
+ msgstr "Горизонтальное выравнивание текста на изображении поста"
458
 
459
+ #: admin/pages/settings.php:340
460
+ msgid "Select how to vertically align the text on the image"
461
+ msgstr "Вертикальное выравнивание текста на изображении поста"
 
 
462
 
463
+ #: admin/pages/settings.php:182
464
+ msgid "Select image"
465
+ msgstr "Выбрать изображение"
466
 
467
+ #: admin/pages/settings.php:166
468
+ msgid "Select the background type for the featured image"
469
+ msgstr "Тип фона для изображения поста"
 
 
470
 
471
+ #: admin/pages/settings.php:281
472
+ msgid "Select type of text transformation"
473
+ msgstr "Выберите тип преобразования текста"
474
 
475
+ #: admin/views/tab-main.php:191
476
+ msgid "Set featured image in posts:"
477
+ msgstr "Добавлены изображения в посты:"
478
 
479
+ #: admin/pages/settings.php:199
480
+ msgid "Set format to save images"
481
+ msgstr "В каком формате сохранять изображения поста"
482
 
483
+ #: admin/pages/settings.php:175
484
+ msgid "Set the background color for the featured image"
485
+ msgstr "Цвет фона для изображения поста"
486
 
487
+ #: admin/pages/settings.php:184
488
+ msgid "Set the background image. Only JPG or PNG"
489
+ msgstr "Изображение для фона. Только JPG или PNG"
 
490
 
491
+ #: admin/pages/settings.php:235
492
+ msgid "Set the font color for the featured image"
493
+ msgstr "Цвет шрифта на изображении поста"
494
 
495
+ #: admin/pages/settings.php:228
496
+ msgid "Set the font size for the featured image"
497
+ msgstr "Размер шрифта на изображении поста"
 
498
 
499
+ #: admin/pages/settings.php:301
500
+ msgid "Set the line spacing"
501
+ msgstr "Интервал между строками текста (коэффициент от размера шрифта)"
502
 
503
+ #: admin/pages/settings.php:291
504
+ msgid "Set the maximum text length"
505
+ msgstr "Максимальная длинна текста (обрезается по словам)"
506
 
507
+ #: admin/pages/settings.php:267
508
+ msgid "Set the shadow color for the text"
509
+ msgstr "Цвет тени для текста"
 
 
 
 
510
 
511
+ #: admin/pages/settings.php:47
512
+ msgid "Settings"
513
+ msgstr "Настройки"
 
 
 
514
 
515
+ #: admin/views/tab-settings.php:38
516
+ msgid "Settings of"
517
+ msgstr "Настройки"
 
 
 
 
518
 
519
+ #: admin/pages/settings.php:46
520
+ msgid "Settings of APT"
521
+ msgstr "Настройки Auto Featured Image"
522
 
523
+ #: admin/pages/settings.php:266
524
+ msgid "Shadow color"
525
+ msgstr "Цвет тени"
526
 
527
+ #: includes/class-wapt-base.php:1307
528
+ msgid "Standard"
529
+ msgstr "Стандартные"
530
 
531
+ #: admin/pages/settings.php:400
532
+ msgid "String after text"
533
+ msgstr "Текст после"
534
 
535
+ #: admin/pages/settings.php:390
536
+ msgid "String before text"
537
+ msgstr "Текст до"
538
 
539
+ #: admin/views/tab-license.php:126
540
+ msgid "Submit Key"
541
+ msgstr "Отправить ключ"
542
 
543
+ #: admin/ajax/check-license.php:54
544
+ msgid "Subscription success cancelled"
545
+ msgstr "Подписка успешно отменена"
546
 
547
+ #: admin/views/tab-license.php:35
548
+ msgid "Synchronization"
549
+ msgstr "Синхронизация"
550
 
551
+ #: admin/pages/settings.php:290
552
+ msgid "Text length"
553
+ msgstr "Длина текста"
554
 
555
+ #: admin/pages/settings.php:241
556
+ msgid "Text settings"
557
+ msgstr "Настройки текста"
558
 
559
+ #: admin/pages/settings.php:253
560
+ msgid "Text shadow"
561
+ msgstr "Тень"
562
 
563
+ #: admin/pages/settings.php:280
564
+ msgid "Text transform"
565
+ msgstr "Преобразование текста"
566
 
567
+ #: admin/ajax/check-license.php:50
568
+ msgid "The license has been updated"
569
+ msgstr "Ваша лицензия была обновлена"
570
+
571
+ #: admin/ajax/check-license.php:46
572
+ msgid "The license is deactivated"
573
+ msgstr "Ваша лицензия деактивирована"
574
+
575
+ #: includes/class-wapt-base.php:409
576
+ msgid "This plugin has been automatically deactivated."
577
+ msgstr "Этот плагин был автоматически деактивирован."
578
+
579
+ #: includes/class-wapt-base.php:1251
580
  #, php-format
581
  msgid ""
582
+ "To download images from Google, specify Google API keys in the <a href='%s'>"
583
+ "settings</a>."
584
  msgstr ""
585
+ "Чтобы загружать изображения из Google, укажите ключи API Google в <a "
586
+ "href='%s'>настройках</a>."
587
 
588
+ #: includes/class-wapt-plugin.php:197
 
589
  msgid ""
590
+ "To use premium features, update the <b>Auto Featured Image Premium</b> "
591
+ "plugin!"
 
592
  msgstr ""
593
+ "Чтобы пользоваться премиум функциями, обновите плагин <b>Auto Featured Image "
594
+ "Premium</b>!"
595
 
596
+ #: admin/pages/settings.php:334
597
+ msgid "Top"
598
+ msgstr "Вверху"
 
 
 
 
 
 
 
 
 
 
 
 
599
 
600
+ #: admin/pages/settings.php:360
601
+ msgid "Top/bottom text padding"
602
+ msgstr "Верхний/нижний отступ"
603
 
604
+ #: includes/class-wapt-plugin.php:142
605
+ msgid "Unset featured image"
606
+ msgstr "Убрать изображение"
 
 
 
 
 
607
 
608
+ #: admin/views/tab-license.php:22
609
+ msgid "Upgrade to Premium"
610
+ msgstr "Обновить до Премиум"
611
 
612
+ #: includes/class-wapt-base.php:1322
613
+ msgid "Uploaded"
614
+ msgstr "Загруженные"
615
 
616
+ #: admin/pages/settings.php:276
617
+ msgid "Uppercase"
618
+ msgstr "ЗАГЛАВНЫЕ"
619
 
620
+ #: includes/class-wapt-base.php:205
621
+ msgid "Use as thumbnail"
622
+ msgstr "Применить изображение"
623
 
624
+ #: admin/pages/settings.php:254
625
+ msgid "Use text shadow?"
626
+ msgstr "Рисовать тень для текста?"
627
 
628
+ #: admin/views/tab-license.php:89
629
+ msgid "version"
630
+ msgstr "версия"
631
 
632
+ #: admin/pages/settings.php:339
633
+ msgid "Vertical text alignment"
634
+ msgstr "Вертикальное выравнивание"
635
 
636
+ #: includes/class-wapt-base.php:1279
637
+ #, php-format
638
+ msgid ""
639
+ "What's new in version 3.7.0? Find out from <a href='%s'>the article</a> on "
640
+ "our website."
641
+ msgstr ""
642
 
643
+ #: includes/class-wapt-plugin.php:219
644
+ msgid "With image"
645
+ msgstr "С изображением"
646
 
647
+ #: includes/class-wapt-plugin.php:262
648
+ msgid "Without featured image"
649
+ msgstr "Без изображения"
650
 
651
+ #: includes/class-wapt-plugin.php:220
652
+ msgid "Without image"
653
+ msgstr "Без изображения"
654
 
655
+ #: admin/pages/settings.php:453
656
+ msgid "You can get API key after registration on the site"
657
+ msgstr "Вы можете получить API ключ на сайте"
658
 
659
+ #: includes/image-search/class-google-images.php:62
660
+ #, php-format
661
+ msgid ""
662
+ "You have reached the limit at the moment. Try again in an 1 hour or <a "
663
+ "href=\"%s\">Upgrade to Premium</a>"
664
  msgstr ""
665
+ "На данный момент Вы достигли лимита запросов. Повторите попытку через 1 час "
666
+ "или <a href=\"%s\">обновите до Premium</a>"
667
 
668
+ #: admin/views/tab-main.php:132
669
+ msgid "You must enable Javascript in order to proceed!"
670
+ msgstr "Вам нужно включить JavaScript чтобы продолжить!"
671
+
672
+ #: admin/views/tab-license.php:58
673
  msgid ""
674
+ "You use a paid subscription for the plugin updates. In case you don’t want "
675
+ "to receive paid updates, please, click <a data-action=\"unsubscribe\" "
676
+ "class=\"wapt-control-btn\" href=\"#\">cancel subscription</a>"
 
677
  msgstr ""
678
 
679
+ #: admin/views/tab-license.php:25
680
+ #, php-format
681
+ msgid "Your current license for %1$s:"
682
+ msgstr ""
683
 
684
+ #: admin/ajax/check-license.php:41
685
+ msgid "Your license has been successfully activated"
686
+ msgstr "Ваша лицензия успешно активирована"
687
 
688
+ #: admin/views/tab-license.php:64
689
+ msgid ""
690
+ "Your license has expired, please extend the license to get updates and "
691
+ "support."
692
+ msgstr ""
693
+ "Ваша лицензия истекла, пожалуйста, продлите лицензию, чтобы продолжить "
694
+ "пользоваться премиум функциями"
languages/apt.pot CHANGED
@@ -3,7 +3,7 @@ msgid ""
3
  msgstr ""
4
  "Project-Id-Version: Auto Featured Image\n"
5
  "Report-Msgid-Bugs-To: \n"
6
- "POT-Creation-Date: 2020-07-23 08:21+0000\n"
7
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
9
  "Language-Team: \n"
@@ -15,635 +15,647 @@ msgstr ""
15
  "X-Generator: Loco https://localise.biz/\n"
16
  "X-Loco-Version: 2.2.0; wp-4.9.8"
17
 
18
- #: auto-post-thumbnail.php:50 includes/class-wapt-base.php:978
19
- #: admin/pages/generate.php:100
20
- msgid "Auto Featured Image"
 
 
21
  msgstr ""
22
 
23
- #: includes/class-wapt-base.php:208
24
- msgid "Use as thumbnail"
25
  msgstr ""
26
 
27
- #: includes/class-wapt-base.php:209 includes/class-wapt-base.php:935
28
- msgid "Change featured image"
29
  msgstr ""
30
 
31
- #: includes/class-wapt-base.php:418
32
- msgid "This plugin has been automatically deactivated."
 
33
  msgstr ""
34
 
35
- #: includes/class-wapt-base.php:839 admin/pages/settings.php:162
36
- msgid "Image"
37
  msgstr ""
38
 
39
- #: includes/class-wapt-base.php:932
40
- msgid "No image"
41
  msgstr ""
42
 
43
- #: includes/class-wapt-base.php:952
44
- msgid "Auto Featured Images"
45
  msgstr ""
46
 
47
- #: includes/class-wapt-base.php:952
48
- msgid "Add from APT"
49
  msgstr ""
50
 
51
- #: includes/class-wapt-base.php:1207
52
- #, php-format
53
- msgid ""
54
- "You have reached the limit at the moment. Try again in an 1 hour or <a "
55
- "href=\"%s\">Upgrade to Premium</a>"
56
  msgstr ""
57
 
58
- #: includes/class-wapt-base.php:1266
59
- #, php-format
60
- msgid ""
61
- "To download images from Google, specify Google API keys in the <a href='%s'>"
62
- "settings</a>."
63
  msgstr ""
64
 
65
- #: includes/class-wapt-base.php:1295
66
- #, php-format
67
- msgid ""
68
- "What's new in version 3.7.0? Find out from <a href='%s'>the article</a> on "
69
- "our website."
70
  msgstr ""
71
 
72
- #: includes/class-wapt-base.php:1323
73
- msgid "Standard"
74
  msgstr ""
75
 
76
- #: includes/class-wapt-base.php:1338
77
- msgid "Uploaded"
78
  msgstr ""
79
 
80
- #: includes/class-wapt-plugin.php:142
81
- msgid "Generate featured image"
82
  msgstr ""
83
 
84
- #: includes/class-wapt-plugin.php:143
85
- msgid "Unset featured image"
86
  msgstr ""
87
 
88
- #: includes/class-wapt-plugin.php:188
89
- msgid "Processed posts: "
 
 
 
 
 
 
 
 
 
 
 
 
 
90
  msgstr ""
91
 
92
- #: includes/class-wapt-plugin.php:198
93
  msgid ""
94
- "To use premium features, update the <b>Auto Featured Image Premium</b> "
95
- "plugin!"
 
 
96
  msgstr ""
97
 
98
- #: includes/class-wapt-plugin.php:219
99
- msgid "Featured Image"
100
  msgstr ""
101
 
102
- #: includes/class-wapt-plugin.php:220
103
- msgid "With image"
104
  msgstr ""
105
 
106
- #: includes/class-wapt-plugin.php:221
107
- msgid "Without image"
108
  msgstr ""
109
 
110
- #: includes/class-wapt-plugin.php:263
111
- msgid "Without featured image"
112
  msgstr ""
113
 
114
- #: includes/class-wapt-plugin.php:277
115
- msgid "Generate"
116
  msgstr ""
117
 
118
- #: admin/ajax/check-license.php:26
119
- msgid "Licensing action not passed or this action is prohibited!"
120
  msgstr ""
121
 
122
- #: admin/ajax/check-license.php:38
 
123
  msgid ""
124
- "License key is empty or license key too long (license key is 32 characters "
125
- "long)"
 
126
  msgstr ""
127
 
128
- #: admin/ajax/check-license.php:41
129
- msgid "Your license has been successfully activated"
130
  msgstr ""
131
 
132
- #: admin/ajax/check-license.php:46
133
- msgid "The license is deactivated"
134
  msgstr ""
135
 
136
- #: admin/ajax/check-license.php:50
137
- msgid "The license has been updated"
138
  msgstr ""
139
 
140
- #: admin/ajax/check-license.php:54
141
- msgid "Subscription success cancelled"
142
  msgstr ""
143
 
144
- #: admin/pages/about.php:45
145
- msgid "About APT"
146
  msgstr ""
147
 
148
- #: admin/pages/about.php:46
149
- msgid "About"
150
  msgstr ""
151
 
152
- #: admin/pages/generate.php:101
153
- msgid "Generate featured images"
154
  msgstr ""
155
 
156
- #: admin/pages/license.php:94
157
- msgid "License of APT"
158
  msgstr ""
159
 
160
- #: admin/pages/settings.php:46
161
- msgid "Settings of APT"
162
  msgstr ""
163
 
164
- #: admin/pages/settings.php:47
165
- msgid "Settings"
166
  msgstr ""
167
 
168
- #: admin/pages/settings.php:100
169
- msgid "Add featured image when saving a post"
170
  msgstr ""
171
 
172
- #: admin/pages/settings.php:102
173
- msgid "Automatically add featured image when saving a post"
174
  msgstr ""
175
 
176
- #: admin/pages/settings.php:110
177
- msgid "Find in post"
178
  msgstr ""
179
 
180
- #: admin/pages/settings.php:111
181
- msgid "Generate from title"
182
  msgstr ""
183
 
184
- #: admin/pages/settings.php:112
185
- msgid "Both"
186
  msgstr ""
187
 
188
  #: admin/pages/settings.php:115
189
  msgid "Featured image"
190
  msgstr ""
191
 
192
- #: admin/pages/settings.php:116
193
- msgid ""
194
- "How to generate featured image:\n"
195
- "\t\t\t\t\t\t\t<br> <b>Find in post:</b> search for the first image in the "
196
- "post text\n"
197
- "\t\t\t\t\t\t\t<br> <b>Generate from title:</b> created from the title on a "
198
- "colored background\n"
199
- "\t\t\t\t\t\t\t<br> <b>Both:</b> find an image in the post text, if it is not "
200
- "present, generate it from the title"
201
  msgstr ""
202
 
203
- #: admin/pages/settings.php:126 admin/pages/settings.php:128
204
- msgid "Delete settings when removing the plugin"
205
  msgstr ""
206
 
207
- #: admin/pages/settings.php:149
208
- msgid "Background settings"
209
  msgstr ""
210
 
211
- #: admin/pages/settings.php:161
212
- msgid "Color"
213
  msgstr ""
214
 
215
- #: admin/pages/settings.php:165
216
- msgid "Background type"
217
  msgstr ""
218
 
219
- #: admin/pages/settings.php:166
220
- msgid "Select the background type for the featured image"
221
  msgstr ""
222
 
223
- #: admin/pages/settings.php:174
224
- msgid "Background color for the image"
225
  msgstr ""
226
 
227
- #: admin/pages/settings.php:175
228
- msgid "Set the background color for the featured image"
229
  msgstr ""
230
 
231
- #: admin/pages/settings.php:182
232
- msgid "Select image"
233
  msgstr ""
234
 
235
- #: admin/pages/settings.php:183
236
- msgid "Background image"
237
  msgstr ""
238
 
239
- #: admin/pages/settings.php:184
240
- msgid "Set the background image. Only JPG or PNG"
241
  msgstr ""
242
 
243
- #: admin/pages/settings.php:194
244
- msgid "JPEG"
245
  msgstr ""
246
 
247
- #: admin/pages/settings.php:195
248
- msgid "PNG"
249
  msgstr ""
250
 
251
- #: admin/pages/settings.php:198
252
- msgid "Image format"
253
  msgstr ""
254
 
255
- #: admin/pages/settings.php:199
256
- msgid "Set format to save images"
257
  msgstr ""
258
 
259
- #: admin/pages/settings.php:204
260
- msgid "Font settings"
261
  msgstr ""
262
 
263
- #: admin/pages/settings.php:216
264
- msgid "Font name"
 
 
 
 
 
 
 
265
  msgstr ""
266
 
267
- #: admin/pages/settings.php:217
268
- msgid "Select a font for the text in the featured image"
269
  msgstr ""
270
 
271
- #: admin/pages/settings.php:227
272
- msgid "Font size"
273
  msgstr ""
274
 
275
- #: admin/pages/settings.php:228
276
- msgid "Set the font size for the featured image"
277
  msgstr ""
278
 
279
- #: admin/pages/settings.php:234
280
- msgid "Font color"
281
  msgstr ""
282
 
283
- #: admin/pages/settings.php:235
284
- msgid "Set the font color for the featured image"
285
  msgstr ""
286
 
287
- #: admin/pages/settings.php:241
288
- msgid "Text settings"
289
  msgstr ""
290
 
291
- #: admin/pages/settings.php:253
292
- msgid "Text shadow"
293
  msgstr ""
294
 
295
- #: admin/pages/settings.php:254
296
- msgid "Use text shadow?"
297
  msgstr ""
298
 
299
- #: admin/pages/settings.php:266
300
- msgid "Shadow color"
 
 
301
  msgstr ""
302
 
303
- #: admin/pages/settings.php:267
304
- msgid "Set the shadow color for the text"
305
  msgstr ""
306
 
307
- #: admin/pages/settings.php:275
308
- msgid "No transform"
309
  msgstr ""
310
 
311
- #: admin/pages/settings.php:276
312
- msgid "Uppercase"
313
  msgstr ""
314
 
315
  #: admin/pages/settings.php:277
316
  msgid "Lowercase"
317
  msgstr ""
318
 
319
- #: admin/pages/settings.php:280
320
- msgid "Text transform"
321
- msgstr ""
322
-
323
- #: admin/pages/settings.php:281
324
- msgid "Select type of text transformation"
325
  msgstr ""
326
 
327
- #: admin/pages/settings.php:288
328
- msgid "chars"
329
  msgstr ""
330
 
331
- #: admin/pages/settings.php:290
332
- msgid "Text length"
333
  msgstr ""
334
 
335
- #: admin/pages/settings.php:291
336
- msgid "Set the maximum text length"
337
  msgstr ""
338
 
339
- #: admin/pages/settings.php:300
340
- msgid "Line spacing"
 
 
341
  msgstr ""
342
 
343
- #: admin/pages/settings.php:301
344
- msgid "Set the line spacing"
345
  msgstr ""
346
 
347
- #: admin/pages/settings.php:307
348
- msgid "Alignment"
349
  msgstr ""
350
 
351
- #: admin/pages/settings.php:319
352
- msgid "Left"
353
  msgstr ""
354
 
355
- #: admin/pages/settings.php:320 admin/pages/settings.php:335
356
- msgid "Center"
357
  msgstr ""
358
 
359
- #: admin/pages/settings.php:321
360
- msgid "Right"
361
  msgstr ""
362
 
363
- #: admin/pages/settings.php:324
364
- msgid "Horizontal text alignment"
365
  msgstr ""
366
 
367
- #: admin/pages/settings.php:325
368
- msgid "Select how to horizontally align the text on the image"
369
  msgstr ""
370
 
371
- #: admin/pages/settings.php:334
372
- msgid "Top"
373
  msgstr ""
374
 
375
- #: admin/pages/settings.php:336
376
- msgid "Bottom"
377
  msgstr ""
378
 
379
- #: admin/pages/settings.php:339
380
- msgid "Vertical text alignment"
381
  msgstr ""
382
 
383
- #: admin/pages/settings.php:340
384
- msgid "Select how to vertically align the text on the image"
385
  msgstr ""
386
 
387
- #: admin/pages/settings.php:347
388
- msgid "Padding"
 
 
 
 
389
  msgstr ""
390
 
391
  #: admin/pages/settings.php:358 admin/pages/settings.php:369
392
  msgid "px"
393
  msgstr ""
394
 
395
- #: admin/pages/settings.php:360
396
- msgid "Top/bottom text padding"
397
  msgstr ""
398
 
399
- #: admin/pages/settings.php:361
400
- msgid "Padding at the top and bottom of the text"
401
  msgstr ""
402
 
403
- #: admin/pages/settings.php:371
404
- msgid "Left/right text padding"
405
  msgstr ""
406
 
407
- #: admin/pages/settings.php:372
408
- msgid "Padding at the left and right of the text"
409
  msgstr ""
410
 
411
- #: admin/pages/settings.php:379
412
- msgid "Addition of text"
413
  msgstr ""
414
 
415
- #: admin/pages/settings.php:390
416
- msgid "String before text"
417
  msgstr ""
418
 
419
- #: admin/pages/settings.php:391
420
- msgid "Additional string before text. For a line break, use <b>[br]</b>"
421
  msgstr ""
422
 
423
- #: admin/pages/settings.php:400
424
- msgid "String after text"
425
  msgstr ""
426
 
427
- #: admin/pages/settings.php:401
428
- msgid "Additional string after text. For a line break, use <b>[br]</b>"
429
  msgstr ""
430
 
431
- #: admin/pages/settings.php:427
432
- msgid "How to get google api key & custom search engine id"
433
  msgstr ""
434
 
435
- #: admin/pages/settings.php:444
436
- msgid "API key for Google"
437
  msgstr ""
438
 
439
- #: admin/pages/settings.php:452
440
- msgid "Google Custom Search Engine ID"
441
  msgstr ""
442
 
443
- #: admin/pages/settings.php:453
444
- msgid "You can get API key after registration on the site"
445
  msgstr ""
446
 
447
- #: admin/views/tab-license.php:11
448
- #, php-format
449
- msgid "Activate %s"
450
  msgstr ""
451
 
452
- #: admin/views/tab-license.php:22
453
- msgid "Upgrade to Premium"
454
  msgstr ""
455
 
456
- #: admin/views/tab-license.php:25
457
- #, php-format
458
- msgid "Your current license for %1$s:"
459
  msgstr ""
460
 
461
- #: admin/views/tab-license.php:31
462
- msgid "Delete Key"
463
  msgstr ""
464
 
465
- #: admin/views/tab-license.php:35
466
- msgid "Synchronization"
467
  msgstr ""
468
 
469
- #: admin/views/tab-license.php:54
470
- msgid ""
471
- "Public License is a GPLv2 compatible license allowing you to change and use "
472
- "this version of the plugin for free. Please keep in mind this license covers "
473
- "only free edition of the plugin. Premium versions are distributed with other "
474
- "type of a license."
475
  msgstr ""
476
 
477
- #: admin/views/tab-license.php:58
478
- msgid ""
479
- "You use a paid subscription for the plugin updates. In case you don’t want "
480
- "to receive paid updates, please, click <a data-action=\"unsubscribe\" "
481
- "class=\"wapt-control-btn\" href=\"#\">cancel subscription</a>"
482
  msgstr ""
483
 
484
- #: admin/views/tab-license.php:64
485
- msgid ""
486
- "Your license has expired, please extend the license to get updates and "
487
- "support."
488
  msgstr ""
489
 
490
- #: admin/views/tab-license.php:72
491
- msgid "domain"
492
  msgstr ""
493
 
494
- #: admin/views/tab-license.php:76
495
- msgid "plan"
496
  msgstr ""
497
 
498
- #: admin/views/tab-license.php:82
499
- msgid "of"
500
  msgstr ""
501
 
502
- #: admin/views/tab-license.php:84
503
- msgid "active sites"
504
  msgstr ""
505
 
506
- #: admin/views/tab-license.php:89
507
- msgid "version"
508
  msgstr ""
509
 
510
- #: admin/views/tab-license.php:94
511
- msgid "EXPIRED!"
512
  msgstr ""
513
 
514
- #: admin/views/tab-license.php:95
515
- msgid "please update the key"
516
  msgstr ""
517
 
518
- #: admin/views/tab-license.php:105
519
- msgid "day(s)"
520
  msgstr ""
521
 
522
- #: admin/views/tab-license.php:107
523
- msgid "remained"
524
  msgstr ""
525
 
526
- #: admin/views/tab-license.php:118
527
- msgid "Have a key to activate the premium version? Paste it here:"
528
  msgstr ""
529
 
530
- #: admin/views/tab-license.php:120
531
- msgid "Have a key to activate the plugin? Paste it here:"
532
  msgstr ""
533
 
534
- #: admin/views/tab-license.php:126
535
- msgid "Submit Key"
536
  msgstr ""
537
 
538
- #: admin/views/tab-license.php:134
539
- #, php-format
540
- msgid ""
541
- "<a href=\"%s\" target=\"_blank\" rel=\"noopener\">Lean more</a> about the "
542
- "premium version and get the license key to activate it now!"
543
  msgstr ""
544
 
545
- #: admin/views/tab-license.php:138
546
- #, php-format
547
- msgid ""
548
- "Can’t find your key? Go to <a href=\"%s\" target=\"_blank\" rel=\"noopener\">"
549
- "this page</a> and login using the e-mail address associated with your "
550
- "purchase."
551
  msgstr ""
552
 
553
- #: admin/views/tab-main.php:2
554
- msgid "Generate Featured images for posts"
555
  msgstr ""
556
 
557
- #: admin/views/tab-main.php:37
558
- msgid "Posts"
 
 
 
559
  msgstr ""
560
 
561
- #: admin/views/tab-main.php:38
562
- msgid "Pages"
 
 
563
  msgstr ""
564
 
565
- #: admin/views/tab-main.php:105
566
- msgid "Generate Featured images"
567
  msgstr ""
568
 
569
- #: admin/views/tab-main.php:110
570
- msgid "Delete Featured images"
571
  msgstr ""
572
 
573
- #: admin/views/tab-main.php:128
574
- msgid ""
575
- "Note: Thumbnails won't be generated for posts that already have post "
576
- "thumbnail or <strong><em>skip_post_thumb</em></strong> custom meta field."
577
  msgstr ""
578
 
579
- #: admin/views/tab-main.php:130
580
- msgid "You must enable Javascript in order to proceed!"
581
  msgstr ""
582
 
583
- #: admin/views/tab-main.php:189 admin/views/tab-main.php:252
584
- msgid "All done! Processed posts:"
585
  msgstr ""
586
 
587
- #: admin/views/tab-main.php:189
588
- msgid "Set featured image in posts:"
589
  msgstr ""
590
 
591
- #: admin/views/tab-main.php:252
592
- msgid "Delete featured image in posts:"
593
  msgstr ""
594
 
595
- #: admin/views/tab-settings.php:38
596
- msgid "Settings of"
597
  msgstr ""
598
 
599
- #: admin/views/sources/google.php:43
600
- msgid "No hits"
601
  msgstr ""
602
 
603
- #: admin/views/sources/google.php:160
604
- msgid "Search..."
605
  msgstr ""
606
 
607
- #: admin/views/sources/google.php:162
608
- msgid "Search"
 
 
 
609
  msgstr ""
610
 
611
- #: admin/views/sources/google.php:167
612
- msgid "Commercial and derived use"
613
  msgstr ""
614
 
615
- #: admin/views/sources/google.php:175
616
- msgid "Prev"
617
  msgstr ""
618
 
619
- #: admin/views/sources/google.php:178
620
- msgid "Next"
621
  msgstr ""
622
 
623
- #: admin/views/sources/google.php:186
624
- msgid "API key is missing. Add it in APT settings"
625
  msgstr ""
626
 
627
- #. Name of the plugin
628
- msgid "Auto Featured Image (Auto Post Thumbnail)"
 
 
 
629
  msgstr ""
630
 
631
- #. Description of the plugin
 
 
 
 
632
  msgid ""
633
- "Automatically generate the Featured Image from the first image in post or "
634
- "any custom post type only if Featured Image is not set manually. Featured "
635
- "Image Generation From Title. Native image search for Elementor, Gutenberg, "
636
- "Classic Editor."
637
  msgstr ""
638
 
639
- #. URI of the plugin
640
- msgid "https://cm-wp.com/apt"
 
641
  msgstr ""
642
 
643
- #. Author of the plugin
644
- msgid "Creativemotion <support@cm-wp.com>"
645
  msgstr ""
646
 
647
- #. Author URI of the plugin
648
- msgid "cm-wp.com"
 
 
649
  msgstr ""
3
  msgstr ""
4
  "Project-Id-Version: Auto Featured Image\n"
5
  "Report-Msgid-Bugs-To: \n"
6
+ "POT-Creation-Date: 2021-02-10 12:52+0000\n"
7
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
9
  "Language-Team: \n"
15
  "X-Generator: Loco https://localise.biz/\n"
16
  "X-Loco-Version: 2.2.0; wp-4.9.8"
17
 
18
+ #: admin/views/tab-license.php:134
19
+ #, php-format
20
+ msgid ""
21
+ "<a href=\"%s\" target=\"_blank\" rel=\"noopener\">Lean more</a> about the "
22
+ "premium version and get the license key to activate it now!"
23
  msgstr ""
24
 
25
+ #: admin/pages/about.php:46
26
+ msgid "About"
27
  msgstr ""
28
 
29
+ #: admin/pages/about.php:45
30
+ msgid "About APT"
31
  msgstr ""
32
 
33
+ #: admin/views/tab-license.php:11
34
+ #, php-format
35
+ msgid "Activate %s"
36
  msgstr ""
37
 
38
+ #: admin/views/tab-license.php:84
39
+ msgid "active sites"
40
  msgstr ""
41
 
42
+ #: admin/pages/settings.php:100
43
+ msgid "Add featured image when saving a post"
44
  msgstr ""
45
 
46
+ #: includes/class-wapt-base.php:931
47
+ msgid "Add from APT"
48
  msgstr ""
49
 
50
+ #: admin/pages/settings.php:379
51
+ msgid "Addition of text"
52
  msgstr ""
53
 
54
+ #: admin/pages/settings.php:401
55
+ msgid "Additional string after text. For a line break, use <b>[br]</b>"
 
 
 
56
  msgstr ""
57
 
58
+ #: admin/pages/settings.php:391
59
+ msgid "Additional string before text. For a line break, use <b>[br]</b>"
 
 
 
60
  msgstr ""
61
 
62
+ #: admin/pages/settings.php:307
63
+ msgid "Alignment"
 
 
 
64
  msgstr ""
65
 
66
+ #: admin/views/tab-main.php:191 admin/views/tab-main.php:254
67
+ msgid "All done! Processed posts:"
68
  msgstr ""
69
 
70
+ #: admin/views/tab-settings.php:21
71
+ msgid "API"
72
  msgstr ""
73
 
74
+ #: admin/pages/settings.php:444
75
+ msgid "API key for Google"
76
  msgstr ""
77
 
78
+ #: admin/views/sources/google.php:130
79
+ msgid "API key is missing. Add it in APT settings"
80
  msgstr ""
81
 
82
+ #: auto-post-thumbnail.php:42 includes/class-wapt-base.php:957
83
+ #: admin/pages/generate.php:100
84
+ msgid "Auto Featured Image"
85
+ msgstr ""
86
+
87
+ #. Name of the plugin
88
+ msgid "Auto Featured Image (Auto Post Thumbnail)"
89
+ msgstr ""
90
+
91
+ #: includes/class-wapt-base.php:931
92
+ msgid "Auto Featured Images"
93
+ msgstr ""
94
+
95
+ #: admin/pages/settings.php:102
96
+ msgid "Automatically add featured image when saving a post"
97
  msgstr ""
98
 
99
+ #. Description of the plugin
100
  msgid ""
101
+ "Automatically generate the Featured Image from the first image in post or "
102
+ "any custom post type only if Featured Image is not set manually. Featured "
103
+ "Image Generation From Title. Native image search for Elementor, Gutenberg, "
104
+ "Classic Editor."
105
  msgstr ""
106
 
107
+ #: admin/pages/settings.php:174
108
+ msgid "Background color for the image"
109
  msgstr ""
110
 
111
+ #: admin/pages/settings.php:183
112
+ msgid "Background image"
113
  msgstr ""
114
 
115
+ #: admin/pages/settings.php:149
116
+ msgid "Background settings"
117
  msgstr ""
118
 
119
+ #: admin/pages/settings.php:165
120
+ msgid "Background type"
121
  msgstr ""
122
 
123
+ #: admin/pages/settings.php:112
124
+ msgid "Both"
125
  msgstr ""
126
 
127
+ #: admin/pages/settings.php:336
128
+ msgid "Bottom"
129
  msgstr ""
130
 
131
+ #: admin/views/tab-license.php:138
132
+ #, php-format
133
  msgid ""
134
+ "Can’t find your key? Go to <a href=\"%s\" target=\"_blank\" rel=\"noopener\">"
135
+ "this page</a> and login using the e-mail address associated with your "
136
+ "purchase."
137
  msgstr ""
138
 
139
+ #: admin/pages/settings.php:320 admin/pages/settings.php:335
140
+ msgid "Center"
141
  msgstr ""
142
 
143
+ #: includes/class-wapt-base.php:206 includes/class-wapt-base.php:914
144
+ msgid "Change featured image"
145
  msgstr ""
146
 
147
+ #: admin/pages/settings.php:288
148
+ msgid "chars"
149
  msgstr ""
150
 
151
+ #. Author URI of the plugin
152
+ msgid "cm-wp.com"
153
  msgstr ""
154
 
155
+ #: admin/pages/settings.php:161
156
+ msgid "Color"
157
  msgstr ""
158
 
159
+ #: admin/views/sources/google.php:111
160
+ msgid "Commercial and derived use"
161
  msgstr ""
162
 
163
+ #. Author of the plugin
164
+ msgid "Creativemotion <support@cm-wp.com>"
165
  msgstr ""
166
 
167
+ #: admin/views/tab-license.php:105
168
+ msgid "day(s)"
169
  msgstr ""
170
 
171
+ #: admin/views/tab-main.php:254
172
+ msgid "Delete featured image in posts:"
173
  msgstr ""
174
 
175
+ #: admin/views/tab-main.php:112
176
+ msgid "Delete Featured images"
177
  msgstr ""
178
 
179
+ #: admin/views/tab-license.php:31
180
+ msgid "Delete Key"
181
  msgstr ""
182
 
183
+ #: admin/pages/settings.php:126 admin/pages/settings.php:128
184
+ msgid "Delete settings when removing the plugin"
185
  msgstr ""
186
 
187
+ #: admin/views/tab-license.php:72
188
+ msgid "domain"
189
  msgstr ""
190
 
191
+ #: admin/views/tab-license.php:94
192
+ msgid "EXPIRED!"
193
  msgstr ""
194
 
195
+ #: includes/class-wapt-plugin.php:218
196
+ msgid "Featured Image"
197
  msgstr ""
198
 
199
  #: admin/pages/settings.php:115
200
  msgid "Featured image"
201
  msgstr ""
202
 
203
+ #: admin/pages/settings.php:110
204
+ msgid "Find in post"
 
 
 
 
 
 
 
205
  msgstr ""
206
 
207
+ #: admin/pages/settings.php:234
208
+ msgid "Font color"
209
  msgstr ""
210
 
211
+ #: admin/pages/settings.php:216
212
+ msgid "Font name"
213
  msgstr ""
214
 
215
+ #: admin/pages/settings.php:204
216
+ msgid "Font settings"
217
  msgstr ""
218
 
219
+ #: admin/pages/settings.php:227
220
+ msgid "Font size"
221
  msgstr ""
222
 
223
+ #: admin/views/tab-settings.php:9
224
+ msgid "General"
225
  msgstr ""
226
 
227
+ #: includes/class-wapt-plugin.php:276
228
+ msgid "Generate"
229
  msgstr ""
230
 
231
+ #: includes/class-wapt-plugin.php:141
232
+ msgid "Generate featured image"
233
  msgstr ""
234
 
235
+ #: admin/views/tab-main.php:107
236
+ msgid "Generate Featured images"
237
  msgstr ""
238
 
239
+ #: admin/pages/generate.php:101
240
+ msgid "Generate featured images"
241
  msgstr ""
242
 
243
+ #: admin/views/tab-main.php:2
244
+ msgid "Generate Featured images for posts"
245
  msgstr ""
246
 
247
+ #: admin/pages/settings.php:111
248
+ msgid "Generate from title"
249
  msgstr ""
250
 
251
+ #: admin/pages/settings.php:452
252
+ msgid "Google Custom Search Engine ID"
253
  msgstr ""
254
 
255
+ #: admin/views/tab-license.php:120
256
+ msgid "Have a key to activate the plugin? Paste it here:"
257
  msgstr ""
258
 
259
+ #: admin/views/tab-license.php:118
260
+ msgid "Have a key to activate the premium version? Paste it here:"
261
  msgstr ""
262
 
263
+ #: admin/pages/settings.php:324
264
+ msgid "Horizontal text alignment"
265
  msgstr ""
266
 
267
+ #: admin/pages/settings.php:116
268
+ msgid ""
269
+ "How to generate featured image:\n"
270
+ "\t\t\t\t\t\t\t<br> <b>Find in post:</b> search for the first image in the "
271
+ "post text\n"
272
+ "\t\t\t\t\t\t\t<br> <b>Generate from title:</b> created from the title on a "
273
+ "colored background\n"
274
+ "\t\t\t\t\t\t\t<br> <b>Both:</b> find an image in the post text, if it is not "
275
+ "present, generate it from the title"
276
  msgstr ""
277
 
278
+ #: admin/pages/settings.php:427
279
+ msgid "How to get google api key & custom search engine id"
280
  msgstr ""
281
 
282
+ #. URI of the plugin
283
+ msgid "https://cm-wp.com/apt"
284
  msgstr ""
285
 
286
+ #: includes/class-wapt-base.php:810 admin/pages/settings.php:162
287
+ msgid "Image"
288
  msgstr ""
289
 
290
+ #: admin/pages/settings.php:198
291
+ msgid "Image format"
292
  msgstr ""
293
 
294
+ #: admin/views/tab-settings.php:15
295
+ msgid "Image generation"
296
  msgstr ""
297
 
298
+ #: admin/pages/settings.php:194
299
+ msgid "JPEG"
300
  msgstr ""
301
 
302
+ #: admin/pages/settings.php:319
303
+ msgid "Left"
304
  msgstr ""
305
 
306
+ #: admin/pages/settings.php:371
307
+ msgid "Left/right text padding"
308
  msgstr ""
309
 
310
+ #: admin/ajax/check-license.php:38
311
+ msgid ""
312
+ "License key is empty or license key too long (license key is 32 characters "
313
+ "long)"
314
  msgstr ""
315
 
316
+ #: admin/pages/license.php:94
317
+ msgid "License of APT"
318
  msgstr ""
319
 
320
+ #: admin/ajax/check-license.php:26
321
+ msgid "Licensing action not passed or this action is prohibited!"
322
  msgstr ""
323
 
324
+ #: admin/pages/settings.php:300
325
+ msgid "Line spacing"
326
  msgstr ""
327
 
328
  #: admin/pages/settings.php:277
329
  msgid "Lowercase"
330
  msgstr ""
331
 
332
+ #: admin/views/sources/google.php:122
333
+ msgid "Next"
 
 
 
 
334
  msgstr ""
335
 
336
+ #: admin/views/sources/google.php:17
337
+ msgid "No hits"
338
  msgstr ""
339
 
340
+ #: includes/class-wapt-base.php:911
341
+ msgid "No image"
342
  msgstr ""
343
 
344
+ #: admin/pages/settings.php:275
345
+ msgid "No transform"
346
  msgstr ""
347
 
348
+ #: admin/views/tab-main.php:130
349
+ msgid ""
350
+ "Note: Thumbnails won't be generated for posts that already have post "
351
+ "thumbnail or <strong><em>skip_post_thumb</em></strong> custom meta field."
352
  msgstr ""
353
 
354
+ #: admin/views/tab-license.php:82
355
+ msgid "of"
356
  msgstr ""
357
 
358
+ #: admin/pages/settings.php:347
359
+ msgid "Padding"
360
  msgstr ""
361
 
362
+ #: admin/pages/settings.php:372
363
+ msgid "Padding at the left and right of the text"
364
  msgstr ""
365
 
366
+ #: admin/pages/settings.php:361
367
+ msgid "Padding at the top and bottom of the text"
368
  msgstr ""
369
 
370
+ #: admin/views/tab-main.php:38
371
+ msgid "Pages"
372
  msgstr ""
373
 
374
+ #: admin/views/tab-license.php:76
375
+ msgid "plan"
376
  msgstr ""
377
 
378
+ #: admin/views/tab-license.php:95
379
+ msgid "please update the key"
380
  msgstr ""
381
 
382
+ #: admin/pages/settings.php:195
383
+ msgid "PNG"
384
  msgstr ""
385
 
386
+ #: admin/views/tab-main.php:37
387
+ msgid "Posts"
388
  msgstr ""
389
 
390
+ #: admin/views/sources/google.php:119
391
+ msgid "Prev"
392
  msgstr ""
393
 
394
+ #: includes/class-wapt-plugin.php:187
395
+ msgid "Processed posts: "
396
  msgstr ""
397
 
398
+ #: admin/views/tab-license.php:54
399
+ msgid ""
400
+ "Public License is a GPLv2 compatible license allowing you to change and use "
401
+ "this version of the plugin for free. Please keep in mind this license covers "
402
+ "only free edition of the plugin. Premium versions are distributed with other "
403
+ "type of a license."
404
  msgstr ""
405
 
406
  #: admin/pages/settings.php:358 admin/pages/settings.php:369
407
  msgid "px"
408
  msgstr ""
409
 
410
+ #: admin/views/tab-license.php:107
411
+ msgid "remained"
412
  msgstr ""
413
 
414
+ #: admin/pages/settings.php:321
415
+ msgid "Right"
416
  msgstr ""
417
 
418
+ #: admin/views/sources/google.php:106
419
+ msgid "Search"
420
  msgstr ""
421
 
422
+ #: admin/views/sources/google.php:104
423
+ msgid "Search..."
424
  msgstr ""
425
 
426
+ #: admin/pages/settings.php:217
427
+ msgid "Select a font for the text in the featured image"
428
  msgstr ""
429
 
430
+ #: admin/pages/settings.php:325
431
+ msgid "Select how to horizontally align the text on the image"
432
  msgstr ""
433
 
434
+ #: admin/pages/settings.php:340
435
+ msgid "Select how to vertically align the text on the image"
436
  msgstr ""
437
 
438
+ #: admin/pages/settings.php:182
439
+ msgid "Select image"
440
  msgstr ""
441
 
442
+ #: admin/pages/settings.php:166
443
+ msgid "Select the background type for the featured image"
444
  msgstr ""
445
 
446
+ #: admin/pages/settings.php:281
447
+ msgid "Select type of text transformation"
448
  msgstr ""
449
 
450
+ #: admin/views/tab-main.php:191
451
+ msgid "Set featured image in posts:"
452
  msgstr ""
453
 
454
+ #: admin/pages/settings.php:199
455
+ msgid "Set format to save images"
456
  msgstr ""
457
 
458
+ #: admin/pages/settings.php:175
459
+ msgid "Set the background color for the featured image"
460
  msgstr ""
461
 
462
+ #: admin/pages/settings.php:184
463
+ msgid "Set the background image. Only JPG or PNG"
 
464
  msgstr ""
465
 
466
+ #: admin/pages/settings.php:235
467
+ msgid "Set the font color for the featured image"
468
  msgstr ""
469
 
470
+ #: admin/pages/settings.php:228
471
+ msgid "Set the font size for the featured image"
 
472
  msgstr ""
473
 
474
+ #: admin/pages/settings.php:301
475
+ msgid "Set the line spacing"
476
  msgstr ""
477
 
478
+ #: admin/pages/settings.php:291
479
+ msgid "Set the maximum text length"
480
  msgstr ""
481
 
482
+ #: admin/pages/settings.php:267
483
+ msgid "Set the shadow color for the text"
 
 
 
 
484
  msgstr ""
485
 
486
+ #: admin/pages/settings.php:47
487
+ msgid "Settings"
 
 
 
488
  msgstr ""
489
 
490
+ #: admin/views/tab-settings.php:38
491
+ msgid "Settings of"
 
 
492
  msgstr ""
493
 
494
+ #: admin/pages/settings.php:46
495
+ msgid "Settings of APT"
496
  msgstr ""
497
 
498
+ #: admin/pages/settings.php:266
499
+ msgid "Shadow color"
500
  msgstr ""
501
 
502
+ #: includes/class-wapt-base.php:1307
503
+ msgid "Standard"
504
  msgstr ""
505
 
506
+ #: admin/pages/settings.php:400
507
+ msgid "String after text"
508
  msgstr ""
509
 
510
+ #: admin/pages/settings.php:390
511
+ msgid "String before text"
512
  msgstr ""
513
 
514
+ #: admin/views/tab-license.php:126
515
+ msgid "Submit Key"
516
  msgstr ""
517
 
518
+ #: admin/ajax/check-license.php:54
519
+ msgid "Subscription success cancelled"
520
  msgstr ""
521
 
522
+ #: admin/views/tab-license.php:35
523
+ msgid "Synchronization"
524
  msgstr ""
525
 
526
+ #: admin/pages/settings.php:290
527
+ msgid "Text length"
528
  msgstr ""
529
 
530
+ #: admin/pages/settings.php:241
531
+ msgid "Text settings"
532
  msgstr ""
533
 
534
+ #: admin/pages/settings.php:253
535
+ msgid "Text shadow"
536
  msgstr ""
537
 
538
+ #: admin/pages/settings.php:280
539
+ msgid "Text transform"
540
  msgstr ""
541
 
542
+ #: admin/ajax/check-license.php:50
543
+ msgid "The license has been updated"
 
 
 
544
  msgstr ""
545
 
546
+ #: admin/ajax/check-license.php:46
547
+ msgid "The license is deactivated"
 
 
 
 
548
  msgstr ""
549
 
550
+ #: includes/class-wapt-base.php:409
551
+ msgid "This plugin has been automatically deactivated."
552
  msgstr ""
553
 
554
+ #: includes/class-wapt-base.php:1251
555
+ #, php-format
556
+ msgid ""
557
+ "To download images from Google, specify Google API keys in the <a href='%s'>"
558
+ "settings</a>."
559
  msgstr ""
560
 
561
+ #: includes/class-wapt-plugin.php:197
562
+ msgid ""
563
+ "To use premium features, update the <b>Auto Featured Image Premium</b> "
564
+ "plugin!"
565
  msgstr ""
566
 
567
+ #: admin/pages/settings.php:334
568
+ msgid "Top"
569
  msgstr ""
570
 
571
+ #: admin/pages/settings.php:360
572
+ msgid "Top/bottom text padding"
573
  msgstr ""
574
 
575
+ #: includes/class-wapt-plugin.php:142
576
+ msgid "Unset featured image"
 
 
577
  msgstr ""
578
 
579
+ #: admin/views/tab-license.php:22
580
+ msgid "Upgrade to Premium"
581
  msgstr ""
582
 
583
+ #: includes/class-wapt-base.php:1322
584
+ msgid "Uploaded"
585
  msgstr ""
586
 
587
+ #: admin/pages/settings.php:276
588
+ msgid "Uppercase"
589
  msgstr ""
590
 
591
+ #: includes/class-wapt-base.php:205
592
+ msgid "Use as thumbnail"
593
  msgstr ""
594
 
595
+ #: admin/pages/settings.php:254
596
+ msgid "Use text shadow?"
597
  msgstr ""
598
 
599
+ #: admin/views/tab-license.php:89
600
+ msgid "version"
601
  msgstr ""
602
 
603
+ #: admin/pages/settings.php:339
604
+ msgid "Vertical text alignment"
605
  msgstr ""
606
 
607
+ #: includes/class-wapt-base.php:1279
608
+ #, php-format
609
+ msgid ""
610
+ "What's new in version 3.7.0? Find out from <a href='%s'>the article</a> on "
611
+ "our website."
612
  msgstr ""
613
 
614
+ #: includes/class-wapt-plugin.php:219
615
+ msgid "With image"
616
  msgstr ""
617
 
618
+ #: includes/class-wapt-plugin.php:262
619
+ msgid "Without featured image"
620
  msgstr ""
621
 
622
+ #: includes/class-wapt-plugin.php:220
623
+ msgid "Without image"
624
  msgstr ""
625
 
626
+ #: admin/pages/settings.php:453
627
+ msgid "You can get API key after registration on the site"
628
  msgstr ""
629
 
630
+ #: includes/image-search/class-google-images.php:62
631
+ #, php-format
632
+ msgid ""
633
+ "You have reached the limit at the moment. Try again in an 1 hour or <a "
634
+ "href=\"%s\">Upgrade to Premium</a>"
635
  msgstr ""
636
 
637
+ #: admin/views/tab-main.php:132
638
+ msgid "You must enable Javascript in order to proceed!"
639
+ msgstr ""
640
+
641
+ #: admin/views/tab-license.php:58
642
  msgid ""
643
+ "You use a paid subscription for the plugin updates. In case you don’t want "
644
+ "to receive paid updates, please, click <a data-action=\"unsubscribe\" "
645
+ "class=\"wapt-control-btn\" href=\"#\">cancel subscription</a>"
 
646
  msgstr ""
647
 
648
+ #: admin/views/tab-license.php:25
649
+ #, php-format
650
+ msgid "Your current license for %1$s:"
651
  msgstr ""
652
 
653
+ #: admin/ajax/check-license.php:41
654
+ msgid "Your license has been successfully activated"
655
  msgstr ""
656
 
657
+ #: admin/views/tab-license.php:64
658
+ msgid ""
659
+ "Your license has expired, please extend the license to get updates and "
660
+ "support."
661
  msgstr ""
libs/factory/adverts/boot.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- use WBCR\Factory_Adverts_112\Base;
4
 
5
  /**
6
  * Factory Adverts
@@ -20,31 +20,31 @@ if( !defined('ABSPATH') ) {
20
  exit;
21
  }
22
 
23
- if( defined('FACTORY_ADVERTS_112_LOADED') || (defined('FACTORY_ADVERTS_BLOCK') && FACTORY_ADVERTS_BLOCK) ) {
24
  return;
25
  }
26
 
27
  # Устанавливаем константу, что модуль уже загружен
28
- define('FACTORY_ADVERTS_112_LOADED', true);
29
 
30
  # Устанавливаем версию модуля
31
- define('FACTORY_ADVERTS_112_VERSION', '1.1.2');
32
 
33
  # Регистрируем тектовый домен, для интернализации интерфейса модуля
34
- load_plugin_textdomain('wbcr_factory_adverts_112', false, dirname(plugin_basename(__FILE__)) . '/langs');
35
 
36
  # Устанавливаем директорию модуля
37
- define('FACTORY_ADVERTS_112_DIR', dirname(__FILE__));
38
 
39
  # Устанавливаем url модуля
40
- define('FACTORY_ADVERTS_112_URL', plugins_url(null, __FILE__));
41
 
42
- require_once(FACTORY_ADVERTS_112_DIR . '/includes/class-rest-request.php');
43
- require_once(FACTORY_ADVERTS_112_DIR . '/includes/class-base.php');
44
 
45
  /**
46
- * @param Wbcr_Factory433_Plugin $plugin
47
  */
48
- add_action('wbcr_factory_adverts_112_plugin_created', function ($plugin) {
49
- $plugin->set_adverts_manager("WBCR\Factory_Adverts_112\Base");
50
  });
1
  <?php
2
 
3
+ use WBCR\Factory_Adverts_122\Base;
4
 
5
  /**
6
  * Factory Adverts
20
  exit;
21
  }
22
 
23
+ if( defined('FACTORY_ADVERTS_122_LOADED') || (defined('FACTORY_ADVERTS_BLOCK') && FACTORY_ADVERTS_BLOCK) ) {
24
  return;
25
  }
26
 
27
  # Устанавливаем константу, что модуль уже загружен
28
+ define('FACTORY_ADVERTS_122_LOADED', true);
29
 
30
  # Устанавливаем версию модуля
31
+ define('FACTORY_ADVERTS_122_VERSION', '1.2.2');
32
 
33
  # Регистрируем тектовый домен, для интернализации интерфейса модуля
34
+ load_plugin_textdomain('wbcr_factory_adverts_122', false, dirname(plugin_basename(__FILE__)) . '/langs');
35
 
36
  # Устанавливаем директорию модуля
37
+ define('FACTORY_ADVERTS_122_DIR', dirname(__FILE__));
38
 
39
  # Устанавливаем url модуля
40
+ define('FACTORY_ADVERTS_122_URL', plugins_url(null, __FILE__));
41
 
42
+ require_once(FACTORY_ADVERTS_122_DIR . '/includes/class-rest-request.php');
43
+ require_once(FACTORY_ADVERTS_122_DIR . '/includes/class-base.php');
44
 
45
  /**
46
+ * @param Wbcr_Factory444_Plugin $plugin
47
  */
48
+ add_action('wbcr_factory_adverts_122_plugin_created', function ($plugin) {
49
+ $plugin->set_adverts_manager("WBCR\Factory_Adverts_122\Base");
50
  });
libs/factory/adverts/includes/class-base.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Adverts_112;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
@@ -28,7 +28,7 @@ class Base {
28
  *
29
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
30
  * @since 1.0.1
31
- * @var \Wbcr_Factory433_Plugin
32
  */
33
  private $plugin;
34
 
@@ -53,7 +53,7 @@ class Base {
53
  *
54
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
55
  * @since 1.0.1
56
- * @var \WBCR\Factory_Adverts_112\Creative_Motion_API
57
  */
58
  private $api;
59
 
@@ -82,9 +82,9 @@ class Base {
82
  *
83
  * @since 1.0.0 Added
84
  *
85
- * @param \Wbcr_Factory433_Plugin $plugin
86
  */
87
- public function __construct( \Wbcr_Factory433_Plugin $plugin, $settings ) {
88
  $this->plugin = $plugin;
89
 
90
  $this->settings = wp_parse_args( $settings, [
@@ -257,7 +257,7 @@ class Base {
257
  $content = $this->get_debug_message( 'dashboard_widget' );
258
  }
259
 
260
- require_once FACTORY_ADVERTS_112_DIR . '/includes/class-dashboard-widget.php';
261
  new Dashboard_Widget( $this->plugin, $content );
262
  }
263
  }
1
  <?php
2
 
3
+ namespace WBCR\Factory_Adverts_122;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
28
  *
29
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
30
  * @since 1.0.1
31
+ * @var \Wbcr_Factory444_Plugin
32
  */
33
  private $plugin;
34
 
53
  *
54
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
55
  * @since 1.0.1
56
+ * @var \WBCR\Factory_Adverts_122\Creative_Motion_API
57
  */
58
  private $api;
59
 
82
  *
83
  * @since 1.0.0 Added
84
  *
85
+ * @param \Wbcr_Factory444_Plugin $plugin
86
  */
87
+ public function __construct( \Wbcr_Factory444_Plugin $plugin, $settings ) {
88
  $this->plugin = $plugin;
89
 
90
  $this->settings = wp_parse_args( $settings, [
257
  $content = $this->get_debug_message( 'dashboard_widget' );
258
  }
259
 
260
+ require_once FACTORY_ADVERTS_122_DIR . '/includes/class-dashboard-widget.php';
261
  new Dashboard_Widget( $this->plugin, $content );
262
  }
263
  }
libs/factory/adverts/includes/class-dashboard-widget.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Adverts_112;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
@@ -35,7 +35,7 @@ class Dashboard_Widget {
35
  *
36
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
37
  * @since 1.0.1
38
- * @var \Wbcr_Factory433_Plugin
39
  */
40
  private $plugin;
41
 
@@ -46,10 +46,10 @@ class Dashboard_Widget {
46
  *
47
  * @since 1.0.0 Added
48
  *
49
- * @param \Wbcr_Factory433_Plugin $plugin
50
  * @param string $content
51
  */
52
- public function __construct( \Wbcr_Factory433_Plugin $plugin, $content ) {
53
 
54
  $this->plugin = $plugin;
55
  $this->content = $content;
1
  <?php
2
 
3
+ namespace WBCR\Factory_Adverts_122;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
35
  *
36
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
37
  * @since 1.0.1
38
+ * @var \Wbcr_Factory444_Plugin
39
  */
40
  private $plugin;
41
 
46
  *
47
  * @since 1.0.0 Added
48
  *
49
+ * @param \Wbcr_Factory444_Plugin $plugin
50
  * @param string $content
51
  */
52
+ public function __construct( \Wbcr_Factory444_Plugin $plugin, $content ) {
53
 
54
  $this->plugin = $plugin;
55
  $this->content = $content;
libs/factory/adverts/includes/class-rest-request.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Adverts_112;
4
 
5
  // Exit if accessed directly
6
  if( !defined('ABSPATH') ) {
@@ -65,7 +65,7 @@ class Creative_Motion_API {
65
  *
66
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
67
  * @since 1.0.1
68
- * @var \Wbcr_Factory433_Plugin
69
  */
70
  private $plugin;
71
 
@@ -75,11 +75,11 @@ class Creative_Motion_API {
75
  *
76
  * Variable initialization.
77
  *
78
- * @param \Wbcr_Factory433_Plugin $plugin_name
79
  * @since 1.0.0 Added
80
  *
81
  */
82
- public function __construct(\Wbcr_Factory433_Plugin $plugin)
83
  {
84
  $this->plugin = $plugin;
85
  }
1
  <?php
2
 
3
+ namespace WBCR\Factory_Adverts_122;
4
 
5
  // Exit if accessed directly
6
  if( !defined('ABSPATH') ) {
65
  *
66
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
67
  * @since 1.0.1
68
+ * @var \Wbcr_Factory444_Plugin
69
  */
70
  private $plugin;
71
 
75
  *
76
  * Variable initialization.
77
  *
78
+ * @param \Wbcr_Factory444_Plugin $plugin_name
79
  * @since 1.0.0 Added
80
  *
81
  */
82
+ public function __construct(\Wbcr_Factory444_Plugin $plugin)
83
  {
84
  $this->plugin = $plugin;
85
  }
libs/factory/adverts/langs/wbcr_factory_adverts_122-ru_RU.mo ADDED
Binary file
libs/factory/adverts/langs/wbcr_factory_adverts_122-ru_RU.po ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: factory_forms\n"
4
+ "POT-Creation-Date: 2018-10-16 22:44+0300\n"
5
+ "PO-Revision-Date: 2018-10-16 22:45+0300\n"
6
+ "Last-Translator: \n"
7
+ "Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
8
+ "Language: ru_RU\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.1.1\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
15
+ "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
18
+ "X-Poedit-SearchPath-0: .\n"
19
+
20
+ #: includes/check-compatibility.php:80
21
+ msgid "warning"
22
+ msgstr "предупреждение"
23
+
24
+ #: includes/check-compatibility.php:82
25
+ #, php-format
26
+ msgid "The %s plugin has stopped."
27
+ msgstr "Работа плагина %s была остановлена."
28
+
29
+ #: includes/check-compatibility.php:83
30
+ msgid "Possible reasons:"
31
+ msgstr "Возможные причины:"
32
+
33
+ #: includes/check-compatibility.php:89
34
+ #, php-format
35
+ msgid "You need to update the PHP version to %s or higher!"
36
+ msgstr "Вам нужно обновить версию PHP до %s или выше!"
37
+
38
+ #: includes/check-compatibility.php:94
39
+ #, php-format
40
+ msgid "You need to update WordPress to %s or higher!"
41
+ msgstr "Вам нужно обновить WordPress до %s или выше!"
42
+
43
+ #: includes/functions.php:132
44
+ #, php-format
45
+ msgid ""
46
+ "%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead."
47
+ msgstr ""
48
+ "%1$s является <strong>устаревшим,</strong> начиная с версии %2$s в "
49
+ "Wordpress! Используйте %3$s."
50
+
51
+ #: includes/functions.php:134
52
+ #, php-format
53
+ msgid ""
54
+ "%1$s is <strong>deprecated</strong> since version %2$s with no alternative "
55
+ "available."
56
+ msgstr ""
57
+ "%1$s был вызван с параметром, который является <strong>устаревшими</strong> "
58
+ "начиная с версии %2$s , в настоящее время доступных альтернатив нет."
59
+
60
+ #: includes/plugin.class.php:202 includes/plugin.class.php:237
61
+ msgid ""
62
+ "You are trying to call this earlier than the plugin menu will be registered."
63
+ msgstr ""
64
+ "Вы пытаетесь вызвать это раньше, чем будет зарегистрировано меню плагина."
65
+
66
+ #: includes/plugin.class.php:220
67
+ msgid ""
68
+ "You are trying to get a link to a page that does not have multisite mode. "
69
+ "Clicking this link will lead the user to a non-existent page."
70
+ msgstr ""
71
+ "Вы пытаетесь получить ссылку на страницу, которая не имеет "
72
+ "многопользовательского режима. Щелчок по этой ссылке приведет пользователя "
73
+ "к несуществующей странице."
74
+
75
+ #: includes/plugin.class.php:222
76
+ msgid ""
77
+ "Trying to get a link to an unregistered page. You are trying to call this "
78
+ "earlier than the plugin menu will be registered."
79
+ msgstr ""
80
+ "Попытка получить ссылку на незарегистрированную страницу. Вы пытаетесь "
81
+ "вызвать это раньше, чем будет зарегистрировано меню плагина."
82
+
83
+
libs/factory/bootstrap/assets/css-min/bootstrap.accordion.min.css CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-433 .factory-accordion{margin:0 0 30px;border-top:1px solid #DDD;border-right:1px solid #DDD;border-left:1px solid #DDD;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.factory-bootstrap-433 .factory-accordion>h3{border-bottom:1px solid #DDD;cursor:pointer;padding:8px 15px;margin:0}.factory-bootstrap-433 .factory-accordion>div{display:none;margin:0;border-bottom:1px solid #DDD}.factory-bootstrap-433 .factory-accordion-item{display:none}.factory-bootstrap-433 .inner-factory-accordion-item{padding:10px 0}.factory-bootstrap-433 .factory-accordion>h3.active:hover{cursor:default}
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
8
  */
9
 
10
 
11
+ .factory-bootstrap-444 .factory-accordion{margin:0 0 30px;border-top:1px solid #DDD;border-right:1px solid #DDD;border-left:1px solid #DDD;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.factory-bootstrap-444 .factory-accordion>h3{border-bottom:1px solid #DDD;cursor:pointer;padding:8px 15px;margin:0}.factory-bootstrap-444 .factory-accordion>div{display:none;margin:0;border-bottom:1px solid #DDD}.factory-bootstrap-444 .factory-accordion-item{display:none}.factory-bootstrap-444 .inner-factory-accordion-item{padding:10px 0}.factory-bootstrap-444 .factory-accordion>h3.active:hover{cursor:default}
libs/factory/bootstrap/assets/css-min/bootstrap.blue.min.css CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-433 .btn-primary{background:#e1a948;border-color:#d39323;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-433 .btn-primary:focus,.factory-bootstrap-433 .btn-primary:hover{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-433 .btn-primary:active{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-433 .btn-primary:disabled,.factory-bootstrap-433 .btn-primary[disabled]{color:#d1cdc7!important;background:#db9825!important;border-color:#bd831f!important;text-shadow:none!important}.factory-bootstrap-433 .btn-group .btn.active.value{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.factory-bootstrap-433 .pagination>.active>a,.factory-bootstrap-433 .pagination>.active>a:focus,.factory-bootstrap-433 .pagination>.active>a:hover,.factory-bootstrap-433 .pagination>.active>span,.factory-bootstrap-433 .pagination>.active>span:focus,.factory-bootstrap-433 .pagination>.active>span:hover{background-color:#e1a948;border-color:#d39323}
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
8
  */
9
 
10
 
11
+ .factory-bootstrap-444 .btn-primary{background:#e1a948;border-color:#d39323;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-444 .btn-primary:focus,.factory-bootstrap-444 .btn-primary:hover{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-444 .btn-primary:active{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-444 .btn-primary:disabled,.factory-bootstrap-444 .btn-primary[disabled]{color:#d1cdc7!important;background:#db9825!important;border-color:#bd831f!important;text-shadow:none!important}.factory-bootstrap-444 .btn-group .btn.active.value{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.factory-bootstrap-444 .pagination>.active>a,.factory-bootstrap-444 .pagination>.active>a:focus,.factory-bootstrap-444 .pagination>.active>a:hover,.factory-bootstrap-444 .pagination>.active>span,.factory-bootstrap-444 .pagination>.active>span:focus,.factory-bootstrap-444 .pagination>.active>span:hover{background-color:#e1a948;border-color:#d39323}
libs/factory/bootstrap/assets/css-min/bootstrap.coffee.min.css CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-433 .btn-primary{background:#c7a589;border-color:#b78a66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-433 .btn-primary:focus,.factory-bootstrap-433 .btn-primary:hover{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-433 .btn-primary:active{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-433 .btn-primary:disabled,.factory-bootstrap-433 .btn-primary[disabled]{color:#d1cbc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.factory-bootstrap-433 .btn-group .btn.active.value{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.factory-bootstrap-433 .pagination>.active>a,.factory-bootstrap-433 .pagination>.active>a:focus,.factory-bootstrap-433 .pagination>.active>a:hover,.factory-bootstrap-433 .pagination>.active>span,.factory-bootstrap-433 .pagination>.active>span:focus,.factory-bootstrap-433 .pagination>.active>span:hover{background-color:#c7a589;border-color:#b78a66}
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
8
  */
9
 
10
 
11
+ .factory-bootstrap-444 .btn-primary{background:#c7a589;border-color:#b78a66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-444 .btn-primary:focus,.factory-bootstrap-444 .btn-primary:hover{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-444 .btn-primary:active{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-444 .btn-primary:disabled,.factory-bootstrap-444 .btn-primary[disabled]{color:#d1cbc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.factory-bootstrap-444 .btn-group .btn.active.value{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.factory-bootstrap-444 .pagination>.active>a,.factory-bootstrap-444 .pagination>.active>a:focus,.factory-bootstrap-444 .pagination>.active>a:hover,.factory-bootstrap-444 .pagination>.active>span,.factory-bootstrap-444 .pagination>.active>span:focus,.factory-bootstrap-444 .pagination>.active>span:hover{background-color:#c7a589;border-color:#b78a66}
libs/factory/bootstrap/assets/css-min/bootstrap.core.min.css CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
@@ -8,7 +8,7 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-433 article,.factory-bootstrap-433 aside,.factory-bootstrap-433 details,.factory-bootstrap-433 figcaption,.factory-bootstrap-433 figure,.factory-bootstrap-433 footer,.factory-bootstrap-433 header,.factory-bootstrap-433 hgroup,.factory-bootstrap-433 main,.factory-bootstrap-433 nav,.factory-bootstrap-433 section,.factory-bootstrap-433 summary{display:block}.factory-bootstrap-433 audio,.factory-bootstrap-433 canvas,.factory-bootstrap-433 video{display:inline-block}.factory-bootstrap-433 audio:not([controls]){display:none;height:0}.factory-bootstrap-433 [hidden],.factory-bootstrap-433 template{display:none}.factory-bootstrap-433 body{margin:0}.factory-bootstrap-433 a{background:0 0}.factory-bootstrap-433 a:focus{outline:thin dotted}.factory-bootstrap-433 a:active,.factory-bootstrap-433 a:hover{outline:0}.factory-bootstrap-433 h1{margin:.67em 0}.factory-bootstrap-433 b,.factory-bootstrap-433 strong{font-weight:700}.factory-bootstrap-433 dfn{font-style:italic}.factory-bootstrap-433 hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-433 mark{color:#000;background:#ff0}.factory-bootstrap-433 code,.factory-bootstrap-433 kbd,.factory-bootstrap-433 pre,.factory-bootstrap-433 samp{font-size:1em}.factory-bootstrap-433 pre{white-space:pre-wrap}.factory-bootstrap-433 q{quotes:"\201C" "\201D" "\2018" "\2019"}.factory-bootstrap-433 sub,.factory-bootstrap-433 sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}.factory-bootstrap-433 sup{top:-.5em}.factory-bootstrap-433 sub{bottom:-.25em}.factory-bootstrap-433 img{border:0}.factory-bootstrap-433 svg:not(:root){overflow:hidden}.factory-bootstrap-433 figure{margin:0}.factory-bootstrap-433 button,.factory-bootstrap-433 input,.factory-bootstrap-433 select,.factory-bootstrap-433 textarea{margin:0}.factory-bootstrap-433 button,.factory-bootstrap-433 select{text-transform:none}.factory-bootstrap-433 select{padding-right:4px!important}.factory-bootstrap-433 button,.factory-bootstrap-433 input[type=reset],.factory-bootstrap-433 input[type=submit],html .factory-bootstrap-433 input[type=button]{cursor:pointer;-webkit-appearance:button}.factory-bootstrap-433 button[disabled],html .factory-bootstrap-433 input[disabled]{cursor:default}.factory-bootstrap-433 input[type=checkbox],.factory-bootstrap-433 input[type=radio]{padding:0;box-sizing:border-box}.factory-bootstrap-433 input[type=search]{-webkit-appearance:textfield}.factory-bootstrap-433 input[type=search]::-webkit-search-cancel-button,.factory-bootstrap-433 input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.factory-bootstrap-433 button::-moz-focus-inner,.factory-bootstrap-433 input::-moz-focus-inner{padding:0;border:0}.factory-bootstrap-433 textarea{overflow:auto;vertical-align:top}.factory-bootstrap-433 table{border-collapse:collapse;border-spacing:0}@media print{.factory-bootstrap-433 *{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}.factory-bootstrap-433 a,.factory-bootstrap-433 a:visited{text-decoration:underline}.factory-bootstrap-433 a[href]:after{content:" (" attr(href) ")"}.factory-bootstrap-433 abbr[title]:after{content:" (" attr(title) ")"}.factory-bootstrap-433 a[href^="javascript:"]:after,.factory-bootstrap-433 a[href^="#"]:after{content:""}.factory-bootstrap-433 blockquote,.factory-bootstrap-433 pre{border:1px solid #999;page-break-inside:avoid}.factory-bootstrap-433 thead{display:table-header-group}.factory-bootstrap-433 img,.factory-bootstrap-433 tr{page-break-inside:avoid}.factory-bootstrap-433 img{max-width:100%!important}@page{margin:2cm .5cm}.factory-bootstrap-433 h2,.factory-bootstrap-433 h3,.factory-bootstrap-433 p{orphans:3;widows:3}.factory-bootstrap-433 h2,.factory-bootstrap-433 h3{page-break-after:avoid}.factory-bootstrap-433 select{background:#fff!important}.factory-bootstrap-433 .navbar{display:none}.factory-bootstrap-433 .table td,.factory-bootstrap-433 .table th{background-color:#fff!important}.factory-bootstrap-433 .btn>.caret,.factory-bootstrap-433 .dropup>.btn>.caret{border-top-color:#000!important}.factory-bootstrap-433 .label{border:1px solid #000}.factory-bootstrap-433 .table{border-collapse:collapse!important}.factory-bootstrap-433 .table-bordered td,.factory-bootstrap-433 .table-bordered th{border:1px solid #ddd!important}}.factory-bootstrap-433 *,.factory-bootstrap-433 :after,.factory-bootstrap-433 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html .factory-bootstrap-433{-webkit-tap-highlight-color:rgba(0,0,0,0)}.factory-bootstrap-433 body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}.factory-bootstrap-433 button,.factory-bootstrap-433 input,.factory-bootstrap-433 select,.factory-bootstrap-433 textarea{font-family:inherit;font-size:inherit;line-height:inherit}.factory-bootstrap-433 img{vertical-align:middle}.factory-bootstrap-433 .img-responsive{display:block;height:auto;max-width:100%}.factory-bootstrap-433 .img-rounded{border-radius:6px}.factory-bootstrap-433 .img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-433 .img-circle{border-radius:50%}.factory-bootstrap-433 hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.factory-bootstrap-433 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.factory-bootstrap-433 .h1,.factory-bootstrap-433 .h2,.factory-bootstrap-433 .h3,.factory-bootstrap-433 .h4,.factory-bootstrap-433 .h5,.factory-bootstrap-433 .h6,.factory-bootstrap-433 h1,.factory-bootstrap-433 h2,.factory-bootstrap-433 h3,.factory-bootstrap-433 h4,.factory-bootstrap-433 h5,.factory-bootstrap-433 h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}.factory-bootstrap-433 .h1 .small,.factory-bootstrap-433 .h1 small,.factory-bootstrap-433 .h2 .small,.factory-bootstrap-433 .h2 small,.factory-bootstrap-433 .h3 .small,.factory-bootstrap-433 .h3 small,.factory-bootstrap-433 .h4 .small,.factory-bootstrap-433 .h4 small,.factory-bootstrap-433 .h5 .small,.factory-bootstrap-433 .h5 small,.factory-bootstrap-433 .h6 .small,.factory-bootstrap-433 .h6 small,.factory-bootstrap-433 h1 .small,.factory-bootstrap-433 h1 small,.factory-bootstrap-433 h2 .small,.factory-bootstrap-433 h2 small,.factory-bootstrap-433 h3 .small,.factory-bootstrap-433 h3 small,.factory-bootstrap-433 h4 .small,.factory-bootstrap-433 h4 small,.factory-bootstrap-433 h5 .small,.factory-bootstrap-433 h5 small,.factory-bootstrap-433 h6 .small,.factory-bootstrap-433 h6 small{font-weight:400;line-height:1;color:#999}.factory-bootstrap-433 h1,.factory-bootstrap-433 h2,.factory-bootstrap-433 h3{margin-top:20px;margin-bottom:10px}.factory-bootstrap-433 h1 .small,.factory-bootstrap-433 h1 small,.factory-bootstrap-433 h2 .small,.factory-bootstrap-433 h2 small,.factory-bootstrap-433 h3 .small,.factory-bootstrap-433 h3 small{font-size:65%}.factory-bootstrap-433 h4,.factory-bootstrap-433 h5,.factory-bootstrap-433 h6{margin-top:10px;margin-bottom:10px}.factory-bootstrap-433 h4 .small,.factory-bootstrap-433 h4 small,.factory-bootstrap-433 h5 .small,.factory-bootstrap-433 h5 small,.factory-bootstrap-433 h6 .small,.factory-bootstrap-433 h6 small{font-size:75%}.factory-bootstrap-433 .h1,.factory-bootstrap-433 h1{font-size:36px}.factory-bootstrap-433 .h2,.factory-bootstrap-433 h2{font-size:30px}.factory-bootstrap-433 .h3,.factory-bootstrap-433 h3{font-size:24px}.factory-bootstrap-433 .h4,.factory-bootstrap-433 h4{font-size:18px}.factory-bootstrap-433 .h5,.factory-bootstrap-433 h5{font-size:14px}.factory-bootstrap-433 .h6,.factory-bootstrap-433 h6{font-size:12px}.factory-bootstrap-433 p{margin:0 0 10px}.factory-bootstrap-433 .lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.factory-bootstrap-433 .small,.factory-bootstrap-433 small{font-size:85%}.factory-bootstrap-433 cite{font-style:normal}.factory-bootstrap-433 .text-muted{color:#999}.factory-bootstrap-433 .text-primary{color:#428bca}.factory-bootstrap-433 .text-primary:hover{color:#3071a9}.factory-bootstrap-433 .text-warning{color:#8a6d3b}.factory-bootstrap-433 .text-warning:hover{color:#66512c}.factory-bootstrap-433 .text-danger{color:#a94442}.factory-bootstrap-433 .text-danger:hover{color:#843534}.factory-bootstrap-433 .text-success{color:#3c763d}.factory-bootstrap-433 .text-success:hover{color:#2b542c}.factory-bootstrap-433 .text-info{color:#31708f}.factory-bootstrap-433 .text-info:hover{color:#245269}.factory-bootstrap-433 .text-left{text-align:left}.factory-bootstrap-433 .text-right{text-align:right}.factory-bootstrap-433 .text-center{text-align:center}.factory-bootstrap-433 .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.factory-bootstrap-433 ol,.factory-bootstrap-433 ul{margin-top:0;margin-bottom:10px}.factory-bootstrap-433 ol ol,.factory-bootstrap-433 ol ul,.factory-bootstrap-433 ul ol,.factory-bootstrap-433 ul ul{margin-bottom:0}.factory-bootstrap-433 .list-inline,.factory-bootstrap-433 .list-unstyled{padding-left:0;list-style:none}.factory-bootstrap-433 .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.factory-bootstrap-433 .list-inline>li:first-child{padding-left:0}.factory-bootstrap-433 dl{margin-top:0;margin-bottom:20px}.factory-bootstrap-433 dd,.factory-bootstrap-433 dt{line-height:1.428571429}.factory-bootstrap-433 dt{font-weight:700}.factory-bootstrap-433 dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:after,.dl-horizontal dd:before{display:table;content:" "}.dl-horizontal dd:after{clear:both}}.factory-bootstrap-433 abbr[data-original-title],.factory-bootstrap-433 abbr[title]{cursor:help;border-bottom:1px dotted #999}.factory-bootstrap-433 .initialism{font-size:90%;text-transform:uppercase}.factory-bootstrap-433 blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}.factory-bootstrap-433 blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}.factory-bootstrap-433 blockquote p:last-child{margin-bottom:0}.factory-bootstrap-433 blockquote .small,.factory-bootstrap-433 blockquote small{display:block;line-height:1.428571429;color:#999}.factory-bootstrap-433 blockquote .small:before,.factory-bootstrap-433 blockquote small:before{content:'\2014 \00A0'}.factory-bootstrap-433 blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}.factory-bootstrap-433 blockquote.pull-right .small,.factory-bootstrap-433 blockquote.pull-right p,.factory-bootstrap-433 blockquote.pull-right small{text-align:right}.factory-bootstrap-433 blockquote.pull-right .small:before,.factory-bootstrap-433 blockquote.pull-right small:before{content:''}.factory-bootstrap-433 blockquote.pull-right .small:after,.factory-bootstrap-433 blockquote.pull-right small:after{content:'\00A0 \2014'}.factory-bootstrap-433 blockquote:after,.factory-bootstrap-433 blockquote:before{content:""}.factory-bootstrap-433 address{margin-bottom:20px;font-style:normal;line-height:1.428571429}.factory-bootstrap-433 code,.factory-bootstrap-433 kbd,.factory-bootstrap-433 pre,.factory-bootstrap-433 samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.factory-bootstrap-433 code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}.factory-bootstrap-433 pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-433 pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.factory-bootstrap-433 .pre-scrollable{max-height:340px;overflow-y:scroll}.factory-bootstrap-433 .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.factory-bootstrap-433 .container:after,.factory-bootstrap-433 .container:before{display:table;content:" "}.factory-bootstrap-433 .container:after{clear:both}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.factory-bootstrap-433 .row{margin-right:-15px;margin-left:-15px}.factory-bootstrap-433 .row:after,.factory-bootstrap-433 .row:before{display:table;content:" "}.factory-bootstrap-433 .row:after{clear:both}.factory-bootstrap-433 .col-lg-1,.factory-bootstrap-433 .col-lg-10,.factory-bootstrap-433 .col-lg-11,.factory-bootstrap-433 .col-lg-12,.factory-bootstrap-433 .col-lg-2,.factory-bootstrap-433 .col-lg-3,.factory-bootstrap-433 .col-lg-4,.factory-bootstrap-433 .col-lg-5,.factory-bootstrap-433 .col-lg-6,.factory-bootstrap-433 .col-lg-7,.factory-bootstrap-433 .col-lg-8,.factory-bootstrap-433 .col-lg-9,.factory-bootstrap-433 .col-md-1,.factory-bootstrap-433 .col-md-10,.factory-bootstrap-433 .col-md-11,.factory-bootstrap-433 .col-md-12,.factory-bootstrap-433 .col-md-2,.factory-bootstrap-433 .col-md-3,.factory-bootstrap-433 .col-md-4,.factory-bootstrap-433 .col-md-5,.factory-bootstrap-433 .col-md-6,.factory-bootstrap-433 .col-md-7,.factory-bootstrap-433 .col-md-8,.factory-bootstrap-433 .col-md-9,.factory-bootstrap-433 .col-sm-1,.factory-bootstrap-433 .col-sm-10,.factory-bootstrap-433 .col-sm-11,.factory-bootstrap-433 .col-sm-12,.factory-bootstrap-433 .col-sm-2,.factory-bootstrap-433 .col-sm-3,.factory-bootstrap-433 .col-sm-4,.factory-bootstrap-433 .col-sm-5,.factory-bootstrap-433 .col-sm-6,.factory-bootstrap-433 .col-sm-7,.factory-bootstrap-433 .col-sm-8,.factory-bootstrap-433 .col-sm-9,.factory-bootstrap-433 .col-xs-1,.factory-bootstrap-433 .col-xs-10,.factory-bootstrap-433 .col-xs-11,.factory-bootstrap-433 .col-xs-12,.factory-bootstrap-433 .col-xs-2,.factory-bootstrap-433 .col-xs-3,.factory-bootstrap-433 .col-xs-4,.factory-bootstrap-433 .col-xs-5,.factory-bootstrap-433 .col-xs-6,.factory-bootstrap-433 .col-xs-7,.factory-bootstrap-433 .col-xs-8,.factory-bootstrap-433 .col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.factory-bootstrap-433 .col-xs-1,.factory-bootstrap-433 .col-xs-10,.factory-bootstrap-433 .col-xs-11,.factory-bootstrap-433 .col-xs-12,.factory-bootstrap-433 .col-xs-2,.factory-bootstrap-433 .col-xs-3,.factory-bootstrap-433 .col-xs-4,.factory-bootstrap-433 .col-xs-5,.factory-bootstrap-433 .col-xs-6,.factory-bootstrap-433 .col-xs-7,.factory-bootstrap-433 .col-xs-8,.factory-bootstrap-433 .col-xs-9{float:left}.factory-bootstrap-433 .col-xs-12{width:100%}.factory-bootstrap-433 .col-xs-11{width:91.66666666666666%}.factory-bootstrap-433 .col-xs-10{width:83.33333333333334%}.factory-bootstrap-433 .col-xs-9{width:75%}.factory-bootstrap-433 .col-xs-8{width:66.66666666666666%}.factory-bootstrap-433 .col-xs-7{width:58.333333333333336%}.factory-bootstrap-433 .col-xs-6{width:50%}.factory-bootstrap-433 .col-xs-5{width:41.66666666666667%}.factory-bootstrap-433 .col-xs-4{width:33.33333333333333%}.factory-bootstrap-433 .col-xs-3{width:25%}.factory-bootstrap-433 .col-xs-2{width:16.666666666666664%}.factory-bootstrap-433 .col-xs-1{width:8.333333333333332%}.factory-bootstrap-433 .col-xs-pull-12{right:100%}.factory-bootstrap-433 .col-xs-pull-11{right:91.66666666666666%}.factory-bootstrap-433 .col-xs-pull-10{right:83.33333333333334%}.factory-bootstrap-433 .col-xs-pull-9{right:75%}.factory-bootstrap-433 .col-xs-pull-8{right:66.66666666666666%}.factory-bootstrap-433 .col-xs-pull-7{right:58.333333333333336%}.factory-bootstrap-433 .col-xs-pull-6{right:50%}.factory-bootstrap-433 .col-xs-pull-5{right:41.66666666666667%}.factory-bootstrap-433 .col-xs-pull-4{right:33.33333333333333%}.factory-bootstrap-433 .col-xs-pull-3{right:25%}.factory-bootstrap-433 .col-xs-pull-2{right:16.666666666666664%}.factory-bootstrap-433 .col-xs-pull-1{right:8.333333333333332%}.factory-bootstrap-433 .col-xs-pull-0{right:0}.factory-bootstrap-433 .col-xs-push-12{left:100%}.factory-bootstrap-433 .col-xs-push-11{left:91.66666666666666%}.factory-bootstrap-433 .col-xs-push-10{left:83.33333333333334%}.factory-bootstrap-433 .col-xs-push-9{left:75%}.factory-bootstrap-433 .col-xs-push-8{left:66.66666666666666%}.factory-bootstrap-433 .col-xs-push-7{left:58.333333333333336%}.factory-bootstrap-433 .col-xs-push-6{left:50%}.factory-bootstrap-433 .col-xs-push-5{left:41.66666666666667%}.factory-bootstrap-433 .col-xs-push-4{left:33.33333333333333%}.factory-bootstrap-433 .col-xs-push-3{left:25%}.factory-bootstrap-433 .col-xs-push-2{left:16.666666666666664%}.factory-bootstrap-433 .col-xs-push-1{left:8.333333333333332%}.factory-bootstrap-433 .col-xs-push-0{left:0}.factory-bootstrap-433 .col-xs-offset-12{margin-left:100%}.factory-bootstrap-433 .col-xs-offset-11{margin-left:91.66666666666666%}.factory-bootstrap-433 .col-xs-offset-10{margin-left:83.33333333333334%}.factory-bootstrap-433 .col-xs-offset-9{margin-left:75%}.factory-bootstrap-433 .col-xs-offset-8{margin-left:66.66666666666666%}.factory-bootstrap-433 .col-xs-offset-7{margin-left:58.333333333333336%}.factory-bootstrap-433 .col-xs-offset-6{margin-left:50%}.factory-bootstrap-433 .col-xs-offset-5{margin-left:41.66666666666667%}.factory-bootstrap-433 .col-xs-offset-4{margin-left:33.33333333333333%}.factory-bootstrap-433 .col-xs-offset-3{margin-left:25%}.factory-bootstrap-433 .col-xs-offset-2{margin-left:16.666666666666664%}.factory-bootstrap-433 .col-xs-offset-1{margin-left:8.333333333333332%}.factory-bootstrap-433 .col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}.factory-bootstrap-433 table{max-width:100%;background-color:transparent}.factory-bootstrap-433 th{text-align:left}.factory-bootstrap-433 .table{width:100%;margin-bottom:20px}.factory-bootstrap-433 .table>tbody>tr>td,.factory-bootstrap-433 .table>tbody>tr>th,.factory-bootstrap-433 .table>tfoot>tr>td,.factory-bootstrap-433 .table>tfoot>tr>th,.factory-bootstrap-433 .table>thead>tr>td,.factory-bootstrap-433 .table>thead>tr>th{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.factory-bootstrap-433 .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.factory-bootstrap-433 .table>caption+thead>tr:first-child>td,.factory-bootstrap-433 .table>caption+thead>tr:first-child>th,.factory-bootstrap-433 .table>colgroup+thead>tr:first-child>td,.factory-bootstrap-433 .table>colgroup+thead>tr:first-child>th,.factory-bootstrap-433 .table>thead:first-child>tr:first-child>td,.factory-bootstrap-433 .table>thead:first-child>tr:first-child>th{border-top:0}.factory-bootstrap-433 .table>tbody+tbody{border-top:2px solid #ddd}.factory-bootstrap-433 .table .table{background-color:#fff}.factory-bootstrap-433 .table-condensed>tbody>tr>td,.factory-bootstrap-433 .table-condensed>tbody>tr>th,.factory-bootstrap-433 .table-condensed>tfoot>tr>td,.factory-bootstrap-433 .table-condensed>tfoot>tr>th,.factory-bootstrap-433 .table-condensed>thead>tr>td,.factory-bootstrap-433 .table-condensed>thead>tr>th{padding:5px}.factory-bootstrap-433 .table-bordered,.factory-bootstrap-433 .table-bordered>tbody>tr>td,.factory-bootstrap-433 .table-bordered>tbody>tr>th,.factory-bootstrap-433 .table-bordered>tfoot>tr>td,.factory-bootstrap-433 .table-bordered>tfoot>tr>th,.factory-bootstrap-433 .table-bordered>thead>tr>td,.factory-bootstrap-433 .table-bordered>thead>tr>th{border:1px solid #ddd}.factory-bootstrap-433 .table-bordered>thead>tr>td,.factory-bootstrap-433 .table-bordered>thead>tr>th{border-bottom-width:2px}.factory-bootstrap-433 .table-striped>tbody>tr:nth-child(odd)>td,.factory-bootstrap-433 .table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.factory-bootstrap-433 .table-hover>tbody>tr:hover>td,.factory-bootstrap-433 .table-hover>tbody>tr:hover>th{background-color:#f5f5f5}.factory-bootstrap-433 table col[class*=col-]{position:static;display:table-column;float:none}.factory-bootstrap-433 table td[class*=col-],.factory-bootstrap-433 table th[class*=col-]{display:table-cell;float:none}.factory-bootstrap-433 .table>tbody>.active>td,.factory-bootstrap-433 .table>tbody>.active>th,.factory-bootstrap-433 .table>tbody>tr>.active,.factory-bootstrap-433 .table>tfoot>.active>td,.factory-bootstrap-433 .table>tfoot>.active>th,.factory-bootstrap-433 .table>tfoot>tr>.active,.factory-bootstrap-433 .table>thead>.active>td,.factory-bootstrap-433 .table>thead>.active>th,.factory-bootstrap-433 .table>thead>tr>.active{background-color:#f5f5f5}.factory-bootstrap-433 .table-hover>tbody>.active:hover>td,.factory-bootstrap-433 .table-hover>tbody>.active:hover>th,.factory-bootstrap-433 .table-hover>tbody>tr>.active:hover{background-color:#e8e8e8}.factory-bootstrap-433 .table>tbody>.success>td,.factory-bootstrap-433 .table>tbody>.success>th,.factory-bootstrap-433 .table>tbody>tr>.success,.factory-bootstrap-433 .table>tfoot>.success>td,.factory-bootstrap-433 .table>tfoot>.success>th,.factory-bootstrap-433 .table>tfoot>tr>.success,.factory-bootstrap-433 .table>thead>.success>td,.factory-bootstrap-433 .table>thead>.success>th,.factory-bootstrap-433 .table>thead>tr>.success{background-color:#dff0d8}.factory-bootstrap-433 .table-hover>tbody>.success:hover>td,.factory-bootstrap-433 .table-hover>tbody>.success:hover>th,.factory-bootstrap-433 .table-hover>tbody>tr>.success:hover{background-color:#d0e9c6}.factory-bootstrap-433 .table>tbody>.danger>td,.factory-bootstrap-433 .table>tbody>.danger>th,.factory-bootstrap-433 .table>tbody>tr>.danger,.factory-bootstrap-433 .table>tfoot>.danger>td,.factory-bootstrap-433 .table>tfoot>.danger>th,.factory-bootstrap-433 .table>tfoot>tr>.danger,.factory-bootstrap-433 .table>thead>.danger>td,.factory-bootstrap-433 .table>thead>.danger>th,.factory-bootstrap-433 .table>thead>tr>.danger{background-color:#f2dede}.factory-bootstrap-433 .table-hover>tbody>.danger:hover>td,.factory-bootstrap-433 .table-hover>tbody>.danger:hover>th,.factory-bootstrap-433 .table-hover>tbody>tr>.danger:hover{background-color:#ebcccc}.factory-bootstrap-433 .table>tbody>.warning>td,.factory-bootstrap-433 .table>tbody>.warning>th,.factory-bootstrap-433 .table>tbody>tr>.warning,.factory-bootstrap-433 .table>tfoot>.warning>td,.factory-bootstrap-433 .table>tfoot>.warning>th,.factory-bootstrap-433 .table>tfoot>tr>.warning,.factory-bootstrap-433 .table>thead>.warning>td,.factory-bootstrap-433 .table>thead>.warning>th,.factory-bootstrap-433 .table>thead>tr>.warning{background-color:#fcf8e3}.factory-bootstrap-433 .table-hover>tbody>.warning:hover>td,.factory-bootstrap-433 .table-hover>tbody>.warning:hover>th,.factory-bootstrap-433 .table-hover>tbody>tr>.warning:hover{background-color:#faf2cc}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.factory-bootstrap-433 fieldset{padding:0;margin:0;border:0}.factory-bootstrap-433 legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-433 label{display:inline-block;margin-bottom:5px;font-weight:700}.factory-bootstrap-433 input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-433 input[type=checkbox],.factory-bootstrap-433 input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.factory-bootstrap-433 input[type=file]{display:block}.factory-bootstrap-433 select[multiple],.factory-bootstrap-433 select[size]{height:auto}.factory-bootstrap-433 select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.factory-bootstrap-433 input[type=checkbox]:focus,.factory-bootstrap-433 input[type=file]:focus,.factory-bootstrap-433 input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-433 input[type=number]::-webkit-inner-spin-button,.factory-bootstrap-433 input[type=number]::-webkit-outer-spin-button{height:auto}.factory-bootstrap-433 output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.factory-bootstrap-433 .form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.factory-bootstrap-433 .form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-433 .form-control:-moz-placeholder{color:#999}.factory-bootstrap-433 .form-control::-moz-placeholder{color:#999;opacity:1}.factory-bootstrap-433 .form-control:-ms-input-placeholder{color:#999}.factory-bootstrap-433 .form-control::-webkit-input-placeholder{color:#999}.factory-bootstrap-433 .form-control[disabled],.factory-bootstrap-433 .form-control[readonly],.factory-bootstrap-433 fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.factory-bootstrap-433 textarea.form-control{height:auto}.factory-bootstrap-433 .form-group{margin-bottom:15px}.factory-bootstrap-433 .checkbox,.factory-bootstrap-433 .radio{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.factory-bootstrap-433 .checkbox label,.factory-bootstrap-433 .radio label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.factory-bootstrap-433 .checkbox input[type=checkbox],.factory-bootstrap-433 .checkbox-inline input[type=checkbox],.factory-bootstrap-433 .radio input[type=radio],.factory-bootstrap-433 .radio-inline input[type=radio]{float:left;margin-left:-20px}.factory-bootstrap-433 .checkbox+.checkbox,.factory-bootstrap-433 .radio+.radio{margin-top:-5px}.factory-bootstrap-433 .checkbox-inline,.factory-bootstrap-433 .radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.factory-bootstrap-433 .checkbox-inline+.checkbox-inline,.factory-bootstrap-433 .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.factory-bootstrap-433 .checkbox-inline[disabled],.factory-bootstrap-433 .checkbox[disabled],.factory-bootstrap-433 .radio-inline[disabled],.factory-bootstrap-433 .radio[disabled],.factory-bootstrap-433 fieldset[disabled] .checkbox,.factory-bootstrap-433 fieldset[disabled] .checkbox-inline,.factory-bootstrap-433 fieldset[disabled] .radio,.factory-bootstrap-433 fieldset[disabled] .radio-inline,.factory-bootstrap-433 fieldset[disabled] input[type=checkbox],.factory-bootstrap-433 fieldset[disabled] input[type=radio],.factory-bootstrap-433 input[type=checkbox][disabled],.factory-bootstrap-433 input[type=radio][disabled]{cursor:not-allowed}.factory-bootstrap-433 .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-433 select.input-sm{height:30px;line-height:30px}.factory-bootstrap-433 textarea.input-sm{height:auto}.factory-bootstrap-433 .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-433 select.input-lg{height:46px;line-height:46px}.factory-bootstrap-433 textarea.input-lg{height:auto}.factory-bootstrap-433 .has-warning .checkbox,.factory-bootstrap-433 .has-warning .checkbox-inline,.factory-bootstrap-433 .has-warning .control-label,.factory-bootstrap-433 .has-warning .help-block,.factory-bootstrap-433 .has-warning .radio,.factory-bootstrap-433 .has-warning .radio-inline{color:#8a6d3b}.factory-bootstrap-433 .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-433 .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.factory-bootstrap-433 .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.factory-bootstrap-433 .has-error .checkbox,.factory-bootstrap-433 .has-error .checkbox-inline,.factory-bootstrap-433 .has-error .control-label,.factory-bootstrap-433 .has-error .help-block,.factory-bootstrap-433 .has-error .radio,.factory-bootstrap-433 .has-error .radio-inline{color:#a94442}.factory-bootstrap-433 .controls{display:block}.factory-bootstrap-433 .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-433 .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.factory-bootstrap-433 .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.factory-bootstrap-433 .has-success .checkbox,.factory-bootstrap-433 .has-success .checkbox-inline,.factory-bootstrap-433 .has-success .control-label,.factory-bootstrap-433 .has-success .help-block,.factory-bootstrap-433 .has-success .radio,.factory-bootstrap-433 .has-success .radio-inline{color:#3c763d}.factory-bootstrap-433 .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-433 .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.factory-bootstrap-433 .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.factory-bootstrap-433 .form-control-static{margin-bottom:0}.factory-bootstrap-433 .help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373;font-weight:400}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .checkbox,.form-inline .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{float:none;margin-left:0}}.factory-bootstrap-433 .form-horizontal .checkbox,.factory-bootstrap-433 .form-horizontal .checkbox-inline,.factory-bootstrap-433 .form-horizontal .control-label,.factory-bootstrap-433 .form-horizontal .radio,.factory-bootstrap-433 .form-horizontal .radio-inline{position:relative;padding-top:7px;margin-top:0;margin-bottom:0}.factory-bootstrap-433 .form-horizontal .control-label{max-width:200px}.factory-bootstrap-433 .form-horizontal .checkbox,.factory-bootstrap-433 .form-horizontal .radio{min-height:27px}.factory-bootstrap-433 .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.factory-bootstrap-433 .form-horizontal .form-group:after,.factory-bootstrap-433 .form-horizontal .form-group:before{display:table;content:" "}.factory-bootstrap-433 .form-horizontal .form-group:after{clear:both}.factory-bootstrap-433 .form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.factory-bootstrap-433 .btn{display:inline-block;padding:5px 12px;margin-bottom:0;font-size:13px;font-weight:400;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.factory-bootstrap-433 .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-433 .btn{text-decoration:none}.factory-bootstrap-433 .btn:focus,.factory-bootstrap-433 .btn:hover{color:#333;text-decoration:none}.factory-bootstrap-433 .btn.disabled,.factory-bootstrap-433 .btn[disabled],.factory-bootstrap-433 fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-433 .btn-default.active,.factory-bootstrap-433 .btn-default:active,.factory-bootstrap-433 .btn-default:focus,.factory-bootstrap-433 .btn-default:hover,.factory-bootstrap-433 .open .dropdown-toggle.btn-default{background:#fafafa;border-color:#999;color:#222}.factory-bootstrap-433 .btn-default.active,.factory-bootstrap-433 .btn-default:active,.factory-bootstrap-433 .open .dropdown-toggle.btn-default{background-image:none}.factory-bootstrap-433 .btn-default.disabled,.factory-bootstrap-433 .btn-default.disabled.active,.factory-bootstrap-433 .btn-default.disabled:active,.factory-bootstrap-433 .btn-default.disabled:focus,.factory-bootstrap-433 .btn-default.disabled:hover,.factory-bootstrap-433 .btn-default[disabled],.factory-bootstrap-433 .btn-default[disabled].active,.factory-bootstrap-433 .btn-default[disabled]:active,.factory-bootstrap-433 .btn-default[disabled]:focus,.factory-bootstrap-433 .btn-default[disabled]:hover,.factory-bootstrap-433 fieldset[disabled] .btn-default,.factory-bootstrap-433 fieldset[disabled] .btn-default.active,.factory-bootstrap-433 fieldset[disabled] .btn-default:active,.factory-bootstrap-433 fieldset[disabled] .btn-default:focus,.factory-bootstrap-433 fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.factory-bootstrap-433 .btn-default .badge{color:#fff;background-color:#fff}.factory-bootstrap-433 .btn-primary.active,.factory-bootstrap-433 .btn-primary:active,.factory-bootstrap-433 .btn-primary:focus,.factory-bootstrap-433 .btn-primary:hover,.factory-bootstrap-433 .open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.factory-bootstrap-433 .btn-primary.active,.factory-bootstrap-433 .btn-primary:active,.factory-bootstrap-433 .open .dropdown-toggle.btn-primary{background-image:none}.factory-bootstrap-433 .btn-primary.disabled,.factory-bootstrap-433 .btn-primary.disabled.active,.factory-bootstrap-433 .btn-primary.disabled:active,.factory-bootstrap-433 .btn-primary.disabled:focus,.factory-bootstrap-433 .btn-primary.disabled:hover,.factory-bootstrap-433 .btn-primary[disabled],.factory-bootstrap-433 .btn-primary[disabled].active,.factory-bootstrap-433 .btn-primary[disabled]:active,.factory-bootstrap-433 .btn-primary[disabled]:focus,.factory-bootstrap-433 .btn-primary[disabled]:hover,.factory-bootstrap-433 fieldset[disabled] .btn-primary,.factory-bootstrap-433 fieldset[disabled] .btn-primary.active,.factory-bootstrap-433 fieldset[disabled] .btn-primary:active,.factory-bootstrap-433 fieldset[disabled] .btn-primary:focus,.factory-bootstrap-433 fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.factory-bootstrap-433 .btn-primary .badge{color:#428bca;background-color:#fff}.factory-bootstrap-433 .btn-warning{color:#fff;background-color:#f0ad4e}.factory-bootstrap-433 .btn-warning.active,.factory-bootstrap-433 .btn-warning:active,.factory-bootstrap-433 .btn-warning:focus,.factory-bootstrap-433 .btn-warning:hover,.factory-bootstrap-433 .open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.factory-bootstrap-433 .btn-warning.active,.factory-bootstrap-433 .btn-warning:active,.factory-bootstrap-433 .open .dropdown-toggle.btn-warning{background-image:none}.factory-bootstrap-433 .btn-warning.disabled,.factory-bootstrap-433 .btn-warning.disabled.active,.factory-bootstrap-433 .btn-warning.disabled:active,.factory-bootstrap-433 .btn-warning.disabled:focus,.factory-bootstrap-433 .btn-warning.disabled:hover,.factory-bootstrap-433 .btn-warning[disabled],.factory-bootstrap-433 .btn-warning[disabled].active,.factory-bootstrap-433 .btn-warning[disabled]:active,.factory-bootstrap-433 .btn-warning[disabled]:focus,.factory-bootstrap-433 .btn-warning[disabled]:hover,.factory-bootstrap-433 fieldset[disabled] .btn-warning,.factory-bootstrap-433 fieldset[disabled] .btn-warning.active,.factory-bootstrap-433 fieldset[disabled] .btn-warning:active,.factory-bootstrap-433 fieldset[disabled] .btn-warning:focus,.factory-bootstrap-433 fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.factory-bootstrap-433 .btn-warning .badge{color:#f0ad4e;background-color:#fff}.factory-bootstrap-433 .btn-success{color:#fff;background-color:#5cb85c}.factory-bootstrap-433 .btn-success.active,.factory-bootstrap-433 .btn-success:active,.factory-bootstrap-433 .btn-success:focus,.factory-bootstrap-433 .btn-success:hover,.factory-bootstrap-433 .open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.factory-bootstrap-433 .btn-success.active,.factory-bootstrap-433 .btn-success:active,.factory-bootstrap-433 .open .dropdown-toggle.btn-success{background-image:none}.factory-bootstrap-433 .btn-success.disabled,.factory-bootstrap-433 .btn-success.disabled.active,.factory-bootstrap-433 .btn-success.disabled:active,.factory-bootstrap-433 .btn-success.disabled:focus,.factory-bootstrap-433 .btn-success.disabled:hover,.factory-bootstrap-433 .btn-success[disabled],.factory-bootstrap-433 .btn-success[disabled].active,.factory-bootstrap-433 .btn-success[disabled]:active,.factory-bootstrap-433 .btn-success[disabled]:focus,.factory-bootstrap-433 .btn-success[disabled]:hover,.factory-bootstrap-433 fieldset[disabled] .btn-success,.factory-bootstrap-433 fieldset[disabled] .btn-success.active,.factory-bootstrap-433 fieldset[disabled] .btn-success:active,.factory-bootstrap-433 fieldset[disabled] .btn-success:focus,.factory-bootstrap-433 fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.factory-bootstrap-433 .btn-success .badge{color:#5cb85c;background-color:#fff}.factory-bootstrap-433 .btn-info{color:#fff;background-color:#5bc0de}.factory-bootstrap-433 .btn-info.active,.factory-bootstrap-433 .btn-info:active,.factory-bootstrap-433 .btn-info:focus,.factory-bootstrap-433 .btn-info:hover,.factory-bootstrap-433 .open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.factory-bootstrap-433 .btn-info.active,.factory-bootstrap-433 .btn-info:active,.factory-bootstrap-433 .open .dropdown-toggle.btn-info{background-image:none}.factory-bootstrap-433 .btn-info.disabled,.factory-bootstrap-433 .btn-info.disabled.active,.factory-bootstrap-433 .btn-info.disabled:active,.factory-bootstrap-433 .btn-info.disabled:focus,.factory-bootstrap-433 .btn-info.disabled:hover,.factory-bootstrap-433 .btn-info[disabled],.factory-bootstrap-433 .btn-info[disabled].active,.factory-bootstrap-433 .btn-info[disabled]:active,.factory-bootstrap-433 .btn-info[disabled]:focus,.factory-bootstrap-433 .btn-info[disabled]:hover,.factory-bootstrap-433 fieldset[disabled] .btn-info,.factory-bootstrap-433 fieldset[disabled] .btn-info.active,.factory-bootstrap-433 fieldset[disabled] .btn-info:active,.factory-bootstrap-433 fieldset[disabled] .btn-info:focus,.factory-bootstrap-433 fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.factory-bootstrap-433 .btn-info .badge{color:#5bc0de;background-color:#fff}.factory-bootstrap-433 .btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.factory-bootstrap-433 .btn-link,.factory-bootstrap-433 .btn-link:active,.factory-bootstrap-433 .btn-link[disabled],.factory-bootstrap-433 fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-433 .btn-link,.factory-bootstrap-433 .btn-link:active,.factory-bootstrap-433 .btn-link:focus,.factory-bootstrap-433 .btn-link:hover{border-color:transparent}.factory-bootstrap-433 .btn-link:focus,.factory-bootstrap-433 .btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.factory-bootstrap-433 .btn-link[disabled]:focus,.factory-bootstrap-433 .btn-link[disabled]:hover,.factory-bootstrap-433 fieldset[disabled] .btn-link:focus,.factory-bootstrap-433 fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.factory-bootstrap-433 .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-433 .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-433 .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-433 .btn-block{display:block;width:100%;padding-right:0;padding-left:0}.factory-bootstrap-433 .btn-block+.btn-block{margin-top:5px}.factory-bootstrap-433 input[type=button].btn-block,.factory-bootstrap-433 input[type=reset].btn-block,.factory-bootstrap-433 input[type=submit].btn-block{width:100%}.factory-bootstrap-433 .fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.factory-bootstrap-433 .fade.in{opacity:1}.factory-bootstrap-433 .collapse{display:none}.factory-bootstrap-433 .collapse.in{display:block}.factory-bootstrap-433 .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular) format('svg')}.factory-bootstrap-433 .glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:400;line-height:1;-moz-osx-font-smoothing:grayscale}.factory-bootstrap-433 .glyphicon:empty{width:1em}.factory-bootstrap-433 .glyphicon-asterisk:before{content:"\2a"}.factory-bootstrap-433 .glyphicon-plus:before{content:"\2b"}.factory-bootstrap-433 .glyphicon-euro:before{content:"\20ac"}.factory-bootstrap-433 .glyphicon-minus:before{content:"\2212"}.factory-bootstrap-433 .glyphicon-cloud:before{content:"\2601"}.factory-bootstrap-433 .glyphicon-envelope:before{content:"\2709"}.factory-bootstrap-433 .glyphicon-pencil:before{content:"\270f"}.factory-bootstrap-433 .glyphicon-glass:before{content:"\e001"}.factory-bootstrap-433 .glyphicon-music:before{content:"\e002"}.factory-bootstrap-433 .glyphicon-search:before{content:"\e003"}.factory-bootstrap-433 .glyphicon-heart:before{content:"\e005"}.factory-bootstrap-433 .glyphicon-star:before{content:"\e006"}.factory-bootstrap-433 .glyphicon-star-empty:before{content:"\e007"}.factory-bootstrap-433 .glyphicon-user:before{content:"\e008"}.factory-bootstrap-433 .glyphicon-film:before{content:"\e009"}.factory-bootstrap-433 .glyphicon-th-large:before{content:"\e010"}.factory-bootstrap-433 .glyphicon-th:before{content:"\e011"}.factory-bootstrap-433 .glyphicon-th-list:before{content:"\e012"}.factory-bootstrap-433 .glyphicon-ok:before{content:"\e013"}.factory-bootstrap-433 .glyphicon-remove:before{content:"\e014"}.factory-bootstrap-433 .glyphicon-zoom-in:before{content:"\e015"}.factory-bootstrap-433 .glyphicon-zoom-out:before{content:"\e016"}.factory-bootstrap-433 .glyphicon-off:before{content:"\e017"}.factory-bootstrap-433 .glyphicon-signal:before{content:"\e018"}.factory-bootstrap-433 .glyphicon-cog:before{content:"\e019"}.factory-bootstrap-433 .glyphicon-trash:before{content:"\e020"}.factory-bootstrap-433 .glyphicon-home:before{content:"\e021"}.factory-bootstrap-433 .glyphicon-file:before{content:"\e022"}.factory-bootstrap-433 .glyphicon-time:before{content:"\e023"}.factory-bootstrap-433 .glyphicon-road:before{content:"\e024"}.factory-bootstrap-433 .glyphicon-download-alt:before{content:"\e025"}.factory-bootstrap-433 .glyphicon-download:before{content:"\e026"}.factory-bootstrap-433 .glyphicon-upload:before{content:"\e027"}.factory-bootstrap-433 .glyphicon-inbox:before{content:"\e028"}.factory-bootstrap-433 .glyphicon-play-circle:before{content:"\e029"}.factory-bootstrap-433 .glyphicon-repeat:before{content:"\e030"}.factory-bootstrap-433 .glyphicon-refresh:before{content:"\e031"}.factory-bootstrap-433 .glyphicon-list-alt:before{content:"\e032"}.factory-bootstrap-433 .glyphicon-lock:before{content:"\e033"}.factory-bootstrap-433 .glyphicon-flag:before{content:"\e034"}.factory-bootstrap-433 .glyphicon-headphones:before{content:"\e035"}.factory-bootstrap-433 .glyphicon-volume-off:before{content:"\e036"}.factory-bootstrap-433 .glyphicon-volume-down:before{content:"\e037"}.factory-bootstrap-433 .glyphicon-volume-up:before{content:"\e038"}.factory-bootstrap-433 .glyphicon-qrcode:before{content:"\e039"}.factory-bootstrap-433 .glyphicon-barcode:before{content:"\e040"}.factory-bootstrap-433 .glyphicon-tag:before{content:"\e041"}.factory-bootstrap-433 .glyphicon-tags:before{content:"\e042"}.factory-bootstrap-433 .glyphicon-book:before{content:"\e043"}.factory-bootstrap-433 .glyphicon-bookmark:before{content:"\e044"}.factory-bootstrap-433 .glyphicon-print:before{content:"\e045"}.factory-bootstrap-433 .glyphicon-camera:before{content:"\e046"}.factory-bootstrap-433 .glyphicon-font:before{content:"\e047"}.factory-bootstrap-433 .glyphicon-bold:before{content:"\e048"}.factory-bootstrap-433 .glyphicon-italic:before{content:"\e049"}.factory-bootstrap-433 .glyphicon-text-height:before{content:"\e050"}.factory-bootstrap-433 .glyphicon-text-width:before{content:"\e051"}.factory-bootstrap-433 .glyphicon-align-left:before{content:"\e052"}.factory-bootstrap-433 .glyphicon-align-center:before{content:"\e053"}.factory-bootstrap-433 .glyphicon-align-right:before{content:"\e054"}.factory-bootstrap-433 .glyphicon-align-justify:before{content:"\e055"}.factory-bootstrap-433 .glyphicon-list:before{content:"\e056"}.factory-bootstrap-433 .glyphicon-indent-left:before{content:"\e057"}.factory-bootstrap-433 .glyphicon-indent-right:before{content:"\e058"}.factory-bootstrap-433 .glyphicon-facetime-video:before{content:"\e059"}.factory-bootstrap-433 .glyphicon-picture:before{content:"\e060"}.factory-bootstrap-433 .glyphicon-map-marker:before{content:"\e062"}.factory-bootstrap-433 .glyphicon-adjust:before{content:"\e063"}.factory-bootstrap-433 .glyphicon-tint:before{content:"\e064"}.factory-bootstrap-433 .glyphicon-edit:before{content:"\e065"}.factory-bootstrap-433 .glyphicon-share:before{content:"\e066"}.factory-bootstrap-433 .glyphicon-check:before{content:"\e067"}.factory-bootstrap-433 .glyphicon-move:before{content:"\e068"}.factory-bootstrap-433 .glyphicon-step-backward:before{content:"\e069"}.factory-bootstrap-433 .glyphicon-fast-backward:before{content:"\e070"}.factory-bootstrap-433 .glyphicon-backward:before{content:"\e071"}.factory-bootstrap-433 .glyphicon-play:before{content:"\e072"}.factory-bootstrap-433 .glyphicon-pause:before{content:"\e073"}.factory-bootstrap-433 .glyphicon-stop:before{content:"\e074"}.factory-bootstrap-433 .glyphicon-forward:before{content:"\e075"}.factory-bootstrap-433 .glyphicon-fast-forward:before{content:"\e076"}.factory-bootstrap-433 .glyphicon-step-forward:before{content:"\e077"}.factory-bootstrap-433 .glyphicon-eject:before{content:"\e078"}.factory-bootstrap-433 .glyphicon-chevron-left:before{content:"\e079"}.factory-bootstrap-433 .glyphicon-chevron-right:before{content:"\e080"}.factory-bootstrap-433 .glyphicon-plus-sign:before{content:"\e081"}.factory-bootstrap-433 .glyphicon-minus-sign:before{content:"\e082"}.factory-bootstrap-433 .glyphicon-remove-sign:before{content:"\e083"}.factory-bootstrap-433 .glyphicon-ok-sign:before{content:"\e084"}.factory-bootstrap-433 .glyphicon-question-sign:before{content:"\e085"}.factory-bootstrap-433 .glyphicon-info-sign:before{content:"\e086"}.factory-bootstrap-433 .glyphicon-screenshot:before{content:"\e087"}.factory-bootstrap-433 .glyphicon-remove-circle:before{content:"\e088"}.factory-bootstrap-433 .glyphicon-ok-circle:before{content:"\e089"}.factory-bootstrap-433 .glyphicon-ban-circle:before{content:"\e090"}.factory-bootstrap-433 .glyphicon-arrow-left:before{content:"\e091"}.factory-bootstrap-433 .glyphicon-arrow-right:before{content:"\e092"}.factory-bootstrap-433 .glyphicon-arrow-up:before{content:"\e093"}.factory-bootstrap-433 .glyphicon-arrow-down:before{content:"\e094"}.factory-bootstrap-433 .glyphicon-share-alt:before{content:"\e095"}.factory-bootstrap-433 .glyphicon-resize-full:before{content:"\e096"}.factory-bootstrap-433 .glyphicon-resize-small:before{content:"\e097"}.factory-bootstrap-433 .glyphicon-exclamation-sign:before{content:"\e101"}.factory-bootstrap-433 .glyphicon-gift:before{content:"\e102"}.factory-bootstrap-433 .glyphicon-leaf:before{content:"\e103"}.factory-bootstrap-433 .glyphicon-fire:before{content:"\e104"}.factory-bootstrap-433 .glyphicon-eye-open:before{content:"\e105"}.factory-bootstrap-433 .glyphicon-eye-close:before{content:"\e106"}.factory-bootstrap-433 .glyphicon-warning-sign:before{content:"\e107"}.factory-bootstrap-433 .glyphicon-plane:before{content:"\e108"}.factory-bootstrap-433 .glyphicon-calendar:before{content:"\e109"}.factory-bootstrap-433 .glyphicon-random:before{content:"\e110"}.factory-bootstrap-433 .glyphicon-comment:before{content:"\e111"}.factory-bootstrap-433 .glyphicon-magnet:before{content:"\e112"}.factory-bootstrap-433 .glyphicon-chevron-up:before{content:"\e113"}.factory-bootstrap-433 .glyphicon-chevron-down:before{content:"\e114"}.factory-bootstrap-433 .glyphicon-retweet:before{content:"\e115"}.factory-bootstrap-433 .glyphicon-shopping-cart:before{content:"\e116"}.factory-bootstrap-433 .glyphicon-folder-close:before{content:"\e117"}.factory-bootstrap-433 .glyphicon-folder-open:before{content:"\e118"}.factory-bootstrap-433 .glyphicon-resize-vertical:before{content:"\e119"}.factory-bootstrap-433 .glyphicon-resize-horizontal:before{content:"\e120"}.factory-bootstrap-433 .glyphicon-hdd:before{content:"\e121"}.factory-bootstrap-433 .glyphicon-bullhorn:before{content:"\e122"}.factory-bootstrap-433 .glyphicon-bell:before{content:"\e123"}.factory-bootstrap-433 .glyphicon-certificate:before{content:"\e124"}.factory-bootstrap-433 .glyphicon-thumbs-up:before{content:"\e125"}.factory-bootstrap-433 .glyphicon-thumbs-down:before{content:"\e126"}.factory-bootstrap-433 .glyphicon-hand-right:before{content:"\e127"}.factory-bootstrap-433 .glyphicon-hand-left:before{content:"\e128"}.factory-bootstrap-433 .glyphicon-hand-up:before{content:"\e129"}.factory-bootstrap-433 .glyphicon-hand-down:before{content:"\e130"}.factory-bootstrap-433 .glyphicon-circle-arrow-right:before{content:"\e131"}.factory-bootstrap-433 .glyphicon-circle-arrow-left:before{content:"\e132"}.factory-bootstrap-433 .glyphicon-circle-arrow-up:before{content:"\e133"}.factory-bootstrap-433 .glyphicon-circle-arrow-down:before{content:"\e134"}.factory-bootstrap-433 .glyphicon-globe:before{content:"\e135"}.factory-bootstrap-433 .glyphicon-wrench:before{content:"\e136"}.factory-bootstrap-433 .glyphicon-tasks:before{content:"\e137"}.factory-bootstrap-433 .glyphicon-filter:before{content:"\e138"}.factory-bootstrap-433 .glyphicon-briefcase:before{content:"\e139"}.factory-bootstrap-433 .glyphicon-fullscreen:before{content:"\e140"}.factory-bootstrap-433 .glyphicon-dashboard:before{content:"\e141"}.factory-bootstrap-433 .glyphicon-paperclip:before{content:"\e142"}.factory-bootstrap-433 .glyphicon-heart-empty:before{content:"\e143"}.factory-bootstrap-433 .glyphicon-link:before{content:"\e144"}.factory-bootstrap-433 .glyphicon-phone:before{content:"\e145"}.factory-bootstrap-433 .glyphicon-pushpin:before{content:"\e146"}.factory-bootstrap-433 .glyphicon-usd:before{content:"\e148"}.factory-bootstrap-433 .glyphicon-gbp:before{content:"\e149"}.factory-bootstrap-433 .glyphicon-sort:before{content:"\e150"}.factory-bootstrap-433 .glyphicon-sort-by-alphabet:before{content:"\e151"}.factory-bootstrap-433 .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.factory-bootstrap-433 .glyphicon-sort-by-order:before{content:"\e153"}.factory-bootstrap-433 .glyphicon-sort-by-order-alt:before{content:"\e154"}.factory-bootstrap-433 .glyphicon-sort-by-attributes:before{content:"\e155"}.factory-bootstrap-433 .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.factory-bootstrap-433 .glyphicon-unchecked:before{content:"\e157"}.factory-bootstrap-433 .glyphicon-expand:before{content:"\e158"}.factory-bootstrap-433 .glyphicon-collapse-down:before{content:"\e159"}.factory-bootstrap-433 .glyphicon-collapse-up:before{content:"\e160"}.factory-bootstrap-433 .glyphicon-log-in:before{content:"\e161"}.factory-bootstrap-433 .glyphicon-flash:before{content:"\e162"}.factory-bootstrap-433 .glyphicon-log-out:before{content:"\e163"}.factory-bootstrap-433 .glyphicon-new-window:before{content:"\e164"}.factory-bootstrap-433 .glyphicon-record:before{content:"\e165"}.factory-bootstrap-433 .glyphicon-save:before{content:"\e166"}.factory-bootstrap-433 .glyphicon-open:before{content:"\e167"}.factory-bootstrap-433 .glyphicon-saved:before{content:"\e168"}.factory-bootstrap-433 .glyphicon-import:before{content:"\e169"}.factory-bootstrap-433 .glyphicon-export:before{content:"\e170"}.factory-bootstrap-433 .glyphicon-send:before{content:"\e171"}.factory-bootstrap-433 .glyphicon-floppy-disk:before{content:"\e172"}.factory-bootstrap-433 .glyphicon-floppy-saved:before{content:"\e173"}.factory-bootstrap-433 .glyphicon-floppy-remove:before{content:"\e174"}.factory-bootstrap-433 .glyphicon-floppy-save:before{content:"\e175"}.factory-bootstrap-433 .glyphicon-floppy-open:before{content:"\e176"}.factory-bootstrap-433 .glyphicon-credit-card:before{content:"\e177"}.factory-bootstrap-433 .glyphicon-transfer:before{content:"\e178"}.factory-bootstrap-433 .glyphicon-cutlery:before{content:"\e179"}.factory-bootstrap-433 .glyphicon-header:before{content:"\e180"}.factory-bootstrap-433 .glyphicon-compressed:before{content:"\e181"}.factory-bootstrap-433 .glyphicon-earphone:before{content:"\e182"}.factory-bootstrap-433 .glyphicon-phone-alt:before{content:"\e183"}.factory-bootstrap-433 .glyphicon-tower:before{content:"\e184"}.factory-bootstrap-433 .glyphicon-stats:before{content:"\e185"}.factory-bootstrap-433 .glyphicon-sd-video:before{content:"\e186"}.factory-bootstrap-433 .glyphicon-hd-video:before{content:"\e187"}.factory-bootstrap-433 .glyphicon-subtitles:before{content:"\e188"}.factory-bootstrap-433 .glyphicon-sound-stereo:before{content:"\e189"}.factory-bootstrap-433 .glyphicon-sound-dolby:before{content:"\e190"}.factory-bootstrap-433 .glyphicon-sound-5-1:before{content:"\e191"}.factory-bootstrap-433 .glyphicon-sound-6-1:before{content:"\e192"}.factory-bootstrap-433 .glyphicon-sound-7-1:before{content:"\e193"}.factory-bootstrap-433 .glyphicon-copyright-mark:before{content:"\e194"}.factory-bootstrap-433 .glyphicon-registration-mark:before{content:"\e195"}.factory-bootstrap-433 .glyphicon-cloud-download:before{content:"\e197"}.factory-bootstrap-433 .glyphicon-cloud-upload:before{content:"\e198"}.factory-bootstrap-433 .glyphicon-tree-conifer:before{content:"\e199"}.factory-bootstrap-433 .glyphicon-tree-deciduous:before{content:"\e200"}.factory-bootstrap-433 .caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.factory-bootstrap-433 .dropdown{position:relative}.factory-bootstrap-433 .dropdown-toggle:focus{outline:0}.factory-bootstrap-433 .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.factory-bootstrap-433 .dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-433 .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-433 .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;color:#333;white-space:nowrap}.factory-bootstrap-433 .dropdown-menu>li>a:focus,.factory-bootstrap-433 .dropdown-menu>li>a:hover{color:#262626;text-decoration:none}.factory-bootstrap-433 .dropdown-menu>.active>a,.factory-bootstrap-433 .dropdown-menu>.active>a:focus,.factory-bootstrap-433 .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0}.factory-bootstrap-433 .dropdown-menu>.disabled>a,.factory-bootstrap-433 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-433 .dropdown-menu>.disabled>a:hover{color:#999}.factory-bootstrap-433 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-433 .dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-433 .open>.dropdown-menu{display:block}.factory-bootstrap-433 .open>a{outline:0}.factory-bootstrap-433 .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.factory-bootstrap-433 .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.factory-bootstrap-433 .pull-right>.dropdown-menu{right:0;left:auto}.factory-bootstrap-433 .dropup .caret,.factory-bootstrap-433 .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.factory-bootstrap-433 .dropup .dropdown-menu,.factory-bootstrap-433 .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.factory-bootstrap-433 .btn-group,.factory-bootstrap-433 .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.factory-bootstrap-433 .btn-group-vertical>.btn,.factory-bootstrap-433 .btn-group>.btn{position:relative;float:left}.factory-bootstrap-433 .btn-group-vertical>.btn.active,.factory-bootstrap-433 .btn-group-vertical>.btn:active,.factory-bootstrap-433 .btn-group-vertical>.btn:focus,.factory-bootstrap-433 .btn-group-vertical>.btn:hover,.factory-bootstrap-433 .btn-group>.btn.active,.factory-bootstrap-433 .btn-group>.btn:active,.factory-bootstrap-433 .btn-group>.btn:focus,.factory-bootstrap-433 .btn-group>.btn:hover{z-index:2}.factory-bootstrap-433 .btn-group-vertical>.btn:focus,.factory-bootstrap-433 .btn-group>.btn:focus{outline:0}.factory-bootstrap-433 .btn-group .btn+.btn,.factory-bootstrap-433 .btn-group .btn+.btn-group,.factory-bootstrap-433 .btn-group .btn-group+.btn,.factory-bootstrap-433 .btn-group .btn-group+.btn-group{margin-left:-1px}.factory-bootstrap-433 .btn-toolbar:after,.factory-bootstrap-433 .btn-toolbar:before{display:table;content:" "}.factory-bootstrap-433 .btn-toolbar:after{clear:both}.factory-bootstrap-433 .btn-toolbar .btn-group{float:left}.factory-bootstrap-433 .btn-toolbar>.btn+.btn,.factory-bootstrap-433 .btn-toolbar>.btn+.btn-group,.factory-bootstrap-433 .btn-toolbar>.btn-group+.btn,.factory-bootstrap-433 .btn-toolbar>.btn-group+.btn-group{margin-left:5px}.factory-bootstrap-433 .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.factory-bootstrap-433 .btn-group>.btn:first-child{margin-left:0}.factory-bootstrap-433 .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-433 .btn-group>.btn:last-child:not(:first-child),.factory-bootstrap-433 .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-433 .btn-group>.btn-group{float:left}.factory-bootstrap-433 .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-433 .btn-group>.btn-group:first-child>.btn:last-child,.factory-bootstrap-433 .btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-433 .btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-433 .btn-group .dropdown-toggle:active,.factory-bootstrap-433 .btn-group.open .dropdown-toggle{outline:0}.factory-bootstrap-433 .btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-433 .btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-433 .btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-433 .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.factory-bootstrap-433 .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.factory-bootstrap-433 .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.factory-bootstrap-433 .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-433 .btn-group{border:4px solid #f9f9f9;border-radius:4px}.factory-bootstrap-433 .btn-group .btn.active.value{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-433 .btn .caret{margin-left:0}.factory-bootstrap-433 .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.factory-bootstrap-433 .dropup .btn-lg .caret{border-width:0 5px 5px}.factory-bootstrap-433 .btn-group-vertical>.btn,.factory-bootstrap-433 .btn-group-vertical>.btn-group,.factory-bootstrap-433 .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.factory-bootstrap-433 .btn-group-vertical>.btn-group:after,.factory-bootstrap-433 .btn-group-vertical>.btn-group:before{display:table;content:" "}.factory-bootstrap-433 .btn-group-vertical>.btn-group:after{clear:both}.factory-bootstrap-433 .btn-group-vertical>.btn-group>.btn{float:none}.factory-bootstrap-433 .btn-group-vertical>.btn+.btn,.factory-bootstrap-433 .btn-group-vertical>.btn+.btn-group,.factory-bootstrap-433 .btn-group-vertical>.btn-group+.btn,.factory-bootstrap-433 .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.factory-bootstrap-433 .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-433 .btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-433 .btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.factory-bootstrap-433 .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-433 .btn-group-vertical>.btn-group:first-child>.btn:last-child,.factory-bootstrap-433 .btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-433 .btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-433 .btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.factory-bootstrap-433 .btn-group-justified>.btn,.factory-bootstrap-433 .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.factory-bootstrap-433 .btn-group-justified>.btn-group .btn{width:100%}[data-toggle=buttons]>.btn>input[type=checkbox],[data-toggle=buttons]>.btn>input[type=radio]{display:none}.factory-bootstrap-433 .input-group{position:relative;display:table;border-collapse:separate}.factory-bootstrap-433 .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.factory-bootstrap-433 .input-group .form-control{width:100%;margin-bottom:0}.factory-bootstrap-433 .input-group-lg>.form-control,.factory-bootstrap-433 .input-group-lg>.input-group-addon,.factory-bootstrap-433 .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-433 select.input-group-lg>.form-control,.factory-bootstrap-433 select.input-group-lg>.input-group-addon,.factory-bootstrap-433 select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.factory-bootstrap-433 textarea.input-group-lg>.form-control,.factory-bootstrap-433 textarea.input-group-lg>.input-group-addon,.factory-bootstrap-433 textarea.input-group-lg>.input-group-btn>.btn{height:auto}.factory-bootstrap-433 .input-group-sm>.form-control,.factory-bootstrap-433 .input-group-sm>.input-group-addon,.factory-bootstrap-433 .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-433 select.input-group-sm>.form-control,.factory-bootstrap-433 select.input-group-sm>.input-group-addon,.factory-bootstrap-433 select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.factory-bootstrap-433 textarea.input-group-sm>.form-control,.factory-bootstrap-433 textarea.input-group-sm>.input-group-addon,.factory-bootstrap-433 textarea.input-group-sm>.input-group-btn>.btn{height:auto}.factory-bootstrap-433 .input-group .form-control,.factory-bootstrap-433 .input-group-addon,.factory-bootstrap-433 .input-group-btn{display:table-cell}.factory-bootstrap-433 .input-group .form-control:not(:first-child):not(:last-child),.factory-bootstrap-433 .input-group-addon:not(:first-child):not(:last-child),.factory-bootstrap-433 .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-433 .input-group-addon,.factory-bootstrap-433 .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.factory-bootstrap-433 .input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-433 .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.factory-bootstrap-433 .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.factory-bootstrap-433 .input-group-addon input[type=checkbox],.factory-bootstrap-433 .input-group-addon input[type=radio]{margin-top:0}.factory-bootstrap-433 .input-group .form-control:first-child,.factory-bootstrap-433 .input-group-addon:first-child,.factory-bootstrap-433 .input-group-btn:first-child>.btn,.factory-bootstrap-433 .input-group-btn:first-child>.dropdown-toggle,.factory-bootstrap-433 .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-433 .input-group-addon:first-child{border-right:0}.factory-bootstrap-433 .input-group .form-control:last-child,.factory-bootstrap-433 .input-group-addon:last-child,.factory-bootstrap-433 .input-group-btn:first-child>.btn:not(:first-child),.factory-bootstrap-433 .input-group-btn:last-child>.btn,.factory-bootstrap-433 .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-433 .input-group-addon:last-child{border-left:0}.factory-bootstrap-433 .input-group-btn{position:relative;white-space:nowrap}.factory-bootstrap-433 .input-group-btn:first-child>.btn{margin-right:-1px}.factory-bootstrap-433 .input-group-btn:last-child>.btn{margin-left:-1px}.factory-bootstrap-433 .input-group-btn>.btn{position:relative}.factory-bootstrap-433 .input-group-btn>.btn+.btn{margin-left:-4px}.factory-bootstrap-433 .input-group-btn>.btn:active,.factory-bootstrap-433 .input-group-btn>.btn:hover{z-index:2}.factory-bootstrap-433 .nav{padding-left:0;margin-bottom:0;list-style:none}.factory-bootstrap-433 .nav:after,.factory-bootstrap-433 .nav:before{display:table;content:" "}.factory-bootstrap-433 .nav:after{clear:both}.factory-bootstrap-433 .nav>li{position:relative;display:block}.factory-bootstrap-433 .nav>li>a{position:relative;display:block;padding:10px 15px}.factory-bootstrap-433 .nav>li>a:focus,.factory-bootstrap-433 .nav>li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-433 .nav>li.disabled>a{color:#999}.factory-bootstrap-433 .nav>li.disabled>a:focus,.factory-bootstrap-433 .nav>li.disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.factory-bootstrap-433 .nav .open>a,.factory-bootstrap-433 .nav .open>a:focus,.factory-bootstrap-433 .nav .open>a:hover{background-color:#eee;border-color:#428bca}.factory-bootstrap-433 .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-433 .nav>li>a>img{max-width:none}.factory-bootstrap-433 .nav-tabs{border-bottom:1px solid #ddd}.factory-bootstrap-433 .nav-tabs>li{float:left;margin-bottom:-1px}.factory-bootstrap-433 .nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.factory-bootstrap-433 .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.factory-bootstrap-433 .nav-tabs>li.active>a,.factory-bootstrap-433 .nav-tabs>li.active>a:focus,.factory-bootstrap-433 .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.factory-bootstrap-433 .nav-tabs.nav-justified{width:100%;border-bottom:0}.factory-bootstrap-433 .nav-tabs.nav-justified>li{float:none}.factory-bootstrap-433 .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-433 .nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-433 .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-433 .nav-tabs.nav-justified>.active>a,.factory-bootstrap-433 .nav-tabs.nav-justified>.active>a:focus,.factory-bootstrap-433 .nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-433 .nav-pills>li{float:left}.factory-bootstrap-433 .nav-pills>li>a{border-radius:4px}.factory-bootstrap-433 .nav-pills>li+li{margin-left:2px}.factory-bootstrap-433 .nav-pills>li.active>a,.factory-bootstrap-433 .nav-pills>li.active>a:focus,.factory-bootstrap-433 .nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.factory-bootstrap-433 .nav-stacked>li{float:none}.factory-bootstrap-433 .nav-stacked>li+li{margin-top:2px;margin-left:0}.factory-bootstrap-433 .nav-justified{width:100%}.factory-bootstrap-433 .nav-justified>li{float:none}.factory-bootstrap-433 .nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-433 .nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-433 .nav-tabs-justified{border-bottom:0}.factory-bootstrap-433 .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-433 .nav-tabs-justified>.active>a,.factory-bootstrap-433 .nav-tabs-justified>.active>a:focus,.factory-bootstrap-433 .nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-433 .tab-content>.tab-pane{display:none}.factory-bootstrap-433 .tab-content>.active{display:block}.factory-bootstrap-433 .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-433 .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.factory-bootstrap-433 .navbar:after,.factory-bootstrap-433 .navbar:before{display:table;content:" "}.factory-bootstrap-433 .navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.factory-bootstrap-433 .navbar-header:after,.factory-bootstrap-433 .navbar-header:before{display:table;content:" "}.factory-bootstrap-433 .navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.factory-bootstrap-433 .navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.factory-bootstrap-433 .navbar-collapse:after,.factory-bootstrap-433 .navbar-collapse:before{display:table;content:" "}.factory-bootstrap-433 .navbar-collapse:after{clear:both}.factory-bootstrap-433 .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.factory-bootstrap-433 .container>.navbar-collapse,.factory-bootstrap-433 .container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.factory-bootstrap-433 .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.factory-bootstrap-433 .navbar-fixed-bottom,.factory-bootstrap-433 .navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.factory-bootstrap-433 .navbar-fixed-top{top:0;border-width:0 0 1px}.factory-bootstrap-433 .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.factory-bootstrap-433 .navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px}.factory-bootstrap-433 .navbar-brand:focus,.factory-bootstrap-433 .navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.factory-bootstrap-433 .navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.factory-bootstrap-433 .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.factory-bootstrap-433 .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.factory-bootstrap-433 .navbar-nav{margin:7.5px -15px}.factory-bootstrap-433 .navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.factory-bootstrap-433 .navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form select.form-control{width:auto}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{float:none;margin-left:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.factory-bootstrap-433 .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-433 .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-433 .navbar-nav.pull-right>li>.dropdown-menu,.factory-bootstrap-433 .navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-433 .navbar-btn{margin-top:8px;margin-bottom:8px}.factory-bootstrap-433 .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.factory-bootstrap-433 .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.factory-bootstrap-433 .navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.factory-bootstrap-433 .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.factory-bootstrap-433 .navbar-default .navbar-brand{color:#777}.factory-bootstrap-433 .navbar-default .navbar-brand:focus,.factory-bootstrap-433 .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.factory-bootstrap-433 .navbar-default .navbar-nav>li>a,.factory-bootstrap-433 .navbar-default .navbar-text{color:#777}.factory-bootstrap-433 .navbar-default .navbar-nav>li>a:focus,.factory-bootstrap-433 .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.factory-bootstrap-433 .navbar-default .navbar-nav>.active>a,.factory-bootstrap-433 .navbar-default .navbar-nav>.active>a:focus,.factory-bootstrap-433 .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.factory-bootstrap-433 .navbar-default .navbar-nav>.disabled>a,.factory-bootstrap-433 .navbar-default .navbar-nav>.disabled>a:focus,.factory-bootstrap-433 .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.factory-bootstrap-433 .navbar-default .navbar-toggle{border-color:#ddd}.factory-bootstrap-433 .navbar-default .navbar-toggle:focus,.factory-bootstrap-433 .navbar-default .navbar-toggle:hover{background-color:#ddd}.factory-bootstrap-433 .navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.factory-bootstrap-433 .navbar-default .navbar-collapse,.factory-bootstrap-433 .navbar-default .navbar-form{border-color:#e7e7e7}.factory-bootstrap-433 .navbar-default .navbar-nav>.open>a,.factory-bootstrap-433 .navbar-default .navbar-nav>.open>a:focus,.factory-bootstrap-433 .navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.factory-bootstrap-433 .navbar-default .navbar-link{color:#777}.factory-bootstrap-433 .navbar-default .navbar-link:hover{color:#333}.factory-bootstrap-433 .navbar-inverse{background-color:#222;border-color:#080808}.factory-bootstrap-433 .navbar-inverse .navbar-brand{color:#999}.factory-bootstrap-433 .navbar-inverse .navbar-brand:focus,.factory-bootstrap-433 .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.factory-bootstrap-433 .navbar-inverse .navbar-nav>li>a,.factory-bootstrap-433 .navbar-inverse .navbar-text{color:#999}.factory-bootstrap-433 .navbar-inverse .navbar-nav>li>a:focus,.factory-bootstrap-433 .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.factory-bootstrap-433 .navbar-inverse .navbar-nav>.active>a,.factory-bootstrap-433 .navbar-inverse .navbar-nav>.active>a:focus,.factory-bootstrap-433 .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.factory-bootstrap-433 .navbar-inverse .navbar-nav>.disabled>a,.factory-bootstrap-433 .navbar-inverse .navbar-nav>.disabled>a:focus,.factory-bootstrap-433 .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.factory-bootstrap-433 .navbar-inverse .navbar-toggle{border-color:#333}.factory-bootstrap-433 .navbar-inverse .navbar-toggle:focus,.factory-bootstrap-433 .navbar-inverse .navbar-toggle:hover{background-color:#333}.factory-bootstrap-433 .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.factory-bootstrap-433 .navbar-inverse .navbar-collapse,.factory-bootstrap-433 .navbar-inverse .navbar-form{border-color:#101010}.factory-bootstrap-433 .navbar-inverse .navbar-nav>.open>a,.factory-bootstrap-433 .navbar-inverse .navbar-nav>.open>a:focus,.factory-bootstrap-433 .navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.factory-bootstrap-433 .navbar-inverse .navbar-link{color:#999}.factory-bootstrap-433 .navbar-inverse .navbar-link:hover{color:#fff}.factory-bootstrap-433 .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.factory-bootstrap-433 .breadcrumb>li{display:inline-block}.factory-bootstrap-433 .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.factory-bootstrap-433 .breadcrumb>.active{color:#999}.factory-bootstrap-433 .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.factory-bootstrap-433 .pagination>li{display:inline}.factory-bootstrap-433 .pagination>li>a,.factory-bootstrap-433 .pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-433 .pagination>li:first-child>a,.factory-bootstrap-433 .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.factory-bootstrap-433 .pagination>li:last-child>a,.factory-bootstrap-433 .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.factory-bootstrap-433 .pagination>li>a:focus,.factory-bootstrap-433 .pagination>li>a:hover,.factory-bootstrap-433 .pagination>li>span:focus,.factory-bootstrap-433 .pagination>li>span:hover{background-color:#eee}.factory-bootstrap-433 .pagination>.active>a,.factory-bootstrap-433 .pagination>.active>a:focus,.factory-bootstrap-433 .pagination>.active>a:hover,.factory-bootstrap-433 .pagination>.active>span,.factory-bootstrap-433 .pagination>.active>span:focus,.factory-bootstrap-433 .pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#1e8cbe;border-color:#0074a2}.factory-bootstrap-433 .pagination>.disabled>a,.factory-bootstrap-433 .pagination>.disabled>a:focus,.factory-bootstrap-433 .pagination>.disabled>a:hover,.factory-bootstrap-433 .pagination>.disabled>span,.factory-bootstrap-433 .pagination>.disabled>span:focus,.factory-bootstrap-433 .pagination>.disabled>span:hover{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.factory-bootstrap-433 .pagination-lg>li>a,.factory-bootstrap-433 .pagination-lg>li>span{padding:10px 16px;font-size:18px}.factory-bootstrap-433 .pagination-lg>li:first-child>a,.factory-bootstrap-433 .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.factory-bootstrap-433 .pagination-lg>li:last-child>a,.factory-bootstrap-433 .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.factory-bootstrap-433 .pagination-sm>li>a,.factory-bootstrap-433 .pagination-sm>li>span{padding:5px 10px;font-size:12px}.factory-bootstrap-433 .pagination-sm>li:first-child>a,.factory-bootstrap-433 .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.factory-bootstrap-433 .pagination-sm>li:last-child>a,.factory-bootstrap-433 .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.factory-bootstrap-433 .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.factory-bootstrap-433 .pager:after,.factory-bootstrap-433 .pager:before{display:table;content:" "}.factory-bootstrap-433 .pager:after{clear:both}.factory-bootstrap-433 .pager li{display:inline}.factory-bootstrap-433 .pager li>a,.factory-bootstrap-433 .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.factory-bootstrap-433 .pager li>a:focus,.factory-bootstrap-433 .pager li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-433 .pager .next>a,.factory-bootstrap-433 .pager .next>span{float:right}.factory-bootstrap-433 .pager .previous>a,.factory-bootstrap-433 .pager .previous>span{float:left}.factory-bootstrap-433 .pager .disabled>a,.factory-bootstrap-433 .pager .disabled>a:focus,.factory-bootstrap-433 .pager .disabled>a:hover,.factory-bootstrap-433 .pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.factory-bootstrap-433 .label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.factory-bootstrap-433 .label[href]:focus,.factory-bootstrap-433 .label[href]:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-433 .label:empty{display:none}.factory-bootstrap-433 .btn .label{position:relative;top:-1px}.factory-bootstrap-433 .label-default{background-color:#999}.factory-bootstrap-433 .label-default[href]:focus,.factory-bootstrap-433 .label-default[href]:hover{background-color:gray}.factory-bootstrap-433 .label-primary{background-color:#428bca}.factory-bootstrap-433 .label-primary[href]:focus,.factory-bootstrap-433 .label-primary[href]:hover{background-color:#3071a9}.factory-bootstrap-433 .label-success{background-color:#5cb85c}.factory-bootstrap-433 .label-success[href]:focus,.factory-bootstrap-433 .label-success[href]:hover{background-color:#449d44}.factory-bootstrap-433 .label-info{background-color:#5bc0de}.factory-bootstrap-433 .label-info[href]:focus,.factory-bootstrap-433 .label-info[href]:hover{background-color:#31b0d5}.factory-bootstrap-433 .label-warning{background-color:#f0ad4e}.factory-bootstrap-433 .label-warning[href]:focus,.factory-bootstrap-433 .label-warning[href]:hover{background-color:#ec971f}.factory-bootstrap-433 .label-danger{background-color:#d9534f}.factory-bootstrap-433 .label-danger[href]:focus,.factory-bootstrap-433 .label-danger[href]:hover{background-color:#c9302c}.factory-bootstrap-433 .badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.factory-bootstrap-433 .badge:empty{display:none}.factory-bootstrap-433 .btn .badge{position:relative;top:-1px}.factory-bootstrap-433 a.badge:focus,.factory-bootstrap-433 a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-433 .nav-pills>.active>a>.badge,.factory-bootstrap-433 a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.factory-bootstrap-433 .nav-pills>li>a>.badge{margin-left:3px}.factory-bootstrap-433 .jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.factory-bootstrap-433 .jumbotron .h1,.factory-bootstrap-433 .jumbotron h1{line-height:1;color:inherit}.factory-bootstrap-433 .jumbotron p{line-height:1.4}.factory-bootstrap-433 .container .jumbotron{border-radius:6px}.factory-bootstrap-433 .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.factory-bootstrap-433 .thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-433 .thumbnail a>img,.factory-bootstrap-433 .thumbnail>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}.factory-bootstrap-433 a.thumbnail.active,.factory-bootstrap-433 a.thumbnail:focus,.factory-bootstrap-433 a.thumbnail:hover{border-color:#428bca}.factory-bootstrap-433 .thumbnail .caption{padding:9px;color:#333}.factory-bootstrap-433 .alert{border:1px solid transparent;border-radius:4px}.factory-bootstrap-433 .alert h4{margin-top:0;color:inherit}.factory-bootstrap-433 .alert .alert-link{font-weight:700}.factory-bootstrap-433 .alert>p,.factory-bootstrap-433 .alert>ul{margin-bottom:0}.factory-bootstrap-433 .alert>p+p{margin-top:5px}.factory-bootstrap-433 .alert-dismissable{padding-right:35px}.factory-bootstrap-433 .alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.factory-bootstrap-433 .alert-info{color:#31708f;background-color:#d9edf7}.factory-bootstrap-433 .alert-info hr{border-top-color:#a6e1ec}.factory-bootstrap-433 .alert-info .alert-link{color:#245269}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.factory-bootstrap-433 .progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.factory-bootstrap-433 .progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#2ea2cc;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.factory-bootstrap-433 .progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.factory-bootstrap-433 .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.factory-bootstrap-433 .progress-bar-success{background-color:#5cb85c}.factory-bootstrap-433 .progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-433 .progress-bar-info{background-color:#5bc0de}.factory-bootstrap-433 .progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-433 .progress-bar-warning{background-color:#f0ad4e}.factory-bootstrap-433 .progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-433 .progress-bar-danger{background-color:#d9534f}.factory-bootstrap-433 .progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-433 .media,.factory-bootstrap-433 .media-body{overflow:hidden;zoom:1}.factory-bootstrap-433 .media,.factory-bootstrap-433 .media .media{margin-top:15px}.factory-bootstrap-433 .media:first-child{margin-top:0}.factory-bootstrap-433 .media-object{display:block}.factory-bootstrap-433 .media-heading{margin:0 0 5px}.factory-bootstrap-433 .media>.pull-left{margin-right:10px}.factory-bootstrap-433 .media>.pull-right{margin-left:10px}.factory-bootstrap-433 .media-list{padding-left:0;list-style:none}.factory-bootstrap-433 .list-group{padding-left:0;margin-bottom:20px}.factory-bootstrap-433 .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-433 .list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.factory-bootstrap-433 .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.factory-bootstrap-433 .list-group-item>.badge{float:right}.factory-bootstrap-433 .list-group-item>.badge+.badge{margin-right:5px}.factory-bootstrap-433 a.list-group-item{color:#555}.factory-bootstrap-433 a.list-group-item .list-group-item-heading{color:#333}.factory-bootstrap-433 a.list-group-item:focus,.factory-bootstrap-433 a.list-group-item:hover{text-decoration:none;background-color:#f5f5f5}.factory-bootstrap-433 a.list-group-item.active,.factory-bootstrap-433 a.list-group-item.active:focus,.factory-bootstrap-433 a.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-433 a.list-group-item.active .list-group-item-heading,.factory-bootstrap-433 a.list-group-item.active:focus .list-group-item-heading,.factory-bootstrap-433 a.list-group-item.active:hover .list-group-item-heading{color:inherit}.factory-bootstrap-433 a.list-group-item.active .list-group-item-text,.factory-bootstrap-433 a.list-group-item.active:focus .list-group-item-text,.factory-bootstrap-433 a.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.factory-bootstrap-433 .list-group-item-heading{margin-top:0;margin-bottom:5px}.factory-bootstrap-433 .list-group-item-text{margin-bottom:0;line-height:1.3}.factory-bootstrap-433 .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px}.factory-bootstrap-433 .panel-body{padding:15px}.factory-bootstrap-433 .panel-body:after,.factory-bootstrap-433 .panel-body:before{display:table;content:" "}.factory-bootstrap-433 .panel-body:after{clear:both}.factory-bootstrap-433 .panel>.list-group{margin-bottom:0}.factory-bootstrap-433 .panel>.list-group .list-group-item{border-width:1px 0}.factory-bootstrap-433 .panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-433 .panel>.list-group .list-group-item:last-child{border-bottom:0}.factory-bootstrap-433 .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.factory-bootstrap-433 .panel>.table,.factory-bootstrap-433 .panel>.table-responsive>.table{margin-bottom:0}.factory-bootstrap-433 .panel>.panel-body+.table,.factory-bootstrap-433 .panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.factory-bootstrap-433 .panel>.table>tbody:first-child td,.factory-bootstrap-433 .panel>.table>tbody:first-child th{border-top:0}.factory-bootstrap-433 .panel>.table-bordered,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered{border:0}.factory-bootstrap-433 .panel>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-433 .panel>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-433 .panel>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-433 .panel>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-433 .panel>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-433 .panel>.table-bordered>thead>tr>th:first-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.factory-bootstrap-433 .panel>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-433 .panel>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-433 .panel>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-433 .panel>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-433 .panel>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-433 .panel>.table-bordered>thead>tr>th:last-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.factory-bootstrap-433 .panel>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-433 .panel>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-433 .panel>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-433 .panel>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-433 .panel>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-433 .panel>.table-bordered>thead>tr:last-child>th,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>thead>tr:last-child>th{border-bottom:0}.factory-bootstrap-433 .panel>.table-responsive{margin-bottom:0;border:0}.factory-bootstrap-433 .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.factory-bootstrap-433 .panel-heading>.dropdown .dropdown-toggle{color:inherit}.factory-bootstrap-433 .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.factory-bootstrap-433 .panel-title>a{color:inherit}.factory-bootstrap-433 .panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.factory-bootstrap-433 .panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.factory-bootstrap-433 .panel-group .panel+.panel{margin-top:5px}.factory-bootstrap-433 .panel-group .panel-heading{border-bottom:0}.factory-bootstrap-433 .panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.factory-bootstrap-433 .panel-group .panel-footer{border-top:0}.factory-bootstrap-433 .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.factory-bootstrap-433 .panel-default{border-color:#ddd}.factory-bootstrap-433 .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.factory-bootstrap-433 .panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.factory-bootstrap-433 .panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.factory-bootstrap-433 .panel-primary{border-color:#428bca}.factory-bootstrap-433 .panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-433 .panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.factory-bootstrap-433 .panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.factory-bootstrap-433 .panel-success{border-color:#d6e9c6}.factory-bootstrap-433 .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.factory-bootstrap-433 .panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.factory-bootstrap-433 .panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.factory-bootstrap-433 .panel-warning{border-color:#faebcc}.factory-bootstrap-433 .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.factory-bootstrap-433 .panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.factory-bootstrap-433 .panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.factory-bootstrap-433 .panel-danger{border-color:#ebccd1}.factory-bootstrap-433 .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.factory-bootstrap-433 .panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.factory-bootstrap-433 .panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.factory-bootstrap-433 .panel-info{border-color:#bce8f1}.factory-bootstrap-433 .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.factory-bootstrap-433 .panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.factory-bootstrap-433 .panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.factory-bootstrap-433 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px}.factory-bootstrap-433 .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.factory-bootstrap-433 .well-lg{padding:24px;border-radius:6px}.factory-bootstrap-433 .well-sm{padding:9px;border-radius:3px}.factory-bootstrap-433 .close{float:right;font-size:14px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.3;filter:alpha(opacity=30)}.factory-bootstrap-433 .alert .close{position:relative;top:-8px;right:-7px}.factory-bootstrap-433 .close:focus,.factory-bootstrap-433 .close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-433 button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.factory-bootstrap-433 .modal-open{overflow:hidden}.factory-bootstrap-433 .modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll;width:auto;margin-left:0;background-color:transparent;border:0}.factory-bootstrap-433 .modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.factory-bootstrap-433 .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.factory-bootstrap-433 .modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.factory-bootstrap-433 .modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box}.factory-bootstrap-433 .modal-backdrop,.factory-bootstrap-433-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.factory-bootstrap-433 .modal-backdrop.fade,.factory-bootstrap-433-modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.factory-bootstrap-433 .modal-backdrop.in,.factory-bootstrap-433-modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-433 .modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.factory-bootstrap-433 .modal-header .close{margin-top:-2px}.factory-bootstrap-433 .modal-title{margin:0;line-height:1.428571429}.factory-bootstrap-433 .modal-body{position:relative;padding:20px;max-height:none}.factory-bootstrap-433 .modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.factory-bootstrap-433 .modal-footer:after,.factory-bootstrap-433 .modal-footer:before{display:table;content:" "}.factory-bootstrap-433 .modal-footer:after{clear:both}.factory-bootstrap-433 .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.factory-bootstrap-433 .modal-footer .btn-group .btn+.btn{margin-left:-1px}.factory-bootstrap-433 .modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.factory-bootstrap-433 .modal-dialog{width:600px;margin:30px auto}.factory-bootstrap-433 .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}}.factory-bootstrap-433 .tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.factory-bootstrap-433 .tooltip.in{opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-433 .tooltip.top{padding:5px 0;margin-top:-3px}.factory-bootstrap-433 .tooltip.right{padding:0 5px;margin-left:3px}.factory-bootstrap-433 .tooltip.bottom{padding:5px 0;margin-top:3px}.factory-bootstrap-433 .tooltip.left{padding:0 5px;margin-left:-3px}.factory-bootstrap-433 .tooltip-inner{width:400px;padding:15px 20px;color:#fff;text-align:left;text-decoration:none;background-color:#673ab7;border-radius:3px}.factory-bootstrap-433 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-433 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-433 .tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-433 .tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-433 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#673ab7;border-width:5px 5px 5px 0}.factory-bootstrap-433 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#673ab7;border-width:5px 0 5px 5px}.factory-bootstrap-433 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-433 .tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-433 .tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-433 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);background-clip:padding-box}.factory-bootstrap-433 .popover.top{margin-top:-10px}.factory-bootstrap-433 .popover.right{margin-left:10px}.factory-bootstrap-433 .popover.bottom{margin-top:10px}.factory-bootstrap-433 .popover.left{margin-left:-10px}.factory-bootstrap-433 .popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.factory-bootstrap-433 .popover-content{padding:9px 14px}.factory-bootstrap-433 .popover .arrow,.factory-bootstrap-433 .popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-433 .popover .arrow{border-width:11px}.factory-bootstrap-433 .popover .arrow:after{border-width:10px;content:""}.factory-bootstrap-433 .popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.factory-bootstrap-433 .popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.factory-bootstrap-433 .popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.factory-bootstrap-433 .popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.factory-bootstrap-433 .popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0}.factory-bootstrap-433 .popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.factory-bootstrap-433 .popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0}.factory-bootstrap-433 .popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.factory-bootstrap-433 .carousel{position:relative}.factory-bootstrap-433 .carousel-inner{position:relative;width:100%;overflow:hidden}.factory-bootstrap-433 .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.factory-bootstrap-433 .carousel-inner>.item>a>img,.factory-bootstrap-433 .carousel-inner>.item>img{display:block;height:auto;max-width:100%;line-height:1}.factory-bootstrap-433 .carousel-inner>.active,.factory-bootstrap-433 .carousel-inner>.next,.factory-bootstrap-433 .carousel-inner>.prev{display:block}.factory-bootstrap-433 .carousel-inner>.active{left:0}.factory-bootstrap-433 .carousel-inner>.next,.factory-bootstrap-433 .carousel-inner>.prev{position:absolute;top:0;width:100%}.factory-bootstrap-433 .carousel-inner>.next{left:100%}.factory-bootstrap-433 .carousel-inner>.prev{left:-100%}.factory-bootstrap-433 .carousel-inner>.next.left,.factory-bootstrap-433 .carousel-inner>.prev.right{left:0}.factory-bootstrap-433 .carousel-inner>.active.left{left:-100%}.factory-bootstrap-433 .carousel-inner>.active.right{left:100%}.factory-bootstrap-433 .carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-433 .carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.factory-bootstrap-433 .carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.factory-bootstrap-433 .carousel-control:focus,.factory-bootstrap-433 .carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-433 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-433 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-433 .carousel-control .icon-next,.factory-bootstrap-433 .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.factory-bootstrap-433 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-433 .carousel-control .icon-prev{left:50%}.factory-bootstrap-433 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-433 .carousel-control .icon-next{right:50%}.factory-bootstrap-433 .carousel-control .icon-next,.factory-bootstrap-433 .carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.factory-bootstrap-433 .carousel-control .icon-prev:before{content:'\2039'}.factory-bootstrap-433 .carousel-control .icon-next:before{content:'\203a'}.factory-bootstrap-433 .carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.factory-bootstrap-433 .carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.factory-bootstrap-433 .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.factory-bootstrap-433 .carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.factory-bootstrap-433 .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.factory-bootstrap-433 .clearfix:after,.factory-bootstrap-433 .clearfix:before{display:table;content:" "}.factory-bootstrap-433 .clearfix:after{clear:both}.factory-bootstrap-433 .center-block{display:block;margin-right:auto;margin-left:auto}.factory-bootstrap-433 .pull-right{float:right!important}.factory-bootstrap-433 .pull-left{float:left!important}.factory-bootstrap-433 .hide{display:none!important}.factory-bootstrap-433 .show{display:block!important}.factory-bootstrap-433 .invisible{visibility:hidden}.factory-bootstrap-433 .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.factory-bootstrap-433 .hidden{display:none!important;visibility:hidden!important}.factory-bootstrap-433 .affix{position:fixed}@-ms-viewport{width:device-width}.factory-bootstrap-433 .visible-lg,.factory-bootstrap-433 .visible-md,.factory-bootstrap-433 .visible-sm,.factory-bootstrap-433 .visible-xs,.factory-bootstrap-433 td.visible-lg,.factory-bootstrap-433 td.visible-md,.factory-bootstrap-433 td.visible-sm,.factory-bootstrap-433 td.visible-xs,.factory-bootstrap-433 th.visible-lg,.factory-bootstrap-433 th.visible-md,.factory-bootstrap-433 th.visible-sm,.factory-bootstrap-433 th.visible-xs,.factory-bootstrap-433 tr.visible-lg,.factory-bootstrap-433 tr.visible-md,.factory-bootstrap-433 tr.visible-sm,.factory-bootstrap-433 tr.visible-xs{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}table.visible-xs.visible-sm{display:table}tr.visible-xs.visible-sm{display:table-row!important}td.visible-xs.visible-sm,th.visible-xs.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}table.visible-xs.visible-md{display:table}tr.visible-xs.visible-md{display:table-row!important}td.visible-xs.visible-md,th.visible-xs.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-xs.visible-lg{display:block!important}table.visible-xs.visible-lg{display:table}tr.visible-xs.visible-lg{display:table-row!important}td.visible-xs.visible-lg,th.visible-xs.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-sm.visible-xs{display:block!important}table.visible-sm.visible-xs{display:table}tr.visible-sm.visible-xs{display:table-row!important}td.visible-sm.visible-xs,th.visible-sm.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}table.visible-sm.visible-md{display:table}tr.visible-sm.visible-md{display:table-row!important}td.visible-sm.visible-md,th.visible-sm.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-sm.visible-lg{display:block!important}table.visible-sm.visible-lg{display:table}tr.visible-sm.visible-lg{display:table-row!important}td.visible-sm.visible-lg,th.visible-sm.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-md.visible-xs{display:block!important}table.visible-md.visible-xs{display:table}tr.visible-md.visible-xs{display:table-row!important}td.visible-md.visible-xs,th.visible-md.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}table.visible-md.visible-sm{display:table}tr.visible-md.visible-sm{display:table-row!important}td.visible-md.visible-sm,th.visible-md.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-md.visible-lg{display:block!important}table.visible-md.visible-lg{display:table}tr.visible-md.visible-lg{display:table-row!important}td.visible-md.visible-lg,th.visible-md.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-lg.visible-xs{display:block!important}table.visible-lg.visible-xs{display:table}tr.visible-lg.visible-xs{display:table-row!important}td.visible-lg.visible-xs,th.visible-lg.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}table.visible-lg.visible-sm{display:table}tr.visible-lg.visible-sm{display:table-row!important}td.visible-lg.visible-sm,th.visible-lg.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}table.visible-lg.visible-md{display:table}tr.visible-lg.visible-md{display:table-row!important}td.visible-lg.visible-md,th.visible-lg.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}.factory-bootstrap-433 .hidden-xs{display:block!important}.factory-bootstrap-433 table.hidden-xs{display:table}.factory-bootstrap-433 tr.hidden-xs{display:table-row!important}.factory-bootstrap-433 td.hidden-xs,.factory-bootstrap-433 th.hidden-xs{display:table-cell!important}@media (max-width:767px){.hidden-xs,td.hidden-xs,th.hidden-xs,tr.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,td.hidden-xs.hidden-md,th.hidden-xs.hidden-md,tr.hidden-xs.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg{display:none!important}}.factory-bootstrap-433 .hidden-sm{display:block!important}.factory-bootstrap-433 table.hidden-sm{display:table}.factory-bootstrap-433 tr.hidden-sm{display:table-row!important}.factory-bootstrap-433 td.hidden-sm,.factory-bootstrap-433 th.hidden-sm{display:table-cell!important}@media (max-width:767px){.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm,td.hidden-sm,th.hidden-sm,tr.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,td.hidden-sm.hidden-md,th.hidden-sm.hidden-md,tr.hidden-sm.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg{display:none!important}}.factory-bootstrap-433 .hidden-md{display:block!important}.factory-bootstrap-433 table.hidden-md{display:table}.factory-bootstrap-433 tr.hidden-md{display:table-row!important}.factory-bootstrap-433 td.hidden-md,.factory-bootstrap-433 th.hidden-md{display:table-cell!important}@media (max-width:767px){.hidden-md.hidden-xs,td.hidden-md.hidden-xs,th.hidden-md.hidden-xs,tr.hidden-md.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,td.hidden-md.hidden-sm,th.hidden-md.hidden-sm,tr.hidden-md.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md,td.hidden-md,th.hidden-md,tr.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-md.hidden-lg,td.hidden-md.hidden-lg,th.hidden-md.hidden-lg,tr.hidden-md.hidden-lg{display:none!important}}.factory-bootstrap-433 .hidden-lg{display:block!important}.factory-bootstrap-433 table.hidden-lg{display:table}.factory-bootstrap-433 tr.hidden-lg{display:table-row!important}.factory-bootstrap-433 td.hidden-lg,.factory-bootstrap-433 th.hidden-lg{display:table-cell!important}@media (max-width:767px){.factory-bootstrap-433 .hidden-lg.hidden-xs,.factory-bootstrap-433 td.hidden-lg.hidden-xs,.factory-bootstrap-433 th.hidden-lg.hidden-xs,.factory-bootstrap-433 tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.factory-bootstrap-433 .hidden-lg.hidden-sm,.factory-bootstrap-433 td.hidden-lg.hidden-sm,.factory-bootstrap-433 th.hidden-lg.hidden-sm,.factory-bootstrap-433 tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.factory-bootstrap-433 .hidden-lg.hidden-md,.factory-bootstrap-433 td.hidden-lg.hidden-md,.factory-bootstrap-433 th.hidden-lg.hidden-md,.factory-bootstrap-433 tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.factory-bootstrap-433 .hidden-lg,.factory-bootstrap-433 td.hidden-lg,.factory-bootstrap-433 th.hidden-lg,.factory-bootstrap-433 tr.hidden-lg{display:none!important}}.factory-bootstrap-433 .visible-print,.factory-bootstrap-433 td.visible-print,.factory-bootstrap-433 th.visible-print,.factory-bootstrap-433 tr.visible-print{display:none!important}@media print{.factory-bootstrap-433 .visible-print{display:block!important}.factory-bootstrap-433 table.visible-print{display:table}.factory-bootstrap-433 tr.visible-print{display:table-row!important}.factory-bootstrap-433 td.visible-print,.factory-bootstrap-433 th.visible-print{display:table-cell!important}.factory-bootstrap-433 .hidden-print,.factory-bootstrap-433 td.hidden-print,.factory-bootstrap-433 th.hidden-print,.factory-bootstrap-433 tr.hidden-print{display:none!important}}/*!
12
  * Factory Default Bootstrap Theme
13
  *
14
  * The code is based on Bootstrap v2.1.1
@@ -22,4 +22,4 @@
22
  *
23
  * @package factory-bootstrap
24
  * @since 1.0.0
25
- */.factory-bootstrap-433 .btn-danger,.factory-bootstrap-433 .btn-default,.factory-bootstrap-433 .btn-info,.factory-bootstrap-433 .btn-primary,.factory-bootstrap-433 .btn-success,.factory-bootstrap-433 .btn-warning{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-433 .btn-danger.active,.factory-bootstrap-433 .btn-danger:active,.factory-bootstrap-433 .btn-default.active,.factory-bootstrap-433 .btn-default:active,.factory-bootstrap-433 .btn-info.active,.factory-bootstrap-433 .btn-info:active,.factory-bootstrap-433 .btn-primary.active,.factory-bootstrap-433 .btn-primary:active,.factory-bootstrap-433 .btn-success.active,.factory-bootstrap-433 .btn-success:active,.factory-bootstrap-433 .btn-warning.active,.factory-bootstrap-433 .btn-warning:active{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.1);box-shadow:inset 0 1px 1px rgba(0,0,0,.1)}.factory-bootstrap-433 .btn.active,.factory-bootstrap-433 .btn:active{background-image:none}.factory-bootstrap-433 .btn-default{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.factory-bootstrap-433 .btn-default.active,.factory-bootstrap-433 .btn-default:active{background-color:#fff;border-color:#dbdbdb}.factory-bootstrap-433 .btn-gold{font-weight:700;padding:7px 12px;cursor:pointer;line-height:16px;display:inline-block;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;box-shadow:#e3e3e3 0 1px 1px;-moz-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);-webkit-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);text-shadow:1px 1px 0 #ffe8b2;color:#7c5d1b;border:1px solid #d6a437;background:#feeb80}.factory-bootstrap-433 .btn-gold:focus,.factory-bootstrap-433 .btn-gold:hover{background:#fef0a1}.factory-bootstrap-433 .btn-gold.active,.factory-bootstrap-433 .btn-gold:active{background:#fef0a1;-webkit-box-shadow:inset 0 3px 8px 0 #f8ba36;box-shadow:inset 0 3px 8px 0 #f8ba36}.factory-bootstrap-433 .btn-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.factory-bootstrap-433 .btn-primary:focus,.factory-bootstrap-433 .btn-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.factory-bootstrap-433 .btn-primary.active,.factory-bootstrap-433 .btn-primary:active{background-color:#2d6ca2;border-color:#2b669a}.factory-bootstrap-433 .btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-433 .btn-success:focus,.factory-bootstrap-433 .btn-success:hover{background-color:#419641;background-position:0 -15px}.factory-bootstrap-433 .btn-success.active,.factory-bootstrap-433 .btn-success:active{background-color:#419641;border-color:#3e8f3e}.factory-bootstrap-433 .btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-433 .btn-warning:focus,.factory-bootstrap-433 .btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.factory-bootstrap-433 .btn-warning.active,.factory-bootstrap-433 .btn-warning:active{background-color:#eb9316;border-color:#e38d13}.factory-bootstrap-433 .btn-danger{color:#fff;background:#d9534f;border-color:#d43f3a}.factory-bootstrap-433 .btn-danger.active,.factory-bootstrap-433 .btn-danger:active,.factory-bootstrap-433 .btn-danger:focus,.factory-bootstrap-433 .btn-danger:hover,.factory-bootstrap-433 .open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.factory-bootstrap-433 .btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-433 .btn-info:focus,.factory-bootstrap-433 .btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.factory-bootstrap-433 .btn-info.active,.factory-bootstrap-433 .btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.factory-bootstrap-433 .img-thumbnail,.factory-bootstrap-433 .thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-433 .dropdown-menu>li>a:focus,.factory-bootstrap-433 .dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-433 .dropdown-menu>.active>a,.factory-bootstrap-433 .dropdown-menu>.active>a:focus,.factory-bootstrap-433 .dropdown-menu>.active>a:hover{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-433 .navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.factory-bootstrap-433 .navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.factory-bootstrap-433 .navbar-brand,.factory-bootstrap-433 .navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.factory-bootstrap-433 .navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-433 .navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.factory-bootstrap-433 .navbar-inverse .navbar-brand,.factory-bootstrap-433 .navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-433 .navbar-fixed-bottom,.factory-bootstrap-433 .navbar-fixed-top,.factory-bootstrap-433 .navbar-static-top{border-radius:0}.factory-bootstrap-433 .alert{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-433 .alert .actions{padding-top:10px}.factory-bootstrap-433 .alert-success{color:#3c763d;background-color:#dff0d8;border-bottom:2px solid #c8e5bc}.factory-bootstrap-433 .alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0)}.factory-bootstrap-433 .alert{text-shadow:none;box-shadow:none;margin:0;margin-top:10px;margin-bottom:10px;padding:10px}.factory-bootstrap-433 .alert-normal,.factory-bootstrap-433 .alert-warning{background:#fcf8e3;color:#8a6d3b;border:1px solid #b8823b}.factory-bootstrap-433 .alert-danger{background:#cf4944;color:#fff;border-bottom:2px solid #b23e3a}.factory-bootstrap-433 .alert-danger a:not(.btn),.factory-bootstrap-433 .alert-error a:not(.btn){color:#fff}.factory-bootstrap-433 .progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.factory-bootstrap-433 .progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0)}.factory-bootstrap-433 .progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.factory-bootstrap-433 .progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.factory-bootstrap-433 .progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.factory-bootstrap-433 .progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.factory-bootstrap-433 .list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-433 .list-group-item.active,.factory-bootstrap-433 .list-group-item.active:focus,.factory-bootstrap-433 .list-group-item.active:hover{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0)}.factory-bootstrap-433 .panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-433 .panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-433 .panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-433 .panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.factory-bootstrap-433 .panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.factory-bootstrap-433 .panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.factory-bootstrap-433 .panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.factory-bootstrap-433 .well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}.factory-bootstrap-433 .factory-after{margin-left:7px;display:inline-block}.factory-bootstrap-433 .factory-hidden{display:none}.factory-bootstrap-433 .factory-ajax-loader{width:25px;height:25px;background:url(../assets/images/loader-sm-tr.gif)}.factory-control-error{background-color:rgba(0,0,0,.8);white-space:normal;z-index:10;font-weight:400;line-height:150%;border-radius:4px;color:#fff;font-size:13px;margin-top:5px;padding:4px 10px 3px;max-width:500px;display:inline-block}.factory-control-error i{margin:0 7px 0 1px}
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
8
  */
9
 
10
 
11
+ .factory-bootstrap-444 article,.factory-bootstrap-444 aside,.factory-bootstrap-444 details,.factory-bootstrap-444 figcaption,.factory-bootstrap-444 figure,.factory-bootstrap-444 footer,.factory-bootstrap-444 header,.factory-bootstrap-444 hgroup,.factory-bootstrap-444 main,.factory-bootstrap-444 nav,.factory-bootstrap-444 section,.factory-bootstrap-444 summary{display:block}.factory-bootstrap-444 audio,.factory-bootstrap-444 canvas,.factory-bootstrap-444 video{display:inline-block}.factory-bootstrap-444 audio:not([controls]){display:none;height:0}.factory-bootstrap-444 [hidden],.factory-bootstrap-444 template{display:none}.factory-bootstrap-444 body{margin:0}.factory-bootstrap-444 a{background:0 0}.factory-bootstrap-444 a:focus{outline:thin dotted}.factory-bootstrap-444 a:active,.factory-bootstrap-444 a:hover{outline:0}.factory-bootstrap-444 h1{margin:.67em 0}.factory-bootstrap-444 b,.factory-bootstrap-444 strong{font-weight:700}.factory-bootstrap-444 dfn{font-style:italic}.factory-bootstrap-444 hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-444 mark{color:#000;background:#ff0}.factory-bootstrap-444 code,.factory-bootstrap-444 kbd,.factory-bootstrap-444 pre,.factory-bootstrap-444 samp{font-size:1em}.factory-bootstrap-444 pre{white-space:pre-wrap}.factory-bootstrap-444 q{quotes:"\201C" "\201D" "\2018" "\2019"}.factory-bootstrap-444 sub,.factory-bootstrap-444 sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}.factory-bootstrap-444 sup{top:-.5em}.factory-bootstrap-444 sub{bottom:-.25em}.factory-bootstrap-444 img{border:0}.factory-bootstrap-444 svg:not(:root){overflow:hidden}.factory-bootstrap-444 figure{margin:0}.factory-bootstrap-444 button,.factory-bootstrap-444 input,.factory-bootstrap-444 select,.factory-bootstrap-444 textarea{margin:0}.factory-bootstrap-444 button,.factory-bootstrap-444 select{text-transform:none}.factory-bootstrap-444 select{padding-right:4px!important}.factory-bootstrap-444 button,.factory-bootstrap-444 input[type=reset],.factory-bootstrap-444 input[type=submit],html .factory-bootstrap-444 input[type=button]{cursor:pointer;-webkit-appearance:button}.factory-bootstrap-444 button[disabled],html .factory-bootstrap-444 input[disabled]{cursor:default}.factory-bootstrap-444 input[type=checkbox],.factory-bootstrap-444 input[type=radio]{padding:0;box-sizing:border-box}.factory-bootstrap-444 input[type=search]{-webkit-appearance:textfield}.factory-bootstrap-444 input[type=search]::-webkit-search-cancel-button,.factory-bootstrap-444 input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.factory-bootstrap-444 button::-moz-focus-inner,.factory-bootstrap-444 input::-moz-focus-inner{padding:0;border:0}.factory-bootstrap-444 textarea{overflow:auto;vertical-align:top}.factory-bootstrap-444 table{border-collapse:collapse;border-spacing:0}@media print{.factory-bootstrap-444 *{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}.factory-bootstrap-444 a,.factory-bootstrap-444 a:visited{text-decoration:underline}.factory-bootstrap-444 a[href]:after{content:" (" attr(href) ")"}.factory-bootstrap-444 abbr[title]:after{content:" (" attr(title) ")"}.factory-bootstrap-444 a[href^="javascript:"]:after,.factory-bootstrap-444 a[href^="#"]:after{content:""}.factory-bootstrap-444 blockquote,.factory-bootstrap-444 pre{border:1px solid #999;page-break-inside:avoid}.factory-bootstrap-444 thead{display:table-header-group}.factory-bootstrap-444 img,.factory-bootstrap-444 tr{page-break-inside:avoid}.factory-bootstrap-444 img{max-width:100%!important}@page{margin:2cm .5cm}.factory-bootstrap-444 h2,.factory-bootstrap-444 h3,.factory-bootstrap-444 p{orphans:3;widows:3}.factory-bootstrap-444 h2,.factory-bootstrap-444 h3{page-break-after:avoid}.factory-bootstrap-444 select{background:#fff!important}.factory-bootstrap-444 .navbar{display:none}.factory-bootstrap-444 .table td,.factory-bootstrap-444 .table th{background-color:#fff!important}.factory-bootstrap-444 .btn>.caret,.factory-bootstrap-444 .dropup>.btn>.caret{border-top-color:#000!important}.factory-bootstrap-444 .label{border:1px solid #000}.factory-bootstrap-444 .table{border-collapse:collapse!important}.factory-bootstrap-444 .table-bordered td,.factory-bootstrap-444 .table-bordered th{border:1px solid #ddd!important}}.factory-bootstrap-444 *,.factory-bootstrap-444 :after,.factory-bootstrap-444 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html .factory-bootstrap-444{-webkit-tap-highlight-color:rgba(0,0,0,0)}.factory-bootstrap-444 body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}.factory-bootstrap-444 button,.factory-bootstrap-444 input,.factory-bootstrap-444 select,.factory-bootstrap-444 textarea{font-family:inherit;font-size:inherit;line-height:inherit}.factory-bootstrap-444 img{vertical-align:middle}.factory-bootstrap-444 .img-responsive{display:block;height:auto;max-width:100%}.factory-bootstrap-444 .img-rounded{border-radius:6px}.factory-bootstrap-444 .img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-444 .img-circle{border-radius:50%}.factory-bootstrap-444 hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.factory-bootstrap-444 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.factory-bootstrap-444 .h1,.factory-bootstrap-444 .h2,.factory-bootstrap-444 .h3,.factory-bootstrap-444 .h4,.factory-bootstrap-444 .h5,.factory-bootstrap-444 .h6,.factory-bootstrap-444 h1,.factory-bootstrap-444 h2,.factory-bootstrap-444 h3,.factory-bootstrap-444 h4,.factory-bootstrap-444 h5,.factory-bootstrap-444 h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}.factory-bootstrap-444 .h1 .small,.factory-bootstrap-444 .h1 small,.factory-bootstrap-444 .h2 .small,.factory-bootstrap-444 .h2 small,.factory-bootstrap-444 .h3 .small,.factory-bootstrap-444 .h3 small,.factory-bootstrap-444 .h4 .small,.factory-bootstrap-444 .h4 small,.factory-bootstrap-444 .h5 .small,.factory-bootstrap-444 .h5 small,.factory-bootstrap-444 .h6 .small,.factory-bootstrap-444 .h6 small,.factory-bootstrap-444 h1 .small,.factory-bootstrap-444 h1 small,.factory-bootstrap-444 h2 .small,.factory-bootstrap-444 h2 small,.factory-bootstrap-444 h3 .small,.factory-bootstrap-444 h3 small,.factory-bootstrap-444 h4 .small,.factory-bootstrap-444 h4 small,.factory-bootstrap-444 h5 .small,.factory-bootstrap-444 h5 small,.factory-bootstrap-444 h6 .small,.factory-bootstrap-444 h6 small{font-weight:400;line-height:1;color:#999}.factory-bootstrap-444 h1,.factory-bootstrap-444 h2,.factory-bootstrap-444 h3{margin-top:20px;margin-bottom:10px}.factory-bootstrap-444 h1 .small,.factory-bootstrap-444 h1 small,.factory-bootstrap-444 h2 .small,.factory-bootstrap-444 h2 small,.factory-bootstrap-444 h3 .small,.factory-bootstrap-444 h3 small{font-size:65%}.factory-bootstrap-444 h4,.factory-bootstrap-444 h5,.factory-bootstrap-444 h6{margin-top:10px;margin-bottom:10px}.factory-bootstrap-444 h4 .small,.factory-bootstrap-444 h4 small,.factory-bootstrap-444 h5 .small,.factory-bootstrap-444 h5 small,.factory-bootstrap-444 h6 .small,.factory-bootstrap-444 h6 small{font-size:75%}.factory-bootstrap-444 .h1,.factory-bootstrap-444 h1{font-size:36px}.factory-bootstrap-444 .h2,.factory-bootstrap-444 h2{font-size:30px}.factory-bootstrap-444 .h3,.factory-bootstrap-444 h3{font-size:24px}.factory-bootstrap-444 .h4,.factory-bootstrap-444 h4{font-size:18px}.factory-bootstrap-444 .h5,.factory-bootstrap-444 h5{font-size:14px}.factory-bootstrap-444 .h6,.factory-bootstrap-444 h6{font-size:12px}.factory-bootstrap-444 p{margin:0 0 10px}.factory-bootstrap-444 .lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.factory-bootstrap-444 .small,.factory-bootstrap-444 small{font-size:85%}.factory-bootstrap-444 cite{font-style:normal}.factory-bootstrap-444 .text-muted{color:#999}.factory-bootstrap-444 .text-primary{color:#428bca}.factory-bootstrap-444 .text-primary:hover{color:#3071a9}.factory-bootstrap-444 .text-warning{color:#8a6d3b}.factory-bootstrap-444 .text-warning:hover{color:#66512c}.factory-bootstrap-444 .text-danger{color:#a94442}.factory-bootstrap-444 .text-danger:hover{color:#843534}.factory-bootstrap-444 .text-success{color:#3c763d}.factory-bootstrap-444 .text-success:hover{color:#2b542c}.factory-bootstrap-444 .text-info{color:#31708f}.factory-bootstrap-444 .text-info:hover{color:#245269}.factory-bootstrap-444 .text-left{text-align:left}.factory-bootstrap-444 .text-right{text-align:right}.factory-bootstrap-444 .text-center{text-align:center}.factory-bootstrap-444 .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.factory-bootstrap-444 ol,.factory-bootstrap-444 ul{margin-top:0;margin-bottom:10px}.factory-bootstrap-444 ol ol,.factory-bootstrap-444 ol ul,.factory-bootstrap-444 ul ol,.factory-bootstrap-444 ul ul{margin-bottom:0}.factory-bootstrap-444 .list-inline,.factory-bootstrap-444 .list-unstyled{padding-left:0;list-style:none}.factory-bootstrap-444 .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.factory-bootstrap-444 .list-inline>li:first-child{padding-left:0}.factory-bootstrap-444 dl{margin-top:0;margin-bottom:20px}.factory-bootstrap-444 dd,.factory-bootstrap-444 dt{line-height:1.428571429}.factory-bootstrap-444 dt{font-weight:700}.factory-bootstrap-444 dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:after,.dl-horizontal dd:before{display:table;content:" "}.dl-horizontal dd:after{clear:both}}.factory-bootstrap-444 abbr[data-original-title],.factory-bootstrap-444 abbr[title]{cursor:help;border-bottom:1px dotted #999}.factory-bootstrap-444 .initialism{font-size:90%;text-transform:uppercase}.factory-bootstrap-444 blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}.factory-bootstrap-444 blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}.factory-bootstrap-444 blockquote p:last-child{margin-bottom:0}.factory-bootstrap-444 blockquote .small,.factory-bootstrap-444 blockquote small{display:block;line-height:1.428571429;color:#999}.factory-bootstrap-444 blockquote .small:before,.factory-bootstrap-444 blockquote small:before{content:'\2014 \00A0'}.factory-bootstrap-444 blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}.factory-bootstrap-444 blockquote.pull-right .small,.factory-bootstrap-444 blockquote.pull-right p,.factory-bootstrap-444 blockquote.pull-right small{text-align:right}.factory-bootstrap-444 blockquote.pull-right .small:before,.factory-bootstrap-444 blockquote.pull-right small:before{content:''}.factory-bootstrap-444 blockquote.pull-right .small:after,.factory-bootstrap-444 blockquote.pull-right small:after{content:'\00A0 \2014'}.factory-bootstrap-444 blockquote:after,.factory-bootstrap-444 blockquote:before{content:""}.factory-bootstrap-444 address{margin-bottom:20px;font-style:normal;line-height:1.428571429}.factory-bootstrap-444 code,.factory-bootstrap-444 kbd,.factory-bootstrap-444 pre,.factory-bootstrap-444 samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.factory-bootstrap-444 code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}.factory-bootstrap-444 pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-444 pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.factory-bootstrap-444 .pre-scrollable{max-height:340px;overflow-y:scroll}.factory-bootstrap-444 .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.factory-bootstrap-444 .container:after,.factory-bootstrap-444 .container:before{display:table;content:" "}.factory-bootstrap-444 .container:after{clear:both}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.factory-bootstrap-444 .row{margin-right:-15px;margin-left:-15px}.factory-bootstrap-444 .row:after,.factory-bootstrap-444 .row:before{display:table;content:" "}.factory-bootstrap-444 .row:after{clear:both}.factory-bootstrap-444 .col-lg-1,.factory-bootstrap-444 .col-lg-10,.factory-bootstrap-444 .col-lg-11,.factory-bootstrap-444 .col-lg-12,.factory-bootstrap-444 .col-lg-2,.factory-bootstrap-444 .col-lg-3,.factory-bootstrap-444 .col-lg-4,.factory-bootstrap-444 .col-lg-5,.factory-bootstrap-444 .col-lg-6,.factory-bootstrap-444 .col-lg-7,.factory-bootstrap-444 .col-lg-8,.factory-bootstrap-444 .col-lg-9,.factory-bootstrap-444 .col-md-1,.factory-bootstrap-444 .col-md-10,.factory-bootstrap-444 .col-md-11,.factory-bootstrap-444 .col-md-12,.factory-bootstrap-444 .col-md-2,.factory-bootstrap-444 .col-md-3,.factory-bootstrap-444 .col-md-4,.factory-bootstrap-444 .col-md-5,.factory-bootstrap-444 .col-md-6,.factory-bootstrap-444 .col-md-7,.factory-bootstrap-444 .col-md-8,.factory-bootstrap-444 .col-md-9,.factory-bootstrap-444 .col-sm-1,.factory-bootstrap-444 .col-sm-10,.factory-bootstrap-444 .col-sm-11,.factory-bootstrap-444 .col-sm-12,.factory-bootstrap-444 .col-sm-2,.factory-bootstrap-444 .col-sm-3,.factory-bootstrap-444 .col-sm-4,.factory-bootstrap-444 .col-sm-5,.factory-bootstrap-444 .col-sm-6,.factory-bootstrap-444 .col-sm-7,.factory-bootstrap-444 .col-sm-8,.factory-bootstrap-444 .col-sm-9,.factory-bootstrap-444 .col-xs-1,.factory-bootstrap-444 .col-xs-10,.factory-bootstrap-444 .col-xs-11,.factory-bootstrap-444 .col-xs-12,.factory-bootstrap-444 .col-xs-2,.factory-bootstrap-444 .col-xs-3,.factory-bootstrap-444 .col-xs-4,.factory-bootstrap-444 .col-xs-5,.factory-bootstrap-444 .col-xs-6,.factory-bootstrap-444 .col-xs-7,.factory-bootstrap-444 .col-xs-8,.factory-bootstrap-444 .col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.factory-bootstrap-444 .col-xs-1,.factory-bootstrap-444 .col-xs-10,.factory-bootstrap-444 .col-xs-11,.factory-bootstrap-444 .col-xs-12,.factory-bootstrap-444 .col-xs-2,.factory-bootstrap-444 .col-xs-3,.factory-bootstrap-444 .col-xs-4,.factory-bootstrap-444 .col-xs-5,.factory-bootstrap-444 .col-xs-6,.factory-bootstrap-444 .col-xs-7,.factory-bootstrap-444 .col-xs-8,.factory-bootstrap-444 .col-xs-9{float:left}.factory-bootstrap-444 .col-xs-12{width:100%}.factory-bootstrap-444 .col-xs-11{width:91.66666666666666%}.factory-bootstrap-444 .col-xs-10{width:83.33333333333334%}.factory-bootstrap-444 .col-xs-9{width:75%}.factory-bootstrap-444 .col-xs-8{width:66.66666666666666%}.factory-bootstrap-444 .col-xs-7{width:58.333333333333336%}.factory-bootstrap-444 .col-xs-6{width:50%}.factory-bootstrap-444 .col-xs-5{width:41.66666666666667%}.factory-bootstrap-444 .col-xs-4{width:33.33333333333333%}.factory-bootstrap-444 .col-xs-3{width:25%}.factory-bootstrap-444 .col-xs-2{width:16.666666666666664%}.factory-bootstrap-444 .col-xs-1{width:8.333333333333332%}.factory-bootstrap-444 .col-xs-pull-12{right:100%}.factory-bootstrap-444 .col-xs-pull-11{right:91.66666666666666%}.factory-bootstrap-444 .col-xs-pull-10{right:83.33333333333334%}.factory-bootstrap-444 .col-xs-pull-9{right:75%}.factory-bootstrap-444 .col-xs-pull-8{right:66.66666666666666%}.factory-bootstrap-444 .col-xs-pull-7{right:58.333333333333336%}.factory-bootstrap-444 .col-xs-pull-6{right:50%}.factory-bootstrap-444 .col-xs-pull-5{right:41.66666666666667%}.factory-bootstrap-444 .col-xs-pull-4{right:33.33333333333333%}.factory-bootstrap-444 .col-xs-pull-3{right:25%}.factory-bootstrap-444 .col-xs-pull-2{right:16.666666666666664%}.factory-bootstrap-444 .col-xs-pull-1{right:8.333333333333332%}.factory-bootstrap-444 .col-xs-pull-0{right:0}.factory-bootstrap-444 .col-xs-push-12{left:100%}.factory-bootstrap-444 .col-xs-push-11{left:91.66666666666666%}.factory-bootstrap-444 .col-xs-push-10{left:83.33333333333334%}.factory-bootstrap-444 .col-xs-push-9{left:75%}.factory-bootstrap-444 .col-xs-push-8{left:66.66666666666666%}.factory-bootstrap-444 .col-xs-push-7{left:58.333333333333336%}.factory-bootstrap-444 .col-xs-push-6{left:50%}.factory-bootstrap-444 .col-xs-push-5{left:41.66666666666667%}.factory-bootstrap-444 .col-xs-push-4{left:33.33333333333333%}.factory-bootstrap-444 .col-xs-push-3{left:25%}.factory-bootstrap-444 .col-xs-push-2{left:16.666666666666664%}.factory-bootstrap-444 .col-xs-push-1{left:8.333333333333332%}.factory-bootstrap-444 .col-xs-push-0{left:0}.factory-bootstrap-444 .col-xs-offset-12{margin-left:100%}.factory-bootstrap-444 .col-xs-offset-11{margin-left:91.66666666666666%}.factory-bootstrap-444 .col-xs-offset-10{margin-left:83.33333333333334%}.factory-bootstrap-444 .col-xs-offset-9{margin-left:75%}.factory-bootstrap-444 .col-xs-offset-8{margin-left:66.66666666666666%}.factory-bootstrap-444 .col-xs-offset-7{margin-left:58.333333333333336%}.factory-bootstrap-444 .col-xs-offset-6{margin-left:50%}.factory-bootstrap-444 .col-xs-offset-5{margin-left:41.66666666666667%}.factory-bootstrap-444 .col-xs-offset-4{margin-left:33.33333333333333%}.factory-bootstrap-444 .col-xs-offset-3{margin-left:25%}.factory-bootstrap-444 .col-xs-offset-2{margin-left:16.666666666666664%}.factory-bootstrap-444 .col-xs-offset-1{margin-left:8.333333333333332%}.factory-bootstrap-444 .col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}.factory-bootstrap-444 table{max-width:100%;background-color:transparent}.factory-bootstrap-444 th{text-align:left}.factory-bootstrap-444 .table{width:100%;margin-bottom:20px}.factory-bootstrap-444 .table>tbody>tr>td,.factory-bootstrap-444 .table>tbody>tr>th,.factory-bootstrap-444 .table>tfoot>tr>td,.factory-bootstrap-444 .table>tfoot>tr>th,.factory-bootstrap-444 .table>thead>tr>td,.factory-bootstrap-444 .table>thead>tr>th{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.factory-bootstrap-444 .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.factory-bootstrap-444 .table>caption+thead>tr:first-child>td,.factory-bootstrap-444 .table>caption+thead>tr:first-child>th,.factory-bootstrap-444 .table>colgroup+thead>tr:first-child>td,.factory-bootstrap-444 .table>colgroup+thead>tr:first-child>th,.factory-bootstrap-444 .table>thead:first-child>tr:first-child>td,.factory-bootstrap-444 .table>thead:first-child>tr:first-child>th{border-top:0}.factory-bootstrap-444 .table>tbody+tbody{border-top:2px solid #ddd}.factory-bootstrap-444 .table .table{background-color:#fff}.factory-bootstrap-444 .table-condensed>tbody>tr>td,.factory-bootstrap-444 .table-condensed>tbody>tr>th,.factory-bootstrap-444 .table-condensed>tfoot>tr>td,.factory-bootstrap-444 .table-condensed>tfoot>tr>th,.factory-bootstrap-444 .table-condensed>thead>tr>td,.factory-bootstrap-444 .table-condensed>thead>tr>th{padding:5px}.factory-bootstrap-444 .table-bordered,.factory-bootstrap-444 .table-bordered>tbody>tr>td,.factory-bootstrap-444 .table-bordered>tbody>tr>th,.factory-bootstrap-444 .table-bordered>tfoot>tr>td,.factory-bootstrap-444 .table-bordered>tfoot>tr>th,.factory-bootstrap-444 .table-bordered>thead>tr>td,.factory-bootstrap-444 .table-bordered>thead>tr>th{border:1px solid #ddd}.factory-bootstrap-444 .table-bordered>thead>tr>td,.factory-bootstrap-444 .table-bordered>thead>tr>th{border-bottom-width:2px}.factory-bootstrap-444 .table-striped>tbody>tr:nth-child(odd)>td,.factory-bootstrap-444 .table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.factory-bootstrap-444 .table-hover>tbody>tr:hover>td,.factory-bootstrap-444 .table-hover>tbody>tr:hover>th{background-color:#f5f5f5}.factory-bootstrap-444 table col[class*=col-]{position:static;display:table-column;float:none}.factory-bootstrap-444 table td[class*=col-],.factory-bootstrap-444 table th[class*=col-]{display:table-cell;float:none}.factory-bootstrap-444 .table>tbody>.active>td,.factory-bootstrap-444 .table>tbody>.active>th,.factory-bootstrap-444 .table>tbody>tr>.active,.factory-bootstrap-444 .table>tfoot>.active>td,.factory-bootstrap-444 .table>tfoot>.active>th,.factory-bootstrap-444 .table>tfoot>tr>.active,.factory-bootstrap-444 .table>thead>.active>td,.factory-bootstrap-444 .table>thead>.active>th,.factory-bootstrap-444 .table>thead>tr>.active{background-color:#f5f5f5}.factory-bootstrap-444 .table-hover>tbody>.active:hover>td,.factory-bootstrap-444 .table-hover>tbody>.active:hover>th,.factory-bootstrap-444 .table-hover>tbody>tr>.active:hover{background-color:#e8e8e8}.factory-bootstrap-444 .table>tbody>.success>td,.factory-bootstrap-444 .table>tbody>.success>th,.factory-bootstrap-444 .table>tbody>tr>.success,.factory-bootstrap-444 .table>tfoot>.success>td,.factory-bootstrap-444 .table>tfoot>.success>th,.factory-bootstrap-444 .table>tfoot>tr>.success,.factory-bootstrap-444 .table>thead>.success>td,.factory-bootstrap-444 .table>thead>.success>th,.factory-bootstrap-444 .table>thead>tr>.success{background-color:#dff0d8}.factory-bootstrap-444 .table-hover>tbody>.success:hover>td,.factory-bootstrap-444 .table-hover>tbody>.success:hover>th,.factory-bootstrap-444 .table-hover>tbody>tr>.success:hover{background-color:#d0e9c6}.factory-bootstrap-444 .table>tbody>.danger>td,.factory-bootstrap-444 .table>tbody>.danger>th,.factory-bootstrap-444 .table>tbody>tr>.danger,.factory-bootstrap-444 .table>tfoot>.danger>td,.factory-bootstrap-444 .table>tfoot>.danger>th,.factory-bootstrap-444 .table>tfoot>tr>.danger,.factory-bootstrap-444 .table>thead>.danger>td,.factory-bootstrap-444 .table>thead>.danger>th,.factory-bootstrap-444 .table>thead>tr>.danger{background-color:#f2dede}.factory-bootstrap-444 .table-hover>tbody>.danger:hover>td,.factory-bootstrap-444 .table-hover>tbody>.danger:hover>th,.factory-bootstrap-444 .table-hover>tbody>tr>.danger:hover{background-color:#ebcccc}.factory-bootstrap-444 .table>tbody>.warning>td,.factory-bootstrap-444 .table>tbody>.warning>th,.factory-bootstrap-444 .table>tbody>tr>.warning,.factory-bootstrap-444 .table>tfoot>.warning>td,.factory-bootstrap-444 .table>tfoot>.warning>th,.factory-bootstrap-444 .table>tfoot>tr>.warning,.factory-bootstrap-444 .table>thead>.warning>td,.factory-bootstrap-444 .table>thead>.warning>th,.factory-bootstrap-444 .table>thead>tr>.warning{background-color:#fcf8e3}.factory-bootstrap-444 .table-hover>tbody>.warning:hover>td,.factory-bootstrap-444 .table-hover>tbody>.warning:hover>th,.factory-bootstrap-444 .table-hover>tbody>tr>.warning:hover{background-color:#faf2cc}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.factory-bootstrap-444 fieldset{padding:0;margin:0;border:0}.factory-bootstrap-444 legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-444 label{display:inline-block;margin-bottom:5px;font-weight:700}.factory-bootstrap-444 input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-444 input[type=checkbox],.factory-bootstrap-444 input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.factory-bootstrap-444 input[type=file]{display:block}.factory-bootstrap-444 select[multiple],.factory-bootstrap-444 select[size]{height:auto}.factory-bootstrap-444 select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.factory-bootstrap-444 input[type=checkbox]:focus,.factory-bootstrap-444 input[type=file]:focus,.factory-bootstrap-444 input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-444 input[type=number]::-webkit-inner-spin-button,.factory-bootstrap-444 input[type=number]::-webkit-outer-spin-button{height:auto}.factory-bootstrap-444 output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.factory-bootstrap-444 .form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.factory-bootstrap-444 .form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-444 .form-control:-moz-placeholder{color:#999}.factory-bootstrap-444 .form-control::-moz-placeholder{color:#999;opacity:1}.factory-bootstrap-444 .form-control:-ms-input-placeholder{color:#999}.factory-bootstrap-444 .form-control::-webkit-input-placeholder{color:#999}.factory-bootstrap-444 .form-control[disabled],.factory-bootstrap-444 .form-control[readonly],.factory-bootstrap-444 fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.factory-bootstrap-444 textarea.form-control{height:auto}.factory-bootstrap-444 .form-group{margin-bottom:15px}.factory-bootstrap-444 .checkbox,.factory-bootstrap-444 .radio{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.factory-bootstrap-444 .checkbox label,.factory-bootstrap-444 .radio label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.factory-bootstrap-444 .checkbox input[type=checkbox],.factory-bootstrap-444 .checkbox-inline input[type=checkbox],.factory-bootstrap-444 .radio input[type=radio],.factory-bootstrap-444 .radio-inline input[type=radio]{float:left;margin-left:-20px}.factory-bootstrap-444 .checkbox+.checkbox,.factory-bootstrap-444 .radio+.radio{margin-top:-5px}.factory-bootstrap-444 .checkbox-inline,.factory-bootstrap-444 .radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.factory-bootstrap-444 .checkbox-inline+.checkbox-inline,.factory-bootstrap-444 .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.factory-bootstrap-444 .checkbox-inline[disabled],.factory-bootstrap-444 .checkbox[disabled],.factory-bootstrap-444 .radio-inline[disabled],.factory-bootstrap-444 .radio[disabled],.factory-bootstrap-444 fieldset[disabled] .checkbox,.factory-bootstrap-444 fieldset[disabled] .checkbox-inline,.factory-bootstrap-444 fieldset[disabled] .radio,.factory-bootstrap-444 fieldset[disabled] .radio-inline,.factory-bootstrap-444 fieldset[disabled] input[type=checkbox],.factory-bootstrap-444 fieldset[disabled] input[type=radio],.factory-bootstrap-444 input[type=checkbox][disabled],.factory-bootstrap-444 input[type=radio][disabled]{cursor:not-allowed}.factory-bootstrap-444 .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-444 select.input-sm{height:30px;line-height:30px}.factory-bootstrap-444 textarea.input-sm{height:auto}.factory-bootstrap-444 .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-444 select.input-lg{height:46px;line-height:46px}.factory-bootstrap-444 textarea.input-lg{height:auto}.factory-bootstrap-444 .has-warning .checkbox,.factory-bootstrap-444 .has-warning .checkbox-inline,.factory-bootstrap-444 .has-warning .control-label,.factory-bootstrap-444 .has-warning .help-block,.factory-bootstrap-444 .has-warning .radio,.factory-bootstrap-444 .has-warning .radio-inline{color:#8a6d3b}.factory-bootstrap-444 .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-444 .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.factory-bootstrap-444 .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.factory-bootstrap-444 .has-error .checkbox,.factory-bootstrap-444 .has-error .checkbox-inline,.factory-bootstrap-444 .has-error .control-label,.factory-bootstrap-444 .has-error .help-block,.factory-bootstrap-444 .has-error .radio,.factory-bootstrap-444 .has-error .radio-inline{color:#a94442}.factory-bootstrap-444 .controls{display:block}.factory-bootstrap-444 .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-444 .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.factory-bootstrap-444 .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.factory-bootstrap-444 .has-success .checkbox,.factory-bootstrap-444 .has-success .checkbox-inline,.factory-bootstrap-444 .has-success .control-label,.factory-bootstrap-444 .has-success .help-block,.factory-bootstrap-444 .has-success .radio,.factory-bootstrap-444 .has-success .radio-inline{color:#3c763d}.factory-bootstrap-444 .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-444 .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.factory-bootstrap-444 .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.factory-bootstrap-444 .form-control-static{margin-bottom:0}.factory-bootstrap-444 .help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373;font-weight:400}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .checkbox,.form-inline .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{float:none;margin-left:0}}.factory-bootstrap-444 .form-horizontal .checkbox,.factory-bootstrap-444 .form-horizontal .checkbox-inline,.factory-bootstrap-444 .form-horizontal .control-label,.factory-bootstrap-444 .form-horizontal .radio,.factory-bootstrap-444 .form-horizontal .radio-inline{position:relative;padding-top:7px;margin-top:0;margin-bottom:0}.factory-bootstrap-444 .form-horizontal .control-label{max-width:200px}.factory-bootstrap-444 .form-horizontal .checkbox,.factory-bootstrap-444 .form-horizontal .radio{min-height:27px}.factory-bootstrap-444 .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.factory-bootstrap-444 .form-horizontal .form-group:after,.factory-bootstrap-444 .form-horizontal .form-group:before{display:table;content:" "}.factory-bootstrap-444 .form-horizontal .form-group:after{clear:both}.factory-bootstrap-444 .form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.factory-bootstrap-444 .btn{display:inline-block;padding:5px 12px;margin-bottom:0;font-size:13px;font-weight:400;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.factory-bootstrap-444 .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-444 .btn{text-decoration:none}.factory-bootstrap-444 .btn:focus,.factory-bootstrap-444 .btn:hover{color:#333;text-decoration:none}.factory-bootstrap-444 .btn.disabled,.factory-bootstrap-444 .btn[disabled],.factory-bootstrap-444 fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-444 .btn-default.active,.factory-bootstrap-444 .btn-default:active,.factory-bootstrap-444 .btn-default:focus,.factory-bootstrap-444 .btn-default:hover,.factory-bootstrap-444 .open .dropdown-toggle.btn-default{background:#fafafa;border-color:#999;color:#222}.factory-bootstrap-444 .btn-default.active,.factory-bootstrap-444 .btn-default:active,.factory-bootstrap-444 .open .dropdown-toggle.btn-default{background-image:none}.factory-bootstrap-444 .btn-default.disabled,.factory-bootstrap-444 .btn-default.disabled.active,.factory-bootstrap-444 .btn-default.disabled:active,.factory-bootstrap-444 .btn-default.disabled:focus,.factory-bootstrap-444 .btn-default.disabled:hover,.factory-bootstrap-444 .btn-default[disabled],.factory-bootstrap-444 .btn-default[disabled].active,.factory-bootstrap-444 .btn-default[disabled]:active,.factory-bootstrap-444 .btn-default[disabled]:focus,.factory-bootstrap-444 .btn-default[disabled]:hover,.factory-bootstrap-444 fieldset[disabled] .btn-default,.factory-bootstrap-444 fieldset[disabled] .btn-default.active,.factory-bootstrap-444 fieldset[disabled] .btn-default:active,.factory-bootstrap-444 fieldset[disabled] .btn-default:focus,.factory-bootstrap-444 fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.factory-bootstrap-444 .btn-default .badge{color:#fff;background-color:#fff}.factory-bootstrap-444 .btn-primary.active,.factory-bootstrap-444 .btn-primary:active,.factory-bootstrap-444 .btn-primary:focus,.factory-bootstrap-444 .btn-primary:hover,.factory-bootstrap-444 .open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.factory-bootstrap-444 .btn-primary.active,.factory-bootstrap-444 .btn-primary:active,.factory-bootstrap-444 .open .dropdown-toggle.btn-primary{background-image:none}.factory-bootstrap-444 .btn-primary.disabled,.factory-bootstrap-444 .btn-primary.disabled.active,.factory-bootstrap-444 .btn-primary.disabled:active,.factory-bootstrap-444 .btn-primary.disabled:focus,.factory-bootstrap-444 .btn-primary.disabled:hover,.factory-bootstrap-444 .btn-primary[disabled],.factory-bootstrap-444 .btn-primary[disabled].active,.factory-bootstrap-444 .btn-primary[disabled]:active,.factory-bootstrap-444 .btn-primary[disabled]:focus,.factory-bootstrap-444 .btn-primary[disabled]:hover,.factory-bootstrap-444 fieldset[disabled] .btn-primary,.factory-bootstrap-444 fieldset[disabled] .btn-primary.active,.factory-bootstrap-444 fieldset[disabled] .btn-primary:active,.factory-bootstrap-444 fieldset[disabled] .btn-primary:focus,.factory-bootstrap-444 fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.factory-bootstrap-444 .btn-primary .badge{color:#428bca;background-color:#fff}.factory-bootstrap-444 .btn-warning{color:#fff;background-color:#f0ad4e}.factory-bootstrap-444 .btn-warning.active,.factory-bootstrap-444 .btn-warning:active,.factory-bootstrap-444 .btn-warning:focus,.factory-bootstrap-444 .btn-warning:hover,.factory-bootstrap-444 .open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.factory-bootstrap-444 .btn-warning.active,.factory-bootstrap-444 .btn-warning:active,.factory-bootstrap-444 .open .dropdown-toggle.btn-warning{background-image:none}.factory-bootstrap-444 .btn-warning.disabled,.factory-bootstrap-444 .btn-warning.disabled.active,.factory-bootstrap-444 .btn-warning.disabled:active,.factory-bootstrap-444 .btn-warning.disabled:focus,.factory-bootstrap-444 .btn-warning.disabled:hover,.factory-bootstrap-444 .btn-warning[disabled],.factory-bootstrap-444 .btn-warning[disabled].active,.factory-bootstrap-444 .btn-warning[disabled]:active,.factory-bootstrap-444 .btn-warning[disabled]:focus,.factory-bootstrap-444 .btn-warning[disabled]:hover,.factory-bootstrap-444 fieldset[disabled] .btn-warning,.factory-bootstrap-444 fieldset[disabled] .btn-warning.active,.factory-bootstrap-444 fieldset[disabled] .btn-warning:active,.factory-bootstrap-444 fieldset[disabled] .btn-warning:focus,.factory-bootstrap-444 fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.factory-bootstrap-444 .btn-warning .badge{color:#f0ad4e;background-color:#fff}.factory-bootstrap-444 .btn-success{color:#fff;background-color:#5cb85c}.factory-bootstrap-444 .btn-success.active,.factory-bootstrap-444 .btn-success:active,.factory-bootstrap-444 .btn-success:focus,.factory-bootstrap-444 .btn-success:hover,.factory-bootstrap-444 .open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.factory-bootstrap-444 .btn-success.active,.factory-bootstrap-444 .btn-success:active,.factory-bootstrap-444 .open .dropdown-toggle.btn-success{background-image:none}.factory-bootstrap-444 .btn-success.disabled,.factory-bootstrap-444 .btn-success.disabled.active,.factory-bootstrap-444 .btn-success.disabled:active,.factory-bootstrap-444 .btn-success.disabled:focus,.factory-bootstrap-444 .btn-success.disabled:hover,.factory-bootstrap-444 .btn-success[disabled],.factory-bootstrap-444 .btn-success[disabled].active,.factory-bootstrap-444 .btn-success[disabled]:active,.factory-bootstrap-444 .btn-success[disabled]:focus,.factory-bootstrap-444 .btn-success[disabled]:hover,.factory-bootstrap-444 fieldset[disabled] .btn-success,.factory-bootstrap-444 fieldset[disabled] .btn-success.active,.factory-bootstrap-444 fieldset[disabled] .btn-success:active,.factory-bootstrap-444 fieldset[disabled] .btn-success:focus,.factory-bootstrap-444 fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.factory-bootstrap-444 .btn-success .badge{color:#5cb85c;background-color:#fff}.factory-bootstrap-444 .btn-info{color:#fff;background-color:#5bc0de}.factory-bootstrap-444 .btn-info.active,.factory-bootstrap-444 .btn-info:active,.factory-bootstrap-444 .btn-info:focus,.factory-bootstrap-444 .btn-info:hover,.factory-bootstrap-444 .open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.factory-bootstrap-444 .btn-info.active,.factory-bootstrap-444 .btn-info:active,.factory-bootstrap-444 .open .dropdown-toggle.btn-info{background-image:none}.factory-bootstrap-444 .btn-info.disabled,.factory-bootstrap-444 .btn-info.disabled.active,.factory-bootstrap-444 .btn-info.disabled:active,.factory-bootstrap-444 .btn-info.disabled:focus,.factory-bootstrap-444 .btn-info.disabled:hover,.factory-bootstrap-444 .btn-info[disabled],.factory-bootstrap-444 .btn-info[disabled].active,.factory-bootstrap-444 .btn-info[disabled]:active,.factory-bootstrap-444 .btn-info[disabled]:focus,.factory-bootstrap-444 .btn-info[disabled]:hover,.factory-bootstrap-444 fieldset[disabled] .btn-info,.factory-bootstrap-444 fieldset[disabled] .btn-info.active,.factory-bootstrap-444 fieldset[disabled] .btn-info:active,.factory-bootstrap-444 fieldset[disabled] .btn-info:focus,.factory-bootstrap-444 fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.factory-bootstrap-444 .btn-info .badge{color:#5bc0de;background-color:#fff}.factory-bootstrap-444 .btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.factory-bootstrap-444 .btn-link,.factory-bootstrap-444 .btn-link:active,.factory-bootstrap-444 .btn-link[disabled],.factory-bootstrap-444 fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-444 .btn-link,.factory-bootstrap-444 .btn-link:active,.factory-bootstrap-444 .btn-link:focus,.factory-bootstrap-444 .btn-link:hover{border-color:transparent}.factory-bootstrap-444 .btn-link:focus,.factory-bootstrap-444 .btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.factory-bootstrap-444 .btn-link[disabled]:focus,.factory-bootstrap-444 .btn-link[disabled]:hover,.factory-bootstrap-444 fieldset[disabled] .btn-link:focus,.factory-bootstrap-444 fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.factory-bootstrap-444 .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-444 .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-444 .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-444 .btn-block{display:block;width:100%;padding-right:0;padding-left:0}.factory-bootstrap-444 .btn-block+.btn-block{margin-top:5px}.factory-bootstrap-444 input[type=button].btn-block,.factory-bootstrap-444 input[type=reset].btn-block,.factory-bootstrap-444 input[type=submit].btn-block{width:100%}.factory-bootstrap-444 .fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.factory-bootstrap-444 .fade.in{opacity:1}.factory-bootstrap-444 .collapse{display:none}.factory-bootstrap-444 .collapse.in{display:block}.factory-bootstrap-444 .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular) format('svg')}.factory-bootstrap-444 .glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:400;line-height:1;-moz-osx-font-smoothing:grayscale}.factory-bootstrap-444 .glyphicon:empty{width:1em}.factory-bootstrap-444 .glyphicon-asterisk:before{content:"\2a"}.factory-bootstrap-444 .glyphicon-plus:before{content:"\2b"}.factory-bootstrap-444 .glyphicon-euro:before{content:"\20ac"}.factory-bootstrap-444 .glyphicon-minus:before{content:"\2212"}.factory-bootstrap-444 .glyphicon-cloud:before{content:"\2601"}.factory-bootstrap-444 .glyphicon-envelope:before{content:"\2709"}.factory-bootstrap-444 .glyphicon-pencil:before{content:"\270f"}.factory-bootstrap-444 .glyphicon-glass:before{content:"\e001"}.factory-bootstrap-444 .glyphicon-music:before{content:"\e002"}.factory-bootstrap-444 .glyphicon-search:before{content:"\e003"}.factory-bootstrap-444 .glyphicon-heart:before{content:"\e005"}.factory-bootstrap-444 .glyphicon-star:before{content:"\e006"}.factory-bootstrap-444 .glyphicon-star-empty:before{content:"\e007"}.factory-bootstrap-444 .glyphicon-user:before{content:"\e008"}.factory-bootstrap-444 .glyphicon-film:before{content:"\e009"}.factory-bootstrap-444 .glyphicon-th-large:before{content:"\e010"}.factory-bootstrap-444 .glyphicon-th:before{content:"\e011"}.factory-bootstrap-444 .glyphicon-th-list:before{content:"\e012"}.factory-bootstrap-444 .glyphicon-ok:before{content:"\e013"}.factory-bootstrap-444 .glyphicon-remove:before{content:"\e014"}.factory-bootstrap-444 .glyphicon-zoom-in:before{content:"\e015"}.factory-bootstrap-444 .glyphicon-zoom-out:before{content:"\e016"}.factory-bootstrap-444 .glyphicon-off:before{content:"\e017"}.factory-bootstrap-444 .glyphicon-signal:before{content:"\e018"}.factory-bootstrap-444 .glyphicon-cog:before{content:"\e019"}.factory-bootstrap-444 .glyphicon-trash:before{content:"\e020"}.factory-bootstrap-444 .glyphicon-home:before{content:"\e021"}.factory-bootstrap-444 .glyphicon-file:before{content:"\e022"}.factory-bootstrap-444 .glyphicon-time:before{content:"\e023"}.factory-bootstrap-444 .glyphicon-road:before{content:"\e024"}.factory-bootstrap-444 .glyphicon-download-alt:before{content:"\e025"}.factory-bootstrap-444 .glyphicon-download:before{content:"\e026"}.factory-bootstrap-444 .glyphicon-upload:before{content:"\e027"}.factory-bootstrap-444 .glyphicon-inbox:before{content:"\e028"}.factory-bootstrap-444 .glyphicon-play-circle:before{content:"\e029"}.factory-bootstrap-444 .glyphicon-repeat:before{content:"\e030"}.factory-bootstrap-444 .glyphicon-refresh:before{content:"\e031"}.factory-bootstrap-444 .glyphicon-list-alt:before{content:"\e032"}.factory-bootstrap-444 .glyphicon-lock:before{content:"\e033"}.factory-bootstrap-444 .glyphicon-flag:before{content:"\e034"}.factory-bootstrap-444 .glyphicon-headphones:before{content:"\e035"}.factory-bootstrap-444 .glyphicon-volume-off:before{content:"\e036"}.factory-bootstrap-444 .glyphicon-volume-down:before{content:"\e037"}.factory-bootstrap-444 .glyphicon-volume-up:before{content:"\e038"}.factory-bootstrap-444 .glyphicon-qrcode:before{content:"\e039"}.factory-bootstrap-444 .glyphicon-barcode:before{content:"\e040"}.factory-bootstrap-444 .glyphicon-tag:before{content:"\e041"}.factory-bootstrap-444 .glyphicon-tags:before{content:"\e042"}.factory-bootstrap-444 .glyphicon-book:before{content:"\e043"}.factory-bootstrap-444 .glyphicon-bookmark:before{content:"\e044"}.factory-bootstrap-444 .glyphicon-print:before{content:"\e045"}.factory-bootstrap-444 .glyphicon-camera:before{content:"\e046"}.factory-bootstrap-444 .glyphicon-font:before{content:"\e047"}.factory-bootstrap-444 .glyphicon-bold:before{content:"\e048"}.factory-bootstrap-444 .glyphicon-italic:before{content:"\e049"}.factory-bootstrap-444 .glyphicon-text-height:before{content:"\e050"}.factory-bootstrap-444 .glyphicon-text-width:before{content:"\e051"}.factory-bootstrap-444 .glyphicon-align-left:before{content:"\e052"}.factory-bootstrap-444 .glyphicon-align-center:before{content:"\e053"}.factory-bootstrap-444 .glyphicon-align-right:before{content:"\e054"}.factory-bootstrap-444 .glyphicon-align-justify:before{content:"\e055"}.factory-bootstrap-444 .glyphicon-list:before{content:"\e056"}.factory-bootstrap-444 .glyphicon-indent-left:before{content:"\e057"}.factory-bootstrap-444 .glyphicon-indent-right:before{content:"\e058"}.factory-bootstrap-444 .glyphicon-facetime-video:before{content:"\e059"}.factory-bootstrap-444 .glyphicon-picture:before{content:"\e060"}.factory-bootstrap-444 .glyphicon-map-marker:before{content:"\e062"}.factory-bootstrap-444 .glyphicon-adjust:before{content:"\e063"}.factory-bootstrap-444 .glyphicon-tint:before{content:"\e064"}.factory-bootstrap-444 .glyphicon-edit:before{content:"\e065"}.factory-bootstrap-444 .glyphicon-share:before{content:"\e066"}.factory-bootstrap-444 .glyphicon-check:before{content:"\e067"}.factory-bootstrap-444 .glyphicon-move:before{content:"\e068"}.factory-bootstrap-444 .glyphicon-step-backward:before{content:"\e069"}.factory-bootstrap-444 .glyphicon-fast-backward:before{content:"\e070"}.factory-bootstrap-444 .glyphicon-backward:before{content:"\e071"}.factory-bootstrap-444 .glyphicon-play:before{content:"\e072"}.factory-bootstrap-444 .glyphicon-pause:before{content:"\e073"}.factory-bootstrap-444 .glyphicon-stop:before{content:"\e074"}.factory-bootstrap-444 .glyphicon-forward:before{content:"\e075"}.factory-bootstrap-444 .glyphicon-fast-forward:before{content:"\e076"}.factory-bootstrap-444 .glyphicon-step-forward:before{content:"\e077"}.factory-bootstrap-444 .glyphicon-eject:before{content:"\e078"}.factory-bootstrap-444 .glyphicon-chevron-left:before{content:"\e079"}.factory-bootstrap-444 .glyphicon-chevron-right:before{content:"\e080"}.factory-bootstrap-444 .glyphicon-plus-sign:before{content:"\e081"}.factory-bootstrap-444 .glyphicon-minus-sign:before{content:"\e082"}.factory-bootstrap-444 .glyphicon-remove-sign:before{content:"\e083"}.factory-bootstrap-444 .glyphicon-ok-sign:before{content:"\e084"}.factory-bootstrap-444 .glyphicon-question-sign:before{content:"\e085"}.factory-bootstrap-444 .glyphicon-info-sign:before{content:"\e086"}.factory-bootstrap-444 .glyphicon-screenshot:before{content:"\e087"}.factory-bootstrap-444 .glyphicon-remove-circle:before{content:"\e088"}.factory-bootstrap-444 .glyphicon-ok-circle:before{content:"\e089"}.factory-bootstrap-444 .glyphicon-ban-circle:before{content:"\e090"}.factory-bootstrap-444 .glyphicon-arrow-left:before{content:"\e091"}.factory-bootstrap-444 .glyphicon-arrow-right:before{content:"\e092"}.factory-bootstrap-444 .glyphicon-arrow-up:before{content:"\e093"}.factory-bootstrap-444 .glyphicon-arrow-down:before{content:"\e094"}.factory-bootstrap-444 .glyphicon-share-alt:before{content:"\e095"}.factory-bootstrap-444 .glyphicon-resize-full:before{content:"\e096"}.factory-bootstrap-444 .glyphicon-resize-small:before{content:"\e097"}.factory-bootstrap-444 .glyphicon-exclamation-sign:before{content:"\e101"}.factory-bootstrap-444 .glyphicon-gift:before{content:"\e102"}.factory-bootstrap-444 .glyphicon-leaf:before{content:"\e103"}.factory-bootstrap-444 .glyphicon-fire:before{content:"\e104"}.factory-bootstrap-444 .glyphicon-eye-open:before{content:"\e105"}.factory-bootstrap-444 .glyphicon-eye-close:before{content:"\e106"}.factory-bootstrap-444 .glyphicon-warning-sign:before{content:"\e107"}.factory-bootstrap-444 .glyphicon-plane:before{content:"\e108"}.factory-bootstrap-444 .glyphicon-calendar:before{content:"\e109"}.factory-bootstrap-444 .glyphicon-random:before{content:"\e110"}.factory-bootstrap-444 .glyphicon-comment:before{content:"\e111"}.factory-bootstrap-444 .glyphicon-magnet:before{content:"\e112"}.factory-bootstrap-444 .glyphicon-chevron-up:before{content:"\e113"}.factory-bootstrap-444 .glyphicon-chevron-down:before{content:"\e114"}.factory-bootstrap-444 .glyphicon-retweet:before{content:"\e115"}.factory-bootstrap-444 .glyphicon-shopping-cart:before{content:"\e116"}.factory-bootstrap-444 .glyphicon-folder-close:before{content:"\e117"}.factory-bootstrap-444 .glyphicon-folder-open:before{content:"\e118"}.factory-bootstrap-444 .glyphicon-resize-vertical:before{content:"\e119"}.factory-bootstrap-444 .glyphicon-resize-horizontal:before{content:"\e120"}.factory-bootstrap-444 .glyphicon-hdd:before{content:"\e121"}.factory-bootstrap-444 .glyphicon-bullhorn:before{content:"\e122"}.factory-bootstrap-444 .glyphicon-bell:before{content:"\e123"}.factory-bootstrap-444 .glyphicon-certificate:before{content:"\e124"}.factory-bootstrap-444 .glyphicon-thumbs-up:before{content:"\e125"}.factory-bootstrap-444 .glyphicon-thumbs-down:before{content:"\e126"}.factory-bootstrap-444 .glyphicon-hand-right:before{content:"\e127"}.factory-bootstrap-444 .glyphicon-hand-left:before{content:"\e128"}.factory-bootstrap-444 .glyphicon-hand-up:before{content:"\e129"}.factory-bootstrap-444 .glyphicon-hand-down:before{content:"\e130"}.factory-bootstrap-444 .glyphicon-circle-arrow-right:before{content:"\e131"}.factory-bootstrap-444 .glyphicon-circle-arrow-left:before{content:"\e132"}.factory-bootstrap-444 .glyphicon-circle-arrow-up:before{content:"\e133"}.factory-bootstrap-444 .glyphicon-circle-arrow-down:before{content:"\e134"}.factory-bootstrap-444 .glyphicon-globe:before{content:"\e135"}.factory-bootstrap-444 .glyphicon-wrench:before{content:"\e136"}.factory-bootstrap-444 .glyphicon-tasks:before{content:"\e137"}.factory-bootstrap-444 .glyphicon-filter:before{content:"\e138"}.factory-bootstrap-444 .glyphicon-briefcase:before{content:"\e139"}.factory-bootstrap-444 .glyphicon-fullscreen:before{content:"\e140"}.factory-bootstrap-444 .glyphicon-dashboard:before{content:"\e141"}.factory-bootstrap-444 .glyphicon-paperclip:before{content:"\e142"}.factory-bootstrap-444 .glyphicon-heart-empty:before{content:"\e143"}.factory-bootstrap-444 .glyphicon-link:before{content:"\e144"}.factory-bootstrap-444 .glyphicon-phone:before{content:"\e145"}.factory-bootstrap-444 .glyphicon-pushpin:before{content:"\e146"}.factory-bootstrap-444 .glyphicon-usd:before{content:"\e148"}.factory-bootstrap-444 .glyphicon-gbp:before{content:"\e149"}.factory-bootstrap-444 .glyphicon-sort:before{content:"\e150"}.factory-bootstrap-444 .glyphicon-sort-by-alphabet:before{content:"\e151"}.factory-bootstrap-444 .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.factory-bootstrap-444 .glyphicon-sort-by-order:before{content:"\e153"}.factory-bootstrap-444 .glyphicon-sort-by-order-alt:before{content:"\e154"}.factory-bootstrap-444 .glyphicon-sort-by-attributes:before{content:"\e155"}.factory-bootstrap-444 .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.factory-bootstrap-444 .glyphicon-unchecked:before{content:"\e157"}.factory-bootstrap-444 .glyphicon-expand:before{content:"\e158"}.factory-bootstrap-444 .glyphicon-collapse-down:before{content:"\e159"}.factory-bootstrap-444 .glyphicon-collapse-up:before{content:"\e160"}.factory-bootstrap-444 .glyphicon-log-in:before{content:"\e161"}.factory-bootstrap-444 .glyphicon-flash:before{content:"\e162"}.factory-bootstrap-444 .glyphicon-log-out:before{content:"\e163"}.factory-bootstrap-444 .glyphicon-new-window:before{content:"\e164"}.factory-bootstrap-444 .glyphicon-record:before{content:"\e165"}.factory-bootstrap-444 .glyphicon-save:before{content:"\e166"}.factory-bootstrap-444 .glyphicon-open:before{content:"\e167"}.factory-bootstrap-444 .glyphicon-saved:before{content:"\e168"}.factory-bootstrap-444 .glyphicon-import:before{content:"\e169"}.factory-bootstrap-444 .glyphicon-export:before{content:"\e170"}.factory-bootstrap-444 .glyphicon-send:before{content:"\e171"}.factory-bootstrap-444 .glyphicon-floppy-disk:before{content:"\e172"}.factory-bootstrap-444 .glyphicon-floppy-saved:before{content:"\e173"}.factory-bootstrap-444 .glyphicon-floppy-remove:before{content:"\e174"}.factory-bootstrap-444 .glyphicon-floppy-save:before{content:"\e175"}.factory-bootstrap-444 .glyphicon-floppy-open:before{content:"\e176"}.factory-bootstrap-444 .glyphicon-credit-card:before{content:"\e177"}.factory-bootstrap-444 .glyphicon-transfer:before{content:"\e178"}.factory-bootstrap-444 .glyphicon-cutlery:before{content:"\e179"}.factory-bootstrap-444 .glyphicon-header:before{content:"\e180"}.factory-bootstrap-444 .glyphicon-compressed:before{content:"\e181"}.factory-bootstrap-444 .glyphicon-earphone:before{content:"\e182"}.factory-bootstrap-444 .glyphicon-phone-alt:before{content:"\e183"}.factory-bootstrap-444 .glyphicon-tower:before{content:"\e184"}.factory-bootstrap-444 .glyphicon-stats:before{content:"\e185"}.factory-bootstrap-444 .glyphicon-sd-video:before{content:"\e186"}.factory-bootstrap-444 .glyphicon-hd-video:before{content:"\e187"}.factory-bootstrap-444 .glyphicon-subtitles:before{content:"\e188"}.factory-bootstrap-444 .glyphicon-sound-stereo:before{content:"\e189"}.factory-bootstrap-444 .glyphicon-sound-dolby:before{content:"\e190"}.factory-bootstrap-444 .glyphicon-sound-5-1:before{content:"\e191"}.factory-bootstrap-444 .glyphicon-sound-6-1:before{content:"\e192"}.factory-bootstrap-444 .glyphicon-sound-7-1:before{content:"\e193"}.factory-bootstrap-444 .glyphicon-copyright-mark:before{content:"\e194"}.factory-bootstrap-444 .glyphicon-registration-mark:before{content:"\e195"}.factory-bootstrap-444 .glyphicon-cloud-download:before{content:"\e197"}.factory-bootstrap-444 .glyphicon-cloud-upload:before{content:"\e198"}.factory-bootstrap-444 .glyphicon-tree-conifer:before{content:"\e199"}.factory-bootstrap-444 .glyphicon-tree-deciduous:before{content:"\e200"}.factory-bootstrap-444 .caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.factory-bootstrap-444 .dropdown{position:relative}.factory-bootstrap-444 .dropdown-toggle:focus{outline:0}.factory-bootstrap-444 .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.factory-bootstrap-444 .dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-444 .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-444 .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;color:#333;white-space:nowrap}.factory-bootstrap-444 .dropdown-menu>li>a:focus,.factory-bootstrap-444 .dropdown-menu>li>a:hover{color:#262626;text-decoration:none}.factory-bootstrap-444 .dropdown-menu>.active>a,.factory-bootstrap-444 .dropdown-menu>.active>a:focus,.factory-bootstrap-444 .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0}.factory-bootstrap-444 .dropdown-menu>.disabled>a,.factory-bootstrap-444 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-444 .dropdown-menu>.disabled>a:hover{color:#999}.factory-bootstrap-444 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-444 .dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-444 .open>.dropdown-menu{display:block}.factory-bootstrap-444 .open>a{outline:0}.factory-bootstrap-444 .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.factory-bootstrap-444 .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.factory-bootstrap-444 .pull-right>.dropdown-menu{right:0;left:auto}.factory-bootstrap-444 .dropup .caret,.factory-bootstrap-444 .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.factory-bootstrap-444 .dropup .dropdown-menu,.factory-bootstrap-444 .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.factory-bootstrap-444 .btn-group,.factory-bootstrap-444 .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.factory-bootstrap-444 .btn-group-vertical>.btn,.factory-bootstrap-444 .btn-group>.btn{position:relative;float:left}.factory-bootstrap-444 .btn-group-vertical>.btn.active,.factory-bootstrap-444 .btn-group-vertical>.btn:active,.factory-bootstrap-444 .btn-group-vertical>.btn:focus,.factory-bootstrap-444 .btn-group-vertical>.btn:hover,.factory-bootstrap-444 .btn-group>.btn.active,.factory-bootstrap-444 .btn-group>.btn:active,.factory-bootstrap-444 .btn-group>.btn:focus,.factory-bootstrap-444 .btn-group>.btn:hover{z-index:2}.factory-bootstrap-444 .btn-group-vertical>.btn:focus,.factory-bootstrap-444 .btn-group>.btn:focus{outline:0}.factory-bootstrap-444 .btn-group .btn+.btn,.factory-bootstrap-444 .btn-group .btn+.btn-group,.factory-bootstrap-444 .btn-group .btn-group+.btn,.factory-bootstrap-444 .btn-group .btn-group+.btn-group{margin-left:-1px}.factory-bootstrap-444 .btn-toolbar:after,.factory-bootstrap-444 .btn-toolbar:before{display:table;content:" "}.factory-bootstrap-444 .btn-toolbar:after{clear:both}.factory-bootstrap-444 .btn-toolbar .btn-group{float:left}.factory-bootstrap-444 .btn-toolbar>.btn+.btn,.factory-bootstrap-444 .btn-toolbar>.btn+.btn-group,.factory-bootstrap-444 .btn-toolbar>.btn-group+.btn,.factory-bootstrap-444 .btn-toolbar>.btn-group+.btn-group{margin-left:5px}.factory-bootstrap-444 .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.factory-bootstrap-444 .btn-group>.btn:first-child{margin-left:0}.factory-bootstrap-444 .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-444 .btn-group>.btn:last-child:not(:first-child),.factory-bootstrap-444 .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-444 .btn-group>.btn-group{float:left}.factory-bootstrap-444 .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-444 .btn-group>.btn-group:first-child>.btn:last-child,.factory-bootstrap-444 .btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-444 .btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-444 .btn-group .dropdown-toggle:active,.factory-bootstrap-444 .btn-group.open .dropdown-toggle{outline:0}.factory-bootstrap-444 .btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-444 .btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-444 .btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-444 .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.factory-bootstrap-444 .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.factory-bootstrap-444 .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.factory-bootstrap-444 .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-444 .btn-group{border:4px solid #f9f9f9;border-radius:4px}.factory-bootstrap-444 .btn-group .btn.active.value{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-444 .btn .caret{margin-left:0}.factory-bootstrap-444 .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.factory-bootstrap-444 .dropup .btn-lg .caret{border-width:0 5px 5px}.factory-bootstrap-444 .btn-group-vertical>.btn,.factory-bootstrap-444 .btn-group-vertical>.btn-group,.factory-bootstrap-444 .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.factory-bootstrap-444 .btn-group-vertical>.btn-group:after,.factory-bootstrap-444 .btn-group-vertical>.btn-group:before{display:table;content:" "}.factory-bootstrap-444 .btn-group-vertical>.btn-group:after{clear:both}.factory-bootstrap-444 .btn-group-vertical>.btn-group>.btn{float:none}.factory-bootstrap-444 .btn-group-vertical>.btn+.btn,.factory-bootstrap-444 .btn-group-vertical>.btn+.btn-group,.factory-bootstrap-444 .btn-group-vertical>.btn-group+.btn,.factory-bootstrap-444 .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.factory-bootstrap-444 .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-444 .btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-444 .btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.factory-bootstrap-444 .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-444 .btn-group-vertical>.btn-group:first-child>.btn:last-child,.factory-bootstrap-444 .btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-444 .btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-444 .btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.factory-bootstrap-444 .btn-group-justified>.btn,.factory-bootstrap-444 .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.factory-bootstrap-444 .btn-group-justified>.btn-group .btn{width:100%}[data-toggle=buttons]>.btn>input[type=checkbox],[data-toggle=buttons]>.btn>input[type=radio]{display:none}.factory-bootstrap-444 .input-group{position:relative;display:table;border-collapse:separate}.factory-bootstrap-444 .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.factory-bootstrap-444 .input-group .form-control{width:100%;margin-bottom:0}.factory-bootstrap-444 .input-group-lg>.form-control,.factory-bootstrap-444 .input-group-lg>.input-group-addon,.factory-bootstrap-444 .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-444 select.input-group-lg>.form-control,.factory-bootstrap-444 select.input-group-lg>.input-group-addon,.factory-bootstrap-444 select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.factory-bootstrap-444 textarea.input-group-lg>.form-control,.factory-bootstrap-444 textarea.input-group-lg>.input-group-addon,.factory-bootstrap-444 textarea.input-group-lg>.input-group-btn>.btn{height:auto}.factory-bootstrap-444 .input-group-sm>.form-control,.factory-bootstrap-444 .input-group-sm>.input-group-addon,.factory-bootstrap-444 .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-444 select.input-group-sm>.form-control,.factory-bootstrap-444 select.input-group-sm>.input-group-addon,.factory-bootstrap-444 select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.factory-bootstrap-444 textarea.input-group-sm>.form-control,.factory-bootstrap-444 textarea.input-group-sm>.input-group-addon,.factory-bootstrap-444 textarea.input-group-sm>.input-group-btn>.btn{height:auto}.factory-bootstrap-444 .input-group .form-control,.factory-bootstrap-444 .input-group-addon,.factory-bootstrap-444 .input-group-btn{display:table-cell}.factory-bootstrap-444 .input-group .form-control:not(:first-child):not(:last-child),.factory-bootstrap-444 .input-group-addon:not(:first-child):not(:last-child),.factory-bootstrap-444 .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-444 .input-group-addon,.factory-bootstrap-444 .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.factory-bootstrap-444 .input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-444 .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.factory-bootstrap-444 .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.factory-bootstrap-444 .input-group-addon input[type=checkbox],.factory-bootstrap-444 .input-group-addon input[type=radio]{margin-top:0}.factory-bootstrap-444 .input-group .form-control:first-child,.factory-bootstrap-444 .input-group-addon:first-child,.factory-bootstrap-444 .input-group-btn:first-child>.btn,.factory-bootstrap-444 .input-group-btn:first-child>.dropdown-toggle,.factory-bootstrap-444 .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-444 .input-group-addon:first-child{border-right:0}.factory-bootstrap-444 .input-group .form-control:last-child,.factory-bootstrap-444 .input-group-addon:last-child,.factory-bootstrap-444 .input-group-btn:first-child>.btn:not(:first-child),.factory-bootstrap-444 .input-group-btn:last-child>.btn,.factory-bootstrap-444 .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-444 .input-group-addon:last-child{border-left:0}.factory-bootstrap-444 .input-group-btn{position:relative;white-space:nowrap}.factory-bootstrap-444 .input-group-btn:first-child>.btn{margin-right:-1px}.factory-bootstrap-444 .input-group-btn:last-child>.btn{margin-left:-1px}.factory-bootstrap-444 .input-group-btn>.btn{position:relative}.factory-bootstrap-444 .input-group-btn>.btn+.btn{margin-left:-4px}.factory-bootstrap-444 .input-group-btn>.btn:active,.factory-bootstrap-444 .input-group-btn>.btn:hover{z-index:2}.factory-bootstrap-444 .nav{padding-left:0;margin-bottom:0;list-style:none}.factory-bootstrap-444 .nav:after,.factory-bootstrap-444 .nav:before{display:table;content:" "}.factory-bootstrap-444 .nav:after{clear:both}.factory-bootstrap-444 .nav>li{position:relative;display:block}.factory-bootstrap-444 .nav>li>a{position:relative;display:block;padding:10px 15px}.factory-bootstrap-444 .nav>li>a:focus,.factory-bootstrap-444 .nav>li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-444 .nav>li.disabled>a{color:#999}.factory-bootstrap-444 .nav>li.disabled>a:focus,.factory-bootstrap-444 .nav>li.disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.factory-bootstrap-444 .nav .open>a,.factory-bootstrap-444 .nav .open>a:focus,.factory-bootstrap-444 .nav .open>a:hover{background-color:#eee;border-color:#428bca}.factory-bootstrap-444 .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-444 .nav>li>a>img{max-width:none}.factory-bootstrap-444 .nav-tabs{border-bottom:1px solid #ddd}.factory-bootstrap-444 .nav-tabs>li{float:left;margin-bottom:-1px}.factory-bootstrap-444 .nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.factory-bootstrap-444 .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.factory-bootstrap-444 .nav-tabs>li.active>a,.factory-bootstrap-444 .nav-tabs>li.active>a:focus,.factory-bootstrap-444 .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.factory-bootstrap-444 .nav-tabs.nav-justified{width:100%;border-bottom:0}.factory-bootstrap-444 .nav-tabs.nav-justified>li{float:none}.factory-bootstrap-444 .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-444 .nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-444 .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-444 .nav-tabs.nav-justified>.active>a,.factory-bootstrap-444 .nav-tabs.nav-justified>.active>a:focus,.factory-bootstrap-444 .nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-444 .nav-pills>li{float:left}.factory-bootstrap-444 .nav-pills>li>a{border-radius:4px}.factory-bootstrap-444 .nav-pills>li+li{margin-left:2px}.factory-bootstrap-444 .nav-pills>li.active>a,.factory-bootstrap-444 .nav-pills>li.active>a:focus,.factory-bootstrap-444 .nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.factory-bootstrap-444 .nav-stacked>li{float:none}.factory-bootstrap-444 .nav-stacked>li+li{margin-top:2px;margin-left:0}.factory-bootstrap-444 .nav-justified{width:100%}.factory-bootstrap-444 .nav-justified>li{float:none}.factory-bootstrap-444 .nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-444 .nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-444 .nav-tabs-justified{border-bottom:0}.factory-bootstrap-444 .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-444 .nav-tabs-justified>.active>a,.factory-bootstrap-444 .nav-tabs-justified>.active>a:focus,.factory-bootstrap-444 .nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-444 .tab-content>.tab-pane{display:none}.factory-bootstrap-444 .tab-content>.active{display:block}.factory-bootstrap-444 .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-444 .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.factory-bootstrap-444 .navbar:after,.factory-bootstrap-444 .navbar:before{display:table;content:" "}.factory-bootstrap-444 .navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.factory-bootstrap-444 .navbar-header:after,.factory-bootstrap-444 .navbar-header:before{display:table;content:" "}.factory-bootstrap-444 .navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.factory-bootstrap-444 .navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.factory-bootstrap-444 .navbar-collapse:after,.factory-bootstrap-444 .navbar-collapse:before{display:table;content:" "}.factory-bootstrap-444 .navbar-collapse:after{clear:both}.factory-bootstrap-444 .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.factory-bootstrap-444 .container>.navbar-collapse,.factory-bootstrap-444 .container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.factory-bootstrap-444 .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.factory-bootstrap-444 .navbar-fixed-bottom,.factory-bootstrap-444 .navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.factory-bootstrap-444 .navbar-fixed-top{top:0;border-width:0 0 1px}.factory-bootstrap-444 .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.factory-bootstrap-444 .navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px}.factory-bootstrap-444 .navbar-brand:focus,.factory-bootstrap-444 .navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.factory-bootstrap-444 .navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.factory-bootstrap-444 .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.factory-bootstrap-444 .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.factory-bootstrap-444 .navbar-nav{margin:7.5px -15px}.factory-bootstrap-444 .navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.factory-bootstrap-444 .navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form select.form-control{width:auto}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{float:none;margin-left:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.factory-bootstrap-444 .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-444 .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-444 .navbar-nav.pull-right>li>.dropdown-menu,.factory-bootstrap-444 .navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-444 .navbar-btn{margin-top:8px;margin-bottom:8px}.factory-bootstrap-444 .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.factory-bootstrap-444 .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.factory-bootstrap-444 .navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.factory-bootstrap-444 .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.factory-bootstrap-444 .navbar-default .navbar-brand{color:#777}.factory-bootstrap-444 .navbar-default .navbar-brand:focus,.factory-bootstrap-444 .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.factory-bootstrap-444 .navbar-default .navbar-nav>li>a,.factory-bootstrap-444 .navbar-default .navbar-text{color:#777}.factory-bootstrap-444 .navbar-default .navbar-nav>li>a:focus,.factory-bootstrap-444 .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.factory-bootstrap-444 .navbar-default .navbar-nav>.active>a,.factory-bootstrap-444 .navbar-default .navbar-nav>.active>a:focus,.factory-bootstrap-444 .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.factory-bootstrap-444 .navbar-default .navbar-nav>.disabled>a,.factory-bootstrap-444 .navbar-default .navbar-nav>.disabled>a:focus,.factory-bootstrap-444 .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.factory-bootstrap-444 .navbar-default .navbar-toggle{border-color:#ddd}.factory-bootstrap-444 .navbar-default .navbar-toggle:focus,.factory-bootstrap-444 .navbar-default .navbar-toggle:hover{background-color:#ddd}.factory-bootstrap-444 .navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.factory-bootstrap-444 .navbar-default .navbar-collapse,.factory-bootstrap-444 .navbar-default .navbar-form{border-color:#e7e7e7}.factory-bootstrap-444 .navbar-default .navbar-nav>.open>a,.factory-bootstrap-444 .navbar-default .navbar-nav>.open>a:focus,.factory-bootstrap-444 .navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.factory-bootstrap-444 .navbar-default .navbar-link{color:#777}.factory-bootstrap-444 .navbar-default .navbar-link:hover{color:#333}.factory-bootstrap-444 .navbar-inverse{background-color:#222;border-color:#080808}.factory-bootstrap-444 .navbar-inverse .navbar-brand{color:#999}.factory-bootstrap-444 .navbar-inverse .navbar-brand:focus,.factory-bootstrap-444 .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.factory-bootstrap-444 .navbar-inverse .navbar-nav>li>a,.factory-bootstrap-444 .navbar-inverse .navbar-text{color:#999}.factory-bootstrap-444 .navbar-inverse .navbar-nav>li>a:focus,.factory-bootstrap-444 .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.factory-bootstrap-444 .navbar-inverse .navbar-nav>.active>a,.factory-bootstrap-444 .navbar-inverse .navbar-nav>.active>a:focus,.factory-bootstrap-444 .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.factory-bootstrap-444 .navbar-inverse .navbar-nav>.disabled>a,.factory-bootstrap-444 .navbar-inverse .navbar-nav>.disabled>a:focus,.factory-bootstrap-444 .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.factory-bootstrap-444 .navbar-inverse .navbar-toggle{border-color:#333}.factory-bootstrap-444 .navbar-inverse .navbar-toggle:focus,.factory-bootstrap-444 .navbar-inverse .navbar-toggle:hover{background-color:#333}.factory-bootstrap-444 .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.factory-bootstrap-444 .navbar-inverse .navbar-collapse,.factory-bootstrap-444 .navbar-inverse .navbar-form{border-color:#101010}.factory-bootstrap-444 .navbar-inverse .navbar-nav>.open>a,.factory-bootstrap-444 .navbar-inverse .navbar-nav>.open>a:focus,.factory-bootstrap-444 .navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.factory-bootstrap-444 .navbar-inverse .navbar-link{color:#999}.factory-bootstrap-444 .navbar-inverse .navbar-link:hover{color:#fff}.factory-bootstrap-444 .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.factory-bootstrap-444 .breadcrumb>li{display:inline-block}.factory-bootstrap-444 .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.factory-bootstrap-444 .breadcrumb>.active{color:#999}.factory-bootstrap-444 .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.factory-bootstrap-444 .pagination>li{display:inline}.factory-bootstrap-444 .pagination>li>a,.factory-bootstrap-444 .pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-444 .pagination>li:first-child>a,.factory-bootstrap-444 .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.factory-bootstrap-444 .pagination>li:last-child>a,.factory-bootstrap-444 .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.factory-bootstrap-444 .pagination>li>a:focus,.factory-bootstrap-444 .pagination>li>a:hover,.factory-bootstrap-444 .pagination>li>span:focus,.factory-bootstrap-444 .pagination>li>span:hover{background-color:#eee}.factory-bootstrap-444 .pagination>.active>a,.factory-bootstrap-444 .pagination>.active>a:focus,.factory-bootstrap-444 .pagination>.active>a:hover,.factory-bootstrap-444 .pagination>.active>span,.factory-bootstrap-444 .pagination>.active>span:focus,.factory-bootstrap-444 .pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#1e8cbe;border-color:#0074a2}.factory-bootstrap-444 .pagination>.disabled>a,.factory-bootstrap-444 .pagination>.disabled>a:focus,.factory-bootstrap-444 .pagination>.disabled>a:hover,.factory-bootstrap-444 .pagination>.disabled>span,.factory-bootstrap-444 .pagination>.disabled>span:focus,.factory-bootstrap-444 .pagination>.disabled>span:hover{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.factory-bootstrap-444 .pagination-lg>li>a,.factory-bootstrap-444 .pagination-lg>li>span{padding:10px 16px;font-size:18px}.factory-bootstrap-444 .pagination-lg>li:first-child>a,.factory-bootstrap-444 .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.factory-bootstrap-444 .pagination-lg>li:last-child>a,.factory-bootstrap-444 .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.factory-bootstrap-444 .pagination-sm>li>a,.factory-bootstrap-444 .pagination-sm>li>span{padding:5px 10px;font-size:12px}.factory-bootstrap-444 .pagination-sm>li:first-child>a,.factory-bootstrap-444 .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.factory-bootstrap-444 .pagination-sm>li:last-child>a,.factory-bootstrap-444 .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.factory-bootstrap-444 .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.factory-bootstrap-444 .pager:after,.factory-bootstrap-444 .pager:before{display:table;content:" "}.factory-bootstrap-444 .pager:after{clear:both}.factory-bootstrap-444 .pager li{display:inline}.factory-bootstrap-444 .pager li>a,.factory-bootstrap-444 .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.factory-bootstrap-444 .pager li>a:focus,.factory-bootstrap-444 .pager li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-444 .pager .next>a,.factory-bootstrap-444 .pager .next>span{float:right}.factory-bootstrap-444 .pager .previous>a,.factory-bootstrap-444 .pager .previous>span{float:left}.factory-bootstrap-444 .pager .disabled>a,.factory-bootstrap-444 .pager .disabled>a:focus,.factory-bootstrap-444 .pager .disabled>a:hover,.factory-bootstrap-444 .pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.factory-bootstrap-444 .label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.factory-bootstrap-444 .label[href]:focus,.factory-bootstrap-444 .label[href]:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-444 .label:empty{display:none}.factory-bootstrap-444 .btn .label{position:relative;top:-1px}.factory-bootstrap-444 .label-default{background-color:#999}.factory-bootstrap-444 .label-default[href]:focus,.factory-bootstrap-444 .label-default[href]:hover{background-color:gray}.factory-bootstrap-444 .label-primary{background-color:#428bca}.factory-bootstrap-444 .label-primary[href]:focus,.factory-bootstrap-444 .label-primary[href]:hover{background-color:#3071a9}.factory-bootstrap-444 .label-success{background-color:#5cb85c}.factory-bootstrap-444 .label-success[href]:focus,.factory-bootstrap-444 .label-success[href]:hover{background-color:#449d44}.factory-bootstrap-444 .label-info{background-color:#5bc0de}.factory-bootstrap-444 .label-info[href]:focus,.factory-bootstrap-444 .label-info[href]:hover{background-color:#31b0d5}.factory-bootstrap-444 .label-warning{background-color:#f0ad4e}.factory-bootstrap-444 .label-warning[href]:focus,.factory-bootstrap-444 .label-warning[href]:hover{background-color:#ec971f}.factory-bootstrap-444 .label-danger{background-color:#d9534f}.factory-bootstrap-444 .label-danger[href]:focus,.factory-bootstrap-444 .label-danger[href]:hover{background-color:#c9302c}.factory-bootstrap-444 .badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.factory-bootstrap-444 .badge:empty{display:none}.factory-bootstrap-444 .btn .badge{position:relative;top:-1px}.factory-bootstrap-444 a.badge:focus,.factory-bootstrap-444 a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-444 .nav-pills>.active>a>.badge,.factory-bootstrap-444 a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.factory-bootstrap-444 .nav-pills>li>a>.badge{margin-left:3px}.factory-bootstrap-444 .jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.factory-bootstrap-444 .jumbotron .h1,.factory-bootstrap-444 .jumbotron h1{line-height:1;color:inherit}.factory-bootstrap-444 .jumbotron p{line-height:1.4}.factory-bootstrap-444 .container .jumbotron{border-radius:6px}.factory-bootstrap-444 .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.factory-bootstrap-444 .thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-444 .thumbnail a>img,.factory-bootstrap-444 .thumbnail>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}.factory-bootstrap-444 a.thumbnail.active,.factory-bootstrap-444 a.thumbnail:focus,.factory-bootstrap-444 a.thumbnail:hover{border-color:#428bca}.factory-bootstrap-444 .thumbnail .caption{padding:9px;color:#333}.factory-bootstrap-444 .alert{border:1px solid transparent;border-radius:4px}.factory-bootstrap-444 .alert h4{margin-top:0;color:inherit}.factory-bootstrap-444 .alert .alert-link{font-weight:700}.factory-bootstrap-444 .alert>p,.factory-bootstrap-444 .alert>ul{margin-bottom:0}.factory-bootstrap-444 .alert>p+p{margin-top:5px}.factory-bootstrap-444 .alert-dismissable{padding-right:35px}.factory-bootstrap-444 .alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.factory-bootstrap-444 .alert-info{color:#31708f;background-color:#d9edf7}.factory-bootstrap-444 .alert-info hr{border-top-color:#a6e1ec}.factory-bootstrap-444 .alert-info .alert-link{color:#245269}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.factory-bootstrap-444 .progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.factory-bootstrap-444 .progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#2ea2cc;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.factory-bootstrap-444 .progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.factory-bootstrap-444 .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.factory-bootstrap-444 .progress-bar-success{background-color:#5cb85c}.factory-bootstrap-444 .progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-444 .progress-bar-info{background-color:#5bc0de}.factory-bootstrap-444 .progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-444 .progress-bar-warning{background-color:#f0ad4e}.factory-bootstrap-444 .progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-444 .progress-bar-danger{background-color:#d9534f}.factory-bootstrap-444 .progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-444 .media,.factory-bootstrap-444 .media-body{overflow:hidden;zoom:1}.factory-bootstrap-444 .media,.factory-bootstrap-444 .media .media{margin-top:15px}.factory-bootstrap-444 .media:first-child{margin-top:0}.factory-bootstrap-444 .media-object{display:block}.factory-bootstrap-444 .media-heading{margin:0 0 5px}.factory-bootstrap-444 .media>.pull-left{margin-right:10px}.factory-bootstrap-444 .media>.pull-right{margin-left:10px}.factory-bootstrap-444 .media-list{padding-left:0;list-style:none}.factory-bootstrap-444 .list-group{padding-left:0;margin-bottom:20px}.factory-bootstrap-444 .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-444 .list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.factory-bootstrap-444 .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.factory-bootstrap-444 .list-group-item>.badge{float:right}.factory-bootstrap-444 .list-group-item>.badge+.badge{margin-right:5px}.factory-bootstrap-444 a.list-group-item{color:#555}.factory-bootstrap-444 a.list-group-item .list-group-item-heading{color:#333}.factory-bootstrap-444 a.list-group-item:focus,.factory-bootstrap-444 a.list-group-item:hover{text-decoration:none;background-color:#f5f5f5}.factory-bootstrap-444 a.list-group-item.active,.factory-bootstrap-444 a.list-group-item.active:focus,.factory-bootstrap-444 a.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-444 a.list-group-item.active .list-group-item-heading,.factory-bootstrap-444 a.list-group-item.active:focus .list-group-item-heading,.factory-bootstrap-444 a.list-group-item.active:hover .list-group-item-heading{color:inherit}.factory-bootstrap-444 a.list-group-item.active .list-group-item-text,.factory-bootstrap-444 a.list-group-item.active:focus .list-group-item-text,.factory-bootstrap-444 a.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.factory-bootstrap-444 .list-group-item-heading{margin-top:0;margin-bottom:5px}.factory-bootstrap-444 .list-group-item-text{margin-bottom:0;line-height:1.3}.factory-bootstrap-444 .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px}.factory-bootstrap-444 .panel-body{padding:15px}.factory-bootstrap-444 .panel-body:after,.factory-bootstrap-444 .panel-body:before{display:table;content:" "}.factory-bootstrap-444 .panel-body:after{clear:both}.factory-bootstrap-444 .panel>.list-group{margin-bottom:0}.factory-bootstrap-444 .panel>.list-group .list-group-item{border-width:1px 0}.factory-bootstrap-444 .panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-444 .panel>.list-group .list-group-item:last-child{border-bottom:0}.factory-bootstrap-444 .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.factory-bootstrap-444 .panel>.table,.factory-bootstrap-444 .panel>.table-responsive>.table{margin-bottom:0}.factory-bootstrap-444 .panel>.panel-body+.table,.factory-bootstrap-444 .panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.factory-bootstrap-444 .panel>.table>tbody:first-child td,.factory-bootstrap-444 .panel>.table>tbody:first-child th{border-top:0}.factory-bootstrap-444 .panel>.table-bordered,.factory-bootstrap-444 .panel>.table-responsive>.table-bordered{border:0}.factory-bootstrap-444 .panel>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-444 .panel>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-444 .panel>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-444 .panel>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-444 .panel>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-444 .panel>.table-bordered>thead>tr>th:first-child,.factory-bootstrap-444 .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-444 .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-444 .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-444 .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-444 .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-444 .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.factory-bootstrap-444 .panel>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-444 .panel>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-444 .panel>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-444 .panel>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-444 .panel>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-444 .panel>.table-bordered>thead>tr>th:last-child,.factory-bootstrap-444 .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-444 .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-444 .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-444 .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-444 .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-444 .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.factory-bootstrap-444 .panel>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-444 .panel>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-444 .panel>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-444 .panel>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-444 .panel>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-444 .panel>.table-bordered>thead>tr:last-child>th,.factory-bootstrap-444 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-444 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-444 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-444 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-444 .panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-444 .panel>.table-responsive>.table-bordered>thead>tr:last-child>th{border-bottom:0}.factory-bootstrap-444 .panel>.table-responsive{margin-bottom:0;border:0}.factory-bootstrap-444 .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.factory-bootstrap-444 .panel-heading>.dropdown .dropdown-toggle{color:inherit}.factory-bootstrap-444 .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.factory-bootstrap-444 .panel-title>a{color:inherit}.factory-bootstrap-444 .panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.factory-bootstrap-444 .panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.factory-bootstrap-444 .panel-group .panel+.panel{margin-top:5px}.factory-bootstrap-444 .panel-group .panel-heading{border-bottom:0}.factory-bootstrap-444 .panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.factory-bootstrap-444 .panel-group .panel-footer{border-top:0}.factory-bootstrap-444 .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.factory-bootstrap-444 .panel-default{border-color:#ddd}.factory-bootstrap-444 .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.factory-bootstrap-444 .panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.factory-bootstrap-444 .panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.factory-bootstrap-444 .panel-primary{border-color:#428bca}.factory-bootstrap-444 .panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-444 .panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.factory-bootstrap-444 .panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.factory-bootstrap-444 .panel-success{border-color:#d6e9c6}.factory-bootstrap-444 .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.factory-bootstrap-444 .panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.factory-bootstrap-444 .panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.factory-bootstrap-444 .panel-warning{border-color:#faebcc}.factory-bootstrap-444 .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.factory-bootstrap-444 .panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.factory-bootstrap-444 .panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.factory-bootstrap-444 .panel-danger{border-color:#ebccd1}.factory-bootstrap-444 .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.factory-bootstrap-444 .panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.factory-bootstrap-444 .panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.factory-bootstrap-444 .panel-info{border-color:#bce8f1}.factory-bootstrap-444 .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.factory-bootstrap-444 .panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.factory-bootstrap-444 .panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.factory-bootstrap-444 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px}.factory-bootstrap-444 .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.factory-bootstrap-444 .well-lg{padding:24px;border-radius:6px}.factory-bootstrap-444 .well-sm{padding:9px;border-radius:3px}.factory-bootstrap-444 .close{float:right;font-size:14px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.3;filter:alpha(opacity=30)}.factory-bootstrap-444 .alert .close{position:relative;top:-8px;right:-7px}.factory-bootstrap-444 .close:focus,.factory-bootstrap-444 .close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-444 button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.factory-bootstrap-444 .modal-open{overflow:hidden}.factory-bootstrap-444 .modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll;width:auto;margin-left:0;background-color:transparent;border:0}.factory-bootstrap-444 .modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.factory-bootstrap-444 .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.factory-bootstrap-444 .modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.factory-bootstrap-444 .modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box}.factory-bootstrap-444 .modal-backdrop,.factory-bootstrap-444-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.factory-bootstrap-444 .modal-backdrop.fade,.factory-bootstrap-444-modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.factory-bootstrap-444 .modal-backdrop.in,.factory-bootstrap-444-modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-444 .modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.factory-bootstrap-444 .modal-header .close{margin-top:-2px}.factory-bootstrap-444 .modal-title{margin:0;line-height:1.428571429}.factory-bootstrap-444 .modal-body{position:relative;padding:20px;max-height:none}.factory-bootstrap-444 .modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.factory-bootstrap-444 .modal-footer:after,.factory-bootstrap-444 .modal-footer:before{display:table;content:" "}.factory-bootstrap-444 .modal-footer:after{clear:both}.factory-bootstrap-444 .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.factory-bootstrap-444 .modal-footer .btn-group .btn+.btn{margin-left:-1px}.factory-bootstrap-444 .modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.factory-bootstrap-444 .modal-dialog{width:600px;margin:30px auto}.factory-bootstrap-444 .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}}.factory-bootstrap-444 .tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.factory-bootstrap-444 .tooltip.in{opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-444 .tooltip.top{padding:5px 0;margin-top:-3px}.factory-bootstrap-444 .tooltip.right{padding:0 5px;margin-left:3px}.factory-bootstrap-444 .tooltip.bottom{padding:5px 0;margin-top:3px}.factory-bootstrap-444 .tooltip.left{padding:0 5px;margin-left:-3px}.factory-bootstrap-444 .tooltip-inner{width:400px;padding:15px 20px;color:#fff;text-align:left;text-decoration:none;background-color:#673ab7;border-radius:3px}.factory-bootstrap-444 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-444 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-444 .tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-444 .tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-444 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#673ab7;border-width:5px 5px 5px 0}.factory-bootstrap-444 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#673ab7;border-width:5px 0 5px 5px}.factory-bootstrap-444 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-444 .tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-444 .tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-444 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);background-clip:padding-box}.factory-bootstrap-444 .popover.top{margin-top:-10px}.factory-bootstrap-444 .popover.right{margin-left:10px}.factory-bootstrap-444 .popover.bottom{margin-top:10px}.factory-bootstrap-444 .popover.left{margin-left:-10px}.factory-bootstrap-444 .popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.factory-bootstrap-444 .popover-content{padding:9px 14px}.factory-bootstrap-444 .popover .arrow,.factory-bootstrap-444 .popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-444 .popover .arrow{border-width:11px}.factory-bootstrap-444 .popover .arrow:after{border-width:10px;content:""}.factory-bootstrap-444 .popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.factory-bootstrap-444 .popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.factory-bootstrap-444 .popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.factory-bootstrap-444 .popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.factory-bootstrap-444 .popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0}.factory-bootstrap-444 .popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.factory-bootstrap-444 .popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0}.factory-bootstrap-444 .popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.factory-bootstrap-444 .carousel{position:relative}.factory-bootstrap-444 .carousel-inner{position:relative;width:100%;overflow:hidden}.factory-bootstrap-444 .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.factory-bootstrap-444 .carousel-inner>.item>a>img,.factory-bootstrap-444 .carousel-inner>.item>img{display:block;height:auto;max-width:100%;line-height:1}.factory-bootstrap-444 .carousel-inner>.active,.factory-bootstrap-444 .carousel-inner>.next,.factory-bootstrap-444 .carousel-inner>.prev{display:block}.factory-bootstrap-444 .carousel-inner>.active{left:0}.factory-bootstrap-444 .carousel-inner>.next,.factory-bootstrap-444 .carousel-inner>.prev{position:absolute;top:0;width:100%}.factory-bootstrap-444 .carousel-inner>.next{left:100%}.factory-bootstrap-444 .carousel-inner>.prev{left:-100%}.factory-bootstrap-444 .carousel-inner>.next.left,.factory-bootstrap-444 .carousel-inner>.prev.right{left:0}.factory-bootstrap-444 .carousel-inner>.active.left{left:-100%}.factory-bootstrap-444 .carousel-inner>.active.right{left:100%}.factory-bootstrap-444 .carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-444 .carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.factory-bootstrap-444 .carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.factory-bootstrap-444 .carousel-control:focus,.factory-bootstrap-444 .carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-444 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-444 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-444 .carousel-control .icon-next,.factory-bootstrap-444 .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.factory-bootstrap-444 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-444 .carousel-control .icon-prev{left:50%}.factory-bootstrap-444 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-444 .carousel-control .icon-next{right:50%}.factory-bootstrap-444 .carousel-control .icon-next,.factory-bootstrap-444 .carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.factory-bootstrap-444 .carousel-control .icon-prev:before{content:'\2039'}.factory-bootstrap-444 .carousel-control .icon-next:before{content:'\203a'}.factory-bootstrap-444 .carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.factory-bootstrap-444 .carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.factory-bootstrap-444 .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.factory-bootstrap-444 .carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.factory-bootstrap-444 .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.factory-bootstrap-444 .clearfix:after,.factory-bootstrap-444 .clearfix:before{display:table;content:" "}.factory-bootstrap-444 .clearfix:after{clear:both}.factory-bootstrap-444 .center-block{display:block;margin-right:auto;margin-left:auto}.factory-bootstrap-444 .pull-right{float:right!important}.factory-bootstrap-444 .pull-left{float:left!important}.factory-bootstrap-444 .hide{display:none!important}.factory-bootstrap-444 .show{display:block!important}.factory-bootstrap-444 .invisible{visibility:hidden}.factory-bootstrap-444 .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.factory-bootstrap-444 .hidden{display:none!important;visibility:hidden!important}.factory-bootstrap-444 .affix{position:fixed}@-ms-viewport{width:device-width}.factory-bootstrap-444 .visible-lg,.factory-bootstrap-444 .visible-md,.factory-bootstrap-444 .visible-sm,.factory-bootstrap-444 .visible-xs,.factory-bootstrap-444 td.visible-lg,.factory-bootstrap-444 td.visible-md,.factory-bootstrap-444 td.visible-sm,.factory-bootstrap-444 td.visible-xs,.factory-bootstrap-444 th.visible-lg,.factory-bootstrap-444 th.visible-md,.factory-bootstrap-444 th.visible-sm,.factory-bootstrap-444 th.visible-xs,.factory-bootstrap-444 tr.visible-lg,.factory-bootstrap-444 tr.visible-md,.factory-bootstrap-444 tr.visible-sm,.factory-bootstrap-444 tr.visible-xs{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}table.visible-xs.visible-sm{display:table}tr.visible-xs.visible-sm{display:table-row!important}td.visible-xs.visible-sm,th.visible-xs.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}table.visible-xs.visible-md{display:table}tr.visible-xs.visible-md{display:table-row!important}td.visible-xs.visible-md,th.visible-xs.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-xs.visible-lg{display:block!important}table.visible-xs.visible-lg{display:table}tr.visible-xs.visible-lg{display:table-row!important}td.visible-xs.visible-lg,th.visible-xs.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-sm.visible-xs{display:block!important}table.visible-sm.visible-xs{display:table}tr.visible-sm.visible-xs{display:table-row!important}td.visible-sm.visible-xs,th.visible-sm.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}table.visible-sm.visible-md{display:table}tr.visible-sm.visible-md{display:table-row!important}td.visible-sm.visible-md,th.visible-sm.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-sm.visible-lg{display:block!important}table.visible-sm.visible-lg{display:table}tr.visible-sm.visible-lg{display:table-row!important}td.visible-sm.visible-lg,th.visible-sm.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-md.visible-xs{display:block!important}table.visible-md.visible-xs{display:table}tr.visible-md.visible-xs{display:table-row!important}td.visible-md.visible-xs,th.visible-md.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}table.visible-md.visible-sm{display:table}tr.visible-md.visible-sm{display:table-row!important}td.visible-md.visible-sm,th.visible-md.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-md.visible-lg{display:block!important}table.visible-md.visible-lg{display:table}tr.visible-md.visible-lg{display:table-row!important}td.visible-md.visible-lg,th.visible-md.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-lg.visible-xs{display:block!important}table.visible-lg.visible-xs{display:table}tr.visible-lg.visible-xs{display:table-row!important}td.visible-lg.visible-xs,th.visible-lg.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}table.visible-lg.visible-sm{display:table}tr.visible-lg.visible-sm{display:table-row!important}td.visible-lg.visible-sm,th.visible-lg.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}table.visible-lg.visible-md{display:table}tr.visible-lg.visible-md{display:table-row!important}td.visible-lg.visible-md,th.visible-lg.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}.factory-bootstrap-444 .hidden-xs{display:block!important}.factory-bootstrap-444 table.hidden-xs{display:table}.factory-bootstrap-444 tr.hidden-xs{display:table-row!important}.factory-bootstrap-444 td.hidden-xs,.factory-bootstrap-444 th.hidden-xs{display:table-cell!important}@media (max-width:767px){.hidden-xs,td.hidden-xs,th.hidden-xs,tr.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,td.hidden-xs.hidden-md,th.hidden-xs.hidden-md,tr.hidden-xs.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg{display:none!important}}.factory-bootstrap-444 .hidden-sm{display:block!important}.factory-bootstrap-444 table.hidden-sm{display:table}.factory-bootstrap-444 tr.hidden-sm{display:table-row!important}.factory-bootstrap-444 td.hidden-sm,.factory-bootstrap-444 th.hidden-sm{display:table-cell!important}@media (max-width:767px){.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm,td.hidden-sm,th.hidden-sm,tr.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,td.hidden-sm.hidden-md,th.hidden-sm.hidden-md,tr.hidden-sm.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg{display:none!important}}.factory-bootstrap-444 .hidden-md{display:block!important}.factory-bootstrap-444 table.hidden-md{display:table}.factory-bootstrap-444 tr.hidden-md{display:table-row!important}.factory-bootstrap-444 td.hidden-md,.factory-bootstrap-444 th.hidden-md{display:table-cell!important}@media (max-width:767px){.hidden-md.hidden-xs,td.hidden-md.hidden-xs,th.hidden-md.hidden-xs,tr.hidden-md.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,td.hidden-md.hidden-sm,th.hidden-md.hidden-sm,tr.hidden-md.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md,td.hidden-md,th.hidden-md,tr.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-md.hidden-lg,td.hidden-md.hidden-lg,th.hidden-md.hidden-lg,tr.hidden-md.hidden-lg{display:none!important}}.factory-bootstrap-444 .hidden-lg{display:block!important}.factory-bootstrap-444 table.hidden-lg{display:table}.factory-bootstrap-444 tr.hidden-lg{display:table-row!important}.factory-bootstrap-444 td.hidden-lg,.factory-bootstrap-444 th.hidden-lg{display:table-cell!important}@media (max-width:767px){.factory-bootstrap-444 .hidden-lg.hidden-xs,.factory-bootstrap-444 td.hidden-lg.hidden-xs,.factory-bootstrap-444 th.hidden-lg.hidden-xs,.factory-bootstrap-444 tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.factory-bootstrap-444 .hidden-lg.hidden-sm,.factory-bootstrap-444 td.hidden-lg.hidden-sm,.factory-bootstrap-444 th.hidden-lg.hidden-sm,.factory-bootstrap-444 tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.factory-bootstrap-444 .hidden-lg.hidden-md,.factory-bootstrap-444 td.hidden-lg.hidden-md,.factory-bootstrap-444 th.hidden-lg.hidden-md,.factory-bootstrap-444 tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.factory-bootstrap-444 .hidden-lg,.factory-bootstrap-444 td.hidden-lg,.factory-bootstrap-444 th.hidden-lg,.factory-bootstrap-444 tr.hidden-lg{display:none!important}}.factory-bootstrap-444 .visible-print,.factory-bootstrap-444 td.visible-print,.factory-bootstrap-444 th.visible-print,.factory-bootstrap-444 tr.visible-print{display:none!important}@media print{.factory-bootstrap-444 .visible-print{display:block!important}.factory-bootstrap-444 table.visible-print{display:table}.factory-bootstrap-444 tr.visible-print{display:table-row!important}.factory-bootstrap-444 td.visible-print,.factory-bootstrap-444 th.visible-print{display:table-cell!important}.factory-bootstrap-444 .hidden-print,.factory-bootstrap-444 td.hidden-print,.factory-bootstrap-444 th.hidden-print,.factory-bootstrap-444 tr.hidden-print{display:none!important}}/*!
12
  * Factory Default Bootstrap Theme
13
  *
14
  * The code is based on Bootstrap v2.1.1
22
  *
23
  * @package factory-bootstrap
24
  * @since 1.0.0
25
+ */.factory-bootstrap-444 .btn-danger,.factory-bootstrap-444 .btn-default,.factory-bootstrap-444 .btn-info,.factory-bootstrap-444 .btn-primary,.factory-bootstrap-444 .btn-success,.factory-bootstrap-444 .btn-warning{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-444 .btn-danger.active,.factory-bootstrap-444 .btn-danger:active,.factory-bootstrap-444 .btn-default.active,.factory-bootstrap-444 .btn-default:active,.factory-bootstrap-444 .btn-info.active,.factory-bootstrap-444 .btn-info:active,.factory-bootstrap-444 .btn-primary.active,.factory-bootstrap-444 .btn-primary:active,.factory-bootstrap-444 .btn-success.active,.factory-bootstrap-444 .btn-success:active,.factory-bootstrap-444 .btn-warning.active,.factory-bootstrap-444 .btn-warning:active{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.1);box-shadow:inset 0 1px 1px rgba(0,0,0,.1)}.factory-bootstrap-444 .btn.active,.factory-bootstrap-444 .btn:active{background-image:none}.factory-bootstrap-444 .btn-default{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.factory-bootstrap-444 .btn-default.active,.factory-bootstrap-444 .btn-default:active{background-color:#fff;border-color:#dbdbdb}.factory-bootstrap-444 .btn-gold{font-weight:700;padding:7px 12px;cursor:pointer;line-height:16px;display:inline-block;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;box-shadow:#e3e3e3 0 1px 1px;-moz-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);-webkit-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);text-shadow:1px 1px 0 #ffe8b2;color:#7c5d1b;border:1px solid #d6a437;background:#feeb80}.factory-bootstrap-444 .btn-gold:focus,.factory-bootstrap-444 .btn-gold:hover{background:#fef0a1}.factory-bootstrap-444 .btn-gold.active,.factory-bootstrap-444 .btn-gold:active{background:#fef0a1;-webkit-box-shadow:inset 0 3px 8px 0 #f8ba36;box-shadow:inset 0 3px 8px 0 #f8ba36}.factory-bootstrap-444 .btn-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.factory-bootstrap-444 .btn-primary:focus,.factory-bootstrap-444 .btn-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.factory-bootstrap-444 .btn-primary.active,.factory-bootstrap-444 .btn-primary:active{background-color:#2d6ca2;border-color:#2b669a}.factory-bootstrap-444 .btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-444 .btn-success:focus,.factory-bootstrap-444 .btn-success:hover{background-color:#419641;background-position:0 -15px}.factory-bootstrap-444 .btn-success.active,.factory-bootstrap-444 .btn-success:active{background-color:#419641;border-color:#3e8f3e}.factory-bootstrap-444 .btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-444 .btn-warning:focus,.factory-bootstrap-444 .btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.factory-bootstrap-444 .btn-warning.active,.factory-bootstrap-444 .btn-warning:active{background-color:#eb9316;border-color:#e38d13}.factory-bootstrap-444 .btn-danger{color:#fff;background:#d9534f;border-color:#d43f3a}.factory-bootstrap-444 .btn-danger.active,.factory-bootstrap-444 .btn-danger:active,.factory-bootstrap-444 .btn-danger:focus,.factory-bootstrap-444 .btn-danger:hover,.factory-bootstrap-444 .open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.factory-bootstrap-444 .btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-444 .btn-info:focus,.factory-bootstrap-444 .btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.factory-bootstrap-444 .btn-info.active,.factory-bootstrap-444 .btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.factory-bootstrap-444 .img-thumbnail,.factory-bootstrap-444 .thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-444 .dropdown-menu>li>a:focus,.factory-bootstrap-444 .dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-444 .dropdown-menu>.active>a,.factory-bootstrap-444 .dropdown-menu>.active>a:focus,.factory-bootstrap-444 .dropdown-menu>.active>a:hover{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-444 .navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.factory-bootstrap-444 .navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.factory-bootstrap-444 .navbar-brand,.factory-bootstrap-444 .navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.factory-bootstrap-444 .navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-444 .navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.factory-bootstrap-444 .navbar-inverse .navbar-brand,.factory-bootstrap-444 .navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-444 .navbar-fixed-bottom,.factory-bootstrap-444 .navbar-fixed-top,.factory-bootstrap-444 .navbar-static-top{border-radius:0}.factory-bootstrap-444 .alert{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-444 .alert .actions{padding-top:10px}.factory-bootstrap-444 .alert-success{color:#3c763d;background-color:#dff0d8;border-bottom:2px solid #c8e5bc}.factory-bootstrap-444 .alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0)}.factory-bootstrap-444 .alert{text-shadow:none;box-shadow:none;margin:0;margin-top:10px;margin-bottom:10px;padding:10px}.factory-bootstrap-444 .alert-normal,.factory-bootstrap-444 .alert-warning{background:#fcf8e3;color:#8a6d3b;border:1px solid #b8823b}.factory-bootstrap-444 .alert-danger{background:#cf4944;color:#fff;border-bottom:2px solid #b23e3a}.factory-bootstrap-444 .alert-danger a:not(.btn),.factory-bootstrap-444 .alert-error a:not(.btn){color:#fff}.factory-bootstrap-444 .progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.factory-bootstrap-444 .progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0)}.factory-bootstrap-444 .progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.factory-bootstrap-444 .progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.factory-bootstrap-444 .progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.factory-bootstrap-444 .progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.factory-bootstrap-444 .list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-444 .list-group-item.active,.factory-bootstrap-444 .list-group-item.active:focus,.factory-bootstrap-444 .list-group-item.active:hover{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0)}.factory-bootstrap-444 .panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-444 .panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-444 .panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-444 .panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.factory-bootstrap-444 .panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.factory-bootstrap-444 .panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.factory-bootstrap-444 .panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.factory-bootstrap-444 .well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}.factory-bootstrap-444 .factory-after{margin-left:7px;display:inline-block}.factory-bootstrap-444 .factory-hidden{display:none}.factory-bootstrap-444 .factory-ajax-loader{width:25px;height:25px;background:url(../assets/images/loader-sm-tr.gif)}.factory-control-error{background-color:rgba(0,0,0,.8);white-space:normal;z-index:10;font-weight:400;line-height:150%;border-radius:4px;color:#fff;font-size:13px;margin-top:5px;padding:4px 10px 3px;max-width:500px;display:inline-block}.factory-control-error i{margin:0 7px 0 1px}
libs/factory/bootstrap/assets/css-min/bootstrap.datepicker.min.css CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
libs/factory/bootstrap/assets/css-min/bootstrap.ectoplasm.min.css CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-433 .btn-primary{background:#a3b745;border-color:#839237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-433 .btn-primary:focus,.factory-bootstrap-433 .btn-primary:hover{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-433 .btn-primary:active{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-433 .btn-primary:disabled,.factory-bootstrap-433 .btn-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.factory-bootstrap-433 .btn-group .btn.active.value{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.factory-bootstrap-433 .pagination>.active>a,.factory-bootstrap-433 .pagination>.active>a:focus,.factory-bootstrap-433 .pagination>.active>a:hover,.factory-bootstrap-433 .pagination>.active>span,.factory-bootstrap-433 .pagination>.active>span:focus,.factory-bootstrap-433 .pagination>.active>span:hover{background-color:#a3b745;border-color:#839237}
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
8
  */
9
 
10
 
11
+ .factory-bootstrap-444 .btn-primary{background:#a3b745;border-color:#839237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-444 .btn-primary:focus,.factory-bootstrap-444 .btn-primary:hover{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-444 .btn-primary:active{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-444 .btn-primary:disabled,.factory-bootstrap-444 .btn-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.factory-bootstrap-444 .btn-group .btn.active.value{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.factory-bootstrap-444 .pagination>.active>a,.factory-bootstrap-444 .pagination>.active>a:focus,.factory-bootstrap-444 .pagination>.active>a:hover,.factory-bootstrap-444 .pagination>.active>span,.factory-bootstrap-444 .pagination>.active>span:focus,.factory-bootstrap-444 .pagination>.active>span:hover{background-color:#a3b745;border-color:#839237}
libs/factory/bootstrap/assets/css-min/bootstrap.form-group.min.css CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-433 .factory-form-group .factory-legend{padding:9px 12px;background-color:#f9f9f9}.factory-bootstrap-433 .factory-form-group .factory-title{font-weight:700;font-size:14px;line-height:14px;color:#555;margin:0}.factory-bootstrap-433 .factory-form-group .factory-hint-icon{display:block;width:16px;height:16px;line-height:13px;padding:0;font-size:11px;text-align:center;position:absolute;top:-5px;right:-3px;color:#fff;background:#E91E63;border-radius:3px}.factory-bootstrap-433 .factory-form-group .factory-hint-icon.factory-hint-icon-green{background:#8bc34a}.factory-bootstrap-433 .factory-form-group .factory-hint-icon.factory-hint-icon-grey{background:#9e9e9e}.factory-bootstrap-433 .factory-form-group .factory-hint-icon.factory-hint-icon-red{background:#E91E63}.factory-bootstrap-433 .factory-form-group .factory-hint{margin:0;font-size:12px;line-height:16px;margin-top:6px}.factory-bootstrap-433 .factory-form-group+.factory-form-group{margin-top:30px}.factory-bootstrap-433 .factory-form-group legend+.control-group{margin-top:0}
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
8
  */
9
 
10
 
11
+ .factory-bootstrap-444 .factory-form-group .factory-legend{padding:9px 12px;background-color:#f9f9f9}.factory-bootstrap-444 .factory-form-group .factory-title{font-weight:700;font-size:14px;line-height:14px;color:#555;margin:0}.factory-bootstrap-444 .factory-form-group .factory-hint-icon{display:block;width:16px;height:16px;line-height:13px;padding:0;font-size:11px;text-align:center;position:absolute;top:-5px;right:-3px;color:#fff;background:#E91E63;border-radius:3px}.factory-bootstrap-444 .factory-form-group .factory-hint-icon.factory-hint-icon-green{background:#8bc34a}.factory-bootstrap-444 .factory-form-group .factory-hint-icon.factory-hint-icon-grey{background:#9e9e9e}.factory-bootstrap-444 .factory-form-group .factory-hint-icon.factory-hint-icon-red{background:#E91E63}.factory-bootstrap-444 .factory-form-group .factory-hint{margin:0;font-size:12px;line-height:16px;margin-top:6px}.factory-bootstrap-444 .factory-form-group+.factory-form-group{margin-top:30px}.factory-bootstrap-444 .factory-form-group legend+.control-group{margin-top:0}
libs/factory/bootstrap/assets/css-min/bootstrap.light.min.css CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-433 .btn-primary{background:#04a4cc;border-color:#037c9a;color:#fff;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-433 .btn-primary:focus,.factory-bootstrap-433 .btn-primary:hover{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-433 .btn-primary:active{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-433 .btn-primary:disabled,.factory-bootstrap-433 .btn-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.factory-bootstrap-433 .btn-group .btn.active.value{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.factory-bootstrap-433 .pagination>.active>a,.factory-bootstrap-433 .pagination>.active>a:focus,.factory-bootstrap-433 .pagination>.active>a:hover,.factory-bootstrap-433 .pagination>.active>span,.factory-bootstrap-433 .pagination>.active>span:focus,.factory-bootstrap-433 .pagination>.active>span:hover{background-color:#04a4cc;border-color:#037c9a}
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
8
  */
9
 
10
 
11
+ .factory-bootstrap-444 .btn-primary{background:#04a4cc;border-color:#037c9a;color:#fff;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-444 .btn-primary:focus,.factory-bootstrap-444 .btn-primary:hover{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-444 .btn-primary:active{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-444 .btn-primary:disabled,.factory-bootstrap-444 .btn-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.factory-bootstrap-444 .btn-group .btn.active.value{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.factory-bootstrap-444 .pagination>.active>a,.factory-bootstrap-444 .pagination>.active>a:focus,.factory-bootstrap-444 .pagination>.active>a:hover,.factory-bootstrap-444 .pagination>.active>span,.factory-bootstrap-444 .pagination>.active>span:focus,.factory-bootstrap-444 .pagination>.active>span:hover{background-color:#04a4cc;border-color:#037c9a}
libs/factory/bootstrap/assets/css-min/bootstrap.midnight.min.css CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-433 .btn-primary{background:#e14d43;border-color:#d02a21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-433 .btn-primary:focus,.factory-bootstrap-433 .btn-primary:hover{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-433 .btn-primary:active{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-433 .btn-primary:disabled,.factory-bootstrap-433 .btn-primary[disabled]{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!important;text-shadow:none!important}.factory-bootstrap-433 .btn-group .btn.active.value{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.factory-bootstrap-433 .pagination>.active>a,.factory-bootstrap-433 .pagination>.active>a:focus,.factory-bootstrap-433 .pagination>.active>a:hover,.factory-bootstrap-433 .pagination>.active>span,.factory-bootstrap-433 .pagination>.active>span:focus,.factory-bootstrap-433 .pagination>.active>span:hover{background-color:#e14d43;border-color:#d02a21}
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
8
  */
9
 
10
 
11
+ .factory-bootstrap-444 .btn-primary{background:#e14d43;border-color:#d02a21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-444 .btn-primary:focus,.factory-bootstrap-444 .btn-primary:hover{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-444 .btn-primary:active{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-444 .btn-primary:disabled,.factory-bootstrap-444 .btn-primary[disabled]{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!important;text-shadow:none!important}.factory-bootstrap-444 .btn-group .btn.active.value{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.factory-bootstrap-444 .pagination>.active>a,.factory-bootstrap-444 .pagination>.active>a:focus,.factory-bootstrap-444 .pagination>.active>a:hover,.factory-bootstrap-444 .pagination>.active>span,.factory-bootstrap-444 .pagination>.active>span:focus,.factory-bootstrap-444 .pagination>.active>span:hover{background-color:#e14d43;border-color:#d02a21}
libs/factory/bootstrap/assets/css-min/bootstrap.ocean.min.css CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-433 .btn-primary{background:#9ebaa0;border-color:#80a583;color:#fff;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-433 .btn-primary:focus,.factory-bootstrap-433 .btn-primary:hover{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-433 .btn-primary:active{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-433 .btn-primary:disabled,.factory-bootstrap-433 .btn-primary[disabled]{color:#c7d1c8!important;background:#86a988!important;border-color:#719a74!important;text-shadow:none!important}.factory-bootstrap-433 .btn-group .btn.active.value{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.factory-bootstrap-433 .pagination>.active>a,.factory-bootstrap-433 .pagination>.active>a:focus,.factory-bootstrap-433 .pagination>.active>a:hover,.factory-bootstrap-433 .pagination>.active>span,.factory-bootstrap-433 .pagination>.active>span:focus,.factory-bootstrap-433 .pagination>.active>span:hover{background-color:#9ebaa0;border-color:#80a583}
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
8
  */
9
 
10
 
11
+ .factory-bootstrap-444 .btn-primary{background:#9ebaa0;border-color:#80a583;color:#fff;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-444 .btn-primary:focus,.factory-bootstrap-444 .btn-primary:hover{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-444 .btn-primary:active{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-444 .btn-primary:disabled,.factory-bootstrap-444 .btn-primary[disabled]{color:#c7d1c8!important;background:#86a988!important;border-color:#719a74!important;text-shadow:none!important}.factory-bootstrap-444 .btn-group .btn.active.value{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.factory-bootstrap-444 .pagination>.active>a,.factory-bootstrap-444 .pagination>.active>a:focus,.factory-bootstrap-444 .pagination>.active>a:hover,.factory-bootstrap-444 .pagination>.active>span,.factory-bootstrap-444 .pagination>.active>span:focus,.factory-bootstrap-444 .pagination>.active>span:hover{background-color:#9ebaa0;border-color:#80a583}
libs/factory/bootstrap/assets/css-min/bootstrap.separator.min.css CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-433 .factory-separator{border-bottom:1px solid #f9f9f9;border-top:1px solid #d1d1d1;margin-bottom:25px}
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
8
  */
9
 
10
 
11
+ .factory-bootstrap-444 .factory-separator{border-bottom:1px solid #f9f9f9;border-top:1px solid #d1d1d1;margin-bottom:25px}
libs/factory/bootstrap/assets/css-min/bootstrap.sunrise.min.css CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-433 .btn-primary{background:#dd823b;border-color:#c36822;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-433 .btn-primary:focus,.factory-bootstrap-433 .btn-primary:hover{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-433 .btn-primary:active{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-433 .btn-primary:disabled,.factory-bootstrap-433 .btn-primary[disabled]{color:#d1cbc7!important;background:#cc6c23!important;border-color:#ad5c1e!important;text-shadow:none!important}.factory-bootstrap-433 .btn-group .btn.active.value{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-433 .pagination>.active>a,.factory-bootstrap-433 .pagination>.active>a:focus,.factory-bootstrap-433 .pagination>.active>a:hover,.factory-bootstrap-433 .pagination>.active>span,.factory-bootstrap-433 .pagination>.active>span:focus,.factory-bootstrap-433 .pagination>.active>span:hover{background-color:#dd823b;border-color:#c36822}
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
8
  */
9
 
10
 
11
+ .factory-bootstrap-444 .btn-primary{background:#dd823b;border-color:#c36822;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-444 .btn-primary:focus,.factory-bootstrap-444 .btn-primary:hover{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-444 .btn-primary:active{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-444 .btn-primary:disabled,.factory-bootstrap-444 .btn-primary[disabled]{color:#d1cbc7!important;background:#cc6c23!important;border-color:#ad5c1e!important;text-shadow:none!important}.factory-bootstrap-444 .btn-group .btn.active.value{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-444 .pagination>.active>a,.factory-bootstrap-444 .pagination>.active>a:focus,.factory-bootstrap-444 .pagination>.active>a:hover,.factory-bootstrap-444 .pagination>.active>span,.factory-bootstrap-444 .pagination>.active>span:focus,.factory-bootstrap-444 .pagination>.active>span:hover{background-color:#dd823b;border-color:#c36822}
libs/factory/bootstrap/assets/css-min/control.checkbox.min.css CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- #side-sortables .factory-bootstrap-433 .factory-buttons-way{float:right;position:relative;top:-25px;left:5px;border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-433 .factory-buttons-way{border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-433 .factory-buttons-way button{padding-left:10px;padding-right:10px}.factory-bootstrap-433 .factory-buttons-way .factory-on.active{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-433 .factory-checkbox-tumbler-hint{margin-top:5px}.factory-bootstrap-433 .factory-checkbox-tumbler-hint .factory-tumbler-content{display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-433 .factory-buttons-way .factory-on.active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-433 .factory-buttons-way .factory-on.active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-433 .factory-buttons-way .factory-on.active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-433 .factory-buttons-way .factory-on.active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-433 .factory-buttons-way .factory-on.active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-433 .factory-buttons-way .factory-on.active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-433 .factory-buttons-way .factory-on.active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
8
  */
9
 
10
 
11
+ #side-sortables .factory-bootstrap-444 .factory-buttons-way{float:right;position:relative;top:-25px;left:5px;border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-444 .factory-checkbox-disabled button,.factory-bootstrap-444 .factory-checkbox-disabled input{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-444 .factory-buttons-way{border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-444 .factory-buttons-way button{padding-left:10px;padding-right:10px}.factory-bootstrap-444 .factory-buttons-way .factory-on.active{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-444 .factory-checkbox-tumbler-hint{margin-top:5px}.factory-bootstrap-444 .factory-checkbox-tumbler-hint .factory-tumbler-content{display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-444 .factory-buttons-way .factory-on.active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-444 .factory-buttons-way .factory-on.active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-444 .factory-buttons-way .factory-on.active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-444 .factory-buttons-way .factory-on.active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-444 .factory-buttons-way .factory-on.active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-444 .factory-buttons-way .factory-on.active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-444 .factory-buttons-way .factory-on.active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}
libs/factory/bootstrap/assets/css-min/control.dropdown.min.css CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-433 .factory-dropdown.factory-buttons-way .fa{margin-right:6px;position:relative}.factory-bootstrap-433 .factory-dropdown.factory-buttons-way{border:0;border-radius:0}.factory-bootstrap-433 .factory-hints .factory-hint{margin-top:5px;display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-433 .factory-dropdown.factory-buttons-way .active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-433 .factory-dropdown.factory-buttons-way .active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-433 .factory-dropdown.factory-buttons-way .active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-433 .factory-dropdown.factory-buttons-way .active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-433 .factory-dropdown.factory-buttons-way .active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-433 .factory-dropdown.factory-buttons-way .active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-433 .factory-dropdown.factory-buttons-way .active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-433 .factory-dropdown.factory-ddslick-way .dd-select{background-color:#fff!important}.factory-bootstrap-433 .factory-dropdown.factory-ddslick-way label{margin-bottom:1px}.factory-bootstrap-433 .factory-dropdown.factory-ddslick-way .dd-option,.factory-bootstrap-433 .factory-dropdown.factory-ddslick-way .dd-selected{padding:8px 12px 8px 11px!important}
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
8
  */
9
 
10
 
11
+ .factory-bootstrap-444 .factory-dropdown.factory-buttons-way .fa{margin-right:6px;position:relative}.factory-bootstrap-444 .factory-dropdown.factory-buttons-way{border:0;border-radius:0}.factory-bootstrap-444 .factory-hints .factory-hint{margin-top:5px;display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-444 .factory-dropdown.factory-buttons-way .active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-444 .factory-dropdown.factory-buttons-way .active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-444 .factory-dropdown.factory-buttons-way .active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-444 .factory-dropdown.factory-buttons-way .active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-444 .factory-dropdown.factory-buttons-way .active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-444 .factory-dropdown.factory-buttons-way .active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-444 .factory-dropdown.factory-buttons-way .active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-444 .factory-dropdown.factory-ddslick-way .dd-select{background-color:#fff!important}.factory-bootstrap-444 .factory-dropdown.factory-ddslick-way label{margin-bottom:1px}.factory-bootstrap-444 .factory-dropdown.factory-ddslick-way .dd-option,.factory-bootstrap-444 .factory-dropdown.factory-ddslick-way .dd-selected{padding:8px 12px 8px 11px!important}
libs/factory/bootstrap/assets/css-min/control.multiple-textbox.min.css CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-433 .factory-mtextbox-item{position:relative;margin-bottom:5px}.factory-bootstrap-433 .factory-mtextbox-item input,.factory-mtextbox-remove-item{display:inline-block}.factory-bootstrap-433 .factory-mtextbox-item .factory-mtextbox-remove-item{position:absolute;top:0;right:0;bottom:0;width:40px;border-radius:0 3px 3px 0;outline:0}.factory-bootstrap-433 .factory-mtextbox-item .factory-mtextbox-remove-item:focus,.factory-bootstrap-433 .factory-mtextbox-item .factory-mtextbox-remove-item:hover{box-shadow:none;outline:0}.factory-bootstrap-433 .factory-mtextbox-add-item{display:block;margin-top:10px}
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
8
  */
9
 
10
 
11
+ .factory-bootstrap-444 .factory-mtextbox-item{position:relative;margin-bottom:5px}.factory-bootstrap-444 .factory-mtextbox-item input,.factory-mtextbox-remove-item{display:inline-block}.factory-bootstrap-444 .factory-mtextbox-item .factory-mtextbox-remove-item{position:absolute;top:0;right:0;bottom:0;width:40px;border-radius:0 3px 3px 0;outline:0}.factory-bootstrap-444 .factory-mtextbox-item .factory-mtextbox-remove-item:focus,.factory-bootstrap-444 .factory-mtextbox-item .factory-mtextbox-remove-item:hover{box-shadow:none;outline:0}.factory-bootstrap-444 .factory-mtextbox-add-item{display:block;margin-top:10px}
libs/factory/bootstrap/assets/css-min/holder.more-link.min.css CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-433 .factory-more-link-content{border-top:1px dashed #DDD;padding-top:25px;width:100%;padding-right:20px;position:relative}.factory-bootstrap-433 .factory-tab .factory-more-link-show{display:inline-block;text-decoration:none;border-bottom:1px dotted #21759b;position:relative}.factory-bootstrap-433 .factory-tab .factory-more-link-show:hover{border-color:#d54e21}.factory-bootstrap-433 .factory-tab .factory-more-link-hide{position:absolute;margin-top:-35px;background-color:#fff;padding:0 5px;right:20px;color:#bbb;text-decoration:none}.factory-bootstrap-433 .factory-tab .factory-more-link-hide:hover{color:#999}
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
8
  */
9
 
10
 
11
+ .factory-bootstrap-444 .factory-more-link-content{border-top:1px dashed #DDD;padding-top:25px;width:100%;padding-right:20px;position:relative}.factory-bootstrap-444 .factory-tab .factory-more-link-show{display:inline-block;text-decoration:none;border-bottom:1px dotted #21759b;position:relative}.factory-bootstrap-444 .factory-tab .factory-more-link-show:hover{border-color:#d54e21}.factory-bootstrap-444 .factory-tab .factory-more-link-hide{position:absolute;margin-top:-35px;background-color:#fff;padding:0 5px;right:20px;color:#bbb;text-decoration:none}.factory-bootstrap-444 .factory-tab .factory-more-link-hide:hover{color:#999}
libs/factory/bootstrap/assets/js-min/bootstrap.dropdown.min.js CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
@@ -7,4 +7,4 @@
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
- +function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=factory-dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()}}}},a.fn.factoryBootstrap433_dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.factoryBootstrap433_dropdown.Constructor=f,a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu]",f.prototype.keydown)}(jQuery);
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
+ +function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=factory-dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()}}}},a.fn.factoryBootstrap444_dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.factoryBootstrap444_dropdown.Constructor=f,a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu]",f.prototype.keydown)}(jQuery);
libs/factory/bootstrap/assets/js-min/bootstrap.tooltip.min.js CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
libs/factory/bootstrap/assets/js-min/control.checkbox.min.js CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
@@ -7,4 +7,4 @@
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
- !function(a){var b=function(b){var c=this;this.$element=a(b),this.$result=this.$element.find(".factory-result"),this.$on=this.$element.find(".factory-on"),this.$off=this.$element.find(".factory-off");var d=this.$element.is(".factory-tumbler"),e=this.$element.is(".factory-has-tumbler-hint"),f=this.$element.data("tumbler-function"),g=this.$element.data("tumbler-delay");g||(g=3e3),this.callByPath=function(a,b){for(var c=a.split("."),d=window,e=0;e<c.length;e++)d=d[c[e]];d.apply(d,b)},this.$on.click(function(){return c.$off.removeClass("active"),c.$on.addClass("active"),d?setTimeout(function(){c.$on.removeClass("active"),c.$off.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.attr("checked","checked"),c.$result.val(1),c.$result.trigger("change")),!1}),this.$off.click(function(){return c.$on.removeClass("active"),c.$off.addClass("active"),d?setTimeout(function(){c.$off.removeClass("active"),c.$on.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.removeAttr("checked"),c.$result.val(0),c.$result.trigger("change")),!1}),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){(void 0!==window.__factory_checkbox_control_events_off_data||void 0!==window.__factory_checkbox_control_events_on_data)&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.prop("checked"),f=window.__factory_checkbox_control_events_on_data[d],g=window.__factory_checkbox_control_events_off_data[d];if(f||g){var h,i;void 0===window.__factory_checkbox_control_detach_elements&&(window.__factory_checkbox_control_detach_elements={}),h=window.__factory_checkbox_control_detach_elements,i=e?f:g;for(var j in i)if(i.hasOwnProperty(j)){var k,l=i[j];a.isArray(l)||(k=c.hashCode(d+l));var m;switch(j){case"hide":"string"==typeof l&&a(l).hide(0);break;case"show":"string"==typeof l&&a(l).fadeIn(200);break;case"detach":"string"==typeof l&&a(l).each(function(b){h[k]||(h[k]={}),h[k][b]||(h[k][b]={}),h[k][b].recovery_contanier=a(this).parent(),h[k][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(h[k]){for(var n in h[k])h[k].hasOwnProperty(n)&&h[k][n].recovery_contanier&&h[k][n].element&&h[k][n].recovery_contanier.append(h[k][n].element);delete h[k]}break;case"removeClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).removeClass(l[m]);break;case"addClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).addClass(l[m]);break;case"setValue":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&void 0!==l[m]&&null!==l[m]&&(console.log(l[m]),a(m).val(l[m]))}}}},this.executeEvents(this.$result)};a.fn.factoryBootstrap433_checkboxControl=function(c){if("string"==typeof c){var d=a(this).data("factory.checkbox.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.checkbox.control");d||c.data("factory.checkbox.control",d=new b(this))})},a.fn.factoryBootstrap433_checkboxControl.Constructor=b,a(function(){a(".factory-bootstrap-433 .factory-checkbox.factory-buttons-way").factoryBootstrap433_checkboxControl()})}(jQuery);
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
+ !function(a){var b=function(b){var c=this;this.$element=a(b),this.$result=this.$element.find(".factory-result"),this.$on=this.$element.find(".factory-on"),this.$off=this.$element.find(".factory-off");var d=this.$element.is(".factory-tumbler"),e=this.$element.is(".factory-has-tumbler-hint"),f=this.$element.data("tumbler-function"),g=this.$element.data("tumbler-delay");g||(g=3e3),this.callByPath=function(a,b){for(var c=a.split("."),d=window,e=0;e<c.length;e++)d=d[c[e]];d.apply(d,b)},this.$on.click(function(){return c.$off.removeClass("active"),c.$on.addClass("active"),d?setTimeout(function(){c.$on.removeClass("active"),c.$off.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.prop("checked",!0),c.$result.val(1),c.$result.trigger("change")),!1}),this.$off.click(function(){return c.$on.removeClass("active"),c.$off.addClass("active"),d?setTimeout(function(){c.$off.removeClass("active"),c.$on.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.prop("checked",!1),c.$result.val(0),c.$result.trigger("change")),!1}),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){(void 0!==window.__factory_checkbox_control_events_off_data||void 0!==window.__factory_checkbox_control_events_on_data)&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.prop("checked"),f=window.__factory_checkbox_control_events_on_data[d],g=window.__factory_checkbox_control_events_off_data[d];if(f||g){var h,i;void 0===window.__factory_checkbox_control_detach_elements&&(window.__factory_checkbox_control_detach_elements={}),h=window.__factory_checkbox_control_detach_elements,i=e?f:g;for(var j in i)if(i.hasOwnProperty(j)){var k,l=i[j];a.isArray(l)||(k=c.hashCode(d+l));var m;switch(j){case"hide":"string"==typeof l&&a(l).hide(0);break;case"show":"string"==typeof l&&a(l).fadeIn(200);break;case"detach":"string"==typeof l&&a(l).each(function(b){h[k]||(h[k]={}),h[k][b]||(h[k][b]={}),h[k][b].recovery_contanier=a(this).parent(),h[k][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(h[k]){for(var n in h[k])h[k].hasOwnProperty(n)&&h[k][n].recovery_contanier&&h[k][n].element&&h[k][n].recovery_contanier.append(h[k][n].element);delete h[k]}break;case"removeClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).removeClass(l[m]);break;case"addClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).addClass(l[m]);break;case"setValue":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&void 0!==l[m]&&null!==l[m]&&a(m).val(l[m])}}}},this.executeEvents(this.$result)};a.fn.factoryBootstrap444_checkboxControl=function(c){if("string"==typeof c){var d=a(this).data("factory.checkbox.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.checkbox.control");d||c.data("factory.checkbox.control",d=new b(this))})},a.fn.factoryBootstrap444_checkboxControl.Constructor=b,a(function(){a(".factory-bootstrap-444 .factory-checkbox.factory-buttons-way").factoryBootstrap444_checkboxControl(),a(".factory-bootstrap-444 .factory-checkbox").not(".factory-buttons-way").click(function(){a(this).prop("checked")?a(this).val(1):a(this).val(0)})})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.dropdown.min.js CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
@@ -7,4 +7,4 @@
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
- !function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name")||this.$element.attr("name"),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){void 0!==window.factory_dropdown_control_events_data&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.val(),f=window.factory_dropdown_control_events_data[d];if(f&&f[e]){var g;void 0===window.__factory_dropdown_control_detach_elements&&(window.__factory_dropdown_control_detach_elements={}),g=window.__factory_dropdown_control_detach_elements;for(var h in f[e])if(f[e].hasOwnProperty(h)){var i,j=f[e][h];switch(a.isArray(j)||(i=c.hashCode(d+j)),h){case"hide":"string"==typeof j&&a(j).hide(0);break;case"show":"string"==typeof j&&a(j).fadeIn(200);break;case"detach":"string"==typeof j&&a(j).each(function(b){g[i]||(g[i]={}),g[i][b]||(g[i][b]={}),g[i][b].recovery_contanier=a(this).parent(),g[i][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(g[i]){for(var k in g[i])g[i].hasOwnProperty(k)&&g[i][k].recovery_contanier&&g[i][k].element&&g[i][k].recovery_contanier.append(g[i][k].element);delete g[i]}break;case"removeClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).removeClass(j[l]);break;case"addClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).addClass(j[l])}}}},"buttons"===this.way)this.$result=this.$element.find(".factory-result"),this.$hints=this.$element.find(".factory-hints"),this.$buttons=this.$element.find(".btn"),c.executeEvents(this.$result),this.$buttons.click(function(){var b=a(this).data("value");return c.$buttons.removeClass("active"),a(this).addClass("active"),c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+b).fadeIn(),c.$result.val(b),c.$result.trigger("change"),!1});else if("ddslick"===this.way){c.executeEvents(c.$element.find(".factory-result"));var d=window["factory_"+this.name+"_data"],e=this.$element.find(".factory-ddslick"),f=this.$element.data("width")||300,g=this.$element.data("align")||"right";a(d).each(function(){return this.imageHoverSrc?void(a("<img/>")[0].src=this.imageHoverSrc):!0}),e.ddslick({data:d,width:f,imagePosition:g,selectText:"- select -",onSelected:function(a){a.selectedData.imageHoverSrc&&c.$element.find(".dd-selected-image").attr("src",a.selectedData.imageHoverSrc);var b=c.$element.find(".factory-result").val(a.selectedData.value);b.change()}})}else{c.executeEvents(this.$element),this.$hints=this.$element.next(),this.$hints.hasClass("factory-hints")&&(this.$element.change(function(){return c.updateHints(),!1}),this.updateHints=function(){var a=c.$element.val();c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+a).show()},c.updateHints()),this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(a){console&&console.log&&console.log(a.responseText),c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length)for(var d in a){var e=a[d];c.addListItem(e)}else this.$element.append("<option>"+b.emptyList+"</li>");this.$element.trigger("factory-loaded")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<option />").attr("value",b.value).text(b.title).appendTo(this.$element),e=c.getAjaxData();e.selected&&e.selected==b.value&&d.attr("selected","selected")},this.showError=function(b){this.clearList();var d=a("<div class='factory-control-error'></div>").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),e=c.getAjaxData();this.$element.append("<option>"+e.emptyList+"</li>"),this.$element.after(d),this.$element.addClass("factory-has-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var h=this.$element.data("ajax");h&&this.loadData()}};a.fn.factoryBootstrap433_dropdownControl=function(c){if("string"==typeof c){var d=a(this).data("factory.dropdown.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.dropdown.control");d||c.data("factory.dropdown.control",d=new b(this))})},a.fn.factoryBootstrap433_dropdownControl.Constructor=b,a(function(){a(".factory-bootstrap-433 .factory-dropdown").factoryBootstrap433_dropdownControl()})}(jQuery);
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
+ !function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name")||this.$element.attr("name"),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){void 0!==window.factory_dropdown_control_events_data&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.val(),f=window.factory_dropdown_control_events_data[d];if(f&&f[e]){var g;void 0===window.__factory_dropdown_control_detach_elements&&(window.__factory_dropdown_control_detach_elements={}),g=window.__factory_dropdown_control_detach_elements;for(var h in f[e])if(f[e].hasOwnProperty(h)){var i,j=f[e][h];switch(a.isArray(j)||(i=c.hashCode(d+j)),h){case"hide":"string"==typeof j&&a(j).hide(0);break;case"show":"string"==typeof j&&a(j).fadeIn(200);break;case"detach":"string"==typeof j&&a(j).each(function(b){g[i]||(g[i]={}),g[i][b]||(g[i][b]={}),g[i][b].recovery_contanier=a(this).parent(),g[i][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(g[i]){for(var k in g[i])g[i].hasOwnProperty(k)&&g[i][k].recovery_contanier&&g[i][k].element&&g[i][k].recovery_contanier.append(g[i][k].element);delete g[i]}break;case"removeClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).removeClass(j[l]);break;case"addClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).addClass(j[l])}}}},"buttons"===this.way)this.$result=this.$element.find(".factory-result"),this.$hints=this.$element.find(".factory-hints"),this.$buttons=this.$element.find(".btn"),c.executeEvents(this.$result),this.$buttons.click(function(){var b=a(this).data("value");return c.$buttons.removeClass("active"),a(this).addClass("active"),c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+b).fadeIn(),c.$result.val(b),c.$result.trigger("change"),!1});else if("ddslick"===this.way){c.executeEvents(c.$element.find(".factory-result"));var d=window["factory_"+this.name+"_data"],e=this.$element.find(".factory-ddslick"),f=this.$element.data("width")||300,g=this.$element.data("align")||"right";a(d).each(function(){return this.imageHoverSrc?void(a("<img/>")[0].src=this.imageHoverSrc):!0}),e.ddslick({data:d,width:f,imagePosition:g,selectText:"- select -",onSelected:function(a){a.selectedData.imageHoverSrc&&c.$element.find(".dd-selected-image").attr("src",a.selectedData.imageHoverSrc);var b=c.$element.find(".factory-result").val(a.selectedData.value);b.change()}})}else{c.executeEvents(this.$element),this.$hints=this.$element.next(),this.$hints.hasClass("factory-hints")&&(this.$element.change(function(){return c.updateHints(),!1}),this.updateHints=function(){var a=c.$element.val();c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+a).show()},c.updateHints()),this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(a){console&&console.log&&console.log(a.responseText),c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length)for(var d in a){var e=a[d];c.addListItem(e)}else this.$element.append("<option>"+b.emptyList+"</li>");this.$element.trigger("factory-loaded")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<option />").attr("value",b.value).text(b.title).appendTo(this.$element),e=c.getAjaxData();e.selected&&e.selected==b.value&&d.attr("selected","selected")},this.showError=function(b){this.clearList();var d=a("<div class='factory-control-error'></div>").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),e=c.getAjaxData();this.$element.append("<option>"+e.emptyList+"</li>"),this.$element.after(d),this.$element.addClass("factory-has-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var h=this.$element.data("ajax");h&&this.loadData()}};a.fn.factoryBootstrap444_dropdownControl=function(c){if("string"==typeof c){var d=a(this).data("factory.dropdown.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.dropdown.control");d||c.data("factory.dropdown.control",d=new b(this))})},a.fn.factoryBootstrap444_dropdownControl.Constructor=b,a(function(){a(".factory-bootstrap-444 .factory-dropdown").factoryBootstrap444_dropdownControl()})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.list.min.js CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
@@ -7,4 +7,4 @@
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
- !function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name"),"checklist"===this.way){this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(){c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length){this.$element.removeClass("factory-empty");for(var d in a){var e=a[d];c.addListItem(e)}}else this.$element.addClass("factory-empty"),this.$element.append("<li>"+b.emptyList+"</li>")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<li>"),e=a("<label>").attr("for","factory-checklist-"+c.name+"-"+b.value).appendTo(d),f=a("<span>").appendTo(e),g=a("<input />").attr("type","checkbox").attr("name",c.name+"[]").val(b.value).attr("id","factory-checklist-"+c.name+"-"+b.value).appendTo(f),h=(a("<span>"+b.title+"</span>").appendTo(e),c.getAjaxData());h.selected.length&&a.inArray(b.value,h.selected)>=0&&g.attr("checked","checked"),this.$element.append(d)},this.showError=function(b){this.$element.html("").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),this.$element.addClass("factory-list-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var d=this.$element.data("ajax");d&&this.loadData()}};a.fn.factoryBootstrap433_listControl=function(c){if("string"==typeof c){var d=a(this).data("factory.list.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.list.control");d||c.data("factory.list.control",d=new b(this))})},a.fn.factoryBootstrap433_listControl.Constructor=b,a(function(){a(".factory-bootstrap-433 .factory-list").factoryBootstrap433_listControl()})}(jQuery);
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
+ !function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name"),"checklist"===this.way){this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(){c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length){this.$element.removeClass("factory-empty");for(var d in a){var e=a[d];c.addListItem(e)}}else this.$element.addClass("factory-empty"),this.$element.append("<li>"+b.emptyList+"</li>")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<li>"),e=a("<label>").attr("for","factory-checklist-"+c.name+"-"+b.value).appendTo(d),f=a("<span>").appendTo(e),g=a("<input />").attr("type","checkbox").attr("name",c.name+"[]").val(b.value).attr("id","factory-checklist-"+c.name+"-"+b.value).appendTo(f),h=(a("<span>"+b.title+"</span>").appendTo(e),c.getAjaxData());h.selected.length&&a.inArray(b.value,h.selected)>=0&&g.attr("checked","checked"),this.$element.append(d)},this.showError=function(b){this.$element.html("").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),this.$element.addClass("factory-list-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var d=this.$element.data("ajax");d&&this.loadData()}};a.fn.factoryBootstrap444_listControl=function(c){if("string"==typeof c){var d=a(this).data("factory.list.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.list.control");d||c.data("factory.list.control",d=new b(this))})},a.fn.factoryBootstrap444_listControl.Constructor=b,a(function(){a(".factory-bootstrap-444 .factory-list").factoryBootstrap444_listControl()})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.multiple-textbox.min.js CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap generator - v1.0.1, 2018-02-26
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
@@ -7,4 +7,4 @@
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
- !function(a){"use strict";var b=function(b){this.$element=a(b);var c=a(".factory-mtextbox-item",this.$element).eq(0).clone(!0);a(".factory-mtextbox-add-item",this.$element).on("click",function(){var b=a(this).closest(".factory-multiple-textbox-group").find(".factory-mtextbox-items"),d=c.clone(!0),e=a('<button class="btn btn-default btn-small factory-mtextbox-remove-item"><i class="fa fa-times" aria-hidden="true"></i></button>');return b.append(d.append(e)),d.find('input[type="text"]').val("").focus(),!1}),a(document).on("click",".factory-mtextbox-remove-item",function(){return a(this).closest(".factory-mtextbox-item").remove(),!1})};a.fn.factoryBootstrap433_MultipleTextboxControl=function(){return this.each(function(){new b(this)})},a(function(){a(".factory-bootstrap-433 .factory-multiple-textbox-group").factoryBootstrap433_MultipleTextboxControl()})}(jQuery);
1
  /*!
2
+ * Bootstrap generator - v1.0.1, 2021-02-04
3
  * Webcraftic factory build
4
  *
5
  * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
+ !function(a){"use strict";var b=function(b){this.$element=a(b);var c=a(".factory-mtextbox-item",this.$element).eq(0).clone(!0);a(".factory-mtextbox-add-item",this.$element).on("click",function(){var b=a(this).closest(".factory-multiple-textbox-group").find(".factory-mtextbox-items"),d=c.clone(!0),e=a('<button class="btn btn-default btn-small factory-mtextbox-remove-item"><i class="fa fa-times" aria-hidden="true"></i></button>');return b.append(d.append(e)),d.find('input[type="text"]').val("").focus(),!1}),a(document).on("click",".factory-mtextbox-remove-item",function(){return a(this).closest(".factory-mtextbox-item").remove(),!1})};a.fn.factoryBootstrap444_MultipleTextboxControl=function(){return this.each(function(){new b(this)})},a(function(){a(".factory-bootstrap-444 .factory-multiple-textbox-group").factoryBootstrap444_MultipleTextboxControl()})}(jQuery);
libs/factory/bootstrap/boot.php CHANGED
@@ -19,27 +19,27 @@ if( !is_admin() ) {
19
  return;
20
  }
21
 
22
- if( defined('FACTORY_BOOTSTRAP_433_LOADED') ) {
23
  return;
24
  }
25
 
26
- define('FACTORY_BOOTSTRAP_433_VERSION', '4.3.3');
27
- define('FACTORY_BOOTSTRAP_433_LOADED', true);
28
 
29
  if( !defined('FACTORY_FLAT_ADMIN') ) {
30
  define('FACTORY_FLAT_ADMIN', true);
31
  }
32
 
33
- define('FACTORY_BOOTSTRAP_433_DIR', dirname(__FILE__));
34
- define('FACTORY_BOOTSTRAP_433_URL', plugins_url(null, __FILE__));
35
 
36
- require_once(FACTORY_BOOTSTRAP_433_DIR . '/includes/functions.php');
37
 
38
  /**
39
- * @param Wbcr_Factory433_Plugin $plugin
40
  */
41
- add_action('wbcr_factory_bootstrap_433_plugin_created', function ($plugin) {
42
- $manager = new Wbcr_FactoryBootstrap433_Manager($plugin);
43
  $plugin->setBootstap($manager);
44
  });
45
 
19
  return;
20
  }
21
 
22
+ if( defined('FACTORY_BOOTSTRAP_444_LOADED') ) {
23
  return;
24
  }
25
 
26
+ define('FACTORY_BOOTSTRAP_444_VERSION', '4.4.4');
27
+ define('FACTORY_BOOTSTRAP_444_LOADED', true);
28
 
29
  if( !defined('FACTORY_FLAT_ADMIN') ) {
30
  define('FACTORY_FLAT_ADMIN', true);
31
  }
32
 
33
+ define('FACTORY_BOOTSTRAP_444_DIR', dirname(__FILE__));
34
+ define('FACTORY_BOOTSTRAP_444_URL', plugins_url(null, __FILE__));
35
 
36
+ require_once(FACTORY_BOOTSTRAP_444_DIR . '/includes/functions.php');
37
 
38
  /**
39
+ * @param Wbcr_Factory444_Plugin $plugin
40
  */
41
+ add_action('wbcr_factory_bootstrap_444_plugin_created', function ($plugin) {
42
+ $manager = new Wbcr_FactoryBootstrap444_Manager($plugin);
43
  $plugin->setBootstap($manager);
44
  });
45
 
libs/factory/bootstrap/includes/functions.php CHANGED
@@ -20,13 +20,13 @@ if ( ! defined( 'ABSPATH' ) ) {
20
  *
21
  * @since 3.2.0
22
  */
23
- class Wbcr_FactoryBootstrap433_Manager {
24
 
25
  /**
26
  * A plugin for which the manager was created.
27
  *
28
  * @since 3.2.0
29
- * @var Wbcr_Factory433_Plugin
30
  */
31
  public $plugin;
32
 
@@ -51,7 +51,7 @@ class Wbcr_FactoryBootstrap433_Manager {
51
  *
52
  * @since 1.0.0
53
  */
54
- public function __construct( Wbcr_Factory433_Plugin $plugin ) {
55
  $this->plugin = $plugin;
56
 
57
  add_action( 'admin_enqueue_scripts', [ $this, 'loadAssets' ] );
@@ -111,8 +111,8 @@ class Wbcr_FactoryBootstrap433_Manager {
111
  */
112
  public function loadAssets( $hook ) {
113
 
114
- do_action( 'wbcr_factory_433_bootstrap_enqueue_scripts', $hook );
115
- do_action( 'wbcr_factory_433_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), $hook );
116
 
117
  $dependencies = [];
118
  if ( ! empty( $this->scripts ) ) {
@@ -156,8 +156,8 @@ class Wbcr_FactoryBootstrap433_Manager {
156
  $cache_enable = apply_filters( 'wbcr/factory/bootstrap/cache_enable', true );
157
 
158
  $cache_id = md5( implode( ',', $this->scripts ) . $type . $this->plugin->getPluginVersion() );
159
- $cache_dir_path = FACTORY_BOOTSTRAP_433_DIR . '/assets/cache/';
160
- $cache_dir_url = FACTORY_BOOTSTRAP_433_URL . '/assets/cache/';
161
 
162
  $cache_filepath = $cache_dir_path . $cache_id . ".min." . $type;
163
  $cache_fileurl = $cache_dir_url . $cache_id . ".min." . $type;
@@ -184,7 +184,7 @@ class Wbcr_FactoryBootstrap433_Manager {
184
  foreach ( $scripts as $script_to_load ) {
185
  $script_to_load = sanitize_text_field( $script_to_load );
186
  if ( $cache_enable && $cache_dir_exists ) {
187
- $fname = FACTORY_BOOTSTRAP_433_DIR . "/assets/$type-min/$script_to_load.min." . $type;
188
  if ( file_exists( $fname ) ) {
189
  $f = @fopen( $fname, 'r' );
190
  $concat_files[] = @fread( $f, filesize( $fname ) );
@@ -192,9 +192,9 @@ class Wbcr_FactoryBootstrap433_Manager {
192
  }
193
  } else {
194
  if ( $type == 'js' ) {
195
- wp_enqueue_script( md5( $script_to_load ), FACTORY_BOOTSTRAP_433_URL . "/assets/$type-min/$script_to_load.min." . $type, $is_first ? $dependencies : false, $this->plugin->getPluginVersion() );
196
  } else {
197
- wp_enqueue_style( md5( $script_to_load ), FACTORY_BOOTSTRAP_433_URL . "/assets/$type-min/$script_to_load.min." . $type, [], $this->plugin->getPluginVersion() );
198
  }
199
  $is_first = false;
200
  }
20
  *
21
  * @since 3.2.0
22
  */
23
+ class Wbcr_FactoryBootstrap444_Manager {
24
 
25
  /**
26
  * A plugin for which the manager was created.
27
  *
28
  * @since 3.2.0
29
+ * @var Wbcr_Factory444_Plugin
30
  */
31
  public $plugin;
32
 
51
  *
52
  * @since 1.0.0
53
  */
54
+ public function __construct( Wbcr_Factory444_Plugin $plugin ) {
55
  $this->plugin = $plugin;
56
 
57
  add_action( 'admin_enqueue_scripts', [ $this, 'loadAssets' ] );
111
  */
112
  public function loadAssets( $hook ) {
113
 
114
+ do_action( 'wbcr_factory_444_bootstrap_enqueue_scripts', $hook );
115
+ do_action( 'wbcr_factory_444_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), $hook );
116
 
117
  $dependencies = [];
118
  if ( ! empty( $this->scripts ) ) {
156
  $cache_enable = apply_filters( 'wbcr/factory/bootstrap/cache_enable', true );
157
 
158
  $cache_id = md5( implode( ',', $this->scripts ) . $type . $this->plugin->getPluginVersion() );
159
+ $cache_dir_path = FACTORY_BOOTSTRAP_444_DIR . '/assets/cache/';
160
+ $cache_dir_url = FACTORY_BOOTSTRAP_444_URL . '/assets/cache/';
161
 
162
  $cache_filepath = $cache_dir_path . $cache_id . ".min." . $type;
163
  $cache_fileurl = $cache_dir_url . $cache_id . ".min." . $type;
184
  foreach ( $scripts as $script_to_load ) {
185
  $script_to_load = sanitize_text_field( $script_to_load );
186
  if ( $cache_enable && $cache_dir_exists ) {
187
+ $fname = FACTORY_BOOTSTRAP_444_DIR . "/assets/$type-min/$script_to_load.min." . $type;
188
  if ( file_exists( $fname ) ) {
189
  $f = @fopen( $fname, 'r' );
190
  $concat_files[] = @fread( $f, filesize( $fname ) );
192
  }
193
  } else {
194
  if ( $type == 'js' ) {
195
+ wp_enqueue_script( md5( $script_to_load ), FACTORY_BOOTSTRAP_444_URL . "/assets/$type-min/$script_to_load.min." . $type, $is_first ? $dependencies : false, $this->plugin->getPluginVersion() );
196
  } else {
197
+ wp_enqueue_style( md5( $script_to_load ), FACTORY_BOOTSTRAP_444_URL . "/assets/$type-min/$script_to_load.min." . $type, [], $this->plugin->getPluginVersion() );
198
  }
199
  $is_first = false;
200
  }
libs/factory/bootstrap/package-lock.json ADDED
@@ -0,0 +1,1810 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "bootstrap-generator",
3
+ "version": "1.0.1",
4
+ "lockfileVersion": 1,
5
+ "requires": true,
6
+ "dependencies": {
7
+ "abbrev": {
8
+ "version": "1.1.1",
9
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
10
+ "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg="
11
+ },
12
+ "amdefine": {
13
+ "version": "1.0.1",
14
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
15
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
16
+ "dev": true
17
+ },
18
+ "argparse": {
19
+ "version": "0.1.16",
20
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz",
21
+ "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=",
22
+ "dev": true,
23
+ "requires": {
24
+ "underscore": "~1.7.0",
25
+ "underscore.string": "~2.4.0"
26
+ },
27
+ "dependencies": {
28
+ "underscore.string": {
29
+ "version": "2.4.0",
30
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz",
31
+ "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=",
32
+ "dev": true
33
+ }
34
+ }
35
+ },
36
+ "arr-diff": {
37
+ "version": "4.0.0",
38
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
39
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
40
+ },
41
+ "arr-flatten": {
42
+ "version": "1.1.0",
43
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
44
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
45
+ },
46
+ "arr-union": {
47
+ "version": "3.1.0",
48
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
49
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
50
+ },
51
+ "array-each": {
52
+ "version": "1.0.1",
53
+ "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
54
+ "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8="
55
+ },
56
+ "array-slice": {
57
+ "version": "1.1.0",
58
+ "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
59
+ "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w=="
60
+ },
61
+ "array-unique": {
62
+ "version": "0.3.2",
63
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
64
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
65
+ },
66
+ "assign-symbols": {
67
+ "version": "1.0.0",
68
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
69
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
70
+ },
71
+ "async": {
72
+ "version": "0.1.22",
73
+ "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz",
74
+ "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=",
75
+ "dev": true
76
+ },
77
+ "atob": {
78
+ "version": "2.1.2",
79
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
80
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
81
+ },
82
+ "base": {
83
+ "version": "0.11.2",
84
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
85
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
86
+ "requires": {
87
+ "cache-base": "^1.0.1",
88
+ "class-utils": "^0.3.5",
89
+ "component-emitter": "^1.2.1",
90
+ "define-property": "^1.0.0",
91
+ "isobject": "^3.0.1",
92
+ "mixin-deep": "^1.2.0",
93
+ "pascalcase": "^0.1.1"
94
+ },
95
+ "dependencies": {
96
+ "define-property": {
97
+ "version": "1.0.0",
98
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
99
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
100
+ "requires": {
101
+ "is-descriptor": "^1.0.0"
102
+ }
103
+ },
104
+ "is-accessor-descriptor": {
105
+ "version": "1.0.0",
106
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
107
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
108
+ "requires": {
109
+ "kind-of": "^6.0.0"
110
+ }
111
+ },
112
+ "is-data-descriptor": {
113
+ "version": "1.0.0",
114
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
115
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
116
+ "requires": {
117
+ "kind-of": "^6.0.0"
118
+ }
119
+ },
120
+ "is-descriptor": {
121
+ "version": "1.0.2",
122
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
123
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
124
+ "requires": {
125
+ "is-accessor-descriptor": "^1.0.0",
126
+ "is-data-descriptor": "^1.0.0",
127
+ "kind-of": "^6.0.2"
128
+ }
129
+ }
130
+ }
131
+ },
132
+ "braces": {
133
+ "version": "2.3.2",
134
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
135
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
136
+ "requires": {
137
+ "arr-flatten": "^1.1.0",
138
+ "array-unique": "^0.3.2",
139
+ "extend-shallow": "^2.0.1",
140
+ "fill-range": "^4.0.0",
141
+ "isobject": "^3.0.1",
142
+ "repeat-element": "^1.1.2",
143
+ "snapdragon": "^0.8.1",
144
+ "snapdragon-node": "^2.0.1",
145
+ "split-string": "^3.0.2",
146
+ "to-regex": "^3.0.1"
147
+ },
148
+ "dependencies": {
149
+ "extend-shallow": {
150
+ "version": "2.0.1",
151
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
152
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
153
+ "requires": {
154
+ "is-extendable": "^0.1.0"
155
+ }
156
+ }
157
+ }
158
+ },
159
+ "cache-base": {
160
+ "version": "1.0.1",
161
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
162
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
163
+ "requires": {
164
+ "collection-visit": "^1.0.0",
165
+ "component-emitter": "^1.2.1",
166
+ "get-value": "^2.0.6",
167
+ "has-value": "^1.0.0",
168
+ "isobject": "^3.0.1",
169
+ "set-value": "^2.0.0",
170
+ "to-object-path": "^0.3.0",
171
+ "union-value": "^1.0.0",
172
+ "unset-value": "^1.0.0"
173
+ }
174
+ },
175
+ "camelcase": {
176
+ "version": "1.2.1",
177
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
178
+ "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
179
+ "dev": true
180
+ },
181
+ "class-utils": {
182
+ "version": "0.3.6",
183
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
184
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
185
+ "requires": {
186
+ "arr-union": "^3.1.0",
187
+ "define-property": "^0.2.5",
188
+ "isobject": "^3.0.0",
189
+ "static-extend": "^0.1.1"
190
+ },
191
+ "dependencies": {
192
+ "define-property": {
193
+ "version": "0.2.5",
194
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
195
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
196
+ "requires": {
197
+ "is-descriptor": "^0.1.0"
198
+ }
199
+ }
200
+ }
201
+ },
202
+ "clean-css": {
203
+ "version": "2.0.8",
204
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-2.0.8.tgz",
205
+ "integrity": "sha1-6TfN/cxXgaAIF67EB56Fs+wVeiA=",
206
+ "dev": true,
207
+ "requires": {
208
+ "commander": "2.0.x"
209
+ }
210
+ },
211
+ "cli": {
212
+ "version": "0.4.5",
213
+ "resolved": "https://registry.npmjs.org/cli/-/cli-0.4.5.tgz",
214
+ "integrity": "sha1-ePlIXNFhtWbppsctcXDEJw6B22E=",
215
+ "dev": true,
216
+ "requires": {
217
+ "glob": ">= 3.1.4"
218
+ }
219
+ },
220
+ "coffee-script": {
221
+ "version": "1.3.3",
222
+ "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz",
223
+ "integrity": "sha1-FQ1rTLUiiUNp7+1qIQHCC8f0pPQ=",
224
+ "dev": true
225
+ },
226
+ "collection-visit": {
227
+ "version": "1.0.0",
228
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
229
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
230
+ "requires": {
231
+ "map-visit": "^1.0.0",
232
+ "object-visit": "^1.0.0"
233
+ }
234
+ },
235
+ "colors": {
236
+ "version": "0.6.2",
237
+ "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz",
238
+ "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=",
239
+ "dev": true
240
+ },
241
+ "commander": {
242
+ "version": "2.0.0",
243
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.0.0.tgz",
244
+ "integrity": "sha1-0bhvkB+LZL2UG96tr5JFMDk76Sg=",
245
+ "dev": true
246
+ },
247
+ "component-emitter": {
248
+ "version": "1.3.0",
249
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
250
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
251
+ },
252
+ "console-browserify": {
253
+ "version": "0.1.6",
254
+ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz",
255
+ "integrity": "sha1-0SijwLuINQ61YmxufHGm8P1ImDw=",
256
+ "dev": true
257
+ },
258
+ "copy-descriptor": {
259
+ "version": "0.1.1",
260
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
261
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
262
+ },
263
+ "dateformat": {
264
+ "version": "1.0.2-1.2.3",
265
+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz",
266
+ "integrity": "sha1-sCIMAt6YYXQztyhRz0fePfLNvuk=",
267
+ "dev": true
268
+ },
269
+ "debug": {
270
+ "version": "2.6.9",
271
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
272
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
273
+ "requires": {
274
+ "ms": "2.0.0"
275
+ }
276
+ },
277
+ "decamelize": {
278
+ "version": "1.2.0",
279
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
280
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
281
+ "dev": true
282
+ },
283
+ "decode-uri-component": {
284
+ "version": "0.2.0",
285
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
286
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
287
+ },
288
+ "define-property": {
289
+ "version": "2.0.2",
290
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
291
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
292
+ "requires": {
293
+ "is-descriptor": "^1.0.2",
294
+ "isobject": "^3.0.1"
295
+ },
296
+ "dependencies": {
297
+ "is-accessor-descriptor": {
298
+ "version": "1.0.0",
299
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
300
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
301
+ "requires": {
302
+ "kind-of": "^6.0.0"
303
+ }
304
+ },
305
+ "is-data-descriptor": {
306
+ "version": "1.0.0",
307
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
308
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
309
+ "requires": {
310
+ "kind-of": "^6.0.0"
311
+ }
312
+ },
313
+ "is-descriptor": {
314
+ "version": "1.0.2",
315
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
316
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
317
+ "requires": {
318
+ "is-accessor-descriptor": "^1.0.0",
319
+ "is-data-descriptor": "^1.0.0",
320
+ "kind-of": "^6.0.2"
321
+ }
322
+ }
323
+ }
324
+ },
325
+ "detect-file": {
326
+ "version": "1.0.0",
327
+ "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
328
+ "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc="
329
+ },
330
+ "esprima": {
331
+ "version": "1.0.4",
332
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz",
333
+ "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=",
334
+ "dev": true
335
+ },
336
+ "eventemitter2": {
337
+ "version": "0.4.14",
338
+ "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz",
339
+ "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
340
+ "dev": true
341
+ },
342
+ "exit": {
343
+ "version": "0.1.2",
344
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
345
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
346
+ "dev": true
347
+ },
348
+ "expand-brackets": {
349
+ "version": "2.1.4",
350
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
351
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
352
+ "requires": {
353
+ "debug": "^2.3.3",
354
+ "define-property": "^0.2.5",
355
+ "extend-shallow": "^2.0.1",
356
+ "posix-character-classes": "^0.1.0",
357
+ "regex-not": "^1.0.0",
358
+ "snapdragon": "^0.8.1",
359
+ "to-regex": "^3.0.1"
360
+ },
361
+ "dependencies": {
362
+ "define-property": {
363
+ "version": "0.2.5",
364
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
365
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
366
+ "requires": {
367
+ "is-descriptor": "^0.1.0"
368
+ }
369
+ },
370
+ "extend-shallow": {
371
+ "version": "2.0.1",
372
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
373
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
374
+ "requires": {
375
+ "is-extendable": "^0.1.0"
376
+ }
377
+ }
378
+ }
379
+ },
380
+ "expand-tilde": {
381
+ "version": "2.0.2",
382
+ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
383
+ "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
384
+ "requires": {
385
+ "homedir-polyfill": "^1.0.1"
386
+ }
387
+ },
388
+ "extend": {
389
+ "version": "3.0.2",
390
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
391
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
392
+ },
393
+ "extend-shallow": {
394
+ "version": "3.0.2",
395
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
396
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
397
+ "requires": {
398
+ "assign-symbols": "^1.0.0",
399
+ "is-extendable": "^1.0.1"
400
+ },
401
+ "dependencies": {
402
+ "is-extendable": {
403
+ "version": "1.0.1",
404
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
405
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
406
+ "requires": {
407
+ "is-plain-object": "^2.0.4"
408
+ }
409
+ }
410
+ }
411
+ },
412
+ "extglob": {
413
+ "version": "2.0.4",
414
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
415
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
416
+ "requires": {
417
+ "array-unique": "^0.3.2",
418
+ "define-property": "^1.0.0",
419
+ "expand-brackets": "^2.1.4",
420
+ "extend-shallow": "^2.0.1",
421
+ "fragment-cache": "^0.2.1",
422
+ "regex-not": "^1.0.0",
423
+ "snapdragon": "^0.8.1",
424
+ "to-regex": "^3.0.1"
425
+ },
426
+ "dependencies": {
427
+ "define-property": {
428
+ "version": "1.0.0",
429
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
430
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
431
+ "requires": {
432
+ "is-descriptor": "^1.0.0"
433
+ }
434
+ },
435
+ "extend-shallow": {
436
+ "version": "2.0.1",
437
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
438
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
439
+ "requires": {
440
+ "is-extendable": "^0.1.0"
441
+ }
442
+ },
443
+ "is-accessor-descriptor": {
444
+ "version": "1.0.0",
445
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
446
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
447
+ "requires": {
448
+ "kind-of": "^6.0.0"
449
+ }
450
+ },
451
+ "is-data-descriptor": {
452
+ "version": "1.0.0",
453
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
454
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
455
+ "requires": {
456
+ "kind-of": "^6.0.0"
457
+ }
458
+ },
459
+ "is-descriptor": {
460
+ "version": "1.0.2",
461
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
462
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
463
+ "requires": {
464
+ "is-accessor-descriptor": "^1.0.0",
465
+ "is-data-descriptor": "^1.0.0",
466
+ "kind-of": "^6.0.2"
467
+ }
468
+ }
469
+ }
470
+ },
471
+ "fill-range": {
472
+ "version": "4.0.0",
473
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
474
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
475
+ "requires": {
476
+ "extend-shallow": "^2.0.1",
477
+ "is-number": "^3.0.0",
478
+ "repeat-string": "^1.6.1",
479
+ "to-regex-range": "^2.1.0"
480
+ },
481
+ "dependencies": {
482
+ "extend-shallow": {
483
+ "version": "2.0.1",
484
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
485
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
486
+ "requires": {
487
+ "is-extendable": "^0.1.0"
488
+ }
489
+ }
490
+ }
491
+ },
492
+ "findup-sync": {
493
+ "version": "0.1.3",
494
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz",
495
+ "integrity": "sha1-fz56l7gjksZTvwZYm9hRkOk8NoM=",
496
+ "dev": true,
497
+ "requires": {
498
+ "glob": "~3.2.9",
499
+ "lodash": "~2.4.1"
500
+ },
501
+ "dependencies": {
502
+ "glob": {
503
+ "version": "3.2.11",
504
+ "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
505
+ "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
506
+ "dev": true,
507
+ "requires": {
508
+ "inherits": "2",
509
+ "minimatch": "0.3"
510
+ }
511
+ },
512
+ "lodash": {
513
+ "version": "2.4.2",
514
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
515
+ "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
516
+ "dev": true
517
+ },
518
+ "minimatch": {
519
+ "version": "0.3.0",
520
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
521
+ "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=",
522
+ "dev": true,
523
+ "requires": {
524
+ "lru-cache": "2",
525
+ "sigmund": "~1.0.0"
526
+ }
527
+ }
528
+ }
529
+ },
530
+ "fined": {
531
+ "version": "1.2.0",
532
+ "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz",
533
+ "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==",
534
+ "requires": {
535
+ "expand-tilde": "^2.0.2",
536
+ "is-plain-object": "^2.0.3",
537
+ "object.defaults": "^1.1.0",
538
+ "object.pick": "^1.2.0",
539
+ "parse-filepath": "^1.0.1"
540
+ }
541
+ },
542
+ "flagged-respawn": {
543
+ "version": "1.0.1",
544
+ "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
545
+ "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q=="
546
+ },
547
+ "for-in": {
548
+ "version": "1.0.2",
549
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
550
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
551
+ },
552
+ "for-own": {
553
+ "version": "1.0.0",
554
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
555
+ "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
556
+ "requires": {
557
+ "for-in": "^1.0.1"
558
+ }
559
+ },
560
+ "fragment-cache": {
561
+ "version": "0.2.1",
562
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
563
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
564
+ "requires": {
565
+ "map-cache": "^0.2.2"
566
+ }
567
+ },
568
+ "function-bind": {
569
+ "version": "1.1.1",
570
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
571
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
572
+ },
573
+ "get-value": {
574
+ "version": "2.0.6",
575
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
576
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
577
+ },
578
+ "getobject": {
579
+ "version": "0.1.0",
580
+ "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
581
+ "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=",
582
+ "dev": true
583
+ },
584
+ "glob": {
585
+ "version": "3.1.21",
586
+ "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
587
+ "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
588
+ "dev": true,
589
+ "requires": {
590
+ "graceful-fs": "~1.2.0",
591
+ "inherits": "1",
592
+ "minimatch": "~0.2.11"
593
+ },
594
+ "dependencies": {
595
+ "inherits": {
596
+ "version": "1.0.2",
597
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
598
+ "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=",
599
+ "dev": true
600
+ }
601
+ }
602
+ },
603
+ "global-modules": {
604
+ "version": "1.0.0",
605
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
606
+ "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
607
+ "requires": {
608
+ "global-prefix": "^1.0.1",
609
+ "is-windows": "^1.0.1",
610
+ "resolve-dir": "^1.0.0"
611
+ }
612
+ },
613
+ "global-prefix": {
614
+ "version": "1.0.2",
615
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
616
+ "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
617
+ "requires": {
618
+ "expand-tilde": "^2.0.2",
619
+ "homedir-polyfill": "^1.0.1",
620
+ "ini": "^1.3.4",
621
+ "is-windows": "^1.0.1",
622
+ "which": "^1.2.14"
623
+ },
624
+ "dependencies": {
625
+ "which": {
626
+ "version": "1.3.1",
627
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
628
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
629
+ "requires": {
630
+ "isexe": "^2.0.0"
631
+ }
632
+ }
633
+ }
634
+ },
635
+ "graceful-fs": {
636
+ "version": "1.2.3",
637
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
638
+ "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=",
639
+ "dev": true
640
+ },
641
+ "grunt": {
642
+ "version": "0.4.5",
643
+ "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz",
644
+ "integrity": "sha1-VpN81RlDJK3/bSB2MYMqnWuk5/A=",
645
+ "dev": true,
646
+ "requires": {
647
+ "async": "~0.1.22",
648
+ "coffee-script": "~1.3.3",
649
+ "colors": "~0.6.2",
650
+ "dateformat": "1.0.2-1.2.3",
651
+ "eventemitter2": "~0.4.13",
652
+ "exit": "~0.1.1",
653
+ "findup-sync": "~0.1.2",
654
+ "getobject": "~0.1.0",
655
+ "glob": "~3.1.21",
656
+ "grunt-legacy-log": "~0.1.0",
657
+ "grunt-legacy-util": "~0.2.0",
658
+ "hooker": "~0.2.3",
659
+ "iconv-lite": "~0.2.11",
660
+ "js-yaml": "~2.0.5",
661
+ "lodash": "~0.9.2",
662
+ "minimatch": "~0.2.12",
663
+ "nopt": "~1.0.10",
664
+ "rimraf": "~2.2.8",
665
+ "underscore.string": "~2.2.1",
666
+ "which": "~1.0.5"
667
+ }
668
+ },
669
+ "grunt-cli": {
670
+ "version": "1.3.2",
671
+ "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz",
672
+ "integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==",
673
+ "requires": {
674
+ "grunt-known-options": "~1.1.0",
675
+ "interpret": "~1.1.0",
676
+ "liftoff": "~2.5.0",
677
+ "nopt": "~4.0.1",
678
+ "v8flags": "~3.1.1"
679
+ },
680
+ "dependencies": {
681
+ "nopt": {
682
+ "version": "4.0.3",
683
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
684
+ "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
685
+ "requires": {
686
+ "abbrev": "1",
687
+ "osenv": "^0.1.4"
688
+ }
689
+ }
690
+ }
691
+ },
692
+ "grunt-contrib-clean": {
693
+ "version": "0.5.0",
694
+ "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-0.5.0.tgz",
695
+ "integrity": "sha1-9T397ghJsce0Dp67umn0jExgecU=",
696
+ "dev": true,
697
+ "requires": {
698
+ "rimraf": "~2.2.1"
699
+ }
700
+ },
701
+ "grunt-contrib-concat": {
702
+ "version": "0.3.0",
703
+ "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-0.3.0.tgz",
704
+ "integrity": "sha1-SPoNQzbSm2U62CJaa9b4VrRIPjI=",
705
+ "dev": true
706
+ },
707
+ "grunt-contrib-copy": {
708
+ "version": "0.5.0",
709
+ "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.5.0.tgz",
710
+ "integrity": "sha1-QQB1rEWlhWuhkbHMclclRQ1KAhU=",
711
+ "dev": true
712
+ },
713
+ "grunt-contrib-cssmin": {
714
+ "version": "0.7.0",
715
+ "resolved": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.7.0.tgz",
716
+ "integrity": "sha1-pXNenx0mMUnkn+A1KU5CnYxnC6s=",
717
+ "dev": true,
718
+ "requires": {
719
+ "clean-css": "~2.0.0",
720
+ "grunt-lib-contrib": "~0.6.0"
721
+ }
722
+ },
723
+ "grunt-contrib-jshint": {
724
+ "version": "0.6.5",
725
+ "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.6.5.tgz",
726
+ "integrity": "sha1-OvtGdnRTZMxKGe7nk0wOBgCLVm4=",
727
+ "dev": true,
728
+ "requires": {
729
+ "jshint": "~2.1.10"
730
+ }
731
+ },
732
+ "grunt-contrib-uglify": {
733
+ "version": "0.2.7",
734
+ "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.7.tgz",
735
+ "integrity": "sha1-5r2lHgxAoUWfbOrUI8Ze/XJaG/c=",
736
+ "dev": true,
737
+ "requires": {
738
+ "grunt-lib-contrib": "~0.6.1",
739
+ "uglify-js": "~2.4.0"
740
+ }
741
+ },
742
+ "grunt-known-options": {
743
+ "version": "1.1.1",
744
+ "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz",
745
+ "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ=="
746
+ },
747
+ "grunt-legacy-log": {
748
+ "version": "0.1.3",
749
+ "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz",
750
+ "integrity": "sha1-7ClCboAwIa9ZAp+H0vnNczWgVTE=",
751
+ "dev": true,
752
+ "requires": {
753
+ "colors": "~0.6.2",
754
+ "grunt-legacy-log-utils": "~0.1.1",
755
+ "hooker": "~0.2.3",
756
+ "lodash": "~2.4.1",
757
+ "underscore.string": "~2.3.3"
758
+ },
759
+ "dependencies": {
760
+ "lodash": {
761
+ "version": "2.4.2",
762
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
763
+ "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
764
+ "dev": true
765
+ },
766
+ "underscore.string": {
767
+ "version": "2.3.3",
768
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
769
+ "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
770
+ "dev": true
771
+ }
772
+ }
773
+ },
774
+ "grunt-legacy-log-utils": {
775
+ "version": "0.1.1",
776
+ "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz",
777
+ "integrity": "sha1-wHBrndkGThFvNvI/5OawSGcsD34=",
778
+ "dev": true,
779
+ "requires": {
780
+ "colors": "~0.6.2",
781
+ "lodash": "~2.4.1",
782
+ "underscore.string": "~2.3.3"
783
+ },
784
+ "dependencies": {
785
+ "lodash": {
786
+ "version": "2.4.2",
787
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
788
+ "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
789
+ "dev": true
790
+ },
791
+ "underscore.string": {
792
+ "version": "2.3.3",
793
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
794
+ "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
795
+ "dev": true
796
+ }
797
+ }
798
+ },
799
+ "grunt-legacy-util": {
800
+ "version": "0.2.0",
801
+ "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz",
802
+ "integrity": "sha1-kzJIhNv343qf98Am3/RR2UqeVUs=",
803
+ "dev": true,
804
+ "requires": {
805
+ "async": "~0.1.22",
806
+ "exit": "~0.1.1",
807
+ "getobject": "~0.1.0",
808
+ "hooker": "~0.2.3",
809
+ "lodash": "~0.9.2",
810
+ "underscore.string": "~2.2.1",
811
+ "which": "~1.0.5"
812
+ }
813
+ },
814
+ "grunt-lib-contrib": {
815
+ "version": "0.6.1",
816
+ "resolved": "https://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz",
817
+ "integrity": "sha1-P1att9oG6BR5XuJBWw6+X7iQPrs=",
818
+ "dev": true,
819
+ "requires": {
820
+ "zlib-browserify": "0.0.1"
821
+ }
822
+ },
823
+ "grunt-preprocess": {
824
+ "version": "4.2.0",
825
+ "resolved": "https://registry.npmjs.org/grunt-preprocess/-/grunt-preprocess-4.2.0.tgz",
826
+ "integrity": "sha1-SJUTzet1A1NEmn9lbVAXWvc/FfY=",
827
+ "dev": true,
828
+ "requires": {
829
+ "preprocess": "~2.3.1"
830
+ }
831
+ },
832
+ "has": {
833
+ "version": "1.0.3",
834
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
835
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
836
+ "requires": {
837
+ "function-bind": "^1.1.1"
838
+ }
839
+ },
840
+ "has-value": {
841
+ "version": "1.0.0",
842
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
843
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
844
+ "requires": {
845
+ "get-value": "^2.0.6",
846
+ "has-values": "^1.0.0",
847
+ "isobject": "^3.0.0"
848
+ }
849
+ },
850
+ "has-values": {
851
+ "version": "1.0.0",
852
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
853
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
854
+ "requires": {
855
+ "is-number": "^3.0.0",
856
+ "kind-of": "^4.0.0"
857
+ },
858
+ "dependencies": {
859
+ "kind-of": {
860
+ "version": "4.0.0",
861
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
862
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
863
+ "requires": {
864
+ "is-buffer": "^1.1.5"
865
+ }
866
+ }
867
+ }
868
+ },
869
+ "homedir-polyfill": {
870
+ "version": "1.0.3",
871
+ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
872
+ "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
873
+ "requires": {
874
+ "parse-passwd": "^1.0.0"
875
+ }
876
+ },
877
+ "hooker": {
878
+ "version": "0.2.3",
879
+ "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
880
+ "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=",
881
+ "dev": true
882
+ },
883
+ "iconv-lite": {
884
+ "version": "0.2.11",
885
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz",
886
+ "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=",
887
+ "dev": true
888
+ },
889
+ "inherits": {
890
+ "version": "2.0.3",
891
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
892
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
893
+ "dev": true
894
+ },
895
+ "ini": {
896
+ "version": "1.3.5",
897
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
898
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
899
+ },
900
+ "interpret": {
901
+ "version": "1.1.0",
902
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
903
+ "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ="
904
+ },
905
+ "is-absolute": {
906
+ "version": "1.0.0",
907
+ "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
908
+ "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
909
+ "requires": {
910
+ "is-relative": "^1.0.0",
911
+ "is-windows": "^1.0.1"
912
+ }
913
+ },
914
+ "is-accessor-descriptor": {
915
+ "version": "0.1.6",
916
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
917
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
918
+ "requires": {
919
+ "kind-of": "^3.0.2"
920
+ },
921
+ "dependencies": {
922
+ "kind-of": {
923
+ "version": "3.2.2",
924
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
925
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
926
+ "requires": {
927
+ "is-buffer": "^1.1.5"
928
+ }
929
+ }
930
+ }
931
+ },
932
+ "is-buffer": {
933
+ "version": "1.1.6",
934
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
935
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
936
+ },
937
+ "is-core-module": {
938
+ "version": "2.1.0",
939
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz",
940
+ "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==",
941
+ "requires": {
942
+ "has": "^1.0.3"
943
+ }
944
+ },
945
+ "is-data-descriptor": {
946
+ "version": "0.1.4",
947
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
948
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
949
+ "requires": {
950
+ "kind-of": "^3.0.2"
951
+ },
952
+ "dependencies": {
953
+ "kind-of": {
954
+ "version": "3.2.2",
955
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
956
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
957
+ "requires": {
958
+ "is-buffer": "^1.1.5"
959
+ }
960
+ }
961
+ }
962
+ },
963
+ "is-descriptor": {
964
+ "version": "0.1.6",
965
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
966
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
967
+ "requires": {
968
+ "is-accessor-descriptor": "^0.1.6",
969
+ "is-data-descriptor": "^0.1.4",
970
+ "kind-of": "^5.0.0"
971
+ },
972
+ "dependencies": {
973
+ "kind-of": {
974
+ "version": "5.1.0",
975
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
976
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
977
+ }
978
+ }
979
+ },
980
+ "is-extendable": {
981
+ "version": "0.1.1",
982
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
983
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
984
+ },
985
+ "is-extglob": {
986
+ "version": "2.1.1",
987
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
988
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
989
+ },
990
+ "is-glob": {
991
+ "version": "3.1.0",
992
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
993
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
994
+ "requires": {
995
+ "is-extglob": "^2.1.0"
996
+ }
997
+ },
998
+ "is-number": {
999
+ "version": "3.0.0",
1000
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
1001
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
1002
+ "requires": {
1003
+ "kind-of": "^3.0.2"
1004
+ },
1005
+ "dependencies": {
1006
+ "kind-of": {
1007
+ "version": "3.2.2",
1008
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1009
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1010
+ "requires": {
1011
+ "is-buffer": "^1.1.5"
1012
+ }
1013
+ }
1014
+ }
1015
+ },
1016
+ "is-plain-object": {
1017
+ "version": "2.0.4",
1018
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
1019
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
1020
+ "requires": {
1021
+ "isobject": "^3.0.1"
1022
+ }
1023
+ },
1024
+ "is-relative": {
1025
+ "version": "1.0.0",
1026
+ "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
1027
+ "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
1028
+ "requires": {
1029
+ "is-unc-path": "^1.0.0"
1030
+ }
1031
+ },
1032
+ "is-unc-path": {
1033
+ "version": "1.0.0",
1034
+ "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
1035
+ "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
1036
+ "requires": {
1037
+ "unc-path-regex": "^0.1.2"
1038
+ }
1039
+ },
1040
+ "is-windows": {
1041
+ "version": "1.0.2",
1042
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
1043
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
1044
+ },
1045
+ "isarray": {
1046
+ "version": "1.0.0",
1047
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1048
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
1049
+ },
1050
+ "isexe": {
1051
+ "version": "2.0.0",
1052
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1053
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
1054
+ },
1055
+ "isobject": {
1056
+ "version": "3.0.1",
1057
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
1058
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
1059
+ },
1060
+ "js-yaml": {
1061
+ "version": "2.0.5",
1062
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz",
1063
+ "integrity": "sha1-olrmUJmZ6X3yeMZxnaEb0Gh3Q6g=",
1064
+ "dev": true,
1065
+ "requires": {
1066
+ "argparse": "~ 0.1.11",
1067
+ "esprima": "~ 1.0.2"
1068
+ }
1069
+ },
1070
+ "jshint": {
1071
+ "version": "2.1.11",
1072
+ "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.1.11.tgz",
1073
+ "integrity": "sha1-61EI/vm6Xd67gwmD9XLSQuSeP5Y=",
1074
+ "dev": true,
1075
+ "requires": {
1076
+ "cli": "0.4.x",
1077
+ "console-browserify": "0.1.x",
1078
+ "minimatch": "0.x.x",
1079
+ "shelljs": "0.1.x",
1080
+ "underscore": "1.4.x"
1081
+ },
1082
+ "dependencies": {
1083
+ "underscore": {
1084
+ "version": "1.4.4",
1085
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz",
1086
+ "integrity": "sha1-YaajIBBiKvoHljvzJSA88SI51gQ=",
1087
+ "dev": true
1088
+ }
1089
+ }
1090
+ },
1091
+ "kind-of": {
1092
+ "version": "6.0.3",
1093
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
1094
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
1095
+ },
1096
+ "liftoff": {
1097
+ "version": "2.5.0",
1098
+ "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
1099
+ "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
1100
+ "requires": {
1101
+ "extend": "^3.0.0",
1102
+ "findup-sync": "^2.0.0",
1103
+ "fined": "^1.0.1",
1104
+ "flagged-respawn": "^1.0.0",
1105
+ "is-plain-object": "^2.0.4",
1106
+ "object.map": "^1.0.0",
1107
+ "rechoir": "^0.6.2",
1108
+ "resolve": "^1.1.7"
1109
+ },
1110
+ "dependencies": {
1111
+ "findup-sync": {
1112
+ "version": "2.0.0",
1113
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
1114
+ "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
1115
+ "requires": {
1116
+ "detect-file": "^1.0.0",
1117
+ "is-glob": "^3.1.0",
1118
+ "micromatch": "^3.0.4",
1119
+ "resolve-dir": "^1.0.1"
1120
+ }
1121
+ }
1122
+ }
1123
+ },
1124
+ "lodash": {
1125
+ "version": "0.9.2",
1126
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz",
1127
+ "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=",
1128
+ "dev": true
1129
+ },
1130
+ "lru-cache": {
1131
+ "version": "2.7.3",
1132
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
1133
+ "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
1134
+ "dev": true
1135
+ },
1136
+ "make-iterator": {
1137
+ "version": "1.0.1",
1138
+ "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
1139
+ "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
1140
+ "requires": {
1141
+ "kind-of": "^6.0.2"
1142
+ }
1143
+ },
1144
+ "map-cache": {
1145
+ "version": "0.2.2",
1146
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
1147
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
1148
+ },
1149
+ "map-visit": {
1150
+ "version": "1.0.0",
1151
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
1152
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
1153
+ "requires": {
1154
+ "object-visit": "^1.0.0"
1155
+ }
1156
+ },
1157
+ "micromatch": {
1158
+ "version": "3.1.10",
1159
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
1160
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
1161
+ "requires": {
1162
+ "arr-diff": "^4.0.0",
1163
+ "array-unique": "^0.3.2",
1164
+ "braces": "^2.3.1",
1165
+ "define-property": "^2.0.2",
1166
+ "extend-shallow": "^3.0.2",
1167
+ "extglob": "^2.0.4",
1168
+ "fragment-cache": "^0.2.1",
1169
+ "kind-of": "^6.0.2",
1170
+ "nanomatch": "^1.2.9",
1171
+ "object.pick": "^1.3.0",
1172
+ "regex-not": "^1.0.0",
1173
+ "snapdragon": "^0.8.1",
1174
+ "to-regex": "^3.0.2"
1175
+ }
1176
+ },
1177
+ "minimatch": {
1178
+ "version": "0.2.14",
1179
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
1180
+ "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
1181
+ "dev": true,
1182
+ "requires": {
1183
+ "lru-cache": "2",
1184
+ "sigmund": "~1.0.0"
1185
+ }
1186
+ },
1187
+ "mixin-deep": {
1188
+ "version": "1.3.2",
1189
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
1190
+ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
1191
+ "requires": {
1192
+ "for-in": "^1.0.2",
1193
+ "is-extendable": "^1.0.1"
1194
+ },
1195
+ "dependencies": {
1196
+ "is-extendable": {
1197
+ "version": "1.0.1",
1198
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
1199
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
1200
+ "requires": {
1201
+ "is-plain-object": "^2.0.4"
1202
+ }
1203
+ }
1204
+ }
1205
+ },
1206
+ "ms": {
1207
+ "version": "2.0.0",
1208
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1209
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
1210
+ },
1211
+ "nanomatch": {
1212
+ "version": "1.2.13",
1213
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
1214
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
1215
+ "requires": {
1216
+ "arr-diff": "^4.0.0",
1217
+ "array-unique": "^0.3.2",
1218
+ "define-property": "^2.0.2",
1219
+ "extend-shallow": "^3.0.2",
1220
+ "fragment-cache": "^0.2.1",
1221
+ "is-windows": "^1.0.2",
1222
+ "kind-of": "^6.0.2",
1223
+ "object.pick": "^1.3.0",
1224
+ "regex-not": "^1.0.0",
1225
+ "snapdragon": "^0.8.1",
1226
+ "to-regex": "^3.0.1"
1227
+ }
1228
+ },
1229
+ "nopt": {
1230
+ "version": "1.0.10",
1231
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
1232
+ "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
1233
+ "dev": true,
1234
+ "requires": {
1235
+ "abbrev": "1"
1236
+ }
1237
+ },
1238
+ "object-copy": {
1239
+ "version": "0.1.0",
1240
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
1241
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
1242
+ "requires": {
1243
+ "copy-descriptor": "^0.1.0",
1244
+ "define-property": "^0.2.5",
1245
+ "kind-of": "^3.0.3"
1246
+ },
1247
+ "dependencies": {
1248
+ "define-property": {
1249
+ "version": "0.2.5",
1250
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1251
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1252
+ "requires": {
1253
+ "is-descriptor": "^0.1.0"
1254
+ }
1255
+ },
1256
+ "kind-of": {
1257
+ "version": "3.2.2",
1258
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1259
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1260
+ "requires": {
1261
+ "is-buffer": "^1.1.5"
1262
+ }
1263
+ }
1264
+ }
1265
+ },
1266
+ "object-visit": {
1267
+ "version": "1.0.1",
1268
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
1269
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
1270
+ "requires": {
1271
+ "isobject": "^3.0.0"
1272
+ }
1273
+ },
1274
+ "object.defaults": {
1275
+ "version": "1.1.0",
1276
+ "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
1277
+ "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
1278
+ "requires": {
1279
+ "array-each": "^1.0.1",
1280
+ "array-slice": "^1.0.0",
1281
+ "for-own": "^1.0.0",
1282
+ "isobject": "^3.0.0"
1283
+ }
1284
+ },
1285
+ "object.map": {
1286
+ "version": "1.0.1",
1287
+ "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
1288
+ "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
1289
+ "requires": {
1290
+ "for-own": "^1.0.0",
1291
+ "make-iterator": "^1.0.0"
1292
+ }
1293
+ },
1294
+ "object.pick": {
1295
+ "version": "1.3.0",
1296
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
1297
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
1298
+ "requires": {
1299
+ "isobject": "^3.0.1"
1300
+ }
1301
+ },
1302
+ "os-homedir": {
1303
+ "version": "1.0.2",
1304
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
1305
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
1306
+ },
1307
+ "os-tmpdir": {
1308
+ "version": "1.0.2",
1309
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
1310
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
1311
+ },
1312
+ "osenv": {
1313
+ "version": "0.1.5",
1314
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
1315
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
1316
+ "requires": {
1317
+ "os-homedir": "^1.0.0",
1318
+ "os-tmpdir": "^1.0.0"
1319
+ }
1320
+ },
1321
+ "parse-filepath": {
1322
+ "version": "1.0.2",
1323
+ "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
1324
+ "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
1325
+ "requires": {
1326
+ "is-absolute": "^1.0.0",
1327
+ "map-cache": "^0.2.0",
1328
+ "path-root": "^0.1.1"
1329
+ }
1330
+ },
1331
+ "parse-passwd": {
1332
+ "version": "1.0.0",
1333
+ "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
1334
+ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY="
1335
+ },
1336
+ "pascalcase": {
1337
+ "version": "0.1.1",
1338
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
1339
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
1340
+ },
1341
+ "path-parse": {
1342
+ "version": "1.0.6",
1343
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
1344
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
1345
+ },
1346
+ "path-root": {
1347
+ "version": "0.1.1",
1348
+ "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
1349
+ "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
1350
+ "requires": {
1351
+ "path-root-regex": "^0.1.0"
1352
+ }
1353
+ },
1354
+ "path-root-regex": {
1355
+ "version": "0.1.2",
1356
+ "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
1357
+ "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0="
1358
+ },
1359
+ "posix-character-classes": {
1360
+ "version": "0.1.1",
1361
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
1362
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
1363
+ },
1364
+ "preprocess": {
1365
+ "version": "2.3.1",
1366
+ "resolved": "https://registry.npmjs.org/preprocess/-/preprocess-2.3.1.tgz",
1367
+ "integrity": "sha1-vaMCLmI+m1mdTAgoGG2FvZ8SxQA=",
1368
+ "dev": true
1369
+ },
1370
+ "rechoir": {
1371
+ "version": "0.6.2",
1372
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
1373
+ "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
1374
+ "requires": {
1375
+ "resolve": "^1.1.6"
1376
+ }
1377
+ },
1378
+ "regex-not": {
1379
+ "version": "1.0.2",
1380
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
1381
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
1382
+ "requires": {
1383
+ "extend-shallow": "^3.0.2",
1384
+ "safe-regex": "^1.1.0"
1385
+ }
1386
+ },
1387
+ "repeat-element": {
1388
+ "version": "1.1.3",
1389
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
1390
+ "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="
1391
+ },
1392
+ "repeat-string": {
1393
+ "version": "1.6.1",
1394
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
1395
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
1396
+ },
1397
+ "resolve": {
1398
+ "version": "1.18.1",
1399
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz",
1400
+ "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==",
1401
+ "requires": {
1402
+ "is-core-module": "^2.0.0",
1403
+ "path-parse": "^1.0.6"
1404
+ }
1405
+ },
1406
+ "resolve-dir": {
1407
+ "version": "1.0.1",
1408
+ "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
1409
+ "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
1410
+ "requires": {
1411
+ "expand-tilde": "^2.0.0",
1412
+ "global-modules": "^1.0.0"
1413
+ }
1414
+ },
1415
+ "resolve-url": {
1416
+ "version": "0.2.1",
1417
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
1418
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
1419
+ },
1420
+ "ret": {
1421
+ "version": "0.1.15",
1422
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
1423
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
1424
+ },
1425
+ "rimraf": {
1426
+ "version": "2.2.8",
1427
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
1428
+ "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
1429
+ "dev": true
1430
+ },
1431
+ "safe-regex": {
1432
+ "version": "1.1.0",
1433
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
1434
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
1435
+ "requires": {
1436
+ "ret": "~0.1.10"
1437
+ }
1438
+ },
1439
+ "set-value": {
1440
+ "version": "2.0.1",
1441
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
1442
+ "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
1443
+ "requires": {
1444
+ "extend-shallow": "^2.0.1",
1445
+ "is-extendable": "^0.1.1",
1446
+ "is-plain-object": "^2.0.3",
1447
+ "split-string": "^3.0.1"
1448
+ },
1449
+ "dependencies": {
1450
+ "extend-shallow": {
1451
+ "version": "2.0.1",
1452
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1453
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1454
+ "requires": {
1455
+ "is-extendable": "^0.1.0"
1456
+ }
1457
+ }
1458
+ }
1459
+ },
1460
+ "shelljs": {
1461
+ "version": "0.1.4",
1462
+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz",
1463
+ "integrity": "sha1-37vnjVbDwBaNL7eeEOzR28sH7A4=",
1464
+ "dev": true
1465
+ },
1466
+ "sigmund": {
1467
+ "version": "1.0.1",
1468
+ "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
1469
+ "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
1470
+ "dev": true
1471
+ },
1472
+ "snapdragon": {
1473
+ "version": "0.8.2",
1474
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
1475
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
1476
+ "requires": {
1477
+ "base": "^0.11.1",
1478
+ "debug": "^2.2.0",
1479
+ "define-property": "^0.2.5",
1480
+ "extend-shallow": "^2.0.1",
1481
+ "map-cache": "^0.2.2",
1482
+ "source-map": "^0.5.6",
1483
+ "source-map-resolve": "^0.5.0",
1484
+ "use": "^3.1.0"
1485
+ },
1486
+ "dependencies": {
1487
+ "define-property": {
1488
+ "version": "0.2.5",
1489
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1490
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1491
+ "requires": {
1492
+ "is-descriptor": "^0.1.0"
1493
+ }
1494
+ },
1495
+ "extend-shallow": {
1496
+ "version": "2.0.1",
1497
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1498
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1499
+ "requires": {
1500
+ "is-extendable": "^0.1.0"
1501
+ }
1502
+ },
1503
+ "source-map": {
1504
+ "version": "0.5.7",
1505
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
1506
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
1507
+ }
1508
+ }
1509
+ },
1510
+ "snapdragon-node": {
1511
+ "version": "2.1.1",
1512
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
1513
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
1514
+ "requires": {
1515
+ "define-property": "^1.0.0",
1516
+ "isobject": "^3.0.0",
1517
+ "snapdragon-util": "^3.0.1"
1518
+ },
1519
+ "dependencies": {
1520
+ "define-property": {
1521
+ "version": "1.0.0",
1522
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
1523
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
1524
+ "requires": {
1525
+ "is-descriptor": "^1.0.0"
1526
+ }
1527
+ },
1528
+ "is-accessor-descriptor": {
1529
+ "version": "1.0.0",
1530
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1531
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1532
+ "requires": {
1533
+ "kind-of": "^6.0.0"
1534
+ }
1535
+ },
1536
+ "is-data-descriptor": {
1537
+ "version": "1.0.0",
1538
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1539
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1540
+ "requires": {
1541
+ "kind-of": "^6.0.0"
1542
+ }
1543
+ },
1544
+ "is-descriptor": {
1545
+ "version": "1.0.2",
1546
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1547
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1548
+ "requires": {
1549
+ "is-accessor-descriptor": "^1.0.0",
1550
+ "is-data-descriptor": "^1.0.0",
1551
+ "kind-of": "^6.0.2"
1552
+ }
1553
+ }
1554
+ }
1555
+ },
1556
+ "snapdragon-util": {
1557
+ "version": "3.0.1",
1558
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
1559
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
1560
+ "requires": {
1561
+ "kind-of": "^3.2.0"
1562
+ },
1563
+ "dependencies": {
1564
+ "kind-of": {
1565
+ "version": "3.2.2",
1566
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1567
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1568
+ "requires": {
1569
+ "is-buffer": "^1.1.5"
1570
+ }
1571
+ }
1572
+ }
1573
+ },
1574
+ "source-map": {
1575
+ "version": "0.1.34",
1576
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz",
1577
+ "integrity": "sha1-p8/omux7FoLDsZjQrPtH19CQVms=",
1578
+ "dev": true,
1579
+ "requires": {
1580
+ "amdefine": ">=0.0.4"
1581
+ }
1582
+ },
1583
+ "source-map-resolve": {
1584
+ "version": "0.5.3",
1585
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
1586
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
1587
+ "requires": {
1588
+ "atob": "^2.1.2",
1589
+ "decode-uri-component": "^0.2.0",
1590
+ "resolve-url": "^0.2.1",
1591
+ "source-map-url": "^0.4.0",
1592
+ "urix": "^0.1.0"
1593
+ }
1594
+ },
1595
+ "source-map-url": {
1596
+ "version": "0.4.0",
1597
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
1598
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
1599
+ },
1600
+ "split-string": {
1601
+ "version": "3.1.0",
1602
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
1603
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
1604
+ "requires": {
1605
+ "extend-shallow": "^3.0.0"
1606
+ }
1607
+ },
1608
+ "static-extend": {
1609
+ "version": "0.1.2",
1610
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
1611
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
1612
+ "requires": {
1613
+ "define-property": "^0.2.5",
1614
+ "object-copy": "^0.1.0"
1615
+ },
1616
+ "dependencies": {
1617
+ "define-property": {
1618
+ "version": "0.2.5",
1619
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1620
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1621
+ "requires": {
1622
+ "is-descriptor": "^0.1.0"
1623
+ }
1624
+ }
1625
+ }
1626
+ },
1627
+ "to-object-path": {
1628
+ "version": "0.3.0",
1629
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
1630
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
1631
+ "requires": {
1632
+ "kind-of": "^3.0.2"
1633
+ },
1634
+ "dependencies": {
1635
+ "kind-of": {
1636
+ "version": "3.2.2",
1637
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1638
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1639
+ "requires": {
1640
+ "is-buffer": "^1.1.5"
1641
+ }
1642
+ }
1643
+ }
1644
+ },
1645
+ "to-regex": {
1646
+ "version": "3.0.2",
1647
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
1648
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
1649
+ "requires": {
1650
+ "define-property": "^2.0.2",
1651
+ "extend-shallow": "^3.0.2",
1652
+ "regex-not": "^1.0.2",
1653
+ "safe-regex": "^1.1.0"
1654
+ }
1655
+ },
1656
+ "to-regex-range": {
1657
+ "version": "2.1.1",
1658
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
1659
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
1660
+ "requires": {
1661
+ "is-number": "^3.0.0",
1662
+ "repeat-string": "^1.6.1"
1663
+ }
1664
+ },
1665
+ "uglify-js": {
1666
+ "version": "2.4.24",
1667
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz",
1668
+ "integrity": "sha1-+tV1XB4Vd2WLsG/5q25UjJW+vW4=",
1669
+ "dev": true,
1670
+ "requires": {
1671
+ "async": "~0.2.6",
1672
+ "source-map": "0.1.34",
1673
+ "uglify-to-browserify": "~1.0.0",
1674
+ "yargs": "~3.5.4"
1675
+ },
1676
+ "dependencies": {
1677
+ "async": {
1678
+ "version": "0.2.10",
1679
+ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
1680
+ "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
1681
+ "dev": true
1682
+ }
1683
+ }
1684
+ },
1685
+ "uglify-to-browserify": {
1686
+ "version": "1.0.2",
1687
+ "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
1688
+ "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
1689
+ "dev": true
1690
+ },
1691
+ "unc-path-regex": {
1692
+ "version": "0.1.2",
1693
+ "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
1694
+ "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo="
1695
+ },
1696
+ "underscore": {
1697
+ "version": "1.7.0",
1698
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
1699
+ "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=",
1700
+ "dev": true
1701
+ },
1702
+ "underscore.string": {
1703
+ "version": "2.2.1",
1704
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz",
1705
+ "integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=",
1706
+ "dev": true
1707
+ },
1708
+ "union-value": {
1709
+ "version": "1.0.1",
1710
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
1711
+ "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
1712
+ "requires": {
1713
+ "arr-union": "^3.1.0",
1714
+ "get-value": "^2.0.6",
1715
+ "is-extendable": "^0.1.1",
1716
+ "set-value": "^2.0.1"
1717
+ }
1718
+ },
1719
+ "unset-value": {
1720
+ "version": "1.0.0",
1721
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
1722
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
1723
+ "requires": {
1724
+ "has-value": "^0.3.1",
1725
+ "isobject": "^3.0.0"
1726
+ },
1727
+ "dependencies": {
1728
+ "has-value": {
1729
+ "version": "0.3.1",
1730
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
1731
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
1732
+ "requires": {
1733
+ "get-value": "^2.0.3",
1734
+ "has-values": "^0.1.4",
1735
+ "isobject": "^2.0.0"
1736
+ },
1737
+ "dependencies": {
1738
+ "isobject": {
1739
+ "version": "2.1.0",
1740
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
1741
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
1742
+ "requires": {
1743
+ "isarray": "1.0.0"
1744
+ }
1745
+ }
1746
+ }
1747
+ },
1748
+ "has-values": {
1749
+ "version": "0.1.4",
1750
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
1751
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
1752
+ }
1753
+ }
1754
+ },
1755
+ "urix": {
1756
+ "version": "0.1.0",
1757
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
1758
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
1759
+ },
1760
+ "use": {
1761
+ "version": "3.1.1",
1762
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
1763
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
1764
+ },
1765
+ "v8flags": {
1766
+ "version": "3.1.3",
1767
+ "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz",
1768
+ "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==",
1769
+ "requires": {
1770
+ "homedir-polyfill": "^1.0.1"
1771
+ }
1772
+ },
1773
+ "which": {
1774
+ "version": "1.0.9",
1775
+ "resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz",
1776
+ "integrity": "sha1-RgwdoPgQED0DIam2M6+eV15kSG8=",
1777
+ "dev": true
1778
+ },
1779
+ "window-size": {
1780
+ "version": "0.1.0",
1781
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
1782
+ "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
1783
+ "dev": true
1784
+ },
1785
+ "wordwrap": {
1786
+ "version": "0.0.2",
1787
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
1788
+ "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
1789
+ "dev": true
1790
+ },
1791
+ "yargs": {
1792
+ "version": "3.5.4",
1793
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz",
1794
+ "integrity": "sha1-2K/49mXpTDS9JZvevRv68N3TU2E=",
1795
+ "dev": true,
1796
+ "requires": {
1797
+ "camelcase": "^1.0.2",
1798
+ "decamelize": "^1.0.0",
1799
+ "window-size": "0.1.0",
1800
+ "wordwrap": "0.0.2"
1801
+ }
1802
+ },
1803
+ "zlib-browserify": {
1804
+ "version": "0.0.1",
1805
+ "resolved": "https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz",
1806
+ "integrity": "sha1-T6akXQDbwV8xikr6HZr8Aljhdsw=",
1807
+ "dev": true
1808
+ }
1809
+ }
1810
+ }
libs/factory/core/ajax/install-addons.php ADDED
@@ -0,0 +1,228 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ajax plugin configuration
4
+ *
5
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>
6
+ * @copyright (c) 2017 Webraftic Ltd
7
+ * @version 1.0
8
+ */
9
+
10
+ // Exit if accessed directly
11
+ if( !defined('ABSPATH') ) {
12
+ exit;
13
+ }
14
+
15
+ /**
16
+ * This action allows you to process Ajax requests to activate external components Clearfy
17
+ */
18
+ function wfactory_444_install_components($plugin_instance)
19
+ {
20
+ check_ajax_referer('updates');
21
+
22
+ $slug = $plugin_instance->request->post('plugin', null, true);
23
+ $action = $plugin_instance->request->post('plugin_action', null, true);
24
+ $storage = $plugin_instance->request->post('storage', null, true);
25
+
26
+ if( !current_user_can('update_plugins') ) {
27
+ wp_die(__('You don\'t have enough capability to edit this information.', 'wbcr_factory_444'), __('Something went wrong.'), 403);
28
+ }
29
+
30
+ if( empty($slug) || empty($action) ) {
31
+ wp_send_json_error(['error_message' => __('Required attributes are not passed or empty.', 'wbcr_factory_444')]);
32
+ }
33
+ $success = false;
34
+ $send_data = [];
35
+
36
+ if( $storage == 'internal' ) {
37
+ if( $action == 'activate' ) {
38
+ if( $plugin_instance->activateComponent($slug) ) {
39
+ $success = true;
40
+ }
41
+ } else if( $action == 'deactivate' ) {
42
+
43
+ if( $plugin_instance->deactivateComponent($slug) ) {
44
+ $success = true;
45
+ }
46
+ } else {
47
+ wp_send_json_error(['error_message' => __('You are trying to perform an invalid action.', 'wbcr_factory_444')]);
48
+ }
49
+ } else if( $storage == 'wordpress' || $storage == 'creativemotion' ) {
50
+ if( !empty($slug) ) {
51
+ $network_wide = $plugin_instance->isNetworkActive();
52
+
53
+ if( $action == 'activate' ) {
54
+ $result = activate_plugin($slug, '', $network_wide);
55
+
56
+ if( is_wp_error($result) ) {
57
+ wp_send_json_error(['error_message' => $result->get_error_message()]);
58
+ }
59
+ } else if( $action == 'deactivate' ) {
60
+ deactivate_plugins($slug, false, $network_wide);
61
+ }
62
+
63
+ $success = true;
64
+ }
65
+ }
66
+
67
+ if( $action == 'install' || $action == 'deactivate' ) {
68
+ try {
69
+ // Delete button
70
+ $delete_button = $plugin_instance->get_delete_component_button($storage, $slug);
71
+ $send_data['delete_button'] = $delete_button->get_button();
72
+ } catch( Exception $e ) {
73
+ wp_send_json_error(['error_message' => $e->getMessage()]);
74
+ }
75
+ }
76
+
77
+ // Если требуется обновить постоянные ссылки, даем сигнал, что пользователю, нужно показать
78
+ // всплывающее уведомление.
79
+ // todo: сделать более красивое решение с передачей текстовых сообщений
80
+ /*if ( $action == 'deactivate' ) {
81
+ $is_need_rewrite_rules = $plugin_instance->getPopulateOption( 'need_rewrite_rules' );
82
+ if ( $is_need_rewrite_rules ) {
83
+ $send_data['need_rewrite_rules'] = sprintf( '<span class="wbcr-clr-need-rewrite-rules-message">' . __( 'When you deactivate some components, permanent links may work incorrectly. If this happens, please, <a href="%s">update the permalinks</a>, so you could complete the deactivation.', 'wbcr_factory_444' ), admin_url( 'options-permalink.php' ) . '</span>' );
84
+ }
85
+ }*/
86
+
87
+ if( $success ) {
88
+ // todo: для совместимости с плагином Clearfy
89
+ if( "wbcr_clearfy" === $plugin_instance->getPluginName() ) {
90
+ do_action('wbcr_clearfy_update_component', $slug, $action, $storage);
91
+ }
92
+ do_action("wfactory/updated_{$plugin_instance->getPluginName()}_component", $slug, $action, $storage);
93
+
94
+ wp_send_json_success($send_data);
95
+ }
96
+
97
+ wp_send_json_error(['error_message' => __('An unknown error occurred during the activation of the component.', 'wbcr_factory_444')]);
98
+ }
99
+
100
+ /**
101
+ * Ajax event that calls the wbcr/clearfy/activated_component action,
102
+ * to get the component to work. Usually this is a call to the installation functions,
103
+ * but in some cases, overwriting permanent references or compatibility checks.
104
+ */
105
+ function wfactory_444_prepare_component($plugin_instance)
106
+ {
107
+ check_ajax_referer('updates');
108
+
109
+ $component_name = $plugin_instance->request->post('plugin', null, true);
110
+
111
+ if( !current_user_can('update_plugins') ) {
112
+ wp_send_json_error(['error_message' => __('You don\'t have enough capability to edit this information.', 'wbcr_factory_444')], 403);
113
+ }
114
+
115
+ if( empty($component_name) ) {
116
+ wp_send_json_error(['error_message' => __('Required attribute [component_name] is empty.', 'wbcr_factory_444')]);
117
+ }
118
+ // todo: для совместимости с плагином Clearfy
119
+ if( "wbcr_clearfy" === $plugin_instance->getPluginName() ) {
120
+ do_action('wbcr/clearfy/activated_component', $component_name);
121
+ }
122
+ do_action("wfactory/activated_{$plugin_instance->getPluginName()}_component", $component_name);
123
+
124
+ wp_send_json_success();
125
+ }
126
+
127
+ /**
128
+ * Ajax handler for installing a plugin.
129
+ *
130
+ * @since 4.6.0
131
+ *
132
+ * @see Plugin_Upgrader
133
+ *
134
+ * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
135
+ */
136
+ function wfactory_444_creativemotion_install_plugin($plugin_instance)
137
+ {
138
+ check_ajax_referer('updates');
139
+
140
+ if( empty($_POST['slug']) ) {
141
+ wp_send_json_error(array(
142
+ 'slug' => '',
143
+ 'errorCode' => 'no_plugin_specified',
144
+ 'errorMessage' => __('No plugin specified.'),
145
+ ));
146
+ }
147
+
148
+ $status = array(
149
+ 'install' => 'plugin',
150
+ 'slug' => sanitize_key(wp_unslash($_POST['slug'])),
151
+ );
152
+
153
+ if( !current_user_can('install_plugins') ) {
154
+ $status['errorMessage'] = __('Sorry, you are not allowed to install plugins on this site.');
155
+ wp_send_json_error($status);
156
+ }
157
+
158
+ require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
159
+ include_once ABSPATH . 'wp-admin/includes/plugin-install.php';
160
+
161
+ $api = plugins_api('plugin_information', array(
162
+ 'slug' => sanitize_key(wp_unslash($_POST['slug'])),
163
+ 'fields' => array(
164
+ 'sections' => false,
165
+ ),
166
+ ));
167
+
168
+ if( is_wp_error($api) ) {
169
+ $status['errorMessage'] = $api->get_error_message();
170
+ wp_send_json_error($status);
171
+ }
172
+
173
+ $status['pluginName'] = $api->name;
174
+
175
+ $skin = new WP_Ajax_Upgrader_Skin();
176
+ $upgrader = new Plugin_Upgrader($skin);
177
+ //$result = $upgrader->install($api->download_link);
178
+ $result = $upgrader->install('https://clearfy.pro/components/download.php');
179
+
180
+ if( defined('WP_DEBUG') && WP_DEBUG ) {
181
+ $status['debug'] = $skin->get_upgrade_messages();
182
+ }
183
+
184
+ if( is_wp_error($result) ) {
185
+ $status['errorCode'] = $result->get_error_code();
186
+ $status['errorMessage'] = $result->get_error_message();
187
+ wp_send_json_error($status);
188
+ } elseif( is_wp_error($skin->result) ) {
189
+ $status['errorCode'] = $skin->result->get_error_code();
190
+ $status['errorMessage'] = $skin->result->get_error_message();
191
+ wp_send_json_error($status);
192
+ } elseif( $skin->get_errors()->has_errors() ) {
193
+ $status['errorMessage'] = $skin->get_error_messages();
194
+ wp_send_json_error($status);
195
+ } elseif( is_null($result) ) {
196
+ global $wp_filesystem;
197
+
198
+ $status['errorCode'] = 'unable_to_connect_to_filesystem';
199
+ $status['errorMessage'] = __('Unable to connect to the filesystem. Please confirm your credentials.');
200
+
201
+ // Pass through the error from WP_Filesystem if one was raised.
202
+ if( $wp_filesystem instanceof WP_Filesystem_Base && is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->has_errors() ) {
203
+ $status['errorMessage'] = esc_html($wp_filesystem->errors->get_error_message());
204
+ }
205
+
206
+ wp_send_json_error($status);
207
+ }
208
+
209
+ $install_status = install_plugin_install_status($api);
210
+ $pagenow = isset($_POST['pagenow']) ? sanitize_key($_POST['pagenow']) : '';
211
+
212
+ // If installation request is coming from import page, do not return network activation link.
213
+ $plugins_url = ('import' === $pagenow) ? admin_url('plugins.php') : network_admin_url('plugins.php');
214
+
215
+ if( current_user_can('activate_plugin', $install_status['file']) && is_plugin_inactive($install_status['file']) ) {
216
+ $status['activateUrl'] = add_query_arg(array(
217
+ '_wpnonce' => wp_create_nonce('activate-plugin_' . $install_status['file']),
218
+ 'action' => 'activate',
219
+ 'plugin' => $install_status['file'],
220
+ ), $plugins_url);
221
+ }
222
+
223
+ if( is_multisite() && current_user_can('manage_network_plugins') && 'import' !== $pagenow ) {
224
+ $status['activateUrl'] = add_query_arg(array('networkwide' => 1), $status['activateUrl']);
225
+ }
226
+
227
+ wp_send_json_success($status);
228
+ }
libs/factory/core/assets/js/core-components.js ADDED
@@ -0,0 +1,227 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * This code provides tools for downloading, installing external add-ons for the Clearfy plugin
3
+ *
4
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>
5
+ * @copyright (c) 10.09.2017, Webcraftic
6
+ * @version 1.0
7
+ */
8
+
9
+ (function($) {
10
+ 'use strict';
11
+
12
+ var externalAddon = {
13
+ init: function() {
14
+ this.events();
15
+ },
16
+ events: function() {
17
+ var self = this;
18
+
19
+ /**
20
+ * This event is intended for installation, removal, activation, deactivation of external add-ons
21
+ */
22
+
23
+ $(document).on('click', '.wfactory-444-process-button', function() {
24
+ var $this = $(this),
25
+ button_i18n = $(this).data('i18n'),
26
+ plugin_slug = $(this).data('slug'),
27
+ plugin_action = $(this).data('plugin-action'),
28
+ plugin = $(this).data('plugin'),
29
+ storage = $(this).data('storage'),
30
+ wpnonce = $(this).data('wpnonce');
31
+
32
+ var action = ('creativemotion' === storage)
33
+ ? 'wfactory-444-creativemotion-install-plugin'
34
+ : 'install-plugin';
35
+
36
+ if( storage === 'freemius' || ((storage === 'wordpress' || storage === 'creativemotion' || storage === 'internal') && (plugin_action === 'activate' || plugin_action === 'deactivate')) ) {
37
+ action = 'wfactory-444-intall-component';
38
+ } else if( storage === 'wordpress' && plugin_action === 'delete' ) {
39
+ action = 'delete-plugin';
40
+ }
41
+
42
+ var data = {
43
+ action: action,
44
+ slug: plugin_slug,
45
+ storage: storage,
46
+ plugin: plugin,
47
+ plugin_action: plugin_action,
48
+ _wpnonce: wpnonce
49
+ };
50
+
51
+ if( plugin_action === 'install' ) {
52
+ $this.addClass('updating-message');
53
+ }
54
+
55
+ $this.addClass('disabled').text(button_i18n.loading);
56
+
57
+ $.wfactory_444.hooks.run('core/components/pre_update', [$this, data]);
58
+
59
+ self.sendRequest(data, function(response) {
60
+ if( !response || !response.success ) {
61
+ $.wfactory_444.hooks.run('core/components/update_error', [
62
+ $this,
63
+ data,
64
+ response
65
+ ]);
66
+
67
+ return;
68
+ }
69
+
70
+ if( response.success ) {
71
+ $this.removeClass('disabled').removeClass('updating-message');
72
+
73
+ if( plugin_action === 'install' ) {
74
+
75
+ plugin_action = 'activate';
76
+ $this.data('plugin-action', 'activate');
77
+ $this.attr('data-plugin-action', 'activate');
78
+
79
+ if( $this.hasClass('button') ) {
80
+ $this.removeClass('button-default').addClass('button-primary');
81
+ }
82
+
83
+ $.wfactory_444.hooks.run('core/components/installed', [
84
+ $this,
85
+ data,
86
+ response
87
+ ]);
88
+
89
+ } else if( plugin_action === 'activate' ) {
90
+
91
+ plugin_action = 'deactivate';
92
+ $this.data('plugin-action', 'deactivate');
93
+ $this.attr('data-plugin-action', 'deactivate');
94
+
95
+ if( $this.hasClass('button') ) {
96
+ $this.removeClass('button-primary').addClass('button-default');
97
+ }
98
+
99
+ $.wfactory_444.hooks.run('core/components/pre_activate', [
100
+ $this,
101
+ data,
102
+ response
103
+ ]);
104
+
105
+ /**
106
+ * Send an additional request for activation of the component, during activation
107
+ * perform the action wbcr/clearfy/activated_component.
108
+ *
109
+ * Basically, this is necessary to prepare the plugin to work, write the necessary rows and
110
+ * tables in the database, rewriting permalinks, checking conflicts, etc.
111
+ */
112
+ if( storage === 'freemius' || storage === 'internal' ) {
113
+ self.sendRequestToComponentActivationPrepare($this, data, button_i18n);
114
+ return;
115
+ }
116
+
117
+ } else if( plugin_action === 'deactivate' ) {
118
+
119
+ plugin_action = 'activate';
120
+ $this.data('plugin-action', 'activate');
121
+ $this.attr('data-plugin-action', 'activate');
122
+
123
+ if( $this.hasClass('button') ) {
124
+ $this.removeClass('button-default').addClass('button-primary');
125
+ }
126
+
127
+ $.wfactory_444.hooks.run('core/components/deactivated', [
128
+ $this,
129
+ data,
130
+ response
131
+ ]);
132
+
133
+ } else if( plugin_action === 'delete' ) {
134
+
135
+ plugin_action = 'install';
136
+
137
+ $.wfactory_444.hooks.run('core/components/deleted', [$this, data, response]);
138
+ }
139
+ } else {
140
+ if( plugin_action === 'install' ) {
141
+ $this.removeClass('updating-message');
142
+ }
143
+ }
144
+
145
+ $this.text(button_i18n[plugin_action]);
146
+
147
+ $.wfactory_444.hooks.run('core/components/updated', [$this, data, response]);
148
+ });
149
+
150
+ return false;
151
+ });
152
+ },
153
+
154
+ /**
155
+ * Отправляет дополнительный запрос на активацию компонента, во время активации
156
+ * выполняет хук wbcr/clearfy/activated_component.
157
+ *
158
+ * В принципе, это необходимо для подготовки плагина к работе, записи необходимых строк и таблиц в
159
+ * базу данных, перепись постоянных ссылок, проверка конфликтов и т.д.
160
+ *
161
+ * @param {object} componentButton
162
+ * @param {object} sendData
163
+ * @param {object} button_i18n
164
+ */
165
+ sendRequestToComponentActivationPrepare: function(componentButton, sendData, button_i18n) {
166
+ var self = this;
167
+
168
+ componentButton.addClass('button-primary')
169
+ .addClass('disabled')
170
+ .text(button_i18n.preparation);
171
+
172
+ sendData.action = 'wfactory-444-prepare-component';
173
+
174
+ this.sendRequest(sendData, function(response) {
175
+ componentButton.removeClass('disabled');
176
+
177
+ if( !response || !response.success ) {
178
+ componentButton.text(button_i18n['activate']);
179
+
180
+ $.wfactory_444.hooks.run('core/components/activation_error', [
181
+ componentButton,
182
+ sendData,
183
+ response
184
+ ]);
185
+ return;
186
+ }
187
+
188
+ componentButton.removeClass('button-primary').text(button_i18n['deactivate']);
189
+
190
+ $.wfactory_444.hooks.run('core/components/activated', [
191
+ componentButton,
192
+ sendData,
193
+ response
194
+ ]);
195
+ });
196
+ },
197
+
198
+ sendRequest: function(data, callback) {
199
+ var self = this;
200
+
201
+ $.ajax(ajaxurl, {
202
+ type: 'post',
203
+ dataType: 'json',
204
+ data: data,
205
+ success: function(data, textStatus, jqXHR) {
206
+ callback && callback(data);
207
+ },
208
+ error: function(xhr, ajaxOptions, thrownError) {
209
+ console.log(xhr.status);
210
+ console.log(xhr.responseText);
211
+ console.log(thrownError);
212
+
213
+ $.wfactory_444.hooks.run('core/components/ajax_error', [
214
+ xhr,
215
+ ajaxOptions,
216
+ thrownError
217
+ ]);
218
+ }
219
+ });
220
+ }
221
+ };
222
+
223
+ $(document).ready(function() {
224
+ externalAddon.init();
225
+ });
226
+
227
+ })(jQuery);
libs/factory/core/assets/js/core-general.js ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ *
3
+ * @author Webcraftic <wordpress.webraftic@gmail.com>
4
+ * @copyright (c) 02.09.2020, Webcraftic
5
+ * @version 1.0
6
+ */
7
+
8
+ (function($) {
9
+ 'use strict';
10
+
11
+ if( !$.wfactory_444 ) {
12
+ $.wfactory_444 = {};
13
+ }
14
+
15
+ $.wfactory_444.filters = $.wfactory_444.filters || {
16
+
17
+ /**
18
+ * A set of registered filters.
19
+ */
20
+ _items: {},
21
+
22
+ /**
23
+ * A set of priorities of registered filters.
24
+ */
25
+ _priorities: {},
26
+
27
+ /**
28
+ * Applies filters to a given input value.
29
+ */
30
+ run: function(filterName, args) {
31
+ var input = args && args.length > 0 ? args[0] : null;
32
+ if( !this._items[filterName] ) {
33
+ return input;
34
+ }
35
+
36
+ for( var i in this._priorities[filterName] ) {
37
+ if( !this._priorities[filterName].hasOwnProperty(i) ) {
38
+ continue;
39
+ }
40
+
41
+ var priority = this._priorities[filterName][i];
42
+
43
+ for( var k = 0; k < this._items[filterName][priority].length; k++ ) {
44
+ var f = this._items[filterName][priority][k];
45
+ input = f.apply(f, args);
46
+ }
47
+ }
48
+
49
+ return input;
50
+ },
51
+
52
+ /**
53
+ * Registers a new filter.
54
+ */
55
+ add: function(filterName, callback, priority) {
56
+
57
+ if( !priority ) {
58
+ priority = 10;
59
+ }
60
+
61
+ if( !this._items[filterName] ) {
62
+ this._items[filterName] = {};
63
+ }
64
+ if( !this._items[filterName][priority] ) {
65
+ this._items[filterName][priority] = [];
66
+ }
67
+ this._items[filterName][priority].push(callback);
68
+
69
+ if( !this._priorities[filterName] ) {
70
+ this._priorities[filterName] = [];
71
+ }
72
+ if( $.inArray(priority, this._priorities[filterName]) === -1 ) {
73
+ this._priorities[filterName].push(priority);
74
+ }
75
+
76
+ this._priorities[filterName].sort(function(a, b) {
77
+ return a - b;
78
+ });
79
+ }
80
+ };
81
+
82
+ $.wfactory_444.hooks = $.wfactory_444.hooks || {
83
+
84
+ /**
85
+ * Applies filters to a given input value.
86
+ */
87
+ run: function(filterName, args) {
88
+ $.wfactory_444.filters.run(filterName, args);
89
+ },
90
+
91
+ /**
92
+ * Registers a new filter.
93
+ */
94
+ add: function(filterName, callback, priority) {
95
+ $.wfactory_444.filters.add(filterName, callback, priority);
96
+ }
97
+ };
98
+
99
+ })(jQuery);
libs/factory/core/boot.php CHANGED
@@ -14,49 +14,60 @@ if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
 
17
- if( defined('FACTORY_433_LOADED') ) {
18
  return;
19
  }
20
 
21
- define('FACTORY_433_LOADED', true);
22
 
23
- define('FACTORY_433_VERSION', '4.3.3');
24
 
25
- define('FACTORY_433_DIR', dirname(__FILE__));
26
- define('FACTORY_433_URL', plugins_url(null, __FILE__));
27
 
28
- load_plugin_textdomain('wbcr_factory_433', false, dirname(plugin_basename(__FILE__)) . '/langs');
29
 
30
  #comp merge
31
- require_once(FACTORY_433_DIR . '/includes/functions.php');
32
 
33
- require_once(FACTORY_433_DIR . '/includes/entities/class-factory-paths.php');
34
- require_once(FACTORY_433_DIR . '/includes/entities/class-factory-support.php');
35
 
36
- require_once(FACTORY_433_DIR . '/includes/class-factory-requests.php');
37
- require_once(FACTORY_433_DIR . '/includes/class-factory-options.php');
38
- require_once(FACTORY_433_DIR . '/includes/class-factory-plugin-base.php');
39
- require_once(FACTORY_433_DIR . '/includes/class-factory-migrations.php');
40
- require_once(FACTORY_433_DIR . '/includes/class-factory-notices.php');
41
 
42
  // ASSETS
43
- require_once(FACTORY_433_DIR . '/includes/assets-managment/class-factory-assets-list.php');
44
- require_once(FACTORY_433_DIR . '/includes/assets-managment/class-factory-script-list.php');
45
- require_once(FACTORY_433_DIR . '/includes/assets-managment/class-factory-style-list.php');
46
 
47
  // PREMIUM
48
- require_once(FACTORY_433_DIR . '/includes/premium/class-factory-license-interface.php');
49
- require_once(FACTORY_433_DIR . '/includes/premium/class-factory-provider-abstract.php');
50
- require_once(FACTORY_433_DIR . '/includes/premium/class-factory-manager.php');
51
 
52
  // UPDATES
53
- require_once(FACTORY_433_DIR . '/includes/updates/repositories/class-factory-repository-abstract.php');
54
- require_once(FACTORY_433_DIR . '/includes/updates/repositories/class-factory-wordpress.php');
55
- require_once(FACTORY_433_DIR . '/includes/updates/class-factory-upgrader.php');
56
- require_once(FACTORY_433_DIR . '/includes/updates/class-factory-premium-upgrader.php');
 
57
 
58
- require_once(FACTORY_433_DIR . '/includes/class-factory-plugin-abstract.php');
59
 
60
- require_once(FACTORY_433_DIR . '/includes/activation/class-factory-activator.php');
61
- require_once(FACTORY_433_DIR . '/includes/activation/class-factory-update.php');
62
  #endcomp
 
 
 
 
 
 
 
 
 
 
14
  exit;
15
  }
16
 
17
+ if( defined('FACTORY_444_LOADED') ) {
18
  return;
19
  }
20
 
21
+ define('FACTORY_444_LOADED', true);
22
 
23
+ define('FACTORY_444_VERSION', '4.4.4');
24
 
25
+ define('FACTORY_444_DIR', dirname(__FILE__));
26
+ define('FACTORY_444_URL', plugins_url(null, __FILE__));
27
 
28
+ load_plugin_textdomain('wbcr_factory_444', false, dirname(plugin_basename(__FILE__)) . '/langs');
29
 
30
  #comp merge
31
+ require_once(FACTORY_444_DIR . '/includes/functions.php');
32
 
33
+ require_once(FACTORY_444_DIR . '/includes/entities/class-factory-paths.php');
34
+ require_once(FACTORY_444_DIR . '/includes/entities/class-factory-support.php');
35
 
36
+ require_once(FACTORY_444_DIR . '/includes/class-factory-requests.php');
37
+ require_once(FACTORY_444_DIR . '/includes/class-factory-options.php');
38
+ require_once(FACTORY_444_DIR . '/includes/class-factory-plugin-base.php');
39
+ require_once(FACTORY_444_DIR . '/includes/class-factory-migrations.php');
40
+ require_once(FACTORY_444_DIR . '/includes/class-factory-notices.php');
41
 
42
  // ASSETS
43
+ require_once(FACTORY_444_DIR . '/includes/assets-managment/class-factory-assets-list.php');
44
+ require_once(FACTORY_444_DIR . '/includes/assets-managment/class-factory-script-list.php');
45
+ require_once(FACTORY_444_DIR . '/includes/assets-managment/class-factory-style-list.php');
46
 
47
  // PREMIUM
48
+ require_once(FACTORY_444_DIR . '/includes/premium/class-factory-license-interface.php');
49
+ require_once(FACTORY_444_DIR . '/includes/premium/class-factory-provider-abstract.php');
50
+ require_once(FACTORY_444_DIR . '/includes/premium/class-factory-manager.php');
51
 
52
  // UPDATES
53
+ require_once(FACTORY_444_DIR . '/includes/updates/repositories/class-factory-repository-abstract.php');
54
+ require_once(FACTORY_444_DIR . '/includes/updates/repositories/class-factory-wordpress.php');
55
+ require_once(FACTORY_444_DIR . '/includes/updates/repositories/class-factory-github.php');
56
+ require_once(FACTORY_444_DIR . '/includes/updates/class-factory-upgrader.php');
57
+ require_once(FACTORY_444_DIR . '/includes/updates/class-factory-premium-upgrader.php');
58
 
59
+ require_once(FACTORY_444_DIR . '/includes/class-factory-plugin-abstract.php');
60
 
61
+ require_once(FACTORY_444_DIR . '/includes/activation/class-factory-activator.php');
62
+ require_once(FACTORY_444_DIR . '/includes/activation/class-factory-update.php');
63
  #endcomp
64
+
65
+ add_action('admin_enqueue_scripts', function () {
66
+ wp_enqueue_script('wfactory-444-core-general', FACTORY_444_URL . '/assets/js/core-general.js', [
67
+ 'jquery'
68
+ ], FACTORY_444_VERSION);
69
+ wp_enqueue_script('wfactory-444-core-components', FACTORY_444_URL . '/assets/js/core-components.js', [
70
+ 'jquery',
71
+ 'wfactory-444-core-general'
72
+ ], FACTORY_444_VERSION);
73
+ });
libs/factory/core/includes/activation/class-factory-activator.php CHANGED
@@ -19,16 +19,16 @@ if ( ! defined( 'ABSPATH' ) ) {
19
  *
20
  * @since 1.0.0
21
  */
22
- abstract class Wbcr_Factory433_Activator {
23
 
24
  /**
25
  * Curent plugin.
26
  *
27
- * @var Wbcr_Factory433_Plugin
28
  */
29
  public $plugin;
30
 
31
- public function __construct( Wbcr_Factory433_Plugin $plugin ) {
32
  $this->plugin = $plugin;
33
  }
34
 
19
  *
20
  * @since 1.0.0
21
  */
22
+ abstract class Wbcr_Factory444_Activator {
23
 
24
  /**
25
  * Curent plugin.
26
  *
27
+ * @var Wbcr_Factory444_Plugin
28
  */
29
  public $plugin;
30
 
31
+ public function __construct( Wbcr_Factory444_Plugin $plugin ) {
32
  $this->plugin = $plugin;
33
  }
34
 
libs/factory/core/includes/activation/class-factory-update.php CHANGED
@@ -20,16 +20,16 @@ if ( ! defined( 'ABSPATH' ) ) {
20
  *
21
  * @since 1.0.0
22
  */
23
- abstract class Wbcr_Factory433_Update {
24
 
25
  /**
26
  * Current plugin
27
  *
28
- * @var Wbcr_Factory433_Plugin
29
  */
30
  var $plugin;
31
 
32
- public function __construct( Wbcr_Factory433_Plugin $plugin ) {
33
  $this->plugin = $plugin;
34
  }
35
 
20
  *
21
  * @since 1.0.0
22
  */
23
+ abstract class Wbcr_Factory444_Update {
24
 
25
  /**
26
  * Current plugin
27
  *
28
+ * @var Wbcr_Factory444_Plugin
29
  */
30
  var $plugin;
31
 
32
+ public function __construct( Wbcr_Factory444_Plugin $plugin ) {
33
  $this->plugin = $plugin;
34
  }
35
 
libs/factory/core/includes/assets-managment/class-factory-assets-list.php CHANGED
@@ -19,7 +19,7 @@ if ( ! defined( 'ABSPATH' ) ) {
19
  *
20
  * @since 1.0.0
21
  */
22
- class Wbcr_Factory433_AssetsList {
23
 
24
  protected $all = [];
25
  public $header_place = [];
@@ -29,15 +29,15 @@ class Wbcr_Factory433_AssetsList {
29
  protected $default_place;
30
 
31
  /**
32
- * @var Wbcr_Factory433_Plugin
33
  */
34
  protected $plugin;
35
 
36
  /**
37
- * @param Wbcr_Factory433_Plugin $plugin
38
  * @param bool $defaultIsFooter
39
  */
40
- public function __construct( Wbcr_Factory433_Plugin $plugin, $defaultIsFooter = true ) {
41
  $this->plugin = $plugin;
42
 
43
  if ( $defaultIsFooter ) {
19
  *
20
  * @since 1.0.0
21
  */
22
+ class Wbcr_Factory444_AssetsList {
23
 
24
  protected $all = [];
25
  public $header_place = [];
29
  protected $default_place;
30
 
31
  /**
32
+ * @var Wbcr_Factory444_Plugin
33
  */
34
  protected $plugin;
35
 
36
  /**
37
+ * @param Wbcr_Factory444_Plugin $plugin
38
  * @param bool $defaultIsFooter
39
  */
40
+ public function __construct( Wbcr_Factory444_Plugin $plugin, $defaultIsFooter = true ) {
41
  $this->plugin = $plugin;
42
 
43
  if ( $defaultIsFooter ) {
libs/factory/core/includes/assets-managment/class-factory-script-list.php CHANGED
@@ -20,7 +20,7 @@ if ( ! defined( 'ABSPATH' ) ) {
20
  *
21
  * @since 1.0.0
22
  */
23
- class Wbcr_Factory433_ScriptList extends Wbcr_Factory433_AssetsList {
24
 
25
  public $localize_data = [];
26
  public $use_ajax = false;
@@ -149,7 +149,7 @@ class Wbcr_Factory433_ScriptList extends Wbcr_Factory433_AssetsList {
149
  * @param string $varname
150
  * @param array $data
151
  *
152
- * @return Wbcr_Factory433_ScriptList $this
153
  */
154
  public function localize( $varname, $data ) {
155
  $bindTo = count( $this->all ) == 0 ? null : end( $this->all );
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_Factory444_ScriptList extends Wbcr_Factory444_AssetsList {
24
 
25
  public $localize_data = [];
26
  public $use_ajax = false;
149
  * @param string $varname
150
  * @param array $data
151
  *
152
+ * @return Wbcr_Factory444_ScriptList $this
153
  */
154
  public function localize( $varname, $data ) {
155
  $bindTo = count( $this->all ) == 0 ? null : end( $this->all );
libs/factory/core/includes/assets-managment/class-factory-style-list.php CHANGED
@@ -20,7 +20,7 @@ if ( ! defined( 'ABSPATH' ) ) {
20
  *
21
  * @since 1.0.0
22
  */
23
- class Wbcr_Factory433_StyleList extends Wbcr_Factory433_AssetsList {
24
 
25
  /**
26
  * Adds new items to the collection (default place).
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_Factory444_StyleList extends Wbcr_Factory444_AssetsList {
24
 
25
  /**
26
  * Adds new items to the collection (default place).
libs/factory/core/includes/class-check-compatibility.php CHANGED
@@ -82,12 +82,12 @@ if ( ! class_exists( 'Wbcr_Factory_Compatibility' ) ) {
82
 
83
  if ( ! $this->isPhpCompatibility() ) {
84
  $has_one = true;
85
- $notice_text .= '- ' . sprintf( __( 'You need to update the PHP version to %s or higher!', 'wbcr_factory_433' ), $this->required_php_version ) . '<br>';
86
  }
87
 
88
  if ( ! $this->isWpCompatibility() ) {
89
  $has_one = true;
90
- $notice_text .= '- ' . sprintf( __( 'You need to update WordPress to %s or higher!', 'wbcr_factory_433' ), $this->required_wp_version ) . '<br>';
91
  }
92
 
93
  if ( $has_one ) {
82
 
83
  if ( ! $this->isPhpCompatibility() ) {
84
  $has_one = true;
85
+ $notice_text .= '- ' . sprintf( __( 'You need to update the PHP version to %s or higher!', 'wbcr_factory_444' ), $this->required_php_version ) . '<br>';
86
  }
87
 
88
  if ( ! $this->isWpCompatibility() ) {
89
  $has_one = true;
90
+ $notice_text .= '- ' . sprintf( __( 'You need to update WordPress to %s or higher!', 'wbcr_factory_444' ), $this->required_wp_version ) . '<br>';
91
  }
92
 
93
  if ( $has_one ) {
libs/factory/core/includes/class-factory-migrations.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_433;
4
 
5
  use Exception;
6
- use Wbcr_Factory433_Plugin;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
@@ -35,11 +35,11 @@ class Migrations {
35
  /**
36
  * Migrations constructor.
37
  *
38
- * @param Wbcr_Factory433_Plugin $plugin
39
  *
40
  * @throws Exception
41
  */
42
- public function __construct( Wbcr_Factory433_Plugin $plugin ) {
43
 
44
  $this->plugin = $plugin;
45
  $plugin_name = $plugin->getPluginName();
@@ -129,14 +129,14 @@ class Migrations {
129
  $fix_migration_error_url = add_query_arg( 'wbcr_factory_fix_migration_error', 1 );
130
 
131
  $notice_text = $migration_error_text;
132
- $notice_text .= "<br><br><a href='{$fix_migration_error_url}' class='button button-default'>" . __( 'I fixed, confirm migration', 'wbcr_factory_433' ) . "</a>";
133
 
134
  $notices[] = [
135
  'id' => 'migration_debug_bar',
136
  'type' => 'error',
137
  'dismissible' => false,
138
  'dismiss_expires' => 0,
139
- 'text' => '<p><b>' . $this->plugin->getPluginTitle() . ' ' . __( 'migration error', 'wbcr_factory_433' ) . '</b><br>' . $notice_text . '</p>'
140
  ];
141
 
142
  return $notices;
@@ -162,19 +162,19 @@ class Migrations {
162
 
163
  $migrate_url = add_query_arg( 'wbcr_factory_test_migration', 1 );
164
 
165
- $notice_text = __( "Plugin activated:", "wbcr_factory_433" ) . ' ' . date( "Y-m-d H:i:s", $this->get_plugin_activated_time() ) . "<br>";
166
 
167
- $notice_text .= __( "Old plugin version (debug):", "wbcr_factory_433" ) . ' ' . $this->get_old_plugin_version() . "<br>";
168
- $notice_text .= __( "Current plugin version:", "wbcr_factory_433" ) . ' ' . $this->get_current_plugin_version() . "<br>";
169
- $notice_text .= __( "Need migration:", "wbcr_factory_433" ) . ' ' . ( $this->need_migration() ? "true" : "false" ) . "<br><br>";
170
- $notice_text .= "<a href='{$migrate_url}' class='button button-default'>" . __( "Migrate now", "wbcr_factory_433" ) . "</a><br>";
171
 
172
  $notices[] = [
173
  'id' => 'migration_debug_bar',
174
  'type' => 'warning',
175
  'dismissible' => false,
176
  'dismiss_expires' => 0,
177
- 'text' => '<p><b style="color:red;">' . $this->plugin->getPluginTitle() . ' ' . __( 'migrations DEBUG bar', 'wbcr_factory_433' ) . '</b><br>' . $notice_text . '</p>'
178
  ];
179
 
180
  return $notices;
@@ -505,7 +505,7 @@ class Migrations {
505
  $classes = [];
506
 
507
  if ( ! function_exists( 'token_get_all' ) ) {
508
- throw new Exception( __( 'There is no PHP Tokenizer extension installed on your server, you cannot use the token_get_all function.', 'wbcr_factory_433' ) );
509
  }
510
 
511
  $tokens = token_get_all( $phpCode );
1
  <?php
2
 
3
+ namespace WBCR\Factory_444;
4
 
5
  use Exception;
6
+ use Wbcr_Factory444_Plugin;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
35
  /**
36
  * Migrations constructor.
37
  *
38
+ * @param Wbcr_Factory444_Plugin $plugin
39
  *
40
  * @throws Exception
41
  */
42
+ public function __construct( Wbcr_Factory444_Plugin $plugin ) {
43
 
44
  $this->plugin = $plugin;
45
  $plugin_name = $plugin->getPluginName();
129
  $fix_migration_error_url = add_query_arg( 'wbcr_factory_fix_migration_error', 1 );
130
 
131
  $notice_text = $migration_error_text;
132
+ $notice_text .= "<br><br><a href='{$fix_migration_error_url}' class='button button-default'>" . __( 'I fixed, confirm migration', 'wbcr_factory_444' ) . "</a>";
133
 
134
  $notices[] = [
135
  'id' => 'migration_debug_bar',
136
  'type' => 'error',
137
  'dismissible' => false,
138
  'dismiss_expires' => 0,
139
+ 'text' => '<p><b>' . $this->plugin->getPluginTitle() . ' ' . __( 'migration error', 'wbcr_factory_444' ) . '</b><br>' . $notice_text . '</p>'
140
  ];
141
 
142
  return $notices;
162
 
163
  $migrate_url = add_query_arg( 'wbcr_factory_test_migration', 1 );
164
 
165
+ $notice_text = __( "Plugin activated:", "wbcr_factory_444" ) . ' ' . date( "Y-m-d H:i:s", $this->get_plugin_activated_time() ) . "<br>";
166
 
167
+ $notice_text .= __( "Old plugin version (debug):", "wbcr_factory_444" ) . ' ' . $this->get_old_plugin_version() . "<br>";
168
+ $notice_text .= __( "Current plugin version:", "wbcr_factory_444" ) . ' ' . $this->get_current_plugin_version() . "<br>";
169
+ $notice_text .= __( "Need migration:", "wbcr_factory_444" ) . ' ' . ( $this->need_migration() ? "true" : "false" ) . "<br><br>";
170
+ $notice_text .= "<a href='{$migrate_url}' class='button button-default'>" . __( "Migrate now", "wbcr_factory_444" ) . "</a><br>";
171
 
172
  $notices[] = [
173
  'id' => 'migration_debug_bar',
174
  'type' => 'warning',
175
  'dismissible' => false,
176
  'dismiss_expires' => 0,
177
+ 'text' => '<p><b style="color:red;">' . $this->plugin->getPluginTitle() . ' ' . __( 'migrations DEBUG bar', 'wbcr_factory_444' ) . '</b><br>' . $notice_text . '</p>'
178
  ];
179
 
180
  return $notices;
505
  $classes = [];
506
 
507
  if ( ! function_exists( 'token_get_all' ) ) {
508
+ throw new Exception( __( 'There is no PHP Tokenizer extension installed on your server, you cannot use the token_get_all function.', 'wbcr_factory_444' ) );
509
  }
510
 
511
  $tokens = token_get_all( $phpCode );
libs/factory/core/includes/class-factory-notices.php CHANGED
@@ -1,8 +1,8 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_433;
4
 
5
- use Wbcr_Factory433_Plugin;
6
 
7
  // Exit if accessed directly
8
  if( !defined('ABSPATH') ) {
@@ -27,7 +27,7 @@ if( !defined('ABSPATH') ) {
27
  class Notices {
28
 
29
  /**
30
- * @var Wbcr_Factory433_Plugin
31
  */
32
  protected $plugin;
33
  /**
@@ -58,7 +58,7 @@ class Notices {
58
  /**
59
  * Инициализируем уведомлений сразу после загрузки модуля уведомлений
60
  *
61
- * @param Wbcr_Factory433_Plugin $plugin
62
  */
63
  public function __construct($plugin)
64
  {
@@ -86,7 +86,7 @@ class Notices {
86
  public function currentScreenAction()
87
  {
88
  /**
89
- * @since 2.1.2 - Добавлен, модуль factory_notices_000 был удален. Поэтому в этому хуке мы заменили префикс на factory_433
90
  */
91
  $this->notices = apply_filters('wbcr/factory/admin_notices', $this->notices, $this->plugin->getPluginName());
92
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_444;
4
 
5
+ use Wbcr_Factory444_Plugin;
6
 
7
  // Exit if accessed directly
8
  if( !defined('ABSPATH') ) {
27
  class Notices {
28
 
29
  /**
30
+ * @var Wbcr_Factory444_Plugin
31
  */
32
  protected $plugin;
33
  /**
58
  /**
59
  * Инициализируем уведомлений сразу после загрузки модуля уведомлений
60
  *
61
+ * @param Wbcr_Factory444_Plugin $plugin
62
  */
63
  public function __construct($plugin)
64
  {
86
  public function currentScreenAction()
87
  {
88
  /**
89
+ * @since 2.1.2 - Добавлен, модуль factory_notices_000 был удален. Поэтому в этому хуке мы заменили префикс на factory_444
90
  */
91
  $this->notices = apply_filters('wbcr/factory/admin_notices', $this->notices, $this->plugin->getPluginName());
92
 
libs/factory/core/includes/class-factory-options.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_433;
4
 
5
  // Exit if accessed directly
6
  use Exception;
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  }
11
 
12
  /**
13
- * Трейт используется для расширения базового класса плагина Wbcr_Factory433_Base, позволяя работать с опциями плагина.
14
  *
15
  * Этот трейт является оберткой для Wordpress функций get_option, get_site_option, update_option, update_site_option,
16
  * delete_option, delete_site_option. Основная задача была получать, обновлять, удалять опции без использования префиксов,
1
  <?php
2
 
3
+ namespace WBCR\Factory_444;
4
 
5
  // Exit if accessed directly
6
  use Exception;
10
  }
11
 
12
  /**
13
+ * Трейт используется для расширения базового класса плагина Wbcr_Factory444_Base, позволяя работать с опциями плагина.
14
  *
15
  * Этот трейт является оберткой для Wordpress функций get_option, get_site_option, update_option, update_site_option,
16
  * delete_option, delete_site_option. Основная задача была получать, обновлять, удалять опции без использования префиксов,
libs/factory/core/includes/class-factory-plugin-abstract.php CHANGED
@@ -24,42 +24,42 @@ if( !defined('ABSPATH') ) {
24
  * @package factory-core
25
  *
26
  */
27
- abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
28
 
29
  /**
30
- * Instance class Wbcr_Factory433_Request, required manages http requests
31
  *
32
  * @see https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/390561806
33
- * @var Wbcr_Factory433_Request
34
  */
35
  public $request;
36
 
37
  /**
38
  * @see https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/393936924
39
- * @var \WBCR\Factory_433\Premium\Provider
40
  */
41
  public $premium;
42
 
43
  /**
44
  * The Bootstrap Manager class
45
  *
46
- * @var Wbcr_FactoryBootstrap433_Manager
47
  */
48
  public $bootstrap;
49
 
50
  /**
51
  * The Bootstrap Manager class
52
  *
53
- * @var Wbcr_FactoryForms430_Manager
54
  */
55
  public $forms;
56
 
57
  /**
58
- * Простой массив со списком зарегистрированных классов унаследованных от Wbcr_Factory433_Activator.
59
  * Классы активации используются для упаковки набора функций, которые нужно выполнить во время
60
  * активации плагина.
61
  *
62
- * @var array[] Wbcr_Factory433_Activator
63
  */
64
  protected $activator_class = [];
65
 
@@ -86,10 +86,19 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
86
  *
87
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
88
  * @since 4.1.9
89
- * @var WBCR\Factory_Adverts_112\Base
90
  */
91
  private $adverts;
92
 
 
 
 
 
 
 
 
 
 
93
  /**
94
  * Инициализирует компоненты фреймворка и плагина.
95
  *
@@ -106,8 +115,8 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
106
 
107
  parent::__construct($plugin_path, $data);
108
 
109
- $this->request = new Wbcr_Factory433_Request();
110
- //$this->route = new Wbcr_Factory433_Route();
111
 
112
  // INIT PLUGIN FRAMEWORK MODULES
113
  // Framework modules should always be loaded first,
@@ -133,15 +142,53 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
133
 
134
  // INIT PLUGIN COMPONENTS
135
  $this->init_plugin_components();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
136
  }
137
 
 
 
 
 
 
 
 
138
  /**
139
  * Устанавливает класс менеджер, которому плагин будет делегировать подключение ресурсов (картинок,
140
  * скриптов, стилей) фреймворка.
141
  *
142
- * @param Wbcr_FactoryBootstrap433_Manager $bootstrap
143
  */
144
- public function setBootstap(Wbcr_FactoryBootstrap433_Manager $bootstrap)
145
  {
146
  $this->bootstrap = $bootstrap;
147
  }
@@ -149,9 +196,9 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
149
  /**
150
  * Устанавливает класс менеджер, которому будет делегирована работа с html формами фреймворка.
151
  *
152
- * @param Wbcr_FactoryForms430_Manager $forms
153
  */
154
- public function setForms(Wbcr_FactoryForms430_Manager $forms)
155
  {
156
  $this->forms = $forms;
157
  }
@@ -169,6 +216,22 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
169
  }
170
  }
171
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
172
  /**
173
  * Устанавливает класс провайдера лицензий
174
  *
@@ -183,8 +246,8 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
183
  */
184
  public function set_license_provider($name, $class_name)
185
  {
186
- if( !isset(WBCR\Factory_433\Premium\Manager::$providers[$name]) ) {
187
- WBCR\Factory_433\Premium\Manager::$providers[$name] = $class_name;
188
  }
189
  }
190
 
@@ -202,8 +265,8 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
202
  */
203
  public function set_update_repository($name, $class_name)
204
  {
205
- if( !isset(WBCR\Factory_433\Updates\Upgrader::$repositories[$name]) ) {
206
- WBCR\Factory_433\Updates\Upgrader::$repositories[$name] = $class_name;
207
  }
208
  }
209
 
@@ -213,7 +276,7 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
213
  * Доступен глобально через метод app(), чаще всего используется для создания точек для ротации
214
  * рекламных объявлений.
215
  *
216
- * @return \WBCR\Factory_Adverts_112\Base
217
  * @since 1.1
218
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
219
  */
@@ -249,18 +312,18 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
249
 
250
  public function newScriptList()
251
  {
252
- return new Wbcr_Factory433_ScriptList($this);
253
  }
254
 
255
  public function newStyleList()
256
  {
257
- return new Wbcr_Factory433_StyleList($this);
258
  }
259
 
260
  /**
261
  * Все страницы плагина создаются через специальную обертку, за которую отвечает модуль
262
  * фреймворка pages. Разработчик создает собственный класс, унаследованный от
263
- * Wbcr_FactoryPages432_AdminPage, а затем регистрирует его через этот метод.
264
  * Метод выполняет подключение класса страницы и регистрирует его в модуле фреймворка
265
  * pages.
266
  *
@@ -270,7 +333,7 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
270
  * @see https://webcraftic.atlassian.net/wiki/spaces/CNCFC/pages/222887949 - документация по созданию страниц
271
  *
272
  * @param string $class_name Имя регистрируемого класса страницы. Пример: WCL_Page_Name.
273
- * Регистрируемый класс должен быть унаследован от класса Wbcr_FactoryPages432_AdminPage.
274
  * @param string $file_path Абсолютный путь к файлу с классом страницы.
275
  *
276
  * @throws Exception
@@ -292,11 +355,11 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
292
  throw new Exception('A class with this name {' . $class_name . '} does not exist.');
293
  }
294
 
295
- if( !class_exists('Wbcr_FactoryPages432') ) {
296
- throw new Exception('The factory_pages_432 module is not included.');
297
  }
298
 
299
- Wbcr_FactoryPages432::register($this, $class_name);
300
  }
301
 
302
  /**
@@ -346,16 +409,16 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
346
  /**
347
  * @since 4.1.1 - change hook name
348
  */
349
- if( apply_filters("wbcr/factory_433/cancel_plugin_activation_{$this->plugin_name}", false) ) {
350
  return;
351
  }
352
 
353
  /**
354
- * wbcr_factory_433_plugin_activation
355
  *
356
  * @since 4.1.1 - deprecated
357
  */
358
- wbcr_factory_433_do_action_deprecated('wbcr_factory_433_plugin_activation', [
359
  $this
360
  ], '4.1.1', "wbcr/factory/plugin_activation");
361
 
@@ -364,7 +427,7 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
364
  *
365
  * @since 4.1.2 - deprecated
366
  */
367
- wbcr_factory_433_do_action_deprecated('wbcr/factory/plugin_activation', [
368
  $this
369
  ], '4.1.2', "wbcr/factory/before_plugin_activation");
370
 
@@ -380,16 +443,16 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
380
  *
381
  * @since 4.1.2 - deprecated
382
  */
383
- wbcr_factory_433_do_action_deprecated("wbcr/factory/plugin_{$this->plugin_name}_activation", [
384
  $this
385
  ], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_activation");
386
 
387
  /**
388
- * wbcr_factory_433_plugin_activation_' . $this->plugin_name
389
  *
390
  * @since 4.1.1 - deprecated
391
  */
392
- wbcr_factory_433_do_action_deprecated('wbcr_factory_433_plugin_activation_' . $this->plugin_name, [
393
  $this
394
  ], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_activation");
395
 
@@ -430,16 +493,16 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
430
  /**
431
  * @since 4.1.1 - change hook name
432
  */
433
- if( apply_filters("wbcr/factory_433/cancel_plugin_deactivation_{$this->plugin_name}", false) ) {
434
  return;
435
  }
436
 
437
  /**
438
- * wbcr_factory_433_plugin_deactivation
439
  *
440
  * @since 4.1.1 - deprecated
441
  */
442
- wbcr_factory_433_do_action_deprecated('wbcr_factory_433_plugin_deactivation', [
443
  $this
444
  ], '4.1.1', "wbcr/factory/plugin_deactivation");
445
 
@@ -448,7 +511,7 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
448
  *
449
  * @since 4.1.2 - deprecated
450
  */
451
- wbcr_factory_433_do_action_deprecated('wbcr/factory/plugin_deactivation', [
452
  $this
453
  ], '4.1.2', "wbcr/factory/before_plugin_deactivation");
454
 
@@ -460,11 +523,11 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
460
  do_action('wbcr/factory/plugin_deactivation', $this);
461
 
462
  /**
463
- * wbcr_factory_433_plugin_deactivation_ . $this->plugin_name
464
  *
465
  * @since 4.1.1 - deprecated
466
  */
467
- wbcr_factory_433_do_action_deprecated('wbcr_factory_433_plugin_deactivation_' . $this->plugin_name, [
468
  $this
469
  ], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation");
470
 
@@ -473,7 +536,7 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
473
  *
474
  * @since 4.1.2 - deprecated
475
  */
476
- wbcr_factory_433_do_action_deprecated("wbcr/factory/plugin_{$this->plugin_name}_deactivation", [
477
  $this
478
  ], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation");
479
 
@@ -511,8 +574,8 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
511
  */
512
  public function getPluginPageUrl($page_id, $args = [])
513
  {
514
- if( !class_exists('Wbcr_FactoryPages432') ) {
515
- throw new Exception('The factory_pages_432 module is not included.');
516
  }
517
 
518
  if( !is_admin() ) {
@@ -521,7 +584,120 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
521
  return null;
522
  }
523
 
524
- return Wbcr_FactoryPages432::getPageUrl($this, $page_id, $args);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
525
  }
526
 
527
  /**
@@ -622,12 +798,12 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
622
  /**
623
  * @since 4.1.1 - deprecated
624
  */
625
- wbcr_factory_433_do_action_deprecated('wbcr_factory_433_core_modules_loaded-' . $this->plugin_name, [], '4.1.1', "wbcr/factory_433/modules_loaded-" . $this->plugin_name);
626
 
627
  /**
628
  * @since 4.1.1 - add
629
  */
630
- do_action('wbcr/factory_433/modules_loaded-' . $this->plugin_name);
631
  }
632
 
633
 
@@ -654,7 +830,7 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
654
  });
655
 
656
  if( is_admin() ) {
657
- add_filter('wbcr_factory_433_core_admin_allow_multisite', '__return_true');
658
 
659
  register_activation_hook($this->get_paths()->main_file, [$this, 'activation_hook']);
660
  register_deactivation_hook($this->get_paths()->main_file, [$this, 'deactivation_hook']);
@@ -670,7 +846,7 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
670
  */
671
  protected function init_plugin_migrations()
672
  {
673
- new WBCR\Factory_433\Migrations($this);
674
  }
675
 
676
  /**
@@ -681,7 +857,7 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
681
  */
682
  protected function init_plugin_notices()
683
  {
684
- new Wbcr\Factory_433\Notices($this);
685
  }
686
 
687
  /**
@@ -697,7 +873,7 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
697
  protected function init_plugin_updates()
698
  {
699
  if( $this->has_updates ) {
700
- new WBCR\Factory_433\Updates\Upgrader($this);
701
  }
702
  }
703
 
@@ -720,11 +896,11 @@ abstract class Wbcr_Factory433_Plugin extends Wbcr_Factory433_Base {
720
  }
721
 
722
  // Создаем экземляр премиум менеджера, мы сможем к нему обращаться глобально.
723
- $this->premium = WBCR\Factory_433\Premium\Manager::instance($this, $this->license_settings);
724
 
725
  // Подключаем премиум апгрейдер
726
  if( isset($this->license_settings['has_updates']) && $this->license_settings['has_updates'] ) {
727
- new WBCR\Factory_433\Updates\Premium_Upgrader($this);
728
  }
729
  }
730
  }
24
  * @package factory-core
25
  *
26
  */
27
+ abstract class Wbcr_Factory444_Plugin extends Wbcr_Factory444_Base {
28
 
29
  /**
30
+ * Instance class Wbcr_Factory444_Request, required manages http requests
31
  *
32
  * @see https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/390561806
33
+ * @var Wbcr_Factory444_Request
34
  */
35
  public $request;
36
 
37
  /**
38
  * @see https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/393936924
39
+ * @var \WBCR\Factory_444\Premium\Provider
40
  */
41
  public $premium;
42
 
43
  /**
44
  * The Bootstrap Manager class
45
  *
46
+ * @var Wbcr_FactoryBootstrap444_Manager
47
  */
48
  public $bootstrap;
49
 
50
  /**
51
  * The Bootstrap Manager class
52
  *
53
+ * @var Wbcr_FactoryForms441_Manager
54
  */
55
  public $forms;
56
 
57
  /**
58
+ * Простой массив со списком зарегистрированных классов унаследованных от Wbcr_Factory444_Activator.
59
  * Классы активации используются для упаковки набора функций, которые нужно выполнить во время
60
  * активации плагина.
61
  *
62
+ * @var array[] Wbcr_Factory444_Activator
63
  */
64
  protected $activator_class = [];
65
 
86
  *
87
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
88
  * @since 4.1.9
89
+ * @var WBCR\Factory_Adverts_122\Base
90
  */
91
  private $adverts;
92
 
93
+ /**
94
+ * The Logger class
95
+ *
96
+ * @author Artem Prihodko <webtemyk@yandex.ru>
97
+ * @since 4.3.7
98
+ * @var WBCR\Factory_Logger_000\Logger
99
+ */
100
+ public $logger;
101
+
102
  /**
103
  * Инициализирует компоненты фреймворка и плагина.
104
  *
115
 
116
  parent::__construct($plugin_path, $data);
117
 
118
+ $this->request = new Wbcr_Factory444_Request();
119
+ //$this->route = new Wbcr_Factory444_Route();
120
 
121
  // INIT PLUGIN FRAMEWORK MODULES
122
  // Framework modules should always be loaded first,
142
 
143
  // INIT PLUGIN COMPONENTS
144
  $this->init_plugin_components();
145
+
146
+ if( wp_doing_ajax() && isset($_REQUEST['action']) ) {
147
+ if( "wfactory-444-intall-component" == $_REQUEST['action'] ) {
148
+ add_action('wp_ajax_wfactory-444-intall-component', [$this, 'ajax_handler_install_components']);
149
+ }
150
+
151
+ if( "wfactory-444-prepare-component" == $_REQUEST['action'] ) {
152
+ add_action('wp_ajax_wfactory-444-prepare-component', [$this, 'ajax_handler_prepare_component']);
153
+ }
154
+ if( "wfactory-444-creativemotion-install-plugin" == $_REQUEST['action'] ) {
155
+ add_action('wp_ajax_wfactory-444-creativemotion-install-plugin', [
156
+ $this,
157
+ 'ajax_handler_install_creativemotion_plugins'
158
+ ]);
159
+ }
160
+ }
161
+ }
162
+
163
+ // Ajax Handlers
164
+ // --------------------------------------------------------
165
+
166
+ public function ajax_handler_install_components()
167
+ {
168
+ require_once FACTORY_444_DIR . '/ajax/install-addons.php';
169
+ wfactory_444_install_components($this);
170
+ }
171
+
172
+ public function ajax_handler_prepare_component()
173
+ {
174
+ require_once FACTORY_444_DIR . '/ajax/install-addons.php';
175
+ wfactory_444_prepare_component($this);
176
  }
177
 
178
+ public function ajax_handler_install_creativemotion_plugins()
179
+ {
180
+ require_once FACTORY_444_DIR . '/ajax/install-addons.php';
181
+ wfactory_444_creativemotion_install_plugin($this);
182
+ }
183
+ // --------------------------------------------------------
184
+
185
  /**
186
  * Устанавливает класс менеджер, которому плагин будет делегировать подключение ресурсов (картинок,
187
  * скриптов, стилей) фреймворка.
188
  *
189
+ * @param Wbcr_FactoryBootstrap444_Manager $bootstrap
190
  */
191
+ public function setBootstap(Wbcr_FactoryBootstrap444_Manager $bootstrap)
192
  {
193
  $this->bootstrap = $bootstrap;
194
  }
196
  /**
197
  * Устанавливает класс менеджер, которому будет делегирована работа с html формами фреймворка.
198
  *
199
+ * @param Wbcr_FactoryForms441_Manager $forms
200
  */
201
+ public function setForms(Wbcr_FactoryForms441_Manager $forms)
202
  {
203
  $this->forms = $forms;
204
  }
216
  }
217
  }
218
 
219
+ /**
220
+ * Устанавливает класс менеджер, которому будет делегирована работа с объявлениями в Wordpress
221
+ *
222
+ * @param string $class_name Logger class name
223
+ * @param array $settings Logger settings
224
+ *
225
+ * @author Artem Prihodko <webtemyk@yandex.ru>
226
+ * @since 4.3.7
227
+ */
228
+ public function set_logger($class_name, $settings = [])
229
+ {
230
+ if( empty($this->logger) ) {
231
+ $this->logger = new $class_name($this, $settings);
232
+ }
233
+ }
234
+
235
  /**
236
  * Устанавливает класс провайдера лицензий
237
  *
246
  */
247
  public function set_license_provider($name, $class_name)
248
  {
249
+ if( !isset(WBCR\Factory_444\Premium\Manager::$providers[$name]) ) {
250
+ WBCR\Factory_444\Premium\Manager::$providers[$name] = $class_name;
251
  }
252
  }
253
 
265
  */
266
  public function set_update_repository($name, $class_name)
267
  {
268
+ if( !isset(WBCR\Factory_444\Updates\Upgrader::$repositories[$name]) ) {
269
+ WBCR\Factory_444\Updates\Upgrader::$repositories[$name] = $class_name;
270
  }
271
  }
272
 
276
  * Доступен глобально через метод app(), чаще всего используется для создания точек для ротации
277
  * рекламных объявлений.
278
  *
279
+ * @return \WBCR\Factory_Adverts_122\Base
280
  * @since 1.1
281
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
282
  */
312
 
313
  public function newScriptList()
314
  {
315
+ return new Wbcr_Factory444_ScriptList($this);
316
  }
317
 
318
  public function newStyleList()
319
  {
320
+ return new Wbcr_Factory444_StyleList($this);
321
  }
322
 
323
  /**
324
  * Все страницы плагина создаются через специальную обертку, за которую отвечает модуль
325
  * фреймворка pages. Разработчик создает собственный класс, унаследованный от
326
+ * Wbcr_FactoryPages443_AdminPage, а затем регистрирует его через этот метод.
327
  * Метод выполняет подключение класса страницы и регистрирует его в модуле фреймворка
328
  * pages.
329
  *
333
  * @see https://webcraftic.atlassian.net/wiki/spaces/CNCFC/pages/222887949 - документация по созданию страниц
334
  *
335
  * @param string $class_name Имя регистрируемого класса страницы. Пример: WCL_Page_Name.
336
+ * Регистрируемый класс должен быть унаследован от класса Wbcr_FactoryPages443_AdminPage.
337
  * @param string $file_path Абсолютный путь к файлу с классом страницы.
338
  *
339
  * @throws Exception
355
  throw new Exception('A class with this name {' . $class_name . '} does not exist.');
356
  }
357
 
358
+ if( !class_exists('Wbcr_FactoryPages443') ) {
359
+ throw new Exception('The factory_pages_443 module is not included.');
360
  }
361
 
362
+ Wbcr_FactoryPages443::register($this, $class_name);
363
  }
364
 
365
  /**
409
  /**
410
  * @since 4.1.1 - change hook name
411
  */
412
+ if( apply_filters("wbcr/factory_444/cancel_plugin_activation_{$this->plugin_name}", false) ) {
413
  return;
414
  }
415
 
416
  /**
417
+ * wbcr_factory_444_plugin_activation
418
  *
419
  * @since 4.1.1 - deprecated
420
  */
421
+ wbcr_factory_444_do_action_deprecated('wbcr_factory_444_plugin_activation', [
422
  $this
423
  ], '4.1.1', "wbcr/factory/plugin_activation");
424
 
427
  *
428
  * @since 4.1.2 - deprecated
429
  */
430
+ wbcr_factory_444_do_action_deprecated('wbcr/factory/plugin_activation', [
431
  $this
432
  ], '4.1.2', "wbcr/factory/before_plugin_activation");
433
 
443
  *
444
  * @since 4.1.2 - deprecated
445
  */
446
+ wbcr_factory_444_do_action_deprecated("wbcr/factory/plugin_{$this->plugin_name}_activation", [
447
  $this
448
  ], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_activation");
449
 
450
  /**
451
+ * wbcr_factory_444_plugin_activation_' . $this->plugin_name
452
  *
453
  * @since 4.1.1 - deprecated
454
  */
455
+ wbcr_factory_444_do_action_deprecated('wbcr_factory_444_plugin_activation_' . $this->plugin_name, [
456
  $this
457
  ], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_activation");
458
 
493
  /**
494
  * @since 4.1.1 - change hook name
495
  */
496
+ if( apply_filters("wbcr/factory_444/cancel_plugin_deactivation_{$this->plugin_name}", false) ) {
497
  return;
498
  }
499
 
500
  /**
501
+ * wbcr_factory_444_plugin_deactivation
502
  *
503
  * @since 4.1.1 - deprecated
504
  */
505
+ wbcr_factory_444_do_action_deprecated('wbcr_factory_444_plugin_deactivation', [
506
  $this
507
  ], '4.1.1', "wbcr/factory/plugin_deactivation");
508
 
511
  *
512
  * @since 4.1.2 - deprecated
513
  */
514
+ wbcr_factory_444_do_action_deprecated('wbcr/factory/plugin_deactivation', [
515
  $this
516
  ], '4.1.2', "wbcr/factory/before_plugin_deactivation");
517
 
523
  do_action('wbcr/factory/plugin_deactivation', $this);
524
 
525
  /**
526
+ * wbcr_factory_444_plugin_deactivation_ . $this->plugin_name
527
  *
528
  * @since 4.1.1 - deprecated
529
  */
530
+ wbcr_factory_444_do_action_deprecated('wbcr_factory_444_plugin_deactivation_' . $this->plugin_name, [
531
  $this
532
  ], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation");
533
 
536
  *
537
  * @since 4.1.2 - deprecated
538
  */
539
+ wbcr_factory_444_do_action_deprecated("wbcr/factory/plugin_{$this->plugin_name}_deactivation", [
540
  $this
541
  ], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation");
542
 
574
  */
575
  public function getPluginPageUrl($page_id, $args = [])
576
  {
577
+ if( !class_exists('Wbcr_FactoryPages443') ) {
578
+ throw new Exception('The factory_pages_443 module is not included.');
579
  }
580
 
581
  if( !is_admin() ) {
584
  return null;
585
  }
586
 
587
+ return Wbcr_FactoryPages443::getPageUrl($this, $page_id, $args);
588
+ }
589
+
590
+ /**
591
+ * Allows you to get a button to install the plugin component
592
+ *
593
+ * @param $component_type
594
+ * @param $slug
595
+ * param $premium
596
+ *
597
+ * @return \WBCR\Factory_444\Components\Install_Button
598
+ */
599
+ public function get_install_component_button($component_type, $slug)
600
+ {
601
+ require_once FACTORY_444_DIR . '/includes/components/class-install-component-button.php';
602
+
603
+ return new \WBCR\Factory_444\Components\Install_Button($this, $component_type, $slug);
604
+ }
605
+
606
+ /**
607
+ * Allows you to get a button to delete the plugin component
608
+ *
609
+ * @param $component_type
610
+ * @param $slug
611
+ *
612
+ * @return \WBCR\Factory_444\Components\Delete_Button
613
+ */
614
+ public function get_delete_component_button($component_type, $slug)
615
+ {
616
+ require_once FACTORY_444_DIR . '/includes/components/class-delete-component-button.php';
617
+
618
+ return new WBCR\Factory_444\Components\Delete_Button($this, $component_type, $slug);
619
+ }
620
+
621
+ /**
622
+ * @param string $component_name
623
+ *
624
+ * @return bool
625
+ */
626
+ public function is_activate_component($component_name)
627
+ {
628
+ if( !is_string($component_name) ) {
629
+ return false;
630
+ }
631
+
632
+ $deactivate_components = $this->getPopulateOption('deactive_preinstall_components', []);
633
+
634
+ if( !is_array($deactivate_components) ) {
635
+ $deactivate_components = [];
636
+ }
637
+
638
+ if( $deactivate_components && in_array($component_name, $deactivate_components) ) {
639
+ return false;
640
+ }
641
+
642
+ return true;
643
+ }
644
+
645
+ /**
646
+ * @param string $component_name
647
+ *
648
+ * @return bool
649
+ */
650
+ public function activate_component($component_name)
651
+ {
652
+ if( $this->is_activate_component($component_name) ) {
653
+ return true;
654
+ }
655
+
656
+ do_action('wfactory/pre_activate_component', $component_name);
657
+
658
+ $deactivate_components = $this->getPopulateOption('deactive_preinstall_components', []);
659
+
660
+ if( !empty($deactivate_components) && is_array($deactivate_components) ) {
661
+ $index = array_search($component_name, $deactivate_components);
662
+ unset($deactivate_components[$index]);
663
+ }
664
+
665
+ if( empty($deactivate_components) ) {
666
+ $this->deletePopulateOption('deactive_preinstall_components');
667
+ } else {
668
+ $this->updatePopulateOption('deactive_preinstall_components', $deactivate_components);
669
+ }
670
+
671
+ return true;
672
+ }
673
+
674
+ /**
675
+ * @param string $component_name
676
+ *
677
+ * @return bool
678
+ */
679
+ public function deactivate_component($component_name)
680
+ {
681
+ if( !$this->is_activate_component($component_name) ) {
682
+ return true;
683
+ }
684
+
685
+ do_action('wfactory/pre_deactivate_component', $component_name);
686
+
687
+ $deactivate_components = $this->getPopulateOption('deactive_preinstall_components', []);
688
+
689
+ if( !empty($deactivate_components) && is_array($deactivate_components) ) {
690
+ $deactivate_components[] = $component_name;
691
+ } else {
692
+ $deactivate_components = [];
693
+ $deactivate_components[] = $component_name;
694
+ }
695
+
696
+ $this->updatePopulateOption('deactive_preinstall_components', $deactivate_components);
697
+
698
+ do_action('wfactory/deactivated_component', $component_name);
699
+
700
+ return true;
701
  }
702
 
703
  /**
798
  /**
799
  * @since 4.1.1 - deprecated
800
  */
801
+ wbcr_factory_444_do_action_deprecated('wbcr_factory_444_core_modules_loaded-' . $this->plugin_name, [], '4.1.1', "wbcr/factory_444/modules_loaded-" . $this->plugin_name);
802
 
803
  /**
804
  * @since 4.1.1 - add
805
  */
806
+ do_action('wbcr/factory_444/modules_loaded-' . $this->plugin_name);
807
  }
808
 
809
 
830
  });
831
 
832
  if( is_admin() ) {
833
+ add_filter('wbcr_factory_444_core_admin_allow_multisite', '__return_true');
834
 
835
  register_activation_hook($this->get_paths()->main_file, [$this, 'activation_hook']);
836
  register_deactivation_hook($this->get_paths()->main_file, [$this, 'deactivation_hook']);
846
  */
847
  protected function init_plugin_migrations()
848
  {
849
+ new WBCR\Factory_444\Migrations($this);
850
  }
851
 
852
  /**
857
  */
858
  protected function init_plugin_notices()
859
  {
860
+ new Wbcr\Factory_444\Notices($this);
861
  }
862
 
863
  /**
873
  protected function init_plugin_updates()
874
  {
875
  if( $this->has_updates ) {
876
+ new WBCR\Factory_444\Updates\Upgrader($this);
877
  }
878
  }
879
 
896
  }
897
 
898
  // Создаем экземляр премиум менеджера, мы сможем к нему обращаться глобально.
899
+ $this->premium = WBCR\Factory_444\Premium\Manager::instance($this, $this->license_settings);
900
 
901
  // Подключаем премиум апгрейдер
902
  if( isset($this->license_settings['has_updates']) && $this->license_settings['has_updates'] ) {
903
+ new WBCR\Factory_444\Updates\Premium_Upgrader($this);
904
  }
905
  }
906
  }
libs/factory/core/includes/class-factory-plugin-base.php CHANGED
@@ -5,7 +5,7 @@ if ( ! defined( 'ABSPATH' ) ) {
5
  }
6
 
7
  /**
8
- * Базовый класс для создания нового плагина. Полную реализацию класса смотрите в Wbcr_Factory433_Plugin
9
  *
10
  * Документация по классу: https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/392724484
11
  * Документация по созданию плагина: https://webcraftic.atlassian.net/wiki/spaces/CNCFC/pages/327828
@@ -17,9 +17,9 @@ if ( ! defined( 'ABSPATH' ) ) {
17
  * @since 1.0.0
18
  * @package factory-core
19
  */
20
- class Wbcr_Factory433_Base {
21
 
22
- use WBCR\Factory_433\Options;
23
 
24
  /**
25
  * Обязательное свойство. Префикс, используется для создания пространство имен.
@@ -81,7 +81,7 @@ class Wbcr_Factory433_Base {
81
  * https://robin-image-optimizer.webcraftic.com/premium-features.
82
  *
83
  * Это свойство заполняется для того, чтобы в процессе разработки вы могли использовать
84
- * экземпляр класса \WBCR\Factory_433\Entities\Support, для получения информации о сайте плагина.
85
  * Тем самым вы избавляете себя от жесткого прописывания ссылок на лендинг плагина и
86
  * можете изменить все ссылки в одном месте.
87
  *
@@ -127,7 +127,7 @@ class Wbcr_Factory433_Base {
127
  * к примеру: freemius, codecanyon, templatemonster, вам нужно указать только настройки для
128
  * взаимодействия с выбранным вами провайдером. Каждая реализация провайдера лицензий может иметь
129
  * индивидуальный настройки, в этом примере приведены настройки для freemius провайдера
130
- * WBCR\Factory_433\Premium\Provider > WBCR\Factory_Freemius_120\Premium\Provider
131
  *
132
  * На текущий момент существует только реализация для freemius провайдера.
133
  *
@@ -177,9 +177,9 @@ class Wbcr_Factory433_Base {
177
  * }
178
  */
179
  protected $load_factory_modules = [
180
- [ 'libs/factory/bootstrap', 'factory_bootstrap_433', 'admin' ],
181
- [ 'libs/factory/forms', 'factory_forms_430', 'admin' ],
182
- [ 'libs/factory/pages', 'factory_pages_432', 'admin' ],
183
  ];
184
 
185
  /**
@@ -209,20 +209,20 @@ class Wbcr_Factory433_Base {
209
 
210
 
211
  /**
212
- * Экземпляр класса \WBCR\Factory_433\Entities\Support используется для получения информации
213
  * о сайте плагина. Чаще всего используется для получения ссылки на страницу с тарифами или
214
  * ссылки на форму обратной связи. Встроен механизм отслеживания по utm меткам.
215
  *
216
- * @var \WBCR\Factory_433\Entities\Support
217
  */
218
  protected $support;
219
 
220
  /**
221
- * Экземпляр класса \WBCR\Factory_433\Entities\Paths используется для получения информации о
222
  * путях плагина. Часто используется для получения путей или ссылок на место хранения плагина
223
  * или его входного файла.
224
  *
225
- * @var \WBCR\Factory_433\Entities\Paths
226
  */
227
  protected $paths;
228
 
@@ -270,8 +270,8 @@ class Wbcr_Factory433_Base {
270
  throw new Exception( 'One of the required attributes has not been passed (prefix, plugin_title, plugin_name, plugin_version, plugin_text_domain).' );
271
  }
272
 
273
- $this->support = new \WBCR\Factory_433\Entities\Support( $this->support_details );
274
- $this->paths = new \WBCR\Factory_433\Entities\Paths( $plugin_file );
275
 
276
  // used only in the module 'updates'
277
  $this->plugin_slug = ! empty( $this->plugin_name ) ? $this->plugin_name : basename( $plugin_file );
@@ -391,7 +391,7 @@ class Wbcr_Factory433_Base {
391
  * Проверяет, включен ли премиум для этого плагина или нет.
392
  *
393
  * @return bool Возвращает true, если премиум пакет включен для этого плагина.
394
- * См. Wbcr_Factory433_Base::has_premium
395
  */
396
  public function has_premium() {
397
  return $this->has_premium;
@@ -400,7 +400,7 @@ class Wbcr_Factory433_Base {
400
  /**
401
  * Позволяет получить заголовок плагина.
402
  *
403
- * @return string Возвращает заголовок плагина. См. Wbcr_Factory433_Base::plugin_title
404
  */
405
  public function getPluginTitle() {
406
  return $this->plugin_title;
@@ -409,7 +409,7 @@ class Wbcr_Factory433_Base {
409
  /**
410
  * Позволяет получить префикс плагина.
411
  *
412
- * @return string Возвращает префикс плагина.См. Wbcr_Factory433_Base::prefix
413
  */
414
  public function getPrefix() {
415
  return $this->prefix;
@@ -418,7 +418,7 @@ class Wbcr_Factory433_Base {
418
  /**
419
  * Позволяет получить имя плагина.
420
  *
421
- * @return string Возвращает имя плагина. См. Wbcr_Factory433_Base::plugin_name
422
  */
423
  public function getPluginName() {
424
  return $this->plugin_name;
@@ -427,7 +427,7 @@ class Wbcr_Factory433_Base {
427
  /**
428
  * Позволяет получить версию плагина.
429
  *
430
- * @return string Возвращает версию плагина. См. Wbcr_Factory433_Base::plugin_version
431
  */
432
  public function getPluginVersion() {
433
  return $this->plugin_version;
@@ -449,7 +449,7 @@ class Wbcr_Factory433_Base {
449
  * какие-то данные не описанные в интерфейсе этого плагина.
450
  *
451
  * @param string $attr_name Имя атрибута, который нужно получить. Идентично ключу в массиве
452
- * Wbcr_Factory433_Base::plugin_data
453
  *
454
  * @return null
455
  */
@@ -462,18 +462,18 @@ class Wbcr_Factory433_Base {
462
  }
463
 
464
  /**
465
- * Предоставляет доступ к экземпляру класса \WBCR\Factory_433\Entities\Support.
466
  *
467
- * @return \WBCR\Factory_433\Entities\Support
468
  */
469
  public function get_support() {
470
  return $this->support;
471
  }
472
 
473
  /**
474
- * Предоставляет доступ к экземпляру класса \WBCR\Factory_433\Entities\Paths.
475
  *
476
- * @return \WBCR\Factory_433\Entities\Paths
477
  */
478
  public function get_paths() {
479
  return $this->paths;
@@ -482,7 +482,7 @@ class Wbcr_Factory433_Base {
482
  /**
483
  * Позволяет получить сырые данные плагина в виде объекта StdClass.
484
  *
485
- * @return object Возвращает объект с сырыми данными плагина. См. Wbcr_Factory433_Base::plugin_data
486
  */
487
  public function getPluginInfo() {
488
  return (object) $this->plugin_data;
5
  }
6
 
7
  /**
8
+ * Базовый класс для создания нового плагина. Полную реализацию класса смотрите в Wbcr_Factory444_Plugin
9
  *
10
  * Документация по классу: https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/392724484
11
  * Документация по созданию плагина: https://webcraftic.atlassian.net/wiki/spaces/CNCFC/pages/327828
17
  * @since 1.0.0
18
  * @package factory-core
19
  */
20
+ class Wbcr_Factory444_Base {
21
 
22
+ use WBCR\Factory_444\Options;
23
 
24
  /**
25
  * Обязательное свойство. Префикс, используется для создания пространство имен.
81
  * https://robin-image-optimizer.webcraftic.com/premium-features.
82
  *
83
  * Это свойство заполняется для того, чтобы в процессе разработки вы могли использовать
84
+ * экземпляр класса \WBCR\Factory_444\Entities\Support, для получения информации о сайте плагина.
85
  * Тем самым вы избавляете себя от жесткого прописывания ссылок на лендинг плагина и
86
  * можете изменить все ссылки в одном месте.
87
  *
127
  * к примеру: freemius, codecanyon, templatemonster, вам нужно указать только настройки для
128
  * взаимодействия с выбранным вами провайдером. Каждая реализация провайдера лицензий может иметь
129
  * индивидуальный настройки, в этом примере приведены настройки для freemius провайдера
130
+ * WBCR\Factory_444\Premium\Provider > WBCR\Factory_Freemius_132\Premium\Provider
131
  *
132
  * На текущий момент существует только реализация для freemius провайдера.
133
  *
177
  * }
178
  */
179
  protected $load_factory_modules = [
180
+ [ 'libs/factory/bootstrap', 'factory_bootstrap_444', 'admin' ],
181
+ [ 'libs/factory/forms', 'factory_forms_441', 'admin' ],
182
+ [ 'libs/factory/pages', 'factory_pages_443', 'admin' ],
183
  ];
184
 
185
  /**
209
 
210
 
211
  /**
212
+ * Экземпляр класса \WBCR\Factory_444\Entities\Support используется для получения информации
213
  * о сайте плагина. Чаще всего используется для получения ссылки на страницу с тарифами или
214
  * ссылки на форму обратной связи. Встроен механизм отслеживания по utm меткам.
215
  *
216
+ * @var \WBCR\Factory_444\Entities\Support
217
  */
218
  protected $support;
219
 
220
  /**
221
+ * Экземпляр класса \WBCR\Factory_444\Entities\Paths используется для получения информации о
222
  * путях плагина. Часто используется для получения путей или ссылок на место хранения плагина
223
  * или его входного файла.
224
  *
225
+ * @var \WBCR\Factory_444\Entities\Paths
226
  */
227
  protected $paths;
228
 
270
  throw new Exception( 'One of the required attributes has not been passed (prefix, plugin_title, plugin_name, plugin_version, plugin_text_domain).' );
271
  }
272
 
273
+ $this->support = new \WBCR\Factory_444\Entities\Support( $this->support_details );
274
+ $this->paths = new \WBCR\Factory_444\Entities\Paths( $plugin_file );
275
 
276
  // used only in the module 'updates'
277
  $this->plugin_slug = ! empty( $this->plugin_name ) ? $this->plugin_name : basename( $plugin_file );
391
  * Проверяет, включен ли премиум для этого плагина или нет.
392
  *
393
  * @return bool Возвращает true, если премиум пакет включен для этого плагина.
394
+ * См. Wbcr_Factory444_Base::has_premium
395
  */
396
  public function has_premium() {
397
  return $this->has_premium;
400
  /**
401
  * Позволяет получить заголовок плагина.
402
  *
403
+ * @return string Возвращает заголовок плагина. См. Wbcr_Factory444_Base::plugin_title
404
  */
405
  public function getPluginTitle() {
406
  return $this->plugin_title;
409
  /**
410
  * Позволяет получить префикс плагина.
411
  *
412
+ * @return string Возвращает префикс плагина.См. Wbcr_Factory444_Base::prefix
413
  */
414
  public function getPrefix() {
415
  return $this->prefix;
418
  /**
419
  * Позволяет получить имя плагина.
420
  *
421
+ * @return string Возвращает имя плагина. См. Wbcr_Factory444_Base::plugin_name
422
  */
423
  public function getPluginName() {
424
  return $this->plugin_name;
427
  /**
428
  * Позволяет получить версию плагина.
429
  *
430
+ * @return string Возвращает версию плагина. См. Wbcr_Factory444_Base::plugin_version
431
  */
432
  public function getPluginVersion() {
433
  return $this->plugin_version;
449
  * какие-то данные не описанные в интерфейсе этого плагина.
450
  *
451
  * @param string $attr_name Имя атрибута, который нужно получить. Идентично ключу в массиве
452
+ * Wbcr_Factory444_Base::plugin_data
453
  *
454
  * @return null
455
  */
462
  }
463
 
464
  /**
465
+ * Предоставляет доступ к экземпляру класса \WBCR\Factory_444\Entities\Support.
466
  *
467
+ * @return \WBCR\Factory_444\Entities\Support
468
  */
469
  public function get_support() {
470
  return $this->support;
471
  }
472
 
473
  /**
474
+ * Предоставляет доступ к экземпляру класса \WBCR\Factory_444\Entities\Paths.
475
  *
476
+ * @return \WBCR\Factory_444\Entities\Paths
477
  */
478
  public function get_paths() {
479
  return $this->paths;
482
  /**
483
  * Позволяет получить сырые данные плагина в виде объекта StdClass.
484
  *
485
+ * @return object Возвращает объект с сырыми данными плагина. См. Wbcr_Factory444_Base::plugin_data
486
  */
487
  public function getPluginInfo() {
488
  return (object) $this->plugin_data;
libs/factory/core/includes/class-factory-requests.php CHANGED
@@ -11,7 +11,7 @@ if ( ! defined( 'ABSPATH' ) ) {
11
  * @package factory-core
12
  */
13
 
14
- class Wbcr_Factory433_Request {
15
 
16
  /**
17
  * @param null $param
11
  * @package factory-core
12
  */
13
 
14
+ class Wbcr_Factory444_Request {
15
 
16
  /**
17
  * @param null $param
libs/factory/core/includes/class-factory-requirements.php CHANGED
@@ -12,8 +12,8 @@
12
  * @since 4.0.9
13
  */
14
  // @formatter:off
15
- if ( ! class_exists( 'Wbcr_Factory433_Requirements' ) ) {
16
- class Wbcr_Factory433_Requirements {
17
 
18
  /**
19
  * Factory framework version
@@ -273,21 +273,21 @@ if ( ! class_exists( 'Wbcr_Factory433_Requirements' ) ) {
273
  * @return string
274
  */
275
  protected function get_php_incompat_text() {
276
- return sprintf( __( 'You need to update the PHP version to %s or higher!', 'wbcr_factory_433' ), $this->required_php_version );
277
  }
278
 
279
  /**
280
  * @return string
281
  */
282
  protected function get_wp_incompat_text() {
283
- return sprintf( __( 'You need to update WordPress to %s or higher!', 'wbcr_factory_433' ), $this->required_wp_version );
284
  }
285
 
286
  /**
287
  * @return string
288
  */
289
  protected function get_plugin_already_activate_text() {
290
- return sprintf( __( 'Plugin %s is already activated, you are trying to activate it again.', 'wbcr_factory_433' ), $this->plugin_title );
291
  }
292
  }
293
  }
12
  * @since 4.0.9
13
  */
14
  // @formatter:off
15
+ if ( ! class_exists( 'Wbcr_Factory444_Requirements' ) ) {
16
+ class Wbcr_Factory444_Requirements {
17
 
18
  /**
19
  * Factory framework version
273
  * @return string
274
  */
275
  protected function get_php_incompat_text() {
276
+ return sprintf( __( 'You need to update the PHP version to %s or higher!', 'wbcr_factory_444' ), $this->required_php_version );
277
  }
278
 
279
  /**
280
  * @return string
281
  */
282
  protected function get_wp_incompat_text() {
283
+ return sprintf( __( 'You need to update WordPress to %s or higher!', 'wbcr_factory_444' ), $this->required_wp_version );
284
  }
285
 
286
  /**
287
  * @return string
288
  */
289
  protected function get_plugin_already_activate_text() {
290
+ return sprintf( __( 'Plugin %s is already activated, you are trying to activate it again.', 'wbcr_factory_444' ), $this->plugin_title );
291
  }
292
  }
293
  }
libs/factory/core/includes/components/class-delete-component-button.php ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WBCR\Factory_444\Components;
4
+
5
+ /**
6
+ * This file groups the settings for quick setup
7
+ *
8
+ * @author Webcraftic <wordpress.webraftic@gmail.com>
9
+ * @copyright (c) 16.09.2017, Webcraftic
10
+ * @version 1.0
11
+ */
12
+
13
+ // Exit if accessed directly
14
+ if( !defined('ABSPATH') ) {
15
+ exit;
16
+ }
17
+
18
+ require_once 'class-install-component-button.php';
19
+
20
+ class Delete_Button extends Install_Button {
21
+
22
+ /**
23
+ * @throws \Exception
24
+ */
25
+ protected function build_wordpress()
26
+ {
27
+ parent::build_wordpress();
28
+
29
+ $this->action = 'delete';
30
+ $this->add_data('plugin-action', $this->action);
31
+ $this->remove_class('button-primary');
32
+ }
33
+
34
+ protected function build_internal()
35
+ {
36
+ // nothing
37
+ }
38
+
39
+ /**
40
+ * @param bool $echo
41
+ *
42
+ * @return string|void
43
+ */
44
+ public function get_button()
45
+ {
46
+ $button = '<a href="#" class="' . implode(' ', $this->get_classes()) . '" ' . implode(' ', $this->get_data()) . '><span class="dashicons dashicons-trash"></span></a>';
47
+
48
+ if( $this->type == 'internal' || !$this->is_plugin_install() || $this->is_plugin_activate() ) {
49
+ $button = '';
50
+ }
51
+
52
+ return $button;
53
+ }
54
+ }
55
+
libs/factory/core/includes/components/class-install-component-button.php ADDED
@@ -0,0 +1,460 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WBCR\Factory_444\Components;
4
+
5
+ /**
6
+ * This file groups the settings for quick setup
7
+ *
8
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>
9
+ * @copyright (c) 16.09.2017, Webcraftic
10
+ * @version 1.0
11
+ */
12
+
13
+ // Exit if accessed directly
14
+ if( !defined('ABSPATH') ) {
15
+ exit;
16
+ }
17
+
18
+ class Install_Button {
19
+
20
+ protected $type;
21
+ protected $plugin_slug;
22
+
23
+ protected $classes = [
24
+ 'button',
25
+ 'wfactory-444-process-button'
26
+ ];
27
+ protected $data = [];
28
+ protected $base_path;
29
+
30
+ protected $action;
31
+
32
+ protected $url;
33
+
34
+ /**
35
+ * @param string $group_name
36
+ *
37
+ * @throws \Exception
38
+ * @since 4.3.3
39
+ */
40
+ public function __construct(\Wbcr_Factory444_Plugin $plugin, $type, $plugin_slug)
41
+ {
42
+ if( empty($type) || !is_string($plugin_slug) ) {
43
+ throw new \Exception('Empty type or plugin_slug attribute.');
44
+ }
45
+
46
+ $this->plugin = $plugin;
47
+ $this->type = $type;
48
+ $this->plugin_slug = $plugin_slug;
49
+
50
+ if( $this->type == 'wordpress' || $this->type == 'creativemotion' ) {
51
+ if( strpos(rtrim(trim($this->plugin_slug)), '/') !== false ) {
52
+ $this->base_path = $this->plugin_slug;
53
+ $base_path_parts = explode('/', $this->base_path);
54
+ if( sizeof($base_path_parts) === 2 ) {
55
+ $this->plugin_slug = $base_path_parts[0];
56
+ }
57
+ } else {
58
+ $this->base_path = $this->get_plugin_base_path_by_slug($this->plugin_slug);
59
+ }
60
+
61
+ $this->build_wordpress();
62
+ } else if( $this->type == 'internal' ) {
63
+ $this->build_internal();
64
+ } else {
65
+ throw new \Exception('Invalid button type.');
66
+ }
67
+
68
+ // Set default data
69
+ $this->add_data('storage', $this->type);
70
+ $this->add_data('i18n', \WbcrFactoryClearfy000_Helpers::getEscapeJson($this->get_i18n()));
71
+ $this->add_data('wpnonce', wp_create_nonce('updates'));
72
+ }
73
+
74
+ // Удалить, через несколько версий!
75
+ // Добавлено в 4.3.3
76
+ //--------------------------------------------------------
77
+
78
+ /**
79
+ * todo: для совместимости со старыми плагинами
80
+ * @return string
81
+ * @throws \Exception
82
+ * @since 4.3.3
83
+ */
84
+ public function getLink()
85
+ {
86
+ return $this->get_link();
87
+ }
88
+
89
+ /**
90
+ * todo: для совместимости со старыми плагинами
91
+ * @return string
92
+ * @since 4.3.3
93
+ */
94
+ public function getButton()
95
+ {
96
+ return $this->get_button();
97
+ }
98
+
99
+ /**
100
+ * Print an install a link
101
+ * todo: для совместимости со старыми плагинами
102
+ * @throws \Exception
103
+ * @since 4.3.3
104
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
105
+ */
106
+ public function renderLink()
107
+ {
108
+ echo $this->get_link();
109
+ }
110
+
111
+ /**
112
+ * Print an install button
113
+ * todo: для совместимости со старыми плагинами
114
+ *
115
+ * @throws \Exception
116
+ * @since 4.3.3
117
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
118
+ */
119
+ public function renderButton()
120
+ {
121
+ $this->render_button();
122
+ }
123
+
124
+ /**
125
+ * todo: для совместимости со старыми плагинами
126
+ * @param $class
127
+ *
128
+ * @throws \Exception
129
+ * @since 4.3.3
130
+ */
131
+ public function addClass($class)
132
+ {
133
+ $this->add_class($class);
134
+ }
135
+
136
+ /**
137
+ * todo: для совместимости со старыми плагинами
138
+ * @param $class
139
+ *
140
+ * @return bool
141
+ * @throws \Exception
142
+ * @since 4.3.3
143
+ */
144
+ public function removeClass($class)
145
+ {
146
+ return $this->remove_class($class);
147
+ }
148
+
149
+ //--------------------------------------------------------
150
+
151
+
152
+ /**
153
+ * @return bool
154
+ * @since 4.3.3
155
+ */
156
+ public function is_plugin_activate()
157
+ {
158
+ if( ($this->type == 'wordpress' || $this->type == 'creativemotion') && $this->is_plugin_install() ) {
159
+ require_once ABSPATH . '/wp-admin/includes/plugin.php';
160
+
161
+ return is_plugin_active($this->base_path);
162
+ } else if( $this->type == 'internal' ) {
163
+ $preinsatall_components = $this->plugin->getPopulateOption('deactive_preinstall_components', []);
164
+
165
+ return !in_array($this->plugin_slug, $preinsatall_components);
166
+ }
167
+
168
+ return false;
169
+ }
170
+
171
+ /**
172
+ * @return bool
173
+ * @since 4.3.3
174
+ */
175
+ public function is_plugin_install()
176
+ {
177
+ if( $this->type == 'wordpress' || $this->type == 'creativemotion' ) {
178
+ if( empty($this->base_path) ) {
179
+ return false;
180
+ }
181
+
182
+ // Check if the function get_plugins() is registered. It is necessary for the front-end
183
+ // usually get_plugins() only works in the admin panel.
184
+ if( !function_exists('get_plugins') ) {
185
+ require_once ABSPATH . 'wp-admin/includes/plugin.php';
186
+ }
187
+
188
+ $plugins = get_plugins();
189
+
190
+ if( isset($plugins[$this->base_path]) ) {
191
+ return true;
192
+ }
193
+ } else if( $this->type == 'internal' ) {
194
+ return true;
195
+ }
196
+
197
+ return false;
198
+ }
199
+
200
+ /**
201
+ * @param $class
202
+ *
203
+ * @throws \Exception
204
+ * @since 4.3.3
205
+ */
206
+ public function add_class($class)
207
+ {
208
+ if( !is_string($class) ) {
209
+ throw new \Exception('Attribute class must be a string.');
210
+ }
211
+ $this->classes[] = $class;
212
+ }
213
+
214
+ /**
215
+ * @param $class
216
+ *
217
+ * @return bool
218
+ * @throws \Exception
219
+ * @since 4.3.3
220
+ */
221
+ public function remove_class($class)
222
+ {
223
+ if( !is_string($class) ) {
224
+ throw new \Exception('Attribute class must be a string.');
225
+ }
226
+ $key = array_search($class, $this->classes);
227
+ if( isset($this->classes[$key]) ) {
228
+ unset($this->classes[$key]);
229
+
230
+ return true;
231
+ }
232
+
233
+ return false;
234
+ }
235
+
236
+ /**
237
+ * @param $name
238
+ * @param $value
239
+ *
240
+ * @throws \Exception
241
+ * @since 4.3.3
242
+ */
243
+ public function add_data($name, $value)
244
+ {
245
+ if( !is_string($name) || !is_string($value) ) {
246
+ throw new \Exception('Attributes name and value must be a string.');
247
+ }
248
+
249
+ $this->data[$name] = $value;
250
+ }
251
+
252
+ /**
253
+ * @param $name
254
+ *
255
+ * @return bool
256
+ * @throws \Exception
257
+ * @since 4.3.3
258
+ */
259
+ public function remove_data($name)
260
+ {
261
+ if( !is_string($name) ) {
262
+ throw new \Exception('Attribute name must be a string.');
263
+ }
264
+
265
+ if( isset($this->data[$name]) ) {
266
+ unset($this->data[$name]);
267
+
268
+ return true;
269
+ }
270
+
271
+ return false;
272
+ }
273
+
274
+ /**
275
+ * Print an install button
276
+ *
277
+ * @throws \Exception
278
+ * @since 4.3.3
279
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
280
+ */
281
+ public function render_button()
282
+ {
283
+ echo $this->get_button();
284
+ }
285
+
286
+ /**
287
+ * @return string
288
+ * @since 4.3.3
289
+ */
290
+ public function get_button()
291
+ {
292
+ $i18n = $this->get_i18n();
293
+
294
+ $button = '<a href="#" class="' . implode(' ', $this->get_classes()) . '" ' . implode(' ', $this->get_data()) . '>' . $i18n[$this->action] . '</a>';
295
+
296
+ return $button;
297
+ }
298
+
299
+ /**
300
+ * @return string
301
+ * @throws \Exception
302
+ * @since 4.3.3
303
+ */
304
+ public function get_link()
305
+ {
306
+ $this->remove_class('button');
307
+ $this->remove_class('button-default');
308
+ $this->remove_class('button-primary');
309
+
310
+ //$this->add_class('link');
311
+ $this->add_class('button-link');
312
+
313
+ return $this->get_button();
314
+ }
315
+
316
+ /**
317
+ * Print an install a link
318
+ *
319
+ * @throws \Exception
320
+ * @since 4.3.3
321
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
322
+ */
323
+ public function render_link()
324
+ {
325
+ echo $this->get_link();
326
+ }
327
+
328
+ /**
329
+ * @return array
330
+ * @since 4.3.3
331
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
332
+ */
333
+ protected function get_data()
334
+ {
335
+ $data_to_print = [];
336
+
337
+ foreach((array)$this->data as $key => $value) {
338
+ $data_to_print[$key] = 'data-' . esc_attr($key) . '="' . esc_attr($value) . '"';
339
+ }
340
+
341
+ return $data_to_print;
342
+ }
343
+
344
+ /**
345
+ * @return array
346
+ * @since 4.3.3
347
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
348
+ */
349
+ protected function get_classes()
350
+ {
351
+ return array_map('esc_attr', $this->classes);
352
+ }
353
+
354
+ /**
355
+ * @throws \Exception
356
+ * @since 4.3.3
357
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
358
+ */
359
+ protected function build_wordpress()
360
+ {
361
+ if( ('wordpress' === $this->type || 'creativemotion' === $this->type) && !empty($this->base_path) ) {
362
+
363
+ $this->action = 'install';
364
+
365
+ if( $this->is_plugin_install() ) {
366
+ $this->action = 'deactivate';
367
+ if( !$this->is_plugin_activate() ) {
368
+ $this->action = 'activate';
369
+ }
370
+ }
371
+
372
+ $this->add_data('plugin-action', $this->action);
373
+ $this->add_data('slug', $this->plugin_slug);
374
+ $this->add_data('plugin', $this->base_path);
375
+
376
+ if( $this->action == 'activate' ) {
377
+ $this->add_class('button-primary');
378
+ } else {
379
+ $this->add_class('button-default');
380
+ }
381
+ }
382
+ }
383
+
384
+ /**
385
+ * Configurate button of internal components
386
+ *
387
+ * @throws \Exception
388
+ * @since 4.3.3
389
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
390
+ */
391
+ protected function build_internal()
392
+ {
393
+ if( $this->type != 'internal' ) {
394
+ return;
395
+ }
396
+
397
+ $this->action = 'activate';
398
+
399
+ if( $this->is_plugin_activate() ) {
400
+ $this->action = 'deactivate';
401
+ }
402
+
403
+ $this->add_data('plugin-action', $this->action);
404
+ $this->add_data('plugin', $this->plugin_slug);
405
+
406
+ if( $this->action == 'activate' ) {
407
+ $this->add_class('button-primary');
408
+ } else {
409
+ $this->add_class('button-default');
410
+ }
411
+ }
412
+
413
+ /**
414
+ * Internalization for action buttons
415
+ *
416
+ * @return array
417
+ * @since 4.3.3
418
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
419
+ */
420
+ protected function get_i18n()
421
+ {
422
+ return [
423
+ 'activate' => __('Activate', 'wbcr_factory_444'),
424
+ 'install' => __('Install', 'wbcr_factory_444'),
425
+ 'deactivate' => __('Deactivate', 'wbcr_factory_444'),
426
+ 'delete' => __('Delete', 'wbcr_factory_444'),
427
+ 'loading' => __('Please wait...', 'wbcr_factory_444'),
428
+ 'preparation' => __('Preparation...', 'wbcr_factory_444'),
429
+ 'read' => __('Read more', 'wbcr_factory_444')
430
+ ];
431
+ }
432
+
433
+
434
+ /**
435
+ * Allows you to get the base path to the plugin in the directory wp-content/plugins/
436
+ *
437
+ * @param $slug - slug for example "clearfy", "hide-login-page"
438
+ *
439
+ * @return int|null|string - "clearfy/clearfy.php"
440
+ */
441
+ protected function get_plugin_base_path_by_slug($slug)
442
+ {
443
+ // Check if the function get_plugins() is registered. It is necessary for the front-end
444
+ // usually get_plugins() only works in the admin panel.
445
+ if( !function_exists('get_plugins') ) {
446
+ require_once ABSPATH . 'wp-admin/includes/plugin.php';
447
+ }
448
+
449
+ $plugins = get_plugins();
450
+
451
+ foreach($plugins as $base_path => $plugin) {
452
+ if( strpos($base_path, rtrim(trim($slug))) !== false ) {
453
+ return $base_path;
454
+ }
455
+ }
456
+
457
+ return null;
458
+ }
459
+ }
460
+
libs/factory/core/includes/entities/class-factory-paths.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_433\Entities;
4
 
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit;
1
  <?php
2
 
3
+ namespace WBCR\Factory_444\Entities;
4
 
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit;
libs/factory/core/includes/entities/class-factory-support.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_433\Entities;
4
 
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit;
1
  <?php
2
 
3
+ namespace WBCR\Factory_444\Entities;
4
 
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit;
libs/factory/core/includes/functions.php CHANGED
@@ -53,17 +53,17 @@ if ( ! function_exists( 'get_user_locale' ) ) {
53
  * @param string $message Optional. A message regarding the change.
54
  *
55
  * @return mixed
56
- * @see wbcr_factory_433_deprecated_hook()
57
  *
58
  */
59
- function wbcr_factory_433_apply_filters_deprecated( $tag, $args, $version, $replacement = false, $message = null ) {
60
  if ( function_exists( 'apply_filters_deprecated' ) ) {
61
  return apply_filters_deprecated( $tag, $args, $version, $replacement, $message );
62
  }
63
  if ( ! has_filter( $tag ) ) {
64
  return $args[0];
65
  }
66
- wbcr_factory_433_deprecated_hook( $tag, $version, $replacement, $message );
67
 
68
  return apply_filters_ref_array( $tag, $args );
69
  }
@@ -89,7 +89,7 @@ function wbcr_factory_433_apply_filters_deprecated( $tag, $args, $version, $repl
89
  * @see _deprecated_hook()
90
  *
91
  */
92
- function wbcr_factory_433_do_action_deprecated( $tag, $args, $version, $replacement = false, $message = null ) {
93
  if ( function_exists( 'do_action_deprecated' ) ) {
94
  do_action_deprecated( $tag, $args, $version, $replacement, $message );
95
 
@@ -98,14 +98,14 @@ function wbcr_factory_433_do_action_deprecated( $tag, $args, $version, $replacem
98
  if ( ! has_action( $tag ) ) {
99
  return;
100
  }
101
- wbcr_factory_433_deprecated_hook( $tag, $version, $replacement, $message );
102
  do_action_ref_array( $tag, $args );
103
  }
104
 
105
  /**
106
  * Marks a deprecated action or filter hook as deprecated and throws a notice.
107
  *
108
- * Use the 'wbcr_factory_433_deprecated_hook_run' action to get the backtrace describing where the
109
  * deprecated hook was called.
110
  *
111
  * Default behavior is to trigger a user error if WP_DEBUG is true.
@@ -123,7 +123,7 @@ function wbcr_factory_433_do_action_deprecated( $tag, $args, $version, $replacem
123
  * @param string $replacement Optional. The hook that should have been used.
124
  * @param string $message Optional. A message regarding the change.
125
  */
126
- function wbcr_factory_433_deprecated_hook( $hook, $version, $replacement = null, $message = null ) {
127
  /**
128
  * Fires when a deprecated hook is called.
129
  *
53
  * @param string $message Optional. A message regarding the change.
54
  *
55
  * @return mixed
56
+ * @see wbcr_factory_444_deprecated_hook()
57
  *
58
  */
59
+ function wbcr_factory_444_apply_filters_deprecated( $tag, $args, $version, $replacement = false, $message = null ) {
60
  if ( function_exists( 'apply_filters_deprecated' ) ) {
61
  return apply_filters_deprecated( $tag, $args, $version, $replacement, $message );
62
  }
63
  if ( ! has_filter( $tag ) ) {
64
  return $args[0];
65
  }
66
+ wbcr_factory_444_deprecated_hook( $tag, $version, $replacement, $message );
67
 
68
  return apply_filters_ref_array( $tag, $args );
69
  }
89
  * @see _deprecated_hook()
90
  *
91
  */
92
+ function wbcr_factory_444_do_action_deprecated( $tag, $args, $version, $replacement = false, $message = null ) {
93
  if ( function_exists( 'do_action_deprecated' ) ) {
94
  do_action_deprecated( $tag, $args, $version, $replacement, $message );
95
 
98
  if ( ! has_action( $tag ) ) {
99
  return;
100
  }
101
+ wbcr_factory_444_deprecated_hook( $tag, $version, $replacement, $message );
102
  do_action_ref_array( $tag, $args );
103
  }
104
 
105
  /**
106
  * Marks a deprecated action or filter hook as deprecated and throws a notice.
107
  *
108
+ * Use the 'wbcr_factory_444_deprecated_hook_run' action to get the backtrace describing where the
109
  * deprecated hook was called.
110
  *
111
  * Default behavior is to trigger a user error if WP_DEBUG is true.
123
  * @param string $replacement Optional. The hook that should have been used.
124
  * @param string $message Optional. A message regarding the change.
125
  */
126
+ function wbcr_factory_444_deprecated_hook( $hook, $version, $replacement = null, $message = null ) {
127
  /**
128
  * Fires when a deprecated hook is called.
129
  *
libs/factory/core/includes/premium/class-factory-license-interface.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_433\Premium\Interfaces;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
1
  <?php
2
 
3
+ namespace WBCR\Factory_444\Premium\Interfaces;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
libs/factory/core/includes/premium/class-factory-manager.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_433\Premium;
4
 
5
  use Exception;
6
- use Wbcr_Factory433_Plugin;
7
 
8
  // Exit if accessed directly
9
  if ( ! defined( 'ABSPATH' ) ) {
@@ -24,7 +24,7 @@ class Manager {
24
  public static $providers;
25
 
26
  /**
27
- * @var Wbcr_Factory433_Plugin
28
  */
29
  protected $plugin;
30
 
@@ -36,24 +36,24 @@ class Manager {
36
  /**
37
  * Manager constructor.
38
  *
39
- * @param Wbcr_Factory433_Plugin $plugin
40
  * @param array $settings
41
  *
42
  * @throws Exception
43
  */
44
- public function __construct( Wbcr_Factory433_Plugin $plugin, array $settings ) {
45
  $this->plugin = $plugin;
46
  $this->settings = $settings;
47
  }
48
 
49
  /**
50
- * @param Wbcr_Factory433_Plugin $plugin
51
  * @param array $settings
52
  *
53
- * @return \WBCR\Factory_Freemius_120\Premium\Provider
54
  * @throws Exception
55
  */
56
- public static function instance( Wbcr_Factory433_Plugin $plugin, array $settings ) {
57
  $premium_manager = new Manager( $plugin, $settings );
58
 
59
  return $premium_manager->instance_provider();
@@ -62,7 +62,7 @@ class Manager {
62
  /**
63
  * @param $provider_name
64
  *
65
- * @return \WBCR\Factory_Freemius_120\Premium\Provider
66
  * @throws Exception
67
  */
68
  public function instance_provider() {
@@ -70,7 +70,7 @@ class Manager {
70
 
71
  if ( isset( self::$providers[ $provider_name ] ) && class_exists( self::$providers[ $provider_name ] ) ) {
72
  if ( self::$providers[ $provider_name ] instanceof Provider ) {
73
- throw new Exception( "Provider {$provider_name} must extend the class WBCR\Factory_433\Premium\Provider interface!" );
74
  }
75
 
76
  return new self::$providers[ $provider_name ]( $this->plugin, $this->settings );
1
  <?php
2
 
3
+ namespace WBCR\Factory_444\Premium;
4
 
5
  use Exception;
6
+ use Wbcr_Factory444_Plugin;
7
 
8
  // Exit if accessed directly
9
  if ( ! defined( 'ABSPATH' ) ) {
24
  public static $providers;
25
 
26
  /**
27
+ * @var Wbcr_Factory444_Plugin
28
  */
29
  protected $plugin;
30
 
36
  /**
37
  * Manager constructor.
38
  *
39
+ * @param Wbcr_Factory444_Plugin $plugin
40
  * @param array $settings
41
  *
42
  * @throws Exception
43
  */
44
+ public function __construct( Wbcr_Factory444_Plugin $plugin, array $settings ) {
45
  $this->plugin = $plugin;
46
  $this->settings = $settings;
47
  }
48
 
49
  /**
50
+ * @param Wbcr_Factory444_Plugin $plugin
51
  * @param array $settings
52
  *
53
+ * @return \WBCR\Factory_Freemius_132\Premium\Provider
54
  * @throws Exception
55
  */
56
+ public static function instance( Wbcr_Factory444_Plugin $plugin, array $settings ) {
57
  $premium_manager = new Manager( $plugin, $settings );
58
 
59
  return $premium_manager->instance_provider();
62
  /**
63
  * @param $provider_name
64
  *
65
+ * @return \WBCR\Factory_Freemius_132\Premium\Provider
66
  * @throws Exception
67
  */
68
  public function instance_provider() {
70
 
71
  if ( isset( self::$providers[ $provider_name ] ) && class_exists( self::$providers[ $provider_name ] ) ) {
72
  if ( self::$providers[ $provider_name ] instanceof Provider ) {
73
+ throw new Exception( "Provider {$provider_name} must extend the class WBCR\Factory_444\Premium\Provider interface!" );
74
  }
75
 
76
  return new self::$providers[ $provider_name ]( $this->plugin, $this->settings );
libs/factory/core/includes/premium/class-factory-provider-abstract.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_433\Premium;
4
 
5
  use Exception;
6
- use Wbcr_Factory433_Plugin;
7
 
8
  // Exit if accessed directly
9
  if( !defined('ABSPATH') ) {
@@ -21,7 +21,7 @@ if( !defined('ABSPATH') ) {
21
  abstract class Provider {
22
 
23
  /**
24
- * @var Wbcr_Factory433_Plugin
25
  */
26
  protected $plugin;
27
 
@@ -38,10 +38,10 @@ abstract class Provider {
38
  /**
39
  * Provider constructor.
40
  *
41
- * @param Wbcr_Factory433_Plugin $plugin
42
  * @param array $settings
43
  */
44
- public function __construct(Wbcr_Factory433_Plugin $plugin, array $settings)
45
  {
46
  $this->plugin = $plugin;
47
  $this->settings = $settings;
@@ -244,7 +244,7 @@ abstract class Provider {
244
  abstract public function get_billing_cycle();
245
 
246
  /**
247
- * @return \WBCR\Factory_433\Premium\Interfaces\License
248
  */
249
  abstract public function get_license();
250
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_444\Premium;
4
 
5
  use Exception;
6
+ use Wbcr_Factory444_Plugin;
7
 
8
  // Exit if accessed directly
9
  if( !defined('ABSPATH') ) {
21
  abstract class Provider {
22
 
23
  /**
24
+ * @var Wbcr_Factory444_Plugin
25
  */
26
  protected $plugin;
27
 
38
  /**
39
  * Provider constructor.
40
  *
41
+ * @param Wbcr_Factory444_Plugin $plugin
42
  * @param array $settings
43
  */
44
+ public function __construct(Wbcr_Factory444_Plugin $plugin, array $settings)
45
  {
46
  $this->plugin = $plugin;
47
  $this->settings = $settings;
244
  abstract public function get_billing_cycle();
245
 
246
  /**
247
+ * @return \WBCR\Factory_444\Premium\Interfaces\License
248
  */
249
  abstract public function get_license();
250
 
libs/factory/core/includes/updates/class-factory-premium-upgrader.php CHANGED
@@ -1,12 +1,12 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_433\Updates;
4
 
5
  use Exception;
6
  use Plugin_Installer_Skin;
7
  use Plugin_Upgrader;
8
- use Wbcr_Factory433_Plugin;
9
- use Wbcr_FactoryPages432_ImpressiveThemplate;
10
  use WP_Filesystem_Base;
11
  use WP_Upgrader;
12
  use WP_Upgrader_Skin;
@@ -45,13 +45,13 @@ class Premium_Upgrader extends Upgrader {
45
  * @param $args
46
  * @param bool $is_premium
47
  *
48
- * @param Wbcr_Factory433_Plugin $plugin
49
  *
50
  * @throws Exception
51
  * @since 4.1.1
52
  *
53
  */
54
- public function __construct(Wbcr_Factory433_Plugin $plugin)
55
  {
56
  parent::__construct($plugin);
57
 
@@ -242,9 +242,9 @@ class Premium_Upgrader extends Upgrader {
242
  /**
243
  * Выводит уведомление внутри интерфейса плагина, на всех страницах плагина.
244
  *
245
- * @param Wbcr_FactoryPages432_ImpressiveThemplate $obj
246
  *
247
- * @param Wbcr_Factory433_Plugin $plugin
248
  *
249
  * @return void
250
  * @since 4.1.1
@@ -320,7 +320,7 @@ class Premium_Upgrader extends Upgrader {
320
 
321
  ?>
322
  <tr class="plugin-update-tr active update wbcr-factory-updates">
323
- <td colspan="<?=$this->wp_list_table->get_column_count();?>" class="plugin-update colspanchange">
324
  <div class="update-message notice inline notice-warning notice-alt">
325
  <p>
326
  <?php echo $notice_text; ?>
@@ -808,12 +808,12 @@ class Premium_Upgrader extends Upgrader {
808
  $cancel_license_url = $this->get_action_url('cancel_license');
809
 
810
  $texts = [
811
- 'need_activate_license' => __('License activation required. A license is required to get premium plugin updates, as well as to get additional services.', 'wbcr_factory_433'),
812
- 'need_renew_license' => __('Your license has expired. You can no longer get premium plugin updates, premium support and your access to Webcraftic services has been suspended.', 'wbcr_factory_433'),
813
  'please_install_premium' => sprintf(__('Congratulations, you have activated a premium license! Please install premium add-on to use pro features now.
814
- <a href="%s">Install</a> premium add-on or <a href="%s">cancel</a> license.', 'wbcr_factory_433'), $upgrade_url, $cancel_license_url),
815
  'please_activate_premium' => sprintf(__('Congratulations, you have activated a premium license! Please activate premium add-on to use pro features now.
816
- <a href="%s">Activate</a> premium add-on or <a href="%s">cancel</a> license.', 'wbcr_factory_433'), $activate_plugin_url, $cancel_license_url)
817
  ];
818
 
819
  if( isset($texts[$type]) ) {
1
  <?php
2
 
3
+ namespace WBCR\Factory_444\Updates;
4
 
5
  use Exception;
6
  use Plugin_Installer_Skin;
7
  use Plugin_Upgrader;
8
+ use Wbcr_Factory444_Plugin;
9
+ use Wbcr_FactoryPages443_ImpressiveThemplate;
10
  use WP_Filesystem_Base;
11
  use WP_Upgrader;
12
  use WP_Upgrader_Skin;
45
  * @param $args
46
  * @param bool $is_premium
47
  *
48
+ * @param Wbcr_Factory444_Plugin $plugin
49
  *
50
  * @throws Exception
51
  * @since 4.1.1
52
  *
53
  */
54
+ public function __construct(Wbcr_Factory444_Plugin $plugin)
55
  {
56
  parent::__construct($plugin);
57
 
242
  /**
243
  * Выводит уведомление внутри интерфейса плагина, на всех страницах плагина.
244
  *
245
+ * @param Wbcr_FactoryPages443_ImpressiveThemplate $obj
246
  *
247
+ * @param Wbcr_Factory444_Plugin $plugin
248
  *
249
  * @return void
250
  * @since 4.1.1
320
 
321
  ?>
322
  <tr class="plugin-update-tr active update wbcr-factory-updates">
323
+ <td colspan="<?php echo esc_attr($this->wp_list_table->get_column_count());?>" class="plugin-update colspanchange">
324
  <div class="update-message notice inline notice-warning notice-alt">
325
  <p>
326
  <?php echo $notice_text; ?>
808
  $cancel_license_url = $this->get_action_url('cancel_license');
809
 
810
  $texts = [
811
+ 'need_activate_license' => __('License activation required. A license is required to get premium plugin updates, as well as to get additional services.', 'wbcr_factory_444'),
812
+ 'need_renew_license' => __('Your license has expired. You can no longer get premium plugin updates, premium support and your access to Webcraftic services has been suspended.', 'wbcr_factory_444'),
813
  'please_install_premium' => sprintf(__('Congratulations, you have activated a premium license! Please install premium add-on to use pro features now.
814
+ <a href="%s">Install</a> premium add-on or <a href="%s">cancel</a> license.', 'wbcr_factory_444'), $upgrade_url, $cancel_license_url),
815
  'please_activate_premium' => sprintf(__('Congratulations, you have activated a premium license! Please activate premium add-on to use pro features now.
816
+ <a href="%s">Activate</a> premium add-on or <a href="%s">cancel</a> license.', 'wbcr_factory_444'), $activate_plugin_url, $cancel_license_url)
817
  ];
818
 
819
  if( isset($texts[$type]) ) {
libs/factory/core/includes/updates/class-factory-upgrader.php CHANGED
@@ -1,13 +1,13 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_433\Updates;
4
 
5
  use Exception;
6
  use stdClass;
7
- use Wbcr_Factory433_Plugin;
8
 
9
  // Exit if accessed directly
10
- if ( ! defined( 'ABSPATH' ) ) {
11
  exit;
12
  }
13
 
@@ -28,8 +28,8 @@ class Upgrader {
28
  * @since 4.1.7
29
  * @var array хранит имя репозитория и его имя класса
30
  * [
31
- * 'wordpress' => 'WBCR\Factory_Freemius_120\Updates\Freemius_Repository',
32
- * 'freemius' => '\WBCR\Factory_433\Updates\Wordpress_Repository'
33
  * ]
34
  */
35
  public static $repositories = [];
@@ -42,7 +42,7 @@ class Upgrader {
42
  protected $type = 'default';
43
 
44
  /**
45
- * @var Wbcr_Factory433_Plugin
46
  */
47
  protected $plugin;
48
 
@@ -88,38 +88,40 @@ class Upgrader {
88
  /**
89
  * Manager constructor.
90
  *
91
- * @since 4.1.1
92
- *
93
- * @param Wbcr_Factory433_Plugin $plugin
94
  * @param $args
95
- * @param bool $is_premium
96
  *
97
  * @throws Exception
 
 
98
  */
99
- public function __construct( Wbcr_Factory433_Plugin $plugin ) {
 
100
 
101
  $this->plugin = $plugin;
102
 
103
- $this->plugin_basename = $plugin->get_paths()->basename;
104
- $this->plugin_main_file = $plugin->get_paths()->main_file;
105
  $this->plugin_absolute_path = $plugin->get_paths()->absolute;
106
- $this->is_debug = defined( 'FACTORY_UPDATES_DEBUG' ) && FACTORY_UPDATES_DEBUG;
107
 
108
  # Добавляем Wordpress репозиторий в список доступных репозиториев по умолчанию
109
- self::$repositories['wordpress'] = '\WBCR\Factory_433\Updates\Wordpress_Repository';
 
110
 
111
  $settings = $this->get_settings();
112
 
113
  $this->plugin_slug = $settings['slug'];
114
- $this->rollback = $settings['rollback_settings'];
115
 
116
- if ( empty( $this->plugin_slug ) || ! is_string( $this->plugin_slug ) ) {
117
- throw new Exception( 'Argument {slug} can not be empty and must be of type string.' );
118
  }
119
 
120
  $this->set_repository();
121
 
122
- if ( $this->repository->need_check_updates() ) {
123
  $this->init_hooks();
124
  }
125
  }
@@ -127,63 +129,68 @@ class Upgrader {
127
  /**
128
  * @throws Exception
129
  */
130
- protected function set_repository() {
131
- $settings = $this->get_settings();
132
- $this->repository = $this->get_repository( $settings['repository'] );
 
133
  $this->repository->init();
134
  }
135
 
136
  /**
137
  * @return array
138
  */
139
- protected function get_settings() {
140
- $settings = $this->plugin->getPluginInfoAttr( 'updates_settings' );
141
-
142
- return wp_parse_args( $settings, [
143
- 'repository' => 'wordpress',
144
- 'slug' => '',
145
- 'maybe_rollback' => false,
 
 
146
  'rollback_settings' => [
147
  'prev_stable_version' => '0.0.0'
148
  ]
149
- ] );
150
  }
151
 
152
  /**
153
- * @since 4.1.1
154
  * @throws Exception
 
155
  */
156
- protected function init_hooks() {
157
- add_filter( 'site_transient_update_plugins', [
 
158
  $this,
159
  'site_transient_update_plugins_hook'
160
- ] );
161
 
162
- add_action( 'wp_update_plugins', [ $this, 'reset_check_update_timer' ], 9 ); // WP Cron.
163
- add_action( 'deleted_site_transient', [ $this, 'reset_check_update_timer' ] );
164
- add_action( 'setted_site_transient', [ $this, 'reset_check_update_timer' ] );
165
  }
166
 
167
 
168
  /**
169
  * When WP sets the update_plugins site transient, we set our own transient
170
  *
171
- * @since 4.1.1
172
- *
173
- * @param Object $transient Site transient object.
174
  *
175
  * @throws Exception
 
 
176
  */
177
- public function site_transient_update_plugins_hook( $transient ) {
 
178
 
179
- if ( ! $transient || ! is_object( $transient ) ) {
180
  return $transient;
181
  }
182
 
183
  $temp_object = $this->check_updates();
184
 
185
- if ( ! empty( $temp_object ) && is_object( $temp_object ) && version_compare( $this->get_plugin_version(), $temp_object->new_version, '<' ) ) {
186
- $transient->response[ $temp_object->plugin ] = $temp_object;
187
 
188
  return $transient;
189
  }
@@ -194,23 +201,24 @@ class Upgrader {
194
  /**
195
  * When WP deletes the update_plugins site transient or updates the plugins, we delete our own transients to avoid another 12 hours waiting
196
  *
 
 
197
  * @since 4.1.1
198
  *
199
- * @param string $transient Transient name.
200
- * @param object $value Transient object.
201
  */
202
- public function reset_check_update_timer( $transient = 'update_plugins', $value = null ) {
 
203
  $options_prefix = $this->type == "default" ? "" : "_" . $this->type;
204
 
205
  // $value used by setted.
206
- if ( 'update_plugins' === $transient ) {
207
- if ( is_null( $value ) || is_object( $value ) && ! isset( $value->response ) ) {
208
 
209
- $last_check_time = (int) $this->plugin->getPopulateOption( "last_check{$options_prefix}_update_time", 0 );
210
 
211
- if ( 0 !== $last_check_time && time() > ( $last_check_time + MINUTE_IN_SECONDS ) ) {
212
- $this->plugin->deletePopulateOption( "last_check{$options_prefix}_update_time" );
213
- $this->plugin->deletePopulateOption( "last_check{$options_prefix}_update" );
214
  }
215
  }
216
  }
@@ -219,95 +227,100 @@ class Upgrader {
219
  /**
220
  * Проверяет последние обновления для текущего или премиум плагина.
221
  *
222
- * @since 4.1.1
223
  * @return object|null
224
  * @throws Exception
 
225
  */
226
- protected function check_updates( $force = false ) {
 
227
 
228
- $options_prefix = $this->type == "default" ? "" : "_" . $this->type;
229
  $check_updates_interval = self::CHECK_UPDATES_INTERVAL;
230
- $last_check_time = (int) $this->plugin->getPopulateOption( "last_check{$options_prefix}_update_time", 0 );
231
 
232
- if ( $this->is_debug && defined( 'FACTORY_CHECK_UPDATES_INTERVAL' ) ) {
233
  $check_updates_interval = FACTORY_CHECK_UPDATES_INTERVAL;
234
- if ( empty( $check_updates_interval ) || ! is_numeric( $check_updates_interval ) ) {
235
  $check_updates_interval = MINUTE_IN_SECONDS;
236
  }
237
  }
238
 
239
- if ( $force || ( time() > ( $last_check_time + $check_updates_interval ) ) ) {
240
 
241
- $this->plugin->updatePopulateOption( "last_check{$options_prefix}_update_time", time() );
242
 
243
  $last_version = $this->repository->get_last_version();
244
 
245
- if ( ! empty( $last_version ) ) {
246
- $temp_object = new stdClass();
247
- $temp_object->slug = $this->plugin_slug;
248
- $temp_object->plugin = $this->plugin_basename;
249
  $temp_object->new_version = $last_version;
250
- $temp_object->package = $this->repository->get_download_url();
251
 
252
- $this->plugin->updatePopulateOption( "last_check{$options_prefix}_update", $temp_object );
253
 
254
  return $temp_object;
255
  }
256
  }
257
 
258
- return $this->plugin->getPopulateOption( "last_check{$options_prefix}_update" );
259
  }
260
 
261
  /**
262
- * @since 4.1.1
263
- *
264
  * @param $args
265
  *
266
  * @return string
 
 
267
  */
268
- protected function get_admin_url( $args ) {
269
- $url = admin_url( 'plugins.php', $args );
 
270
 
271
- if ( $this->plugin->isNetworkActive() ) {
272
- $url = network_admin_url( 'plugins.php', $args );
273
  }
274
 
275
- return add_query_arg( $args, $url );
276
  }
277
 
278
  /**
279
- * @since 4.1.1
280
- *
281
  * @param $repository_name
282
  *
283
  * @return Repository
284
  * @throws Exception
 
 
285
  */
286
- protected function get_repository( $repository_name ) {
 
287
 
288
- if ( isset( self::$repositories[ $repository_name ] ) && class_exists( self::$repositories[ $repository_name ] ) ) {
289
- if ( self::$repositories[ $repository_name ] instanceof Repository ) {
290
- throw new Exception( "Repository {$repository_name} must extend the class WBCR\Factory_433\Updates\Repository interface!" );
291
  }
292
 
293
- return new self::$repositories[ $repository_name ]( $this->plugin );
294
  }
295
 
296
- throw new Exception( "Repository {$repository_name} is not supported!" );
297
  }
298
 
299
  /**
300
- * @since 4.1.1
301
  * @return string
 
302
  */
303
- protected function get_plugin_version() {
 
304
  return $this->plugin->getPluginVersion();
305
  }
306
 
307
  /**
308
  * @since 4.1.1
309
  */
310
- protected function rollback() {
 
311
 
312
  }
313
  }
1
  <?php
2
 
3
+ namespace WBCR\Factory_444\Updates;
4
 
5
  use Exception;
6
  use stdClass;
7
+ use Wbcr_Factory444_Plugin;
8
 
9
  // Exit if accessed directly
10
+ if( !defined('ABSPATH') ) {
11
  exit;
12
  }
13
 
28
  * @since 4.1.7
29
  * @var array хранит имя репозитория и его имя класса
30
  * [
31
+ * 'wordpress' => 'WBCR\Factory_Freemius_132\Updates\Freemius_Repository',
32
+ * 'freemius' => '\WBCR\Factory_444\Updates\Wordpress_Repository'
33
  * ]
34
  */
35
  public static $repositories = [];
42
  protected $type = 'default';
43
 
44
  /**
45
+ * @var Wbcr_Factory444_Plugin
46
  */
47
  protected $plugin;
48
 
88
  /**
89
  * Manager constructor.
90
  *
91
+ * @param Wbcr_Factory444_Plugin $plugin
 
 
92
  * @param $args
93
+ * @param bool $is_premium
94
  *
95
  * @throws Exception
96
+ * @since 4.1.1
97
+ *
98
  */
99
+ public function __construct(Wbcr_Factory444_Plugin $plugin)
100
+ {
101
 
102
  $this->plugin = $plugin;
103
 
104
+ $this->plugin_basename = $plugin->get_paths()->basename;
105
+ $this->plugin_main_file = $plugin->get_paths()->main_file;
106
  $this->plugin_absolute_path = $plugin->get_paths()->absolute;
107
+ $this->is_debug = defined('FACTORY_UPDATES_DEBUG') && FACTORY_UPDATES_DEBUG;
108
 
109
  # Добавляем Wordpress репозиторий в список доступных репозиториев по умолчанию
110
+ self::$repositories['wordpress'] = '\WBCR\Factory_444\Updates\Wordpress_Repository';
111
+ self::$repositories['github'] = '\WBCR\Factory_444\Updates\Github_Repository';
112
 
113
  $settings = $this->get_settings();
114
 
115
  $this->plugin_slug = $settings['slug'];
116
+ $this->rollback = $settings['rollback_settings'];
117
 
118
+ if( empty($this->plugin_slug) || !is_string($this->plugin_slug) ) {
119
+ throw new Exception('Argument {slug} can not be empty and must be of type string.');
120
  }
121
 
122
  $this->set_repository();
123
 
124
+ if( $this->repository->need_check_updates() ) {
125
  $this->init_hooks();
126
  }
127
  }
129
  /**
130
  * @throws Exception
131
  */
132
+ protected function set_repository()
133
+ {
134
+ $settings = $this->get_settings();
135
+ $this->repository = $this->get_repository($settings['repository']);
136
  $this->repository->init();
137
  }
138
 
139
  /**
140
  * @return array
141
  */
142
+ protected function get_settings()
143
+ {
144
+ $settings = $this->plugin->getPluginInfoAttr('updates_settings');
145
+
146
+ return wp_parse_args($settings, [
147
+ 'repository' => 'wordpress',
148
+ 'alternate_updates_mode' => false,
149
+ 'slug' => '',
150
+ 'maybe_rollback' => false,
151
  'rollback_settings' => [
152
  'prev_stable_version' => '0.0.0'
153
  ]
154
+ ]);
155
  }
156
 
157
  /**
 
158
  * @throws Exception
159
+ * @since 4.1.1
160
  */
161
+ protected function init_hooks()
162
+ {
163
+ add_filter('site_transient_update_plugins', [
164
  $this,
165
  'site_transient_update_plugins_hook'
166
+ ]);
167
 
168
+ add_action('wp_update_plugins', [$this, 'reset_check_update_timer'], 9); // WP Cron.
169
+ add_action('deleted_site_transient', [$this, 'reset_check_update_timer']);
170
+ add_action('setted_site_transient', [$this, 'reset_check_update_timer']);
171
  }
172
 
173
 
174
  /**
175
  * When WP sets the update_plugins site transient, we set our own transient
176
  *
177
+ * @param Object $transient Site transient object.
 
 
178
  *
179
  * @throws Exception
180
+ * @since 4.1.1
181
+ *
182
  */
183
+ public function site_transient_update_plugins_hook($transient)
184
+ {
185
 
186
+ if( !$transient || !is_object($transient) ) {
187
  return $transient;
188
  }
189
 
190
  $temp_object = $this->check_updates();
191
 
192
+ if( !empty($temp_object) && is_object($temp_object) && version_compare($this->get_plugin_version(), $temp_object->new_version, '<') ) {
193
+ $transient->response[$temp_object->plugin] = $temp_object;
194
 
195
  return $transient;
196
  }
201
  /**
202
  * When WP deletes the update_plugins site transient or updates the plugins, we delete our own transients to avoid another 12 hours waiting
203
  *
204
+ * @param string $transient Transient name.
205
+ * @param object $value Transient object.
206
  * @since 4.1.1
207
  *
 
 
208
  */
209
+ public function reset_check_update_timer($transient = 'update_plugins', $value = null)
210
+ {
211
  $options_prefix = $this->type == "default" ? "" : "_" . $this->type;
212
 
213
  // $value used by setted.
214
+ if( 'update_plugins' === $transient ) {
215
+ if( is_null($value) || is_object($value) && !isset($value->response) ) {
216
 
217
+ $last_check_time = (int)$this->plugin->getPopulateOption("last_check{$options_prefix}_update_time", 0);
218
 
219
+ if( 0 !== $last_check_time && time() > ($last_check_time + MINUTE_IN_SECONDS) ) {
220
+ $this->plugin->deletePopulateOption("last_check{$options_prefix}_update_time");
221
+ $this->plugin->deletePopulateOption("last_check{$options_prefix}_update");
222
  }
223
  }
224
  }
227
  /**
228
  * Проверяет последние обновления для текущего или премиум плагина.
229
  *
 
230
  * @return object|null
231
  * @throws Exception
232
+ * @since 4.1.1
233
  */
234
+ protected function check_updates($force = false)
235
+ {
236
 
237
+ $options_prefix = $this->type == "default" ? "" : "_" . $this->type;
238
  $check_updates_interval = self::CHECK_UPDATES_INTERVAL;
239
+ $last_check_time = (int)$this->plugin->getPopulateOption("last_check{$options_prefix}_update_time", 0);
240
 
241
+ if( $this->is_debug && defined('FACTORY_CHECK_UPDATES_INTERVAL') ) {
242
  $check_updates_interval = FACTORY_CHECK_UPDATES_INTERVAL;
243
+ if( empty($check_updates_interval) || !is_numeric($check_updates_interval) ) {
244
  $check_updates_interval = MINUTE_IN_SECONDS;
245
  }
246
  }
247
 
248
+ if( $force || (time() > ($last_check_time + $check_updates_interval)) ) {
249
 
250
+ $this->plugin->updatePopulateOption("last_check{$options_prefix}_update_time", time());
251
 
252
  $last_version = $this->repository->get_last_version();
253
 
254
+ if( !empty($last_version) ) {
255
+ $temp_object = new stdClass();
256
+ $temp_object->slug = $this->plugin_slug;
257
+ $temp_object->plugin = $this->plugin_basename;
258
  $temp_object->new_version = $last_version;
259
+ $temp_object->package = $this->repository->get_download_url();
260
 
261
+ $this->plugin->updatePopulateOption("last_check{$options_prefix}_update", $temp_object);
262
 
263
  return $temp_object;
264
  }
265
  }
266
 
267
+ return $this->plugin->getPopulateOption("last_check{$options_prefix}_update");
268
  }
269
 
270
  /**
 
 
271
  * @param $args
272
  *
273
  * @return string
274
+ * @since 4.1.1
275
+ *
276
  */
277
+ protected function get_admin_url($args)
278
+ {
279
+ $url = admin_url('plugins.php', $args);
280
 
281
+ if( $this->plugin->isNetworkActive() ) {
282
+ $url = network_admin_url('plugins.php', $args);
283
  }
284
 
285
+ return add_query_arg($args, $url);
286
  }
287
 
288
  /**
 
 
289
  * @param $repository_name
290
  *
291
  * @return Repository
292
  * @throws Exception
293
+ * @since 4.1.1
294
+ *
295
  */
296
+ protected function get_repository($repository_name)
297
+ {
298
 
299
+ if( isset(self::$repositories[$repository_name]) && class_exists(self::$repositories[$repository_name]) ) {
300
+ if( self::$repositories[$repository_name] instanceof Repository ) {
301
+ throw new Exception("Repository {$repository_name} must extend the class WBCR\Factory_444\Updates\Repository interface!");
302
  }
303
 
304
+ return new self::$repositories[$repository_name]($this->plugin, $this->get_settings());
305
  }
306
 
307
+ throw new Exception("Repository {$repository_name} is not supported!");
308
  }
309
 
310
  /**
 
311
  * @return string
312
+ * @since 4.1.1
313
  */
314
+ protected function get_plugin_version()
315
+ {
316
  return $this->plugin->getPluginVersion();
317
  }
318
 
319
  /**
320
  * @since 4.1.1
321
  */
322
+ protected function rollback()
323
+ {
324
 
325
  }
326
  }
libs/factory/core/includes/updates/repositories/class-factory-github.php ADDED
@@ -0,0 +1,247 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WBCR\Factory_444\Updates;
4
+
5
+ // Exit if accessed directly
6
+ use Wbcr_Factory444_Plugin;
7
+
8
+ if( !defined('ABSPATH') ) {
9
+ exit;
10
+ }
11
+
12
+ /**
13
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>, repo: https://github.com/alexkovalevv
14
+ * @author Webcraftic <wordpress.webraftic@gmail.com>, site: https://webcraftic.com
15
+ * @copyright (c) 2018 Webraftic Ltd
16
+ * @version 1.0
17
+ */
18
+ class Github_Repository extends Repository {
19
+
20
+ /**
21
+ * Токен доступа
22
+ *
23
+ * Требуется, если репозиторий закрытый
24
+ * @var string
25
+ * @since 4.4.1
26
+ */
27
+ protected $github_authorize_token;
28
+
29
+ /**
30
+ * Имя пользователя
31
+ * @var string
32
+ * @since 4.4.1
33
+ */
34
+ protected $github_username;
35
+
36
+ /**
37
+ * Имя репозитория в Github
38
+ * @var string
39
+ * @since 4.4.1
40
+ */
41
+ protected $github_repository;
42
+
43
+ /**
44
+ * Имя репозитория
45
+ * @var string
46
+ * @since 4.4.1
47
+ */
48
+ protected $plugin_slug;
49
+
50
+ /**
51
+ * Кешируем результаты запроса в этот параметр
52
+ * @var array
53
+ * @since 4.4.1
54
+ */
55
+ private $release_info;
56
+
57
+ /**
58
+ * Wordpress constructor.
59
+ *
60
+ * @param Wbcr_Factory444_Plugin $plugin
61
+ * @param bool $is_premium
62
+ * @since 4.4.1
63
+ */
64
+ public function __construct(Wbcr_Factory444_Plugin $plugin, array $settings = [])
65
+ {
66
+ $settings = wp_parse_args($settings, [
67
+ 'github_username' => '',
68
+ 'github_authorize_token' => '',
69
+ 'github_repository' => ''
70
+ ]);
71
+
72
+ if( empty($settings['github_username']) ) {
73
+ throw new \Exception('You are trying to connect a github repository for plugin updates. You must enter the username of the github repository!');
74
+ }
75
+
76
+ $this->plugin = $plugin;
77
+ $this->plugin_basename = $this->plugin->get_paths()->basename;
78
+ $this->plugin_main_file = $this->plugin->get_paths()->main_file;
79
+ $this->plugin_absolute_path = $this->plugin->get_paths()->absolute;
80
+ $this->plugin_slug = $settings['slug'];
81
+
82
+ $this->github_authorize_token = $settings['github_authorize_token'];
83
+ $this->github_username = $settings['github_username'];
84
+ $this->github_repository = empty($settings['github_repository']) ? $this->plugin_slug : $settings['github_repository'];
85
+ }
86
+
87
+ public function init()
88
+ {
89
+ add_filter('upgrader_source_selection', array($this, 'change_source_package'), 10, 2);
90
+ }
91
+
92
+ /**
93
+ * @return bool
94
+ * @since 4.4.1
95
+ */
96
+ public function need_check_updates()
97
+ {
98
+ return true;
99
+ }
100
+
101
+ /**
102
+ * Если этот репозиторий используется для обновлени премиум плагина,
103
+ * нужно установить true. В нашем случае Github используется только
104
+ * для обновлений бесплатного плагина.
105
+ * @return bool
106
+ * @since 4.4.1
107
+ */
108
+ public function is_support_premium()
109
+ {
110
+ return false;
111
+ }
112
+
113
+ /**
114
+ * Метод получает ссылку на скачивание последнего релиза в Github
115
+ * @return string
116
+ * @since 4.4.1
117
+ */
118
+ public function get_download_url()
119
+ {
120
+ try {
121
+ $response = $this->get_last_release_info();
122
+
123
+ if( empty($response['assets']) ) {
124
+ throw new \Exception('You must upload the plugin archive to the github as a binary file.');
125
+ }
126
+
127
+ foreach($response['assets'] as $asset) {
128
+ if( false !== strpos($asset['name'], $this->plugin_slug) && "application/zip" === $asset['content_type'] ) {
129
+ if( $this->github_authorize_token ) { // Is there an access token?
130
+ $asset['browser_download_url'] = add_query_arg('access_token', $this->github_authorize_token, $asset['browser_download_url']); // Update our zip url with token
131
+ }
132
+
133
+ return $asset['browser_download_url'];
134
+ }
135
+ }
136
+ } catch( \Exception $e ) {
137
+ if( defined('FACTORY_UPDATES_DEBUG') && FACTORY_UPDATES_DEBUG ) {
138
+ throw new \Exception($e->getMessage(), $e->getCode());
139
+ }
140
+ }
141
+
142
+ return null;
143
+ }
144
+
145
+ /**
146
+ * Метод получает версию последнего релиза плагина загруженного на Github
147
+ * @return string|null Возвращает версию 1.2.3, в случае ошибки null
148
+ * @since 4.4.1
149
+ */
150
+ public function get_last_version()
151
+ {
152
+ try {
153
+ $response = $this->get_last_release_info();
154
+
155
+ return $response['tag_name'];
156
+ } catch( \Exception $e ) {
157
+ if( defined('FACTORY_UPDATES_DEBUG') && FACTORY_UPDATES_DEBUG ) {
158
+ throw new \Exception($e->getMessage(), $e->getCode());
159
+ }
160
+ }
161
+
162
+ return null;
163
+ }
164
+
165
+ /**
166
+ * Checks that the package source contains .mo and .po files.
167
+ *
168
+ * Hooked to the {@see 'upgrader_source_selection'} filter by
169
+ * Language_Pack_Upgrader::bulk_upgrade().
170
+ *
171
+ * @param string|\WP_Error $source The path to the downloaded package source.
172
+ * @param string $remote_source Remote file source location.
173
+ * @return string|\WP_Error The source as passed, or a WP_Error object on failure.
174
+ * @global \WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
175
+ *
176
+ * @since 4.4.1
177
+ *
178
+ */
179
+ public function change_source_package($source, $remote_source)
180
+ {
181
+ global $wp_filesystem;
182
+
183
+ if( is_wp_error($source) ) {
184
+ return $source;
185
+ }
186
+
187
+ if( false !== strpos(basename($source), $this->plugin_slug) ) {
188
+
189
+ $new_source = $wp_filesystem->wp_content_dir() . 'upgrade/' . $this->plugin_slug;
190
+
191
+ $wp_filesystem->move($source, $new_source);
192
+
193
+ return $new_source;
194
+ }
195
+
196
+ return $source;
197
+ }
198
+
199
+ /**
200
+ * Метод получает информацию о последнем релизе на Github
201
+ *
202
+ * Имена релизов и тегов на Github строго должны соотвествовать версии загруженного релиза.
203
+ * К примеру 0.0.0 - правильное именование, v0.0.0 - будет ошибкой
204
+ *
205
+ * @return mixed
206
+ * @throws \Exception
207
+ * @since 4.4.1
208
+ */
209
+ protected function get_last_release_info()
210
+ {
211
+ if( !empty($this->release_info) ) {
212
+ return $this->release_info;
213
+ }
214
+
215
+ $request_uri = sprintf('https://api.github.com/repos/%s/%s/releases', $this->github_username, $this->github_repository); // Build URI
216
+
217
+ if( $this->github_authorize_token ) { // Is there an access token?
218
+ $request_uri = add_query_arg('access_token', $this->github_authorize_token, $request_uri); // Append it
219
+ }
220
+
221
+ $response = wp_remote_get($request_uri);
222
+
223
+ if( is_wp_error($response) ) {
224
+ throw new \Exception($response->get_error_message(), $response->get_error_code());
225
+ }
226
+
227
+ $data = @json_decode(wp_remote_retrieve_body($response), true); // Get JSON and parse it
228
+
229
+ if( empty($data) ) {
230
+ throw new \Exception("Failed to decode received data:" . json_last_error());
231
+ }
232
+
233
+ if( isset($data['message']) ) {
234
+ throw new \Exception("It is not possible to get release information in the github repository. The repository may not exist. Received error text: " . $data['message']);
235
+ }
236
+
237
+ uasort($data, function ($a, $b) {
238
+ return version_compare($b['tag_name'], $a['tag_name']);
239
+ });
240
+
241
+ $data = current($data); // Get the first item
242
+
243
+ $this->release_info = $data;
244
+
245
+ return $data;
246
+ }
247
+ }
libs/factory/core/includes/updates/repositories/class-factory-repository-abstract.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_433\Updates;
4
 
5
  // Exit if accessed directly
6
- use Wbcr_Factory433_Plugin;
7
 
8
- if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
10
  }
11
 
@@ -23,17 +23,17 @@ abstract class Repository {
23
  protected $initialized = false;
24
 
25
  /**
26
- * @var Wbcr_Factory433_Plugin
27
  */
28
  protected $plugin;
29
 
30
  /**
31
  * Repository constructor.
32
  *
33
- * @param Wbcr_Factory433_Plugin $plugin
34
- * @param bool $is_premium
35
  */
36
- abstract public function __construct( Wbcr_Factory433_Plugin $plugin );
37
 
38
  /**
39
  * @return void
1
  <?php
2
 
3
+ namespace WBCR\Factory_444\Updates;
4
 
5
  // Exit if accessed directly
6
+ use Wbcr_Factory444_Plugin;
7
 
8
+ if( !defined('ABSPATH') ) {
9
  exit;
10
  }
11
 
23
  protected $initialized = false;
24
 
25
  /**
26
+ * @var Wbcr_Factory444_Plugin
27
  */
28
  protected $plugin;
29
 
30
  /**
31
  * Repository constructor.
32
  *
33
+ * @param Wbcr_Factory444_Plugin $plugin
34
+ * @param array $settings
35
  */
36
+ abstract public function __construct(Wbcr_Factory444_Plugin $plugin, array $settings = []);
37
 
38
  /**
39
  * @return void
libs/factory/core/includes/updates/repositories/class-factory-wordpress.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_433\Updates;
4
 
5
  // Exit if accessed directly
6
- use Wbcr_Factory433_Plugin;
7
 
8
- if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
10
  }
11
 
@@ -20,53 +20,61 @@ class Wordpress_Repository extends Repository {
20
  /**
21
  * Wordpress constructor.
22
  *
23
- * @param Wbcr_Factory433_Plugin $plugin
24
- * @param bool $is_premium
25
  */
26
- public function __construct( Wbcr_Factory433_Plugin $plugin ) {
 
27
  $this->plugin = $plugin;
28
  }
29
 
30
- public function init() {
 
31
  // TODO: Implement init() method.
32
  }
33
 
34
  /**
35
  * @return bool
36
  */
37
- public function need_check_updates() {
 
38
  return false;
39
  }
40
 
41
  /**
42
  * @return bool
43
  */
44
- public function is_support_premium() {
 
45
  return false;
46
  }
47
 
48
  /**
49
  * @return string
50
  */
51
- public function get_download_url() {
 
52
  return '';
53
  }
54
 
55
  /**
56
  * @return string
57
  */
58
- public function get_last_version() {
 
59
  return '0.0.0';
60
  }
61
 
62
- public function check_updates() {
 
63
 
64
  }
65
 
66
  /**
67
  * @return bool
68
  */
69
- public function need_update() {
 
70
  return false;
71
  }
72
  }
1
  <?php
2
 
3
+ namespace WBCR\Factory_444\Updates;
4
 
5
  // Exit if accessed directly
6
+ use Wbcr_Factory444_Plugin;
7
 
8
+ if( !defined('ABSPATH') ) {
9
  exit;
10
  }
11
 
20
  /**
21
  * Wordpress constructor.
22
  *
23
+ * @param Wbcr_Factory444_Plugin $plugin
24
+ * @param array $settings
25
  */
26
+ public function __construct(Wbcr_Factory444_Plugin $plugin, array $settings = [])
27
+ {
28
  $this->plugin = $plugin;
29
  }
30
 
31
+ public function init()
32
+ {
33
  // TODO: Implement init() method.
34
  }
35
 
36
  /**
37
  * @return bool
38
  */
39
+ public function need_check_updates()
40
+ {
41
  return false;
42
  }
43
 
44
  /**
45
  * @return bool
46
  */
47
+ public function is_support_premium()
48
+ {
49
  return false;
50
  }
51
 
52
  /**
53
  * @return string
54
  */
55
+ public function get_download_url()
56
+ {
57
  return '';
58
  }
59
 
60
  /**
61
  * @return string
62
  */
63
+ public function get_last_version()
64
+ {
65
  return '0.0.0';
66
  }
67
 
68
+ public function check_updates()
69
+ {
70
 
71
  }
72
 
73
  /**
74
  * @return bool
75
  */
76
+ public function need_update()
77
+ {
78
  return false;
79
  }
80
  }
libs/factory/core/langs/wbcr_factory_444-ru_RU.mo ADDED
Binary file
libs/factory/core/langs/wbcr_factory_444-ru_RU.po ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: factory_forms\n"
4
+ "POT-Creation-Date: 2018-10-16 22:44+0300\n"
5
+ "PO-Revision-Date: 2018-10-16 22:45+0300\n"
6
+ "Last-Translator: \n"
7
+ "Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
8
+ "Language: ru_RU\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.1.1\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
15
+ "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
18
+ "X-Poedit-SearchPath-0: .\n"
19
+
20
+ #: includes/check-compatibility.php:80
21
+ msgid "warning"
22
+ msgstr "предупреждение"
23
+
24
+ #: includes/check-compatibility.php:82
25
+ #, php-format
26
+ msgid "The %s plugin has stopped."
27
+ msgstr "Работа плагина %s была остановлена."
28
+
29
+ #: includes/check-compatibility.php:83
30
+ msgid "Possible reasons:"
31
+ msgstr "Возможные причины:"
32
+
33
+ #: includes/check-compatibility.php:89
34
+ #, php-format
35
+ msgid "You need to update the PHP version to %s or higher!"
36
+ msgstr "Вам нужно обновить версию PHP до %s или выше!"
37
+
38
+ #: includes/check-compatibility.php:94
39
+ #, php-format
40
+ msgid "You need to update WordPress to %s or higher!"
41
+ msgstr "Вам нужно обновить WordPress до %s или выше!"
42
+
43
+ #: includes/functions.php:132
44
+ #, php-format
45
+ msgid ""
46
+ "%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead."
47
+ msgstr ""
48
+ "%1$s является <strong>устаревшим,</strong> начиная с версии %2$s в "
49
+ "Wordpress! Используйте %3$s."
50
+
51
+ #: includes/functions.php:134
52
+ #, php-format
53
+ msgid ""
54
+ "%1$s is <strong>deprecated</strong> since version %2$s with no alternative "
55
+ "available."
56
+ msgstr ""
57
+ "%1$s был вызван с параметром, который является <strong>устаревшими</strong> "
58
+ "начиная с версии %2$s , в настоящее время доступных альтернатив нет."
59
+
60
+ #: includes/plugin.class.php:202 includes/plugin.class.php:237
61
+ msgid ""
62
+ "You are trying to call this earlier than the plugin menu will be registered."
63
+ msgstr ""
64
+ "Вы пытаетесь вызвать это раньше, чем будет зарегистрировано меню плагина."
65
+
66
+ #: includes/plugin.class.php:220
67
+ msgid ""
68
+ "You are trying to get a link to a page that does not have multisite mode. "
69
+ "Clicking this link will lead the user to a non-existent page."
70
+ msgstr ""
71
+ "Вы пытаетесь получить ссылку на страницу, которая не имеет "
72
+ "многопользовательского режима. Щелчок по этой ссылке приведет пользователя "
73
+ "к несуществующей странице."
74
+
75
+ #: includes/plugin.class.php:222
76
+ msgid ""
77
+ "Trying to get a link to an unregistered page. You are trying to call this "
78
+ "earlier than the plugin menu will be registered."
79
+ msgstr ""
80
+ "Попытка получить ссылку на незарегистрированную страницу. Вы пытаетесь "
81
+ "вызвать это раньше, чем будет зарегистрировано меню плагина."
82
+
83
+ #~ msgid "On"
84
+ #~ msgstr "Вкл"
85
+
86
+ #~ msgid "Off"
87
+ #~ msgstr "Выкл"
88
+
89
+ #~ msgid "(use default website font)"
90
+ #~ msgstr "(шрифт сайта по умолчанию)"
91
+
92
+ #~ msgid "Sans Serif:"
93
+ #~ msgstr "Группа Sans Serif:"
94
+
95
+ #~ msgid "Serif:"
96
+ #~ msgstr "Группа Serif:"
97
+
98
+ #~ msgid "Monospaced:"
99
+ #~ msgstr "Группа Monospaced:"
100
+
101
+ #~ msgid "vertical"
102
+ #~ msgstr "вертикальный"
103
+
104
+ #~ msgid "horizontal"
105
+ #~ msgstr "горизонтальный"
106
+
107
+ #~ msgid "hide extra options"
108
+ #~ msgstr "скрыть дополнительные настроки"
109
+
110
+ #~ msgid "Select a side and move the slider to set up:"
111
+ #~ msgstr "Выберите сторону и переместите ползунок:"
112
+
113
+ #~ msgid "Change color"
114
+ #~ msgstr "Выбрать цвет"
115
+
116
+ #~ msgid "re-color"
117
+ #~ msgstr "Перекрасить"
118
+
119
+ #~ msgid "Select color:"
120
+ #~ msgstr "Выберите цвет:"
121
+
122
+ #~ msgid "Changing the color may takes a minute or more. Please be patient."
123
+ #~ msgstr ""
124
+ #~ "В некоторых случаях изменение цвета может занять около минуты. "
125
+ #~ "Пожалуйста, будьте терпеливы."
126
+
127
+ #~ msgid "Upload Pattern"
128
+ #~ msgstr "Добавить шаблон"
libs/factory/feedback/assets/css/dialog-boxes.css CHANGED
@@ -1,4 +1,4 @@
1
- .wbcr-factory-feedback-106-modal {
2
  position: fixed;
3
  overflow: auto;
4
  height: 100%;
@@ -9,7 +9,7 @@
9
  background: rgba(0, 0, 0, 0.6)
10
  }
11
 
12
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-dialog {
13
  background: transparent;
14
  position: absolute;
15
  left: 50%;
@@ -21,7 +21,7 @@
21
  }
22
 
23
  @media (max-width: 650px) {
24
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-dialog {
25
  margin-left: -50%;
26
  box-sizing: border-box;
27
  padding-left: 10px;
@@ -29,54 +29,54 @@
29
  width: 100%
30
  }
31
 
32
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-dialog .wbcr-factory-feedback-106-modal-panel > h3 > strong {
33
  font-size: 1.3em
34
  }
35
  }
36
 
37
- .wbcr-factory-feedback-106-modal.active {
38
  display: block
39
  }
40
 
41
- .wbcr-factory-feedback-106-modal.active:before {
42
  display: block
43
  }
44
 
45
- .wbcr-factory-feedback-106-modal.active .wbcr-factory-feedback-106-modal-dialog {
46
  top: 10%
47
  }
48
 
49
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-success .wbcr-factory-feedback-106-modal-header {
50
  border-bottom-color: #46b450
51
  }
52
 
53
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-success .wbcr-factory-feedback-106-modal-body {
54
  background-color: #f7fff7
55
  }
56
 
57
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-warn .wbcr-factory-feedback-106-modal-header {
58
  border-bottom-color: #ffb900
59
  }
60
 
61
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-warn .wbcr-factory-feedback-106-modal-body {
62
  background-color: #fff8e5
63
  }
64
 
65
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-error .wbcr-factory-feedback-106-modal-header {
66
  border-bottom-color: #dc3232
67
  }
68
 
69
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-error .wbcr-factory-feedback-106-modal-body {
70
  background-color: #ffeaea
71
  }
72
 
73
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-body, .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-footer {
74
  border: 0;
75
  background: #fefefe;
76
  padding: 20px
77
  }
78
 
79
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-header {
80
  border-bottom: #eeeeee solid 1px;
81
  background: #fbfbfb;
82
  padding: 15px 20px;
@@ -84,7 +84,7 @@
84
  margin-bottom: -10px
85
  }
86
 
87
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-header h4 {
88
  margin: 0;
89
  padding: 0;
90
  text-transform: uppercase;
@@ -96,7 +96,7 @@
96
  -webkit-font-smoothing: antialiased
97
  }
98
 
99
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-header .wbcr-factory-feedback-106-close {
100
  position: absolute;
101
  right: 10px;
102
  top: 12px;
@@ -113,166 +113,166 @@
113
  transition: all 0.2s ease-in-out
114
  }
115
 
116
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-header .wbcr-factory-feedback-106-close:hover {
117
  color: #fff;
118
  background: #aaa
119
  }
120
 
121
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-header .wbcr-factory-feedback-106-close .dashicons, .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-header .wbcr-factory-feedback-106-close:hover .dashicons {
122
  text-decoration: none
123
  }
124
 
125
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-body {
126
  border-bottom: 0
127
  }
128
 
129
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-body p {
130
  font-size: 14px
131
  }
132
 
133
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-body h2 {
134
  font-size: 20px;
135
  line-height: 1.5em
136
  }
137
 
138
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-body > div {
139
  margin-top: 10px
140
  }
141
 
142
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-body > div h2 {
143
  font-weight: bold;
144
  font-size: 20px;
145
  margin-top: 0
146
  }
147
 
148
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-footer {
149
  border-top: #eeeeee solid 1px;
150
  text-align: right
151
  }
152
 
153
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-footer > .button {
154
  margin: 0 7px
155
  }
156
 
157
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-footer > .button:first-child {
158
  margin: 0
159
  }
160
 
161
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-panel > .notice.inline {
162
  margin: 0;
163
  display: none
164
  }
165
 
166
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-panel:not(.active) {
167
  display: none
168
  }
169
 
170
- .rtl .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-header .wbcr-factory-feedback-106-close {
171
  right: auto;
172
  left: 20px
173
  }
174
 
175
- body.has-wbcr-factory-feedback-106-modal {
176
  overflow: hidden
177
  }
178
 
179
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-deactivation-feedback .reason-input, .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-deactivation-feedback .internal-message {
180
  margin: 3px 0 3px 22px
181
  }
182
 
183
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-deactivation-feedback .reason-input input, .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-deactivation-feedback .reason-input textarea, .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-deactivation-feedback .internal-message input, .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-deactivation-feedback .internal-message textarea {
184
  width: 100%
185
  }
186
 
187
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-deactivation-feedback li.reason.has-internal-message .internal-message {
188
  border: 1px solid #ccc;
189
  padding: 7px;
190
  display: none
191
  }
192
 
193
  @media (max-width: 650px) {
194
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-deactivation-feedback li.reason li.reason {
195
  margin-bottom: 10px
196
  }
197
 
198
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-deactivation-feedback li.reason li.reason .reason-input, .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-deactivation-feedback li.reason li.reason .internal-message {
199
  margin-left: 29px
200
  }
201
 
202
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-deactivation-feedback li.reason li.reason label {
203
  display: table
204
  }
205
 
206
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-deactivation-feedback li.reason li.reason label > span {
207
  display: table-cell;
208
  font-size: 1.3em
209
  }
210
  }
211
 
212
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-deactivation-feedback .wbcr-factory-feedback-106-anonymous-feedback-label {
213
  float: left
214
  }
215
 
216
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-deactivation-feedback .wbcr-factory-feedback-106-modal-panel {
217
  margin-top: 0 !important
218
  }
219
 
220
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-deactivation-feedback .wbcr-factory-feedback-106-modal-panel h3 {
221
  margin-top: 0;
222
  line-height: 1.5em
223
  }
224
 
225
- #the-list .deactivate > .wbcr-factory-feedback-106-slug {
226
  display: none
227
  }
228
 
229
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-subscription-cancellation .wbcr-factory-feedback-106-price-increase-warning {
230
  color: red;
231
  font-weight: bold;
232
  padding: 0 25px;
233
  margin-bottom: 0
234
  }
235
 
236
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-subscription-cancellation ul.subscription-actions label input {
237
  float: left;
238
  top: 5px;
239
  position: relative
240
  }
241
 
242
- .rtl .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-subscription-cancellation ul.subscription-actions label input {
243
  float: right
244
  }
245
 
246
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-subscription-cancellation ul.subscription-actions label span {
247
  display: block;
248
  margin-left: 24px
249
  }
250
 
251
- .rtl .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-subscription-cancellation ul.subscription-actions label span {
252
  margin-left: 0;
253
  margin-right: 24px
254
  }
255
 
256
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-license-activation .wbcr-factory-feedback-106-modal-body input.wbcr-factory-feedback-106-license-key {
257
  width: 100%
258
  }
259
 
260
- .wbcr-factory-feedback-106-license-options-container table, .wbcr-factory-feedback-106-license-options-container table select, .wbcr-factory-feedback-106-license-options-container table .wbcr-factory-feedback-106-available-license-key {
261
  width: 100%
262
  }
263
 
264
- .wbcr-factory-feedback-106-license-options-container table td:first-child {
265
  width: 1%
266
  }
267
 
268
- .wbcr-factory-feedback-106-license-options-container table .wbcr-factory-feedback-106-other-license-key-container label {
269
  position: relative;
270
  top: 6px;
271
  float: left;
272
  margin-right: 5px
273
  }
274
 
275
- .wbcr-factory-feedback-106-license-options-container table .wbcr-factory-feedback-106-other-license-key-container div {
276
  overflow: hidden;
277
  width: auto;
278
  height: 30px;
@@ -281,90 +281,90 @@ body.has-wbcr-factory-feedback-106-modal {
281
  position: relative
282
  }
283
 
284
- .wbcr-factory-feedback-106-license-options-container table .wbcr-factory-feedback-106-other-license-key-container div input {
285
  margin: 0
286
  }
287
 
288
- .wbcr-factory-feedback-106-sites-list-container td {
289
  cursor: pointer
290
  }
291
 
292
- .wbcr-factory-feedback-106-multisite-options-container {
293
  margin-top: 10px;
294
  border: 1px solid #ccc;
295
  padding: 5px
296
  }
297
 
298
- .wbcr-factory-feedback-106-multisite-options-container a {
299
  text-decoration: none
300
  }
301
 
302
- .wbcr-factory-feedback-106-multisite-options-container a:focus {
303
  box-shadow: none
304
  }
305
 
306
- .wbcr-factory-feedback-106-multisite-options-container a.selected {
307
  font-weight: bold
308
  }
309
 
310
- .wbcr-factory-feedback-106-multisite-options-container.wbcr-factory-feedback-106-apply-on-all-sites {
311
  border: 0 none;
312
  padding: 0
313
  }
314
 
315
- .wbcr-factory-feedback-106-multisite-options-container.wbcr-factory-feedback-106-apply-on-all-sites .wbcr-factory-feedback-106-all-sites-options {
316
  border-spacing: 0
317
  }
318
 
319
- .wbcr-factory-feedback-106-multisite-options-container.wbcr-factory-feedback-106-apply-on-all-sites .wbcr-factory-feedback-106-all-sites-options td:not(:first-child) {
320
  display: none
321
  }
322
 
323
- .wbcr-factory-feedback-106-multisite-options-container .wbcr-factory-feedback-106-sites-list-container {
324
  display: none;
325
  overflow: auto
326
  }
327
 
328
- .wbcr-factory-feedback-106-multisite-options-container .wbcr-factory-feedback-106-sites-list-container table td {
329
  border-top: 1px solid #ccc;
330
  padding: 4px 2px
331
  }
332
 
333
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-license-key-resend .email-address-container {
334
  overflow: hidden;
335
  padding-right: 2px
336
  }
337
 
338
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-license-key-resend.wbcr-factory-feedback-106-freemium input.email-address {
339
  width: 300px
340
  }
341
 
342
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-license-key-resend.wbcr-factory-feedback-106-freemium label {
343
  display: block;
344
  margin-bottom: 10px
345
  }
346
 
347
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-license-key-resend.wbcr-factory-feedback-106-premium input.email-address {
348
  width: 100%
349
  }
350
 
351
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-license-key-resend.wbcr-factory-feedback-106-premium .button-container {
352
  float: right;
353
  margin-left: 7px
354
  }
355
 
356
  @media (max-width: 650px) {
357
- .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-license-key-resend.wbcr-factory-feedback-106-premium .button-container {
358
  margin-top: 2px
359
  }
360
  }
361
 
362
- .rtl .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-license-key-resend .wbcr-factory-feedback-106-modal-body .input-container > .email-address-container {
363
  padding-left: 2px;
364
  padding-right: 0
365
  }
366
 
367
- .rtl .wbcr-factory-feedback-106-modal.wbcr-factory-feedback-106-modal-license-key-resend .wbcr-factory-feedback-106-modal-body .button-container {
368
  float: left;
369
  margin-right: 7px;
370
  margin-left: 0
@@ -375,14 +375,14 @@ a.show-license-resend-modal {
375
  display: inline-block
376
  }
377
 
378
- .wbcr-factory-feedback-106-ajax-loader {
379
  position: relative;
380
  width: 170px;
381
  height: 20px;
382
  margin: auto
383
  }
384
 
385
- .wbcr-factory-feedback-106-ajax-loader .wbcr-factory-feedback-106-ajax-loader-bar {
386
  position: absolute;
387
  top: 0;
388
  background-color: #0074a3;
@@ -415,7 +415,7 @@ a.show-license-resend-modal {
415
  transform: 0.3
416
  }
417
 
418
- .wbcr-factory-feedback-106-ajax-loader .wbcr-factory-feedback-106-ajax-loader-bar-1 {
419
  left: 0px;
420
  animation-delay: 0.6s;
421
  -o-animation-delay: 0.6s;
@@ -424,7 +424,7 @@ a.show-license-resend-modal {
424
  -moz-animation-delay: 0.6s
425
  }
426
 
427
- .wbcr-factory-feedback-106-ajax-loader .wbcr-factory-feedback-106-ajax-loader-bar-2 {
428
  left: 19px;
429
  animation-delay: 0.75s;
430
  -o-animation-delay: 0.75s;
@@ -433,7 +433,7 @@ a.show-license-resend-modal {
433
  -moz-animation-delay: 0.75s
434
  }
435
 
436
- .wbcr-factory-feedback-106-ajax-loader .wbcr-factory-feedback-106-ajax-loader-bar-3 {
437
  left: 38px;
438
  animation-delay: 0.9s;
439
  -o-animation-delay: 0.9s;
@@ -442,7 +442,7 @@ a.show-license-resend-modal {
442
  -moz-animation-delay: 0.9s
443
  }
444
 
445
- .wbcr-factory-feedback-106-ajax-loader .wbcr-factory-feedback-106-ajax-loader-bar-4 {
446
  left: 57px;
447
  animation-delay: 1.05s;
448
  -o-animation-delay: 1.05s;
@@ -451,7 +451,7 @@ a.show-license-resend-modal {
451
  -moz-animation-delay: 1.05s
452
  }
453
 
454
- .wbcr-factory-feedback-106-ajax-loader .wbcr-factory-feedback-106-ajax-loader-bar-5 {
455
  left: 76px;
456
  animation-delay: 1.2s;
457
  -o-animation-delay: 1.2s;
@@ -460,7 +460,7 @@ a.show-license-resend-modal {
460
  -moz-animation-delay: 1.2s
461
  }
462
 
463
- .wbcr-factory-feedback-106-ajax-loader .wbcr-factory-feedback-106-ajax-loader-bar-6 {
464
  left: 95px;
465
  animation-delay: 1.35s;
466
  -o-animation-delay: 1.35s;
@@ -469,7 +469,7 @@ a.show-license-resend-modal {
469
  -moz-animation-delay: 1.35s
470
  }
471
 
472
- .wbcr-factory-feedback-106-ajax-loader .wbcr-factory-feedback-106-ajax-loader-bar-7 {
473
  left: 114px;
474
  animation-delay: 1.5s;
475
  -o-animation-delay: 1.5s;
@@ -478,7 +478,7 @@ a.show-license-resend-modal {
478
  -moz-animation-delay: 1.5s
479
  }
480
 
481
- .wbcr-factory-feedback-106-ajax-loader .wbcr-factory-feedback-106-ajax-loader-bar-8 {
482
  left: 133px;
483
  animation-delay: 1.65s;
484
  -o-animation-delay: 1.65s;
@@ -582,18 +582,18 @@ a.show-license-resend-modal {
582
  }
583
  }
584
 
585
- .wbcr-factory-feedback-106-modal-auto-install #request-filesystem-credentials-form h2, .wbcr-factory-feedback-106-modal-auto-install #request-filesystem-credentials-form .request-filesystem-credentials-action-buttons {
586
  display: none
587
  }
588
 
589
- .wbcr-factory-feedback-106-modal-auto-install #request-filesystem-credentials-form input[type=password], .wbcr-factory-feedback-106-modal-auto-install #request-filesystem-credentials-form input[type=email], .wbcr-factory-feedback-106-modal-auto-install #request-filesystem-credentials-form input[type=text] {
590
  -webkit-appearance: none;
591
  padding: 10px 10px 5px 10px;
592
  width: 300px;
593
  max-width: 100%
594
  }
595
 
596
- .wbcr-factory-feedback-106-modal-auto-install #request-filesystem-credentials-form > div, .wbcr-factory-feedback-106-modal-auto-install #request-filesystem-credentials-form label, .wbcr-factory-feedback-106-modal-auto-install #request-filesystem-credentials-form fieldset {
597
  width: 300px;
598
  max-width: 100%;
599
  margin: 0 auto;
@@ -629,21 +629,21 @@ a.show-license-resend-modal {
629
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1) !important
630
  }
631
 
632
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-header {
633
  background: black;
634
  color: #fff;
635
  }
636
 
637
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-header h4 {
638
  text-shadow: none;
639
  color: #fff;
640
  }
641
 
642
- .wbcr-factory-feedback-106-modal .wbcr-factory-feedback-106-modal-body {
643
  padding-top: 35px;
644
  }
645
 
646
- .wbcr-factory-feedback-106-modal a.button-primary {
647
  background-color: #9fbb1a !important;
648
  color: #fff !important;
649
  border: none !important;
@@ -659,7 +659,7 @@ a.show-license-resend-modal {
659
  font-family: Lato, sans-serif;
660
  }
661
 
662
- .wbcr-factory-feedback-106-modal a.button-secondary {
663
  border: none !important;
664
  box-shadow: none !important;
665
  text-shadow: none !important;
1
+ .wbcr-factory-feedback-109-modal {
2
  position: fixed;
3
  overflow: auto;
4
  height: 100%;
9
  background: rgba(0, 0, 0, 0.6)
10
  }
11
 
12
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-dialog {
13
  background: transparent;
14
  position: absolute;
15
  left: 50%;
21
  }
22
 
23
  @media (max-width: 650px) {
24
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-dialog {
25
  margin-left: -50%;
26
  box-sizing: border-box;
27
  padding-left: 10px;
29
  width: 100%
30
  }
31
 
32
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-dialog .wbcr-factory-feedback-109-modal-panel > h3 > strong {
33
  font-size: 1.3em
34
  }
35
  }
36
 
37
+ .wbcr-factory-feedback-109-modal.active {
38
  display: block
39
  }
40
 
41
+ .wbcr-factory-feedback-109-modal.active:before {
42
  display: block
43
  }
44
 
45
+ .wbcr-factory-feedback-109-modal.active .wbcr-factory-feedback-109-modal-dialog {
46
  top: 10%
47
  }
48
 
49
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-success .wbcr-factory-feedback-109-modal-header {
50
  border-bottom-color: #46b450
51
  }
52
 
53
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-success .wbcr-factory-feedback-109-modal-body {
54
  background-color: #f7fff7
55
  }
56
 
57
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-warn .wbcr-factory-feedback-109-modal-header {
58
  border-bottom-color: #ffb900
59
  }
60
 
61
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-warn .wbcr-factory-feedback-109-modal-body {
62
  background-color: #fff8e5
63
  }
64
 
65
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-error .wbcr-factory-feedback-109-modal-header {
66
  border-bottom-color: #dc3232
67
  }
68
 
69
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-error .wbcr-factory-feedback-109-modal-body {
70
  background-color: #ffeaea
71
  }
72
 
73
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-body, .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-footer {
74
  border: 0;
75
  background: #fefefe;
76
  padding: 20px
77
  }
78
 
79
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-header {
80
  border-bottom: #eeeeee solid 1px;
81
  background: #fbfbfb;
82
  padding: 15px 20px;
84
  margin-bottom: -10px
85
  }
86
 
87
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-header h4 {
88
  margin: 0;
89
  padding: 0;
90
  text-transform: uppercase;
96
  -webkit-font-smoothing: antialiased
97
  }
98
 
99
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-header .wbcr-factory-feedback-109-close {
100
  position: absolute;
101
  right: 10px;
102
  top: 12px;
113
  transition: all 0.2s ease-in-out
114
  }
115
 
116
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-header .wbcr-factory-feedback-109-close:hover {
117
  color: #fff;
118
  background: #aaa
119
  }
120
 
121
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-header .wbcr-factory-feedback-109-close .dashicons, .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-header .wbcr-factory-feedback-109-close:hover .dashicons {
122
  text-decoration: none
123
  }
124
 
125
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-body {
126
  border-bottom: 0
127
  }
128
 
129
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-body p {
130
  font-size: 14px
131
  }
132
 
133
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-body h2 {
134
  font-size: 20px;
135
  line-height: 1.5em
136
  }
137
 
138
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-body > div {
139
  margin-top: 10px
140
  }
141
 
142
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-body > div h2 {
143
  font-weight: bold;
144
  font-size: 20px;
145
  margin-top: 0
146
  }
147
 
148
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-footer {
149
  border-top: #eeeeee solid 1px;
150
  text-align: right
151
  }
152
 
153
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-footer > .button {
154
  margin: 0 7px
155
  }
156
 
157
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-footer > .button:first-child {
158
  margin: 0
159
  }
160
 
161
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-panel > .notice.inline {
162
  margin: 0;
163
  display: none
164
  }
165
 
166
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-panel:not(.active) {
167
  display: none
168
  }
169
 
170
+ .rtl .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-header .wbcr-factory-feedback-109-close {
171
  right: auto;
172
  left: 20px
173
  }
174
 
175
+ body.has-wbcr-factory-feedback-109-modal {
176
  overflow: hidden
177
  }
178
 
179
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-deactivation-feedback .reason-input, .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-deactivation-feedback .internal-message {
180
  margin: 3px 0 3px 22px
181
  }
182
 
183
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-deactivation-feedback .reason-input input, .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-deactivation-feedback .reason-input textarea, .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-deactivation-feedback .internal-message input, .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-deactivation-feedback .internal-message textarea {
184
  width: 100%
185
  }
186
 
187
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-deactivation-feedback li.reason.has-internal-message .internal-message {
188
  border: 1px solid #ccc;
189
  padding: 7px;
190
  display: none
191
  }
192
 
193
  @media (max-width: 650px) {
194
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-deactivation-feedback li.reason li.reason {
195
  margin-bottom: 10px
196
  }
197
 
198
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-deactivation-feedback li.reason li.reason .reason-input, .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-deactivation-feedback li.reason li.reason .internal-message {
199
  margin-left: 29px
200
  }
201
 
202
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-deactivation-feedback li.reason li.reason label {
203
  display: table
204
  }
205
 
206
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-deactivation-feedback li.reason li.reason label > span {
207
  display: table-cell;
208
  font-size: 1.3em
209
  }
210
  }
211
 
212
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-deactivation-feedback .wbcr-factory-feedback-109-anonymous-feedback-label {
213
  float: left
214
  }
215
 
216
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-deactivation-feedback .wbcr-factory-feedback-109-modal-panel {
217
  margin-top: 0 !important
218
  }
219
 
220
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-deactivation-feedback .wbcr-factory-feedback-109-modal-panel h3 {
221
  margin-top: 0;
222
  line-height: 1.5em
223
  }
224
 
225
+ #the-list .deactivate > .wbcr-factory-feedback-109-slug {
226
  display: none
227
  }
228
 
229
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-subscription-cancellation .wbcr-factory-feedback-109-price-increase-warning {
230
  color: red;
231
  font-weight: bold;
232
  padding: 0 25px;
233
  margin-bottom: 0
234
  }
235
 
236
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-subscription-cancellation ul.subscription-actions label input {
237
  float: left;
238
  top: 5px;
239
  position: relative
240
  }
241
 
242
+ .rtl .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-subscription-cancellation ul.subscription-actions label input {
243
  float: right
244
  }
245
 
246
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-subscription-cancellation ul.subscription-actions label span {
247
  display: block;
248
  margin-left: 24px
249
  }
250
 
251
+ .rtl .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-subscription-cancellation ul.subscription-actions label span {
252
  margin-left: 0;
253
  margin-right: 24px
254
  }
255
 
256
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-license-activation .wbcr-factory-feedback-109-modal-body input.wbcr-factory-feedback-109-license-key {
257
  width: 100%
258
  }
259
 
260
+ .wbcr-factory-feedback-109-license-options-container table, .wbcr-factory-feedback-109-license-options-container table select, .wbcr-factory-feedback-109-license-options-container table .wbcr-factory-feedback-109-available-license-key {
261
  width: 100%
262
  }
263
 
264
+ .wbcr-factory-feedback-109-license-options-container table td:first-child {
265
  width: 1%
266
  }
267
 
268
+ .wbcr-factory-feedback-109-license-options-container table .wbcr-factory-feedback-109-other-license-key-container label {
269
  position: relative;
270
  top: 6px;
271
  float: left;
272
  margin-right: 5px
273
  }
274
 
275
+ .wbcr-factory-feedback-109-license-options-container table .wbcr-factory-feedback-109-other-license-key-container div {
276
  overflow: hidden;
277
  width: auto;
278
  height: 30px;
281
  position: relative
282
  }
283
 
284
+ .wbcr-factory-feedback-109-license-options-container table .wbcr-factory-feedback-109-other-license-key-container div input {
285
  margin: 0
286
  }
287
 
288
+ .wbcr-factory-feedback-109-sites-list-container td {
289
  cursor: pointer
290
  }
291
 
292
+ .wbcr-factory-feedback-109-multisite-options-container {
293
  margin-top: 10px;
294
  border: 1px solid #ccc;
295
  padding: 5px
296
  }
297
 
298
+ .wbcr-factory-feedback-109-multisite-options-container a {
299
  text-decoration: none
300
  }
301
 
302
+ .wbcr-factory-feedback-109-multisite-options-container a:focus {
303
  box-shadow: none
304
  }
305
 
306
+ .wbcr-factory-feedback-109-multisite-options-container a.selected {
307
  font-weight: bold
308
  }
309
 
310
+ .wbcr-factory-feedback-109-multisite-options-container.wbcr-factory-feedback-109-apply-on-all-sites {
311
  border: 0 none;
312
  padding: 0
313
  }
314
 
315
+ .wbcr-factory-feedback-109-multisite-options-container.wbcr-factory-feedback-109-apply-on-all-sites .wbcr-factory-feedback-109-all-sites-options {
316
  border-spacing: 0
317
  }
318
 
319
+ .wbcr-factory-feedback-109-multisite-options-container.wbcr-factory-feedback-109-apply-on-all-sites .wbcr-factory-feedback-109-all-sites-options td:not(:first-child) {
320
  display: none
321
  }
322
 
323
+ .wbcr-factory-feedback-109-multisite-options-container .wbcr-factory-feedback-109-sites-list-container {
324
  display: none;
325
  overflow: auto
326
  }
327
 
328
+ .wbcr-factory-feedback-109-multisite-options-container .wbcr-factory-feedback-109-sites-list-container table td {
329
  border-top: 1px solid #ccc;
330
  padding: 4px 2px
331
  }
332
 
333
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-license-key-resend .email-address-container {
334
  overflow: hidden;
335
  padding-right: 2px
336
  }
337
 
338
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-license-key-resend.wbcr-factory-feedback-109-freemium input.email-address {
339
  width: 300px
340
  }
341
 
342
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-license-key-resend.wbcr-factory-feedback-109-freemium label {
343
  display: block;
344
  margin-bottom: 10px
345
  }
346
 
347
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-license-key-resend.wbcr-factory-feedback-109-premium input.email-address {
348
  width: 100%
349
  }
350
 
351
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-license-key-resend.wbcr-factory-feedback-109-premium .button-container {
352
  float: right;
353
  margin-left: 7px
354
  }
355
 
356
  @media (max-width: 650px) {
357
+ .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-license-key-resend.wbcr-factory-feedback-109-premium .button-container {
358
  margin-top: 2px
359
  }
360
  }
361
 
362
+ .rtl .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-license-key-resend .wbcr-factory-feedback-109-modal-body .input-container > .email-address-container {
363
  padding-left: 2px;
364
  padding-right: 0
365
  }
366
 
367
+ .rtl .wbcr-factory-feedback-109-modal.wbcr-factory-feedback-109-modal-license-key-resend .wbcr-factory-feedback-109-modal-body .button-container {
368
  float: left;
369
  margin-right: 7px;
370
  margin-left: 0
375
  display: inline-block
376
  }
377
 
378
+ .wbcr-factory-feedback-109-ajax-loader {
379
  position: relative;
380
  width: 170px;
381
  height: 20px;
382
  margin: auto
383
  }
384
 
385
+ .wbcr-factory-feedback-109-ajax-loader .wbcr-factory-feedback-109-ajax-loader-bar {
386
  position: absolute;
387
  top: 0;
388
  background-color: #0074a3;
415
  transform: 0.3
416
  }
417
 
418
+ .wbcr-factory-feedback-109-ajax-loader .wbcr-factory-feedback-109-ajax-loader-bar-1 {
419
  left: 0px;
420
  animation-delay: 0.6s;
421
  -o-animation-delay: 0.6s;
424
  -moz-animation-delay: 0.6s
425
  }
426
 
427
+ .wbcr-factory-feedback-109-ajax-loader .wbcr-factory-feedback-109-ajax-loader-bar-2 {
428
  left: 19px;
429
  animation-delay: 0.75s;
430
  -o-animation-delay: 0.75s;
433
  -moz-animation-delay: 0.75s
434
  }
435
 
436
+ .wbcr-factory-feedback-109-ajax-loader .wbcr-factory-feedback-109-ajax-loader-bar-3 {
437
  left: 38px;
438
  animation-delay: 0.9s;
439
  -o-animation-delay: 0.9s;
442
  -moz-animation-delay: 0.9s
443
  }
444
 
445
+ .wbcr-factory-feedback-109-ajax-loader .wbcr-factory-feedback-109-ajax-loader-bar-4 {
446
  left: 57px;
447
  animation-delay: 1.05s;
448
  -o-animation-delay: 1.05s;
451
  -moz-animation-delay: 1.05s
452
  }
453
 
454
+ .wbcr-factory-feedback-109-ajax-loader .wbcr-factory-feedback-109-ajax-loader-bar-5 {
455
  left: 76px;
456
  animation-delay: 1.2s;
457
  -o-animation-delay: 1.2s;
460
  -moz-animation-delay: 1.2s
461
  }
462
 
463
+ .wbcr-factory-feedback-109-ajax-loader .wbcr-factory-feedback-109-ajax-loader-bar-6 {
464
  left: 95px;
465
  animation-delay: 1.35s;
466
  -o-animation-delay: 1.35s;
469
  -moz-animation-delay: 1.35s
470
  }
471
 
472
+ .wbcr-factory-feedback-109-ajax-loader .wbcr-factory-feedback-109-ajax-loader-bar-7 {
473
  left: 114px;
474
  animation-delay: 1.5s;
475
  -o-animation-delay: 1.5s;
478
  -moz-animation-delay: 1.5s
479
  }
480
 
481
+ .wbcr-factory-feedback-109-ajax-loader .wbcr-factory-feedback-109-ajax-loader-bar-8 {
482
  left: 133px;
483
  animation-delay: 1.65s;
484
  -o-animation-delay: 1.65s;
582
  }
583
  }
584
 
585
+ .wbcr-factory-feedback-109-modal-auto-install #request-filesystem-credentials-form h2, .wbcr-factory-feedback-109-modal-auto-install #request-filesystem-credentials-form .request-filesystem-credentials-action-buttons {
586
  display: none
587
  }
588
 
589
+ .wbcr-factory-feedback-109-modal-auto-install #request-filesystem-credentials-form input[type=password], .wbcr-factory-feedback-109-modal-auto-install #request-filesystem-credentials-form input[type=email], .wbcr-factory-feedback-109-modal-auto-install #request-filesystem-credentials-form input[type=text] {
590
  -webkit-appearance: none;
591
  padding: 10px 10px 5px 10px;
592
  width: 300px;
593
  max-width: 100%
594
  }
595
 
596
+ .wbcr-factory-feedback-109-modal-auto-install #request-filesystem-credentials-form > div, .wbcr-factory-feedback-109-modal-auto-install #request-filesystem-credentials-form label, .wbcr-factory-feedback-109-modal-auto-install #request-filesystem-credentials-form fieldset {
597
  width: 300px;
598
  max-width: 100%;
599
  margin: 0 auto;
629
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1) !important
630
  }
631
 
632
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-header {
633
  background: black;
634
  color: #fff;
635
  }
636
 
637
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-header h4 {
638
  text-shadow: none;
639
  color: #fff;
640
  }
641
 
642
+ .wbcr-factory-feedback-109-modal .wbcr-factory-feedback-109-modal-body {
643
  padding-top: 35px;
644
  }
645
 
646
+ .wbcr-factory-feedback-109-modal a.button-primary {
647
  background-color: #9fbb1a !important;
648
  color: #fff !important;
649
  border: none !important;
659
  font-family: Lato, sans-serif;
660
  }
661
 
662
+ .wbcr-factory-feedback-109-modal a.button-secondary {
663
  border: none !important;
664
  box-shadow: none !important;
665
  text-shadow: none !important;
libs/factory/feedback/assets/js/deactivate-feedback.js CHANGED
@@ -5,8 +5,8 @@
5
  var plugin_slug = '';
6
 
7
  $(document).ready(function() {
8
- var modal = $('#wbcr-factory-feedback-106-deactivate-form');
9
- var deact_button = $('#the-list .deactivate > .wbcr-factory-feedback-106-plugin-slug').prev();
10
  var deact_button_close = modal.find('a.button-close');
11
  var selectedReasonID = false;
12
 
@@ -26,7 +26,7 @@
26
  var $target = $(evt.target);
27
 
28
  // If the user has clicked anywhere in the modal dialog, just return.
29
- if( $target.hasClass('wbcr-factory-feedback-106-modal-body') || $target.hasClass('wbcr-factory-feedback-106-modal-footer') ) {
30
  return;
31
  }
32
 
@@ -34,7 +34,7 @@
34
  // return.
35
  if(
36
  !$target.hasClass('button-close') &&
37
- ($target.parents('.wbcr-factory-feedback-106-modal-body').length > 0 || $target.parents('.wbcr-factory-feedback-106-modal-footer').length > 0)
38
  ) {
39
  return;
40
  }
@@ -82,13 +82,13 @@
82
 
83
  //-----------------------------------------------------------
84
 
85
- modal.on('click', '.wbcr-factory-feedback-106-modal-footer .button', function(evt) {
86
  evt.preventDefault();
87
  if( $(this).hasClass('disabled') ) {
88
  return;
89
  }
90
 
91
- var _parent = $(this).parents('.wbcr-factory-feedback-106-modal:first');
92
  var _this = $(this);
93
 
94
  if( _this.hasClass('allow-deactivate') ) {
@@ -107,18 +107,18 @@
107
  url: ajaxurl,
108
  method: 'POST',
109
  data: {
110
- action: 'wbcr-factory-feedback-106-save_' + plugin_slug,
111
  plugin: plugin_slug,
112
  reason_id: $radio.val(),
113
  reason_more: userReason,
114
- anonymous: modal.find('#wbcr-factory-feedback-106-anonymous-checkbox').is(':checked')
115
  ? 1
116
  : 0,
117
  _wpnonce: modal.data('nonce')
118
  },
119
  beforeSend: function() {
120
- _parent.find('.wbcr-factory-feedback-106-modal-footer .button').addClass('disabled');
121
- _parent.find('.wbcr-factory-feedback-106-modal-footer .button-secondary').text('Processing...');
122
  },
123
  error: function() {
124
  window.location.href = redirectLink;
5
  var plugin_slug = '';
6
 
7
  $(document).ready(function() {
8
+ var modal = $('#wbcr-factory-feedback-109-deactivate-form');
9
+ var deact_button = $('#the-list .deactivate > .wbcr-factory-feedback-109-plugin-slug').prev();
10
  var deact_button_close = modal.find('a.button-close');
11
  var selectedReasonID = false;
12
 
26
  var $target = $(evt.target);
27
 
28
  // If the user has clicked anywhere in the modal dialog, just return.
29
+ if( $target.hasClass('wbcr-factory-feedback-109-modal-body') || $target.hasClass('wbcr-factory-feedback-109-modal-footer') ) {
30
  return;
31
  }
32
 
34
  // return.
35
  if(
36
  !$target.hasClass('button-close') &&
37
+ ($target.parents('.wbcr-factory-feedback-109-modal-body').length > 0 || $target.parents('.wbcr-factory-feedback-109-modal-footer').length > 0)
38
  ) {
39
  return;
40
  }
82
 
83
  //-----------------------------------------------------------
84
 
85
+ modal.on('click', '.wbcr-factory-feedback-109-modal-footer .button', function(evt) {
86
  evt.preventDefault();
87
  if( $(this).hasClass('disabled') ) {
88
  return;
89
  }
90
 
91
+ var _parent = $(this).parents('.wbcr-factory-feedback-109-modal:first');
92
  var _this = $(this);
93
 
94
  if( _this.hasClass('allow-deactivate') ) {
107
  url: ajaxurl,
108
  method: 'POST',
109
  data: {
110
+ action: 'wbcr-factory-feedback-109-save_' + plugin_slug,
111
  plugin: plugin_slug,
112
  reason_id: $radio.val(),
113
  reason_more: userReason,
114
+ anonymous: modal.find('#wbcr-factory-feedback-109-anonymous-checkbox').is(':checked')
115
  ? 1
116
  : 0,
117
  _wpnonce: modal.data('nonce')
118
  },
119
  beforeSend: function() {
120
+ _parent.find('.wbcr-factory-feedback-109-modal-footer .button').addClass('disabled');
121
+ _parent.find('.wbcr-factory-feedback-109-modal-footer .button-secondary').text('Processing...');
122
  },
123
  error: function() {
124
  window.location.href = redirectLink;
libs/factory/feedback/boot.php CHANGED
@@ -9,7 +9,7 @@
9
  * @package factory-feedback
10
  * @copyright (c) 2019, Webcraftic Ltd
11
  *
12
- * @version 1.0.0
13
  */
14
 
15
  // Exit if accessed directly
@@ -17,31 +17,31 @@ if( !defined('ABSPATH') ) {
17
  exit;
18
  }
19
 
20
- if( defined('FACTORY_FEEDBACK_106_LOADED') || (defined('FACTORY_FEEDBACK_BLOCK') && FACTORY_FEEDBACK_BLOCK) ) {
21
  return;
22
  }
23
 
24
  # Устанавливаем константу, что модуль уже загружен
25
- define('FACTORY_FEEDBACK_106_LOADED', true);
26
 
27
  # Устанавливаем версию модуля
28
- define('FACTORY_FEEDBACK_106_VERSION', '1.0.6');
29
 
30
  # Регистрируем текстовый домен, для интернализации интерфейса модуля
31
- load_plugin_textdomain('wbcr_factory_feedback_106', false, dirname(plugin_basename(__FILE__)) . '/langs');
32
 
33
  # Устанавливаем директорию модуля
34
- define('FACTORY_FEEDBACK_106_DIR', dirname(__FILE__));
35
 
36
  # Устанавливаем url модуля
37
- define('FACTORY_FEEDBACK_106_URL', plugins_url(null, __FILE__));
38
 
39
- require_once(FACTORY_FEEDBACK_106_DIR . '/includes/class-base.php');
40
- require_once(FACTORY_FEEDBACK_106_DIR . '/includes/class-rest-request.php');
41
 
42
  /**
43
- * @param Wbcr_Factory433_Plugin $plugin
44
  */
45
- add_action('wbcr_factory_feedback_106_plugin_created', function ($plugin) {
46
- new WBCR\Factory_Feedback_106\Base($plugin);
47
  });
9
  * @package factory-feedback
10
  * @copyright (c) 2019, Webcraftic Ltd
11
  *
12
+ * @version 1.0.9
13
  */
14
 
15
  // Exit if accessed directly
17
  exit;
18
  }
19
 
20
+ if( defined('FACTORY_FEEDBACK_109_LOADED') || (defined('FACTORY_FEEDBACK_BLOCK') && FACTORY_FEEDBACK_BLOCK) ) {
21
  return;
22
  }
23
 
24
  # Устанавливаем константу, что модуль уже загружен
25
+ define('FACTORY_FEEDBACK_109_LOADED', true);
26
 
27
  # Устанавливаем версию модуля
28
+ define( 'FACTORY_FEEDBACK_109_VERSION', '1.0.9' );
29
 
30
  # Регистрируем текстовый домен, для интернализации интерфейса модуля
31
+ load_plugin_textdomain('wbcr_factory_feedback_109', false, dirname(plugin_basename(__FILE__)) . '/langs');
32
 
33
  # Устанавливаем директорию модуля
34
+ define('FACTORY_FEEDBACK_109_DIR', dirname(__FILE__));
35
 
36
  # Устанавливаем url модуля
37
+ define('FACTORY_FEEDBACK_109_URL', plugins_url(null, __FILE__));
38
 
39
+ require_once(FACTORY_FEEDBACK_109_DIR . '/includes/class-base.php');
40
+ require_once(FACTORY_FEEDBACK_109_DIR . '/includes/class-rest-request.php');
41
 
42
  /**
43
+ * @param Wbcr_Factory444_Plugin $plugin
44
  */
45
+ add_action('wbcr_factory_feedback_109_plugin_created', function ($plugin) {
46
+ new WBCR\Factory_Feedback_109\Base($plugin);
47
  });
libs/factory/feedback/includes/class-base.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Feedback_106;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
@@ -28,7 +28,7 @@ class Base {
28
  * Plugin instance this module interacts with
29
  *
30
  * @since 1.0.0 Added
31
- * @var \Wbcr_Factory433_Plugin
32
  */
33
  private $plugin;
34
 
@@ -36,19 +36,19 @@ class Base {
36
  * Экземпляр класса для работы API CreativeMotion
37
  *
38
  * @since 1.0.0
39
- * @var \WBCR\Factory_Feedback_106\Creative_Motion_API
40
  */
41
  private $api;
42
 
43
  /**
44
  * Wbcr_Factory_Feedback constructor.
45
  *
46
- * @param \Wbcr_Factory433_Plugin $plugin
47
  *
48
  * @since 1.0.0 Added
49
  *
50
  */
51
- public function __construct( \Wbcr_Factory433_Plugin $plugin ) {
52
  $this->plugin = $plugin;
53
 
54
  $this->api = new Creative_Motion_API( $this->plugin );
@@ -64,7 +64,10 @@ class Base {
64
  }
65
 
66
  if ( wp_doing_ajax() ) {
67
- add_action( "wp_ajax_wbcr-factory-feedback-106-save_{$plugin->getPluginName()}", [ $this, 'send_feedback' ] );
 
 
 
68
  }
69
  }
70
 
@@ -79,8 +82,8 @@ class Base {
79
  */
80
  public function admin_assets( $hook_suffix ) {
81
  if ( 'plugins.php' === $hook_suffix ) {
82
- wp_enqueue_script( 'wbcr-factory-feedback-106-deactivate', FACTORY_FEEDBACK_106_URL . '/assets/js/deactivate-feedback.js', [ 'jquery' ], FACTORY_FEEDBACK_106_VERSION, true );
83
- wp_enqueue_style( 'wbcr-factory-feedback-106-deactivate', FACTORY_FEEDBACK_106_URL . '/assets/css/dialog-boxes.css' );
84
  }
85
  }
86
 
@@ -91,7 +94,7 @@ class Base {
91
  * @since 1.0.0 Added
92
  */
93
  public function render_deactivate_form() {
94
- include FACTORY_FEEDBACK_106_DIR . "/views/deactivate-form.php";
95
  }
96
 
97
  /**
@@ -108,7 +111,7 @@ class Base {
108
  if ( $plugin_file !== $this->plugin->get_paths()->basename ) {
109
  return $actions;
110
  }
111
- $actions['deactivate'] .= '<i class="wbcr-factory-feedback-106-plugin-slug" data-plugin="' . $this->plugin->getPluginName() . '"></i>';
112
 
113
  return $actions;
114
  }
1
  <?php
2
 
3
+ namespace WBCR\Factory_Feedback_109;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
28
  * Plugin instance this module interacts with
29
  *
30
  * @since 1.0.0 Added
31
+ * @var \Wbcr_Factory444_Plugin
32
  */
33
  private $plugin;
34
 
36
  * Экземпляр класса для работы API CreativeMotion
37
  *
38
  * @since 1.0.0
39
+ * @var \WBCR\Factory_Feedback_109\Creative_Motion_API
40
  */
41
  private $api;
42
 
43
  /**
44
  * Wbcr_Factory_Feedback constructor.
45
  *
46
+ * @param \Wbcr_Factory444_Plugin $plugin
47
  *
48
  * @since 1.0.0 Added
49
  *
50
  */
51
+ public function __construct( \Wbcr_Factory444_Plugin $plugin ) {
52
  $this->plugin = $plugin;
53
 
54
  $this->api = new Creative_Motion_API( $this->plugin );
64
  }
65
 
66
  if ( wp_doing_ajax() ) {
67
+ add_action( "wp_ajax_wbcr-factory-feedback-109-save_{$plugin->getPluginName()}", [
68
+ $this,
69
+ 'send_feedback'
70
+ ] );
71
  }
72
  }
73
 
82
  */
83
  public function admin_assets( $hook_suffix ) {
84
  if ( 'plugins.php' === $hook_suffix ) {
85
+ wp_enqueue_script( 'wbcr-factory-feedback-109-deactivate', FACTORY_FEEDBACK_109_URL . '/assets/js/deactivate-feedback.js', [ 'jquery' ], FACTORY_FEEDBACK_109_VERSION, true );
86
+ wp_enqueue_style( 'wbcr-factory-feedback-109-deactivate', FACTORY_FEEDBACK_109_URL . '/assets/css/dialog-boxes.css' );
87
  }
88
  }
89
 
94
  * @since 1.0.0 Added
95
  */
96
  public function render_deactivate_form() {
97
+ include FACTORY_FEEDBACK_109_DIR . "/views/deactivate-form.php";
98
  }
99
 
100
  /**
111
  if ( $plugin_file !== $this->plugin->get_paths()->basename ) {
112
  return $actions;
113
  }
114
+ $actions['deactivate'] = $actions['deactivate'] . '<i class="wbcr-factory-feedback-109-plugin-slug" data-plugin="' . $this->plugin->getPluginName() . '"></i>';
115
 
116
  return $actions;
117
  }
libs/factory/feedback/includes/class-rest-request.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Feedback_106;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
@@ -45,7 +45,7 @@ class Creative_Motion_API {
45
  *
46
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
47
  * @since 1.0.0
48
- * @var \Wbcr_Factory433_Plugin
49
  */
50
  private $plugin;
51
 
@@ -57,9 +57,9 @@ class Creative_Motion_API {
57
  *
58
  * @since 1.0.0 Added
59
  *
60
- * @param \Wbcr_Factory433_Plugin $plugin_name
61
  */
62
- public function __construct( \Wbcr_Factory433_Plugin $plugin ) {
63
  $this->plugin = $plugin;
64
  }
65
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_Feedback_109;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
45
  *
46
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
47
  * @since 1.0.0
48
+ * @var \Wbcr_Factory444_Plugin
49
  */
50
  private $plugin;
51
 
57
  *
58
  * @since 1.0.0 Added
59
  *
60
+ * @param \Wbcr_Factory444_Plugin $plugin_name
61
  */
62
+ public function __construct( \Wbcr_Factory444_Plugin $plugin ) {
63
  $this->plugin = $plugin;
64
  }
65
 
libs/factory/feedback/views/deactivate-form.php CHANGED
@@ -1,11 +1,11 @@
1
- <div class="wbcr-factory-feedback-106-modal wbcr-factory-feedback-106-modal-deactivation-feedback no-confirmation-message" id="wbcr-factory-feedback-106-deactivate-form" data-nonce="<?php echo wp_create_nonce( 'wbcr_factory_send_feedback' ) ?>">
2
- <div class="wbcr-factory-feedback-106-modal-dialog">
3
- <div class="wbcr-factory-feedback-106-modal-header">
4
- <h4><?php _e( 'Quick Feedback', 'wbcr_factory_feedback_106' ) ?></h4></div>
5
- <div class="wbcr-factory-feedback-106-modal-body">
6
- <div class="wbcr-factory-feedback-106-modal-panel active" data-panel-id="reasons">
7
  <h3>
8
- <strong><?php _e( 'If you have a moment, please let us know why you are deactivating', 'wbcr_factory_feedback_106' ) ?>
9
  :</strong></h3>
10
  <ul id="reasons-list">
11
  <li class="reason has-input" data-input-type="textfield" data-input-placeholder="Название плагина">
@@ -13,7 +13,7 @@
13
  <span>
14
  <input type="radio" name="wbcr_factory_feedback_reason" value="2">
15
  </span>
16
- <span><?php _e( 'I found a better plugin', 'wbcr_factory_feedback_106' ) ?></span>
17
  </label>
18
  <div class="internal-message"></div>
19
  </li>
@@ -22,7 +22,7 @@
22
  <span>
23
  <input type="radio" name="wbcr_factory_feedback_reason" value="5">
24
  </span>
25
- <span><?php _e( 'The plugin suddenly stopped working', 'wbcr_factory_feedback_106' ) ?></span>
26
  </label>
27
  <div class="internal-message"></div>
28
  </li>
@@ -31,7 +31,7 @@
31
  <span>
32
  <input type="radio" name="wbcr_factory_feedback_reason" value="3">
33
  </span>
34
- <span><?php _e( 'I only needed the plugin for a short period', 'wbcr_factory_feedback_106' ) ?></span>
35
  </label>
36
  <div class="internal-message"></div>
37
  </li>
@@ -40,7 +40,7 @@
40
  <span>
41
  <input type="radio" name="wbcr_factory_feedback_reason" value="1">
42
  </span>
43
- <span><?php _e( 'I no longer need the plugin', 'wbcr_factory_feedback_106' ) ?></span>
44
  </label>
45
  <div class="internal-message"></div>
46
  </li>
@@ -49,7 +49,7 @@
49
  <span>
50
  <input type="radio" name="wbcr_factory_feedback_reason" value="4">
51
  </span>
52
- <span><?php _e( 'The plugin broke my site', 'wbcr_factory_feedback_106' ) ?></span>
53
  </label>
54
  <div class="internal-message"></div>
55
  </li>
@@ -58,7 +58,7 @@
58
  <span>
59
  <input type="radio" name="wbcr_factory_feedback_reason" value="15">
60
  </span>
61
- <span><?php _e( "It's a temporary deactivation. I'm just debugging an issue.", 'wbcr_factory_feedback_106' ) ?></span>
62
  </label>
63
  <div class="internal-message"></div>
64
  </li>
@@ -67,20 +67,20 @@
67
  <span>
68
  <input type="radio" name="wbcr_factory_feedback_reason" value="7">
69
  </span>
70
- <span><?php _e( 'Other', 'wbcr_factory_feedback_106' ) ?></span>
71
  </label>
72
  <div class="internal-message"></div>
73
  </li>
74
  </ul>
75
- <p><?php _e( 'We will receive the following information from you: site address, php version, Wordpress version, version of our plugin, this will help us better understand the causes of the problem. If you don\'t want to send this data, click the "Anonymous" checkbox.', 'wbcr_factory_feedback_106' ) ?></p>
76
  </div>
77
  </div>
78
- <div class="wbcr-factory-feedback-106-modal-footer">
79
- <label for="wbcr-factory-feedback-106-anonymous-checkbox" class="wbcr-factory-feedback-106-anonymous-feedback-label" style="display: block;">
80
- <input type="checkbox" id="wbcr-factory-feedback-106-anonymous-checkbox"> <?php _e( 'Anonymous feedback', 'wbcr_factory_feedback_106' ) ?>
81
  </label>
82
- <a href="#" class="button button-secondary button-deactivate allow-deactivate"><?php _e( 'Skip & Deactivate', 'wbcr_factory_feedback_106' ) ?></a>
83
- <a href="#" class="button button-primary button-close"><?php _e( 'Cancel', 'wbcr_factory_feedback_106' ) ?></a>
84
  </div>
85
  </div>
86
  </div>
1
+ <div class="wbcr-factory-feedback-109-modal wbcr-factory-feedback-109-modal-deactivation-feedback no-confirmation-message" id="wbcr-factory-feedback-109-deactivate-form" data-nonce="<?php echo wp_create_nonce( 'wbcr_factory_send_feedback' ) ?>">
2
+ <div class="wbcr-factory-feedback-109-modal-dialog">
3
+ <div class="wbcr-factory-feedback-109-modal-header">
4
+ <h4><?php _e( 'Quick Feedback', 'wbcr_factory_feedback_109' ) ?></h4></div>
5
+ <div class="wbcr-factory-feedback-109-modal-body">
6
+ <div class="wbcr-factory-feedback-109-modal-panel active" data-panel-id="reasons">
7
  <h3>
8
+ <strong><?php _e( 'If you have a moment, please let us know why you are deactivating', 'wbcr_factory_feedback_109' ) ?>
9
  :</strong></h3>
10
  <ul id="reasons-list">
11
  <li class="reason has-input" data-input-type="textfield" data-input-placeholder="Название плагина">
13
  <span>
14
  <input type="radio" name="wbcr_factory_feedback_reason" value="2">
15
  </span>
16
+ <span><?php _e( 'I found a better plugin', 'wbcr_factory_feedback_109' ) ?></span>
17
  </label>
18
  <div class="internal-message"></div>
19
  </li>
22
  <span>
23
  <input type="radio" name="wbcr_factory_feedback_reason" value="5">
24
  </span>
25
+ <span><?php _e( 'The plugin suddenly stopped working', 'wbcr_factory_feedback_109' ) ?></span>
26
  </label>
27
  <div class="internal-message"></div>
28
  </li>
31
  <span>
32
  <input type="radio" name="wbcr_factory_feedback_reason" value="3">
33
  </span>
34
+ <span><?php _e( 'I only needed the plugin for a short period', 'wbcr_factory_feedback_109' ) ?></span>
35
  </label>
36
  <div class="internal-message"></div>
37
  </li>
40
  <span>
41
  <input type="radio" name="wbcr_factory_feedback_reason" value="1">
42
  </span>
43
+ <span><?php _e( 'I no longer need the plugin', 'wbcr_factory_feedback_109' ) ?></span>
44
  </label>
45
  <div class="internal-message"></div>
46
  </li>
49
  <span>
50
  <input type="radio" name="wbcr_factory_feedback_reason" value="4">
51
  </span>
52
+ <span><?php _e( 'The plugin broke my site', 'wbcr_factory_feedback_109' ) ?></span>
53
  </label>
54
  <div class="internal-message"></div>
55
  </li>
58
  <span>
59
  <input type="radio" name="wbcr_factory_feedback_reason" value="15">
60
  </span>
61
+ <span><?php _e( "It's a temporary deactivation. I'm just debugging an issue.", 'wbcr_factory_feedback_109' ) ?></span>
62
  </label>
63
  <div class="internal-message"></div>
64
  </li>
67
  <span>
68
  <input type="radio" name="wbcr_factory_feedback_reason" value="7">
69
  </span>
70
+ <span><?php _e( 'Other', 'wbcr_factory_feedback_109' ) ?></span>
71
  </label>
72
  <div class="internal-message"></div>
73
  </li>
74
  </ul>
75
+ <p><?php _e( 'We will receive the following information from you: site address, php version, Wordpress version, version of our plugin, this will help us better understand the causes of the problem. If you don\'t want to send this data, click the "Anonymous" checkbox.', 'wbcr_factory_feedback_109' ) ?></p>
76
  </div>
77
  </div>
78
+ <div class="wbcr-factory-feedback-109-modal-footer">
79
+ <label for="wbcr-factory-feedback-109-anonymous-checkbox" class="wbcr-factory-feedback-109-anonymous-feedback-label" style="display: block;">
80
+ <input type="checkbox" id="wbcr-factory-feedback-109-anonymous-checkbox"> <?php _e( 'Anonymous feedback', 'wbcr_factory_feedback_109' ) ?>
81
  </label>
82
+ <a href="#" class="button button-secondary button-deactivate allow-deactivate"><?php _e( 'Skip & Deactivate', 'wbcr_factory_feedback_109' ) ?></a>
83
+ <a href="#" class="button button-primary button-close"><?php _e( 'Cancel', 'wbcr_factory_feedback_109' ) ?></a>
84
  </div>
85
  </div>
86
  </div>
libs/factory/forms/boot.php CHANGED
@@ -22,175 +22,175 @@ if( !is_admin() ) {
22
 
23
  // checks if the module is already loaded in order to
24
  // prevent loading the same version of the module twice.
25
- if( defined('FACTORY_FORMS_430_LOADED') ) {
26
  return;
27
  }
28
 
29
- define('FACTORY_FORMS_430_LOADED', true);
30
 
31
- define('FACTORY_FORMS_430_VERSION', '4.3.0');
32
 
33
  // absolute path and URL to the files and resources of the module.
34
- define('FACTORY_FORMS_430_DIR', dirname(__FILE__));
35
- define('FACTORY_FORMS_430_URL', plugins_url(null, __FILE__));
36
 
37
  #comp merge
38
- require_once(FACTORY_FORMS_430_DIR . '/includes/providers/value-provider.interface.php');
39
- require_once(FACTORY_FORMS_430_DIR . '/includes/providers/meta-value-provider.class.php');
40
- require_once(FACTORY_FORMS_430_DIR . '/includes/providers/options-value-provider.class.php');
41
 
42
- require_once(FACTORY_FORMS_430_DIR . '/includes/form.class.php');
43
  #endcomp
44
 
45
- load_plugin_textdomain('wbcr_factory_forms_430', false, dirname(plugin_basename(__FILE__)) . '/langs');
46
 
47
  /**
48
  * We add this code into the hook because all these controls quite heavy. So in order to get better perfomance,
49
  * we load the form controls only on pages where the forms are created.
50
  *
51
  * @since 3.0.7
52
- * @see the 'wbcr_factory_forms_430_register_controls' hook
53
  *
54
  */
55
- if( !function_exists('wbcr_factory_forms_430_register_default_controls') ) {
56
 
57
  /**
58
- * @param Wbcr_Factory433_Plugin $plugin
59
  *
60
  * @throws Exception
61
  */
62
- function wbcr_factory_forms_430_register_default_controls(Wbcr_Factory433_Plugin $plugin)
63
  {
64
 
65
  if( $plugin && !isset($plugin->forms) ) {
66
  throw new Exception("The module Factory Forms is not loaded for the plugin '{$plugin->getPluginName()}'.");
67
  }
68
 
69
- require_once(FACTORY_FORMS_430_DIR . '/includes/html-builder.class.php');
70
- require_once(FACTORY_FORMS_430_DIR . '/includes/form-element.class.php');
71
- require_once(FACTORY_FORMS_430_DIR . '/includes/control.class.php');
72
- require_once(FACTORY_FORMS_430_DIR . '/includes/complex-control.class.php');
73
- require_once(FACTORY_FORMS_430_DIR . '/includes/holder.class.php');
74
- require_once(FACTORY_FORMS_430_DIR . '/includes/control-holder.class.php');
75
- require_once(FACTORY_FORMS_430_DIR . '/includes/custom-element.class.php');
76
- require_once(FACTORY_FORMS_430_DIR . '/includes/form-layout.class.php');
77
 
78
  // registration of controls
79
  $plugin->forms->registerControls([
80
  [
81
  'type' => 'checkbox',
82
- 'class' => 'Wbcr_FactoryForms430_CheckboxControl',
83
- 'include' => FACTORY_FORMS_430_DIR . '/controls/checkbox.php'
84
  ],
85
  [
86
  'type' => 'list',
87
- 'class' => 'Wbcr_FactoryForms430_ListControl',
88
- 'include' => FACTORY_FORMS_430_DIR . '/controls/list.php'
89
  ],
90
  [
91
  'type' => 'dropdown',
92
- 'class' => 'Wbcr_FactoryForms430_DropdownControl',
93
- 'include' => FACTORY_FORMS_430_DIR . '/controls/dropdown.php'
94
  ],
95
  [
96
  'type' => 'dropdown-and-colors',
97
- 'class' => 'Wbcr_FactoryForms430_DropdownAndColorsControl',
98
- 'include' => FACTORY_FORMS_430_DIR . '/controls/dropdown-and-colors.php'
99
  ],
100
  [
101
  'type' => 'hidden',
102
- 'class' => 'Wbcr_FactoryForms430_HiddenControl',
103
- 'include' => FACTORY_FORMS_430_DIR . '/controls/hidden.php'
104
  ],
105
  [
106
  'type' => 'hidden',
107
- 'class' => 'Wbcr_FactoryForms430_HiddenControl',
108
- 'include' => FACTORY_FORMS_430_DIR . '/controls/hidden.php'
109
  ],
110
  [
111
  'type' => 'radio',
112
- 'class' => 'Wbcr_FactoryForms430_RadioControl',
113
- 'include' => FACTORY_FORMS_430_DIR . '/controls/radio.php'
114
  ],
115
  [
116
  'type' => 'radio-colors',
117
- 'class' => 'Wbcr_FactoryForms430_RadioColorsControl',
118
- 'include' => FACTORY_FORMS_430_DIR . '/controls/radio-colors.php'
119
  ],
120
  [
121
  'type' => 'textarea',
122
- 'class' => 'Wbcr_FactoryForms430_TextareaControl',
123
- 'include' => FACTORY_FORMS_430_DIR . '/controls/textarea.php'
124
  ],
125
  [
126
  'type' => 'textbox',
127
- 'class' => 'Wbcr_FactoryForms430_TextboxControl',
128
- 'include' => FACTORY_FORMS_430_DIR . '/controls/textbox.php'
129
  ],
130
  [
131
  'type' => 'multiple-textbox',
132
- 'class' => 'Wbcr_FactoryForms430_MultipleTextboxControl',
133
- 'include' => FACTORY_FORMS_430_DIR . '/controls/multiple-textbox.php'
134
  ],
135
  [
136
  'type' => 'datetimepicker-range',
137
- 'class' => 'Wbcr_FactoryForms430_DatepickerRangeControl',
138
- 'include' => FACTORY_FORMS_430_DIR . '/controls/datepicker-range.php'
139
  ],
140
  [
141
  'type' => 'url',
142
- 'class' => 'Wbcr_FactoryForms430_UrlControl',
143
- 'include' => FACTORY_FORMS_430_DIR . '/controls/url.php'
144
  ],
145
  [
146
  'type' => 'wp-editor',
147
- 'class' => 'Wbcr_FactoryForms430_WpEditorControl',
148
- 'include' => FACTORY_FORMS_430_DIR . '/controls/wp-editor.php'
149
  ],
150
  [
151
  'type' => 'color',
152
- 'class' => 'Wbcr_FactoryForms430_ColorControl',
153
- 'include' => FACTORY_FORMS_430_DIR . '/controls/color.php'
154
  ],
155
  [
156
  'type' => 'color-and-opacity',
157
- 'class' => 'Wbcr_FactoryForms430_ColorAndOpacityControl',
158
- 'include' => FACTORY_FORMS_430_DIR . '/controls/color-and-opacity.php'
159
  ],
160
  [
161
  'type' => 'gradient',
162
- 'class' => 'Wbcr_FactoryForms430_GradientControl',
163
- 'include' => FACTORY_FORMS_430_DIR . '/controls/gradient.php'
164
  ],
165
  [
166
  'type' => 'font',
167
- 'class' => 'Wbcr_FactoryForms430_FontControl',
168
- 'include' => FACTORY_FORMS_430_DIR . '/controls/font.php'
169
  ],
170
  [
171
  'type' => 'google-font',
172
- 'class' => 'Wbcr_FactoryForms430_GoogleFontControl',
173
- 'include' => FACTORY_FORMS_430_DIR . '/controls/google-font.php'
174
  ],
175
  [
176
  'type' => 'pattern',
177
- 'class' => 'Wbcr_FactoryForms430_PatternControl',
178
- 'include' => FACTORY_FORMS_430_DIR . '/controls/pattern.php'
179
  ],
180
  [
181
  'type' => 'integer',
182
- 'class' => 'Wbcr_FactoryForms430_IntegerControl',
183
- 'include' => FACTORY_FORMS_430_DIR . '/controls/integer.php'
184
  ],
185
  [
186
  'type' => 'control-group',
187
- 'class' => 'Wbcr_FactoryForms430_ControlGroupHolder',
188
- 'include' => FACTORY_FORMS_430_DIR . '/controls/holders/control-group.php'
189
  ],
190
  [
191
  'type' => 'paddings-editor',
192
- 'class' => 'Wbcr_FactoryForms430_PaddingsEditorControl',
193
- 'include' => FACTORY_FORMS_430_DIR . '/controls/paddings-editor.php'
194
  ],
195
  ]);
196
 
@@ -198,53 +198,53 @@ if( !function_exists('wbcr_factory_forms_430_register_default_controls') ) {
198
  $plugin->forms->registerHolders([
199
  [
200
  'type' => 'tab',
201
- 'class' => 'Wbcr_FactoryForms430_TabHolder',
202
- 'include' => FACTORY_FORMS_430_DIR . '/controls/holders/tab.php'
203
  ],
204
  [
205
  'type' => 'tab-item',
206
- 'class' => 'Wbcr_FactoryForms430_TabItemHolder',
207
- 'include' => FACTORY_FORMS_430_DIR . '/controls/holders/tab-item.php'
208
  ],
209
  [
210
  'type' => 'accordion',
211
- 'class' => 'Wbcr_FactoryForms430_AccordionHolder',
212
- 'include' => FACTORY_FORMS_430_DIR . '/controls/holders/accordion.php'
213
  ],
214
  [
215
  'type' => 'accordion-item',
216
- 'class' => 'Wbcr_FactoryForms430_AccordionItemHolder',
217
- 'include' => FACTORY_FORMS_430_DIR . '/controls/holders/accordion-item.php'
218
  ],
219
  [
220
  'type' => 'control-group',
221
- 'class' => 'Wbcr_FactoryForms430_ControlGroupHolder',
222
- 'include' => FACTORY_FORMS_430_DIR . '/controls/holders/control-group.php'
223
  ],
224
  [
225
  'type' => 'control-group-item',
226
- 'class' => 'Wbcr_FactoryForms430_ControlGroupItem',
227
- 'include' => FACTORY_FORMS_430_DIR . '/controls/holders/control-group-item.php'
228
  ],
229
  [
230
  'type' => 'form-group',
231
- 'class' => 'Wbcr_FactoryForms430_FormGroupHolder',
232
- 'include' => FACTORY_FORMS_430_DIR . '/controls/holders/form-group.php'
233
  ],
234
  [
235
  'type' => 'more-link',
236
- 'class' => 'Wbcr_FactoryForms430_MoreLinkHolder',
237
- 'include' => FACTORY_FORMS_430_DIR . '/controls/holders/more-link.php'
238
  ],
239
  [
240
  'type' => 'div',
241
- 'class' => 'Wbcr_FactoryForms430_DivHolder',
242
- 'include' => FACTORY_FORMS_430_DIR . '/controls/holders/div.php'
243
  ],
244
  [
245
  'type' => 'columns',
246
- 'class' => 'Wbcr_FactoryForms430_ColumnsHolder',
247
- 'include' => FACTORY_FORMS_430_DIR . '/controls/holders/columns.php'
248
  ]
249
  ]);
250
 
@@ -252,23 +252,23 @@ if( !function_exists('wbcr_factory_forms_430_register_default_controls') ) {
252
  $plugin->forms->registerCustomElements([
253
  [
254
  'type' => 'html',
255
- 'class' => 'Wbcr_FactoryForms430_Html',
256
- 'include' => FACTORY_FORMS_430_DIR . '/controls/customs/html.php',
257
  ],
258
  [
259
  'type' => 'separator',
260
- 'class' => 'Wbcr_FactoryForms430_Separator',
261
- 'include' => FACTORY_FORMS_430_DIR . '/controls/customs/separator.php',
262
  ],
263
  ]);
264
 
265
  // registration of form layouts
266
  $plugin->forms->registerFormLayout([
267
  'name' => 'bootstrap-3',
268
- 'class' => 'Wbcr_FactoryForms430_Bootstrap3FormLayout',
269
- 'include' => FACTORY_FORMS_430_DIR . '/layouts/bootstrap-3/bootstrap-3.php'
270
  ]);
271
  }
272
 
273
- add_action('wbcr_factory_forms_430_register_controls', 'wbcr_factory_forms_430_register_default_controls');
274
  }
22
 
23
  // checks if the module is already loaded in order to
24
  // prevent loading the same version of the module twice.
25
+ if( defined('FACTORY_FORMS_441_LOADED') ) {
26
  return;
27
  }
28
 
29
+ define('FACTORY_FORMS_441_LOADED', true);
30
 
31
+ define('FACTORY_FORMS_441_VERSION', '4.4.1');
32
 
33
  // absolute path and URL to the files and resources of the module.
34
+ define('FACTORY_FORMS_441_DIR', dirname(__FILE__));
35
+ define('FACTORY_FORMS_441_URL', plugins_url(null, __FILE__));
36
 
37
  #comp merge
38
+ require_once(FACTORY_FORMS_441_DIR . '/includes/providers/value-provider.interface.php');
39
+ require_once(FACTORY_FORMS_441_DIR . '/includes/providers/meta-value-provider.class.php');
40
+ require_once(FACTORY_FORMS_441_DIR . '/includes/providers/options-value-provider.class.php');
41
 
42
+ require_once(FACTORY_FORMS_441_DIR . '/includes/form.class.php');
43
  #endcomp
44
 
45
+ load_plugin_textdomain('wbcr_factory_forms_441', false, dirname(plugin_basename(__FILE__)) . '/langs');
46
 
47
  /**
48
  * We add this code into the hook because all these controls quite heavy. So in order to get better perfomance,
49
  * we load the form controls only on pages where the forms are created.
50
  *
51
  * @since 3.0.7
52
+ * @see the 'wbcr_factory_forms_441_register_controls' hook
53
  *
54
  */
55
+ if( !function_exists('wbcr_factory_forms_441_register_default_controls') ) {
56
 
57
  /**
58
+ * @param Wbcr_Factory444_Plugin $plugin
59
  *
60
  * @throws Exception
61
  */
62
+ function wbcr_factory_forms_441_register_default_controls(Wbcr_Factory444_Plugin $plugin)
63
  {
64
 
65
  if( $plugin && !isset($plugin->forms) ) {
66
  throw new Exception("The module Factory Forms is not loaded for the plugin '{$plugin->getPluginName()}'.");
67
  }
68
 
69
+ require_once(FACTORY_FORMS_441_DIR . '/includes/html-builder.class.php');
70
+ require_once(FACTORY_FORMS_441_DIR . '/includes/form-element.class.php');
71
+ require_once(FACTORY_FORMS_441_DIR . '/includes/control.class.php');
72
+ require_once(FACTORY_FORMS_441_DIR . '/includes/complex-control.class.php');
73
+ require_once(FACTORY_FORMS_441_DIR . '/includes/holder.class.php');
74
+ require_once(FACTORY_FORMS_441_DIR . '/includes/control-holder.class.php');
75
+ require_once(FACTORY_FORMS_441_DIR . '/includes/custom-element.class.php');
76
+ require_once(FACTORY_FORMS_441_DIR . '/includes/form-layout.class.php');
77
 
78
  // registration of controls
79
  $plugin->forms->registerControls([
80
  [
81
  'type' => 'checkbox',
82
+ 'class' => 'Wbcr_FactoryForms441_CheckboxControl',
83
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/checkbox.php'
84
  ],
85
  [
86
  'type' => 'list',
87
+ 'class' => 'Wbcr_FactoryForms441_ListControl',
88
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/list.php'
89
  ],
90
  [
91
  'type' => 'dropdown',
92
+ 'class' => 'Wbcr_FactoryForms441_DropdownControl',
93
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/dropdown.php'
94
  ],
95
  [
96
  'type' => 'dropdown-and-colors',
97
+ 'class' => 'Wbcr_FactoryForms441_DropdownAndColorsControl',
98
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/dropdown-and-colors.php'
99
  ],
100
  [
101
  'type' => 'hidden',
102
+ 'class' => 'Wbcr_FactoryForms441_HiddenControl',
103
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/hidden.php'
104
  ],
105
  [
106
  'type' => 'hidden',
107
+ 'class' => 'Wbcr_FactoryForms441_HiddenControl',
108
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/hidden.php'
109
  ],
110
  [
111
  'type' => 'radio',
112
+ 'class' => 'Wbcr_FactoryForms441_RadioControl',
113
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/radio.php'
114
  ],
115
  [
116
  'type' => 'radio-colors',
117
+ 'class' => 'Wbcr_FactoryForms441_RadioColorsControl',
118
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/radio-colors.php'
119
  ],
120
  [
121
  'type' => 'textarea',
122
+ 'class' => 'Wbcr_FactoryForms441_TextareaControl',
123
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/textarea.php'
124
  ],
125
  [
126
  'type' => 'textbox',
127
+ 'class' => 'Wbcr_FactoryForms441_TextboxControl',
128
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/textbox.php'
129
  ],
130
  [
131
  'type' => 'multiple-textbox',
132
+ 'class' => 'Wbcr_FactoryForms441_MultipleTextboxControl',
133
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/multiple-textbox.php'
134
  ],
135
  [
136
  'type' => 'datetimepicker-range',
137
+ 'class' => 'Wbcr_FactoryForms441_DatepickerRangeControl',
138
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/datepicker-range.php'
139
  ],
140
  [
141
  'type' => 'url',
142
+ 'class' => 'Wbcr_FactoryForms441_UrlControl',
143
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/url.php'
144
  ],
145
  [
146
  'type' => 'wp-editor',
147
+ 'class' => 'Wbcr_FactoryForms441_WpEditorControl',
148
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/wp-editor.php'
149
  ],
150
  [
151
  'type' => 'color',
152
+ 'class' => 'Wbcr_FactoryForms441_ColorControl',
153
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/color.php'
154
  ],
155
  [
156
  'type' => 'color-and-opacity',
157
+ 'class' => 'Wbcr_FactoryForms441_ColorAndOpacityControl',
158
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/color-and-opacity.php'
159
  ],
160
  [
161
  'type' => 'gradient',
162
+ 'class' => 'Wbcr_FactoryForms441_GradientControl',
163
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/gradient.php'
164
  ],
165
  [
166
  'type' => 'font',
167
+ 'class' => 'Wbcr_FactoryForms441_FontControl',
168
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/font.php'
169
  ],
170
  [
171
  'type' => 'google-font',
172
+ 'class' => 'Wbcr_FactoryForms441_GoogleFontControl',
173
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/google-font.php'
174
  ],
175
  [
176
  'type' => 'pattern',
177
+ 'class' => 'Wbcr_FactoryForms441_PatternControl',
178
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/pattern.php'
179
  ],
180
  [
181
  'type' => 'integer',
182
+ 'class' => 'Wbcr_FactoryForms441_IntegerControl',
183
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/integer.php'
184
  ],
185
  [
186
  'type' => 'control-group',
187
+ 'class' => 'Wbcr_FactoryForms441_ControlGroupHolder',
188
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/holders/control-group.php'
189
  ],
190
  [
191
  'type' => 'paddings-editor',
192
+ 'class' => 'Wbcr_FactoryForms441_PaddingsEditorControl',
193
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/paddings-editor.php'
194
  ],
195
  ]);
196
 
198
  $plugin->forms->registerHolders([
199
  [
200
  'type' => 'tab',
201
+ 'class' => 'Wbcr_FactoryForms441_TabHolder',
202
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/holders/tab.php'
203
  ],
204
  [
205
  'type' => 'tab-item',
206
+ 'class' => 'Wbcr_FactoryForms441_TabItemHolder',
207
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/holders/tab-item.php'
208
  ],
209
  [
210
  'type' => 'accordion',
211
+ 'class' => 'Wbcr_FactoryForms441_AccordionHolder',
212
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/holders/accordion.php'
213
  ],
214
  [
215
  'type' => 'accordion-item',
216
+ 'class' => 'Wbcr_FactoryForms441_AccordionItemHolder',
217
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/holders/accordion-item.php'
218
  ],
219
  [
220
  'type' => 'control-group',
221
+ 'class' => 'Wbcr_FactoryForms441_ControlGroupHolder',
222
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/holders/control-group.php'
223
  ],
224
  [
225
  'type' => 'control-group-item',
226
+ 'class' => 'Wbcr_FactoryForms441_ControlGroupItem',
227
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/holders/control-group-item.php'
228
  ],
229
  [
230
  'type' => 'form-group',
231
+ 'class' => 'Wbcr_FactoryForms441_FormGroupHolder',
232
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/holders/form-group.php'
233
  ],
234
  [
235
  'type' => 'more-link',
236
+ 'class' => 'Wbcr_FactoryForms441_MoreLinkHolder',
237
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/holders/more-link.php'
238
  ],
239
  [
240
  'type' => 'div',
241
+ 'class' => 'Wbcr_FactoryForms441_DivHolder',
242
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/holders/div.php'
243
  ],
244
  [
245
  'type' => 'columns',
246
+ 'class' => 'Wbcr_FactoryForms441_ColumnsHolder',
247
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/holders/columns.php'
248
  ]
249
  ]);
250
 
252
  $plugin->forms->registerCustomElements([
253
  [
254
  'type' => 'html',
255
+ 'class' => 'Wbcr_FactoryForms441_Html',
256
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/customs/html.php',
257
  ],
258
  [
259
  'type' => 'separator',
260
+ 'class' => 'Wbcr_FactoryForms441_Separator',
261
+ 'include' => FACTORY_FORMS_441_DIR . '/controls/customs/separator.php',
262
  ],
263
  ]);
264
 
265
  // registration of form layouts
266
  $plugin->forms->registerFormLayout([
267
  'name' => 'bootstrap-3',
268
+ 'class' => 'Wbcr_FactoryForms441_Bootstrap3FormLayout',
269
+ 'include' => FACTORY_FORMS_441_DIR . '/layouts/bootstrap-3/bootstrap-3.php'
270
  ]);
271
  }
272
 
273
+ add_action('wbcr_factory_forms_441_register_controls', 'wbcr_factory_forms_441_register_default_controls');
274
  }
libs/factory/forms/controls/checkbox.php CHANGED
@@ -20,9 +20,9 @@
20
  exit;
21
  }
22
 
23
- if( !class_exists('Wbcr_FactoryForms430_CheckboxControl') ) {
24
 
25
- class Wbcr_FactoryForms430_CheckboxControl extends Wbcr_FactoryForms430_Control {
26
 
27
  public $type = 'checkbox';
28
 
@@ -130,10 +130,10 @@
130
  <div <?php $this->attrs() ?>>
131
  <button type="button" class="btn btn-default btn-small btn-sm factory-on <?php if( $value ) {
132
  echo 'active';
133
- } ?>"><?php _e('On', 'wbcr_factory_forms_430') ?></button>
134
  <button type="button" class="btn btn-default btn-small btn-sm factory-off <?php if( !$value ) {
135
  echo 'active';
136
- } ?>" data-value="0"><?php _e('Off', 'wbcr_factory_forms_430') ?></button>
137
  <input type="checkbox" style="display: none" id="<?php echo $name_on_form ?>" class="factory-result" name="<?php echo $name_on_form ?>" value="<?= $value ?>" <?php if( $value ) {
138
  echo 'checked="checked"';
139
  } ?>" />
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms441_CheckboxControl') ) {
24
 
25
+ class Wbcr_FactoryForms441_CheckboxControl extends Wbcr_FactoryForms441_Control {
26
 
27
  public $type = 'checkbox';
28
 
130
  <div <?php $this->attrs() ?>>
131
  <button type="button" class="btn btn-default btn-small btn-sm factory-on <?php if( $value ) {
132
  echo 'active';
133
+ } ?>"><?php _e('On', 'wbcr_factory_forms_441') ?></button>
134
  <button type="button" class="btn btn-default btn-small btn-sm factory-off <?php if( !$value ) {
135
  echo 'active';
136
+ } ?>" data-value="0"><?php _e('Off', 'wbcr_factory_forms_441') ?></button>
137
  <input type="checkbox" style="display: none" id="<?php echo $name_on_form ?>" class="factory-result" name="<?php echo $name_on_form ?>" value="<?= $value ?>" <?php if( $value ) {
138
  echo 'checked="checked"';
139
  } ?>" />
libs/factory/forms/controls/color-and-opacity.php CHANGED
@@ -20,10 +20,10 @@
20
  exit;
21
  }
22
 
23
- if( !class_exists('Wbcr_FactoryForms430_ColorAndOpacityControl') ) {
24
  }
25
 
26
- class Wbcr_FactoryForms430_ColorAndOpacityControl extends Wbcr_FactoryForms430_ComplexControl {
27
 
28
  public $type = 'color-and-opacity';
29
 
@@ -57,8 +57,8 @@
57
  'way' => 'slider'
58
  ));
59
 
60
- $this->color = new Wbcr_FactoryForms430_ColorControl($options['color'], $form, $provider);
61
- $this->opacity = new Wbcr_FactoryForms430_IntegerControl($options['opacity'], $form, $provider);
62
 
63
  $this->innerControls = array($this->color, $this->opacity);
64
  }
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms441_ColorAndOpacityControl') ) {
24
  }
25
 
26
+ class Wbcr_FactoryForms441_ColorAndOpacityControl extends Wbcr_FactoryForms441_ComplexControl {
27
 
28
  public $type = 'color-and-opacity';
29
 
57
  'way' => 'slider'
58
  ));
59
 
60
+ $this->color = new Wbcr_FactoryForms441_ColorControl($options['color'], $form, $provider);
61
+ $this->opacity = new Wbcr_FactoryForms441_IntegerControl($options['opacity'], $form, $provider);
62
 
63
  $this->innerControls = array($this->color, $this->opacity);
64
  }
libs/factory/forms/controls/color.php CHANGED
@@ -20,9 +20,9 @@
20
  exit;
21
  }
22
 
23
- if( !class_exists('Wbcr_FactoryForms430_ColorControl') ) {
24
 
25
- class Wbcr_FactoryForms430_ColorControl extends Wbcr_FactoryForms430_Control {
26
 
27
  public $type = 'color';
28
 
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms441_ColorControl') ) {
24
 
25
+ class Wbcr_FactoryForms441_ColorControl extends Wbcr_FactoryForms441_Control {
26
 
27
  public $type = 'color';
28
 
libs/factory/forms/controls/customs/html.php CHANGED
@@ -14,9 +14,9 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms430_Html') ) {
18
 
19
- class Wbcr_FactoryForms430_Html extends Wbcr_FactoryForms430_CustomElement {
20
 
21
  public $type = 'html';
22
 
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms441_Html') ) {
18
 
19
+ class Wbcr_FactoryForms441_Html extends Wbcr_FactoryForms441_CustomElement {
20
 
21
  public $type = 'html';
22
 
libs/factory/forms/controls/customs/separator.php CHANGED
@@ -14,8 +14,8 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms430_Separator') ) {
18
- class Wbcr_FactoryForms430_Separator extends Wbcr_FactoryForms430_CustomElement {
19
 
20
  public $type = 'separator';
21
 
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms441_Separator') ) {
18
+ class Wbcr_FactoryForms441_Separator extends Wbcr_FactoryForms441_CustomElement {
19
 
20
  public $type = 'separator';
21
 
libs/factory/forms/controls/datepicker-range.php CHANGED
@@ -29,9 +29,9 @@
29
  exit;
30
  }
31
 
32
- if( !class_exists('Wbcr_FactoryForms430_DatepickerRangeControl') ) {
33
 
34
- class Wbcr_FactoryForms430_DatepickerRangeControl extends Wbcr_FactoryForms430_ComplexControl {
35
 
36
  public $type = 'datetimepicker-range';
37
 
@@ -65,8 +65,8 @@
65
  'default' => date('Y/m/d H:i', strtotime("+1 month"))
66
  ), $options['range_2']);
67
 
68
- $this->range_1 = new Wbcr_FactoryForms430_TextboxControl($options['range_1'], $form, $provider);
69
- $this->range_2 = new Wbcr_FactoryForms430_TextboxControl($options['range_2'], $form, $provider);
70
  $this->inner_controls = array($this->range_1, $this->range_2);
71
 
72
  foreach($this->inner_controls as $key => $control) {
29
  exit;
30
  }
31
 
32
+ if( !class_exists('Wbcr_FactoryForms441_DatepickerRangeControl') ) {
33
 
34
+ class Wbcr_FactoryForms441_DatepickerRangeControl extends Wbcr_FactoryForms441_ComplexControl {
35
 
36
  public $type = 'datetimepicker-range';
37
 
65
  'default' => date('Y/m/d H:i', strtotime("+1 month"))
66
  ), $options['range_2']);
67
 
68
+ $this->range_1 = new Wbcr_FactoryForms441_TextboxControl($options['range_1'], $form, $provider);
69
+ $this->range_2 = new Wbcr_FactoryForms441_TextboxControl($options['range_2'], $form, $provider);
70
  $this->inner_controls = array($this->range_1, $this->range_2);
71
 
72
  foreach($this->inner_controls as $key => $control) {
libs/factory/forms/controls/dropdown-and-colors.php CHANGED
@@ -5,14 +5,14 @@
5
  *
6
  * Main options:
7
  * name => a name of the control
8
- * // see FactoryForms430_DropdownControl
9
  * 'dropdown' => array(
10
  * // a callback to return items or an array of items to select
11
  * 'data' => OPanda_ThemeManager::getThemes(OPanda_Items::getCurrentItemName(), 'dropdown'),
12
  * 'default' => 'default',
13
  * 'value' => 'value' // a value to show in the control
14
  * ),
15
- * // see FactoryForms430_RadioColorsControl
16
  * 'colors' => array(
17
  * // a callback to return items or an array of items to select
18
  * 'data' => array(
@@ -37,9 +37,9 @@
37
  exit;
38
  }
39
 
40
- if( !class_exists('Wbcr_FactoryForms430_DropdownAndColorsControl') ) {
41
 
42
- class Wbcr_FactoryForms430_DropdownAndColorsControl extends Wbcr_FactoryForms430_ComplexControl {
43
 
44
  public $type = 'dropdown-and-colors';
45
 
@@ -69,8 +69,8 @@
69
  'name' => $this->options['name'] . '__colors',
70
  ));
71
 
72
- $this->dropdown = new Wbcr_FactoryForms430_DropdownControl($options['dropdown'], $form, $provider);
73
- $this->colors = new Wbcr_FactoryForms430_RadioColorsControl($options['colors'], $form, $provider);
74
  $this->inner_controls = array($this->dropdown, $this->colors);
75
 
76
  $colors = $this->colors->getOption('data');
5
  *
6
  * Main options:
7
  * name => a name of the control
8
+ * // see FactoryForms441_DropdownControl
9
  * 'dropdown' => array(
10
  * // a callback to return items or an array of items to select
11
  * 'data' => OPanda_ThemeManager::getThemes(OPanda_Items::getCurrentItemName(), 'dropdown'),
12
  * 'default' => 'default',
13
  * 'value' => 'value' // a value to show in the control
14
  * ),
15
+ * // see FactoryForms441_RadioColorsControl
16
  * 'colors' => array(
17
  * // a callback to return items or an array of items to select
18
  * 'data' => array(
37
  exit;
38
  }
39
 
40
+ if( !class_exists('Wbcr_FactoryForms441_DropdownAndColorsControl') ) {
41
 
42
+ class Wbcr_FactoryForms441_DropdownAndColorsControl extends Wbcr_FactoryForms441_ComplexControl {
43
 
44
  public $type = 'dropdown-and-colors';
45
 
69
  'name' => $this->options['name'] . '__colors',
70
  ));
71
 
72
+ $this->dropdown = new Wbcr_FactoryForms441_DropdownControl($options['dropdown'], $form, $provider);
73
+ $this->colors = new Wbcr_FactoryForms441_RadioColorsControl($options['colors'], $form, $provider);
74
  $this->inner_controls = array($this->dropdown, $this->colors);
75
 
76
  $colors = $this->colors->getOption('data');
libs/factory/forms/controls/dropdown.php CHANGED
@@ -21,9 +21,9 @@
21
  exit;
22
  }
23
 
24
- if ( ! class_exists( 'Wbcr_FactoryForms430_DropdownControl' ) ) {
25
 
26
- class Wbcr_FactoryForms430_DropdownControl extends Wbcr_FactoryForms430_Control {
27
 
28
  public $type = 'dropdown';
29
 
@@ -123,7 +123,7 @@
123
  'url': '<?php echo $data['url'] ?>',
124
  'data': <?php echo json_encode( $data['data'] ) ?>,
125
  'selected': '<?php echo $value ?>',
126
- 'empty_list': '<?php echo $this->getOption( 'empty', __( 'The list is empty.', 'wbcr_factory_forms_430' ) ) ?>'
127
  };
128
  </script>
129
  <?php
@@ -268,7 +268,7 @@
268
  }
269
 
270
  $is_empty = $this->isAjax() || empty( $items );
271
- $empty_list = $this->getOption( 'empty', __( '- empty -', 'wbcr_factory_forms_430' ) );
272
 
273
  ?>
274
  <select <?php $this->attrs() ?>>
@@ -349,7 +349,7 @@
349
  }
350
 
351
  $value = isset( $item['value'] ) ? $item['value'] : '';
352
- $title = isset( $item['title'] ) ? $item['title'] : __( '- empty -', 'wbcr_factory_forms_430' );
353
 
354
  $data = isset( $item['data'] ) ? $item['data'] : null;
355
  } else {
21
  exit;
22
  }
23
 
24
+ if ( ! class_exists( 'Wbcr_FactoryForms441_DropdownControl' ) ) {
25
 
26
+ class Wbcr_FactoryForms441_DropdownControl extends Wbcr_FactoryForms441_Control {
27
 
28
  public $type = 'dropdown';
29
 
123
  'url': '<?php echo $data['url'] ?>',
124
  'data': <?php echo json_encode( $data['data'] ) ?>,
125
  'selected': '<?php echo $value ?>',
126
+ 'empty_list': '<?php echo $this->getOption( 'empty', __( 'The list is empty.', 'wbcr_factory_forms_441' ) ) ?>'
127
  };
128
  </script>
129
  <?php
268
  }
269
 
270
  $is_empty = $this->isAjax() || empty( $items );
271
+ $empty_list = $this->getOption( 'empty', __( '- empty -', 'wbcr_factory_forms_441' ) );
272
 
273
  ?>
274
  <select <?php $this->attrs() ?>>
349
  }
350
 
351
  $value = isset( $item['value'] ) ? $item['value'] : '';
352
+ $title = isset( $item['title'] ) ? $item['title'] : __( '- empty -', 'wbcr_factory_forms_441' );
353
 
354
  $data = isset( $item['data'] ) ? $item['data'] : null;
355
  } else {
libs/factory/forms/controls/font.php CHANGED
@@ -20,9 +20,9 @@
20
  exit;
21
  }
22
 
23
- if( !class_exists('Wbcr_FactoryForms430_FontControl') ) {
24
 
25
- class Wbcr_FactoryForms430_FontControl extends Wbcr_FactoryForms430_ComplexControl {
26
 
27
  public $type = 'font';
28
 
@@ -54,9 +54,9 @@
54
  'pickerTarget' => '.factory-control-' . $this->options['name'] . ' .factory-picker-target'
55
  );
56
 
57
- $this->size = new Wbcr_FactoryForms430_IntegerControl($option_font_size, $form, $provider);
58
- $this->family = new Wbcr_FactoryForms430_DropdownControl($option_font_family, $form, $provider);
59
- $this->color = new Wbcr_FactoryForms430_ColorControl($optionFontColor, $form, $provider);
60
 
61
  $this->innerControls = array($this->family, $this->size, $this->color);
62
  }
@@ -66,8 +66,8 @@
66
 
67
  $fonts = $this->getDefaultFonts();
68
 
69
- $fonts = apply_filters('wbcr_factory_forms_430_fonts', $fonts);
70
- $fonts = apply_filters('wbcr_factory_forms_430_fonts-' . $this->options['name'], $fonts);
71
 
72
  return $fonts;
73
  }
@@ -77,10 +77,10 @@
77
 
78
  $fonts = array(
79
 
80
- array('inherit', __('(use default website font)', 'wbcr_factory_forms_430')),
81
  array(
82
  'group',
83
- __('Sans Serif:', 'wbcr_factory_forms_430'),
84
  array(
85
  array('Arial, "Helvetica Neue", Helvetica, sans-serif', 'Arial'),
86
  array('"Arial Black", "Arial Bold", Gadget, sans-serif', 'Arial Black'),
@@ -131,7 +131,7 @@
131
  ),
132
  array(
133
  'group',
134
- __('Serif:', 'wbcr_factory_forms_430'),
135
  array(
136
  array(
137
  'Baskerville, "Baskerville Old Face", "Hoefler Text", Garamond, "Times New Roman", serif',
@@ -187,7 +187,7 @@
187
  ),
188
  array(
189
  'group',
190
- __('Monospaced:', 'wbcr_factory_forms_430'),
191
  array(
192
  array('"Andale Mono", AndaleMono, monospace', 'Andale Mono'),
193
  array('Consolas, monaco, monospace', 'Consolas'),
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms441_FontControl') ) {
24
 
25
+ class Wbcr_FactoryForms441_FontControl extends Wbcr_FactoryForms441_ComplexControl {
26
 
27
  public $type = 'font';
28
 
54
  'pickerTarget' => '.factory-control-' . $this->options['name'] . ' .factory-picker-target'
55
  );
56
 
57
+ $this->size = new Wbcr_FactoryForms441_IntegerControl($option_font_size, $form, $provider);
58
+ $this->family = new Wbcr_FactoryForms441_DropdownControl($option_font_family, $form, $provider);
59
+ $this->color = new Wbcr_FactoryForms441_ColorControl($optionFontColor, $form, $provider);
60
 
61
  $this->innerControls = array($this->family, $this->size, $this->color);
62
  }
66
 
67
  $fonts = $this->getDefaultFonts();
68
 
69
+ $fonts = apply_filters('wbcr_factory_forms_441_fonts', $fonts);
70
+ $fonts = apply_filters('wbcr_factory_forms_441_fonts-' . $this->options['name'], $fonts);
71
 
72
  return $fonts;
73
  }
77
 
78
  $fonts = array(
79
 
80
+ array('inherit', __('(use default website font)', 'wbcr_factory_forms_441')),
81
  array(
82
  'group',
83
+ __('Sans Serif:', 'wbcr_factory_forms_441'),
84
  array(
85
  array('Arial, "Helvetica Neue", Helvetica, sans-serif', 'Arial'),
86
  array('"Arial Black", "Arial Bold", Gadget, sans-serif', 'Arial Black'),
131
  ),
132
  array(
133
  'group',
134
+ __('Serif:', 'wbcr_factory_forms_441'),
135
  array(
136
  array(
137
  'Baskerville, "Baskerville Old Face", "Hoefler Text", Garamond, "Times New Roman", serif',
187
  ),
188
  array(
189
  'group',
190
+ __('Monospaced:', 'wbcr_factory_forms_441'),
191
  array(
192
  array('"Andale Mono", AndaleMono, monospace', 'Andale Mono'),
193
  array('Consolas, monaco, monospace', 'Consolas'),
libs/factory/forms/controls/google-font.php CHANGED
@@ -15,7 +15,7 @@
15
  * @package core
16
  * @since 1.0.0
17
  */
18
- class Wbcr_FactoryForms430_GoogleFontControl extends Wbcr_FactoryForms430_FontControl {
19
 
20
  public $type = 'google-font';
21
  const APIKEY = 'AIzaSyB-3vazYv7Q-5QZA04bmSKFrWcw_VhC40w';
@@ -30,7 +30,7 @@
30
  'cssClass' => 'factory-google-font-data'
31
  );
32
 
33
- $this->google_font_data = new Wbcr_FactoryForms430_HiddenControl($option_google_font_data, $form, $provider);
34
  $this->inner_controls[] = $this->google_font_data;
35
  }
36
 
@@ -49,12 +49,12 @@
49
  $google_fonts = $this->getGoogleFonts();
50
 
51
  $fonts = array(
52
- array('inherit', __('(use default website font)', 'wbcr_factory_forms_430'))
53
  );
54
 
55
  $fontsCommon = array(
56
  'group',
57
- __('Standard:', 'wbcr_factory_forms_430'),
58
  array(
59
 
60
  array('Arial, "Helvetica Neue", Helvetica, sans-serif', 'Arial'),
@@ -65,7 +65,7 @@
65
  )
66
  );
67
 
68
- $fontsGoogleFonts = array('group', __('Google Fonts:', 'wbcr_factory_forms_430'), array());
69
 
70
  foreach($google_fonts->items as $item) {
71
 
@@ -115,7 +115,7 @@
115
 
116
  if( is_wp_error($response) ) {
117
 
118
- $this->error = __('Unable to retrieve the list of Google Fonts.', 'wbcr_factory_forms_430');
119
  $this->defailed_error = $response->get_error_message();
120
 
121
  return $body;
@@ -123,7 +123,7 @@
123
 
124
  if( !isset($response['body']) ) {
125
 
126
- $this->error = __('Invalide response from the Google Fonts API.', 'wbcr_factory_forms_430');
127
  $this->defailed_error = $response['body'];
128
 
129
  return $body;
@@ -133,7 +133,7 @@
133
 
134
  if( empty($body->items) ) {
135
 
136
- $this->error = __('Unexpected error. The list of Google Fonts are empty.', 'wbcr_factory_forms_430');
137
 
138
  return $body;
139
  }
15
  * @package core
16
  * @since 1.0.0
17
  */
18
+ class Wbcr_FactoryForms441_GoogleFontControl extends Wbcr_FactoryForms441_FontControl {
19
 
20
  public $type = 'google-font';
21
  const APIKEY = 'AIzaSyB-3vazYv7Q-5QZA04bmSKFrWcw_VhC40w';
30
  'cssClass' => 'factory-google-font-data'
31
  );
32
 
33
+ $this->google_font_data = new Wbcr_FactoryForms441_HiddenControl($option_google_font_data, $form, $provider);
34
  $this->inner_controls[] = $this->google_font_data;
35
  }
36
 
49
  $google_fonts = $this->getGoogleFonts();
50
 
51
  $fonts = array(
52
+ array('inherit', __('(use default website font)', 'wbcr_factory_forms_441'))
53
  );
54
 
55
  $fontsCommon = array(
56
  'group',
57
+ __('Standard:', 'wbcr_factory_forms_441'),
58
  array(
59
 
60
  array('Arial, "Helvetica Neue", Helvetica, sans-serif', 'Arial'),
65
  )
66
  );
67
 
68
+ $fontsGoogleFonts = array('group', __('Google Fonts:', 'wbcr_factory_forms_441'), array());
69
 
70
  foreach($google_fonts->items as $item) {
71
 
115
 
116
  if( is_wp_error($response) ) {
117
 
118
+ $this->error = __('Unable to retrieve the list of Google Fonts.', 'wbcr_factory_forms_441');
119
  $this->defailed_error = $response->get_error_message();
120
 
121
  return $body;
123
 
124
  if( !isset($response['body']) ) {
125
 
126
+ $this->error = __('Invalide response from the Google Fonts API.', 'wbcr_factory_forms_441');
127
  $this->defailed_error = $response['body'];
128
 
129
  return $body;
133
 
134
  if( empty($body->items) ) {
135
 
136
+ $this->error = __('Unexpected error. The list of Google Fonts are empty.', 'wbcr_factory_forms_441');
137
 
138
  return $body;
139
  }
libs/factory/forms/controls/gradient.php CHANGED
@@ -25,8 +25,8 @@
25
  exit;
26
  }
27
 
28
- if( !class_exists('Wbcr_FactoryForms430_GradientControl') ) {
29
- class Wbcr_FactoryForms430_GradientControl extends Wbcr_FactoryForms430_Control {
30
 
31
  public $type = 'gradient';
32
 
@@ -66,8 +66,8 @@
66
  if( !window.factory.res ) {
67
  window.factory.res = {};
68
  }
69
- factory.res.resVertical = '<?php _e( 'vertical', 'wbcr_factory_forms_430' ) ?>';
70
- factory.res.resHorizontal = '<?php _e( 'horizontal', 'wbcr_factory_forms_430' ) ?>';
71
  </script>
72
  <div <?php $this->attrs() ?>>
73
  <div class="factory-gradient-picker">
25
  exit;
26
  }
27
 
28
+ if( !class_exists('Wbcr_FactoryForms441_GradientControl') ) {
29
+ class Wbcr_FactoryForms441_GradientControl extends Wbcr_FactoryForms441_Control {
30
 
31
  public $type = 'gradient';
32
 
66
  if( !window.factory.res ) {
67
  window.factory.res = {};
68
  }
69
+ factory.res.resVertical = '<?php _e( 'vertical', 'wbcr_factory_forms_441' ) ?>';
70
+ factory.res.resHorizontal = '<?php _e( 'horizontal', 'wbcr_factory_forms_441' ) ?>';
71
  </script>
72
  <div <?php $this->attrs() ?>>
73
  <div class="factory-gradient-picker">
libs/factory/forms/controls/hidden.php CHANGED
@@ -20,9 +20,9 @@
20
  exit;
21
  }
22
 
23
- if( !class_exists('Wbcr_FactoryForms430_HiddenControl') ) {
24
 
25
- class Wbcr_FactoryForms430_HiddenControl extends Wbcr_FactoryForms430_Control {
26
 
27
  public $type = 'hidden';
28
 
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms441_HiddenControl') ) {
24
 
25
+ class Wbcr_FactoryForms441_HiddenControl extends Wbcr_FactoryForms441_Control {
26
 
27
  public $type = 'hidden';
28
 
libs/factory/forms/controls/holders/accordion-item.php CHANGED
@@ -14,14 +14,14 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms430_AccordionItemHolder') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
- class Wbcr_FactoryForms430_AccordionItemHolder extends Wbcr_FactoryForms430_Holder {
25
 
26
  /**
27
  * A holder type.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms441_AccordionItemHolder') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
+ class Wbcr_FactoryForms441_AccordionItemHolder extends Wbcr_FactoryForms441_Holder {
25
 
26
  /**
27
  * A holder type.
libs/factory/forms/controls/holders/accordion.php CHANGED
@@ -13,13 +13,13 @@
13
  if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
- if( !class_exists('Wbcr_FactoryForms430_AccordionHolder') ) {
17
  /**
18
  * Tab Control Holder
19
  *
20
  * @since 1.0.0
21
  */
22
- class Wbcr_FactoryForms430_AccordionHolder extends Wbcr_FactoryForms430_Holder {
23
 
24
  /**
25
  * A holder type.
13
  if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
+ if( !class_exists('Wbcr_FactoryForms441_AccordionHolder') ) {
17
  /**
18
  * Tab Control Holder
19
  *
20
  * @since 1.0.0
21
  */
22
+ class Wbcr_FactoryForms441_AccordionHolder extends Wbcr_FactoryForms441_Holder {
23
 
24
  /**
25
  * A holder type.
libs/factory/forms/controls/holders/columns.php CHANGED
@@ -14,13 +14,13 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms430_ColumnsHolder') ) {
18
  /**
19
  * Columns Holder
20
  *
21
  * @since 1.0.0
22
  */
23
- class Wbcr_FactoryForms430_ColumnsHolder extends Wbcr_FactoryForms430_Holder {
24
 
25
  /**
26
  * A holder type.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms441_ColumnsHolder') ) {
18
  /**
19
  * Columns Holder
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_FactoryForms441_ColumnsHolder extends Wbcr_FactoryForms441_Holder {
24
 
25
  /**
26
  * A holder type.
libs/factory/forms/controls/holders/control-group-item.php CHANGED
@@ -14,14 +14,14 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms430_ControlGroupItem') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
- class Wbcr_FactoryForms430_ControlGroupItem extends Wbcr_FactoryForms430_Holder {
25
 
26
  /**
27
  * A holder type.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms441_ControlGroupItem') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
+ class Wbcr_FactoryForms441_ControlGroupItem extends Wbcr_FactoryForms441_Holder {
25
 
26
  /**
27
  * A holder type.
libs/factory/forms/controls/holders/control-group.php CHANGED
@@ -14,14 +14,14 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms430_ControlGroupHolder') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
- class Wbcr_FactoryForms430_ControlGroupHolder extends Wbcr_FactoryForms430_ControlHolder {
25
 
26
  /**
27
  * A holder type.
@@ -61,7 +61,7 @@
61
  continue;
62
  }
63
 
64
- $builder = new Wbcr_FactoryForms430_HtmlAttributeBuilder();
65
 
66
  $builder->addCssClass('factory-control-group-nav-label');
67
  $builder->addCssClass('factory-control-group-nav-label-' . $element->getOption('name'));
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms441_ControlGroupHolder') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
+ class Wbcr_FactoryForms441_ControlGroupHolder extends Wbcr_FactoryForms441_ControlHolder {
25
 
26
  /**
27
  * A holder type.
61
  continue;
62
  }
63
 
64
+ $builder = new Wbcr_FactoryForms441_HtmlAttributeBuilder();
65
 
66
  $builder->addCssClass('factory-control-group-nav-label');
67
  $builder->addCssClass('factory-control-group-nav-label-' . $element->getOption('name'));
libs/factory/forms/controls/holders/div.php CHANGED
@@ -14,13 +14,13 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms430_DivHolder') ) {
18
  /**
19
  * Div Control Holder
20
  *
21
  * @since 1.0.0
22
  */
23
- class Wbcr_FactoryForms430_DivHolder extends Wbcr_FactoryForms430_Holder {
24
 
25
  /**
26
  * A holder type.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms441_DivHolder') ) {
18
  /**
19
  * Div Control Holder
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_FactoryForms441_DivHolder extends Wbcr_FactoryForms441_Holder {
24
 
25
  /**
26
  * A holder type.
libs/factory/forms/controls/holders/form-group.php CHANGED
@@ -14,13 +14,13 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms430_FormGroupHolder') ) {
18
  /**
19
  * Group Holder
20
  *
21
  * @since 1.0.0
22
  */
23
- class Wbcr_FactoryForms430_FormGroupHolder extends Wbcr_FactoryForms430_Holder {
24
 
25
  /**
26
  * A holder type.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms441_FormGroupHolder') ) {
18
  /**
19
  * Group Holder
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_FactoryForms441_FormGroupHolder extends Wbcr_FactoryForms441_Holder {
24
 
25
  /**
26
  * A holder type.
libs/factory/forms/controls/holders/more-link.php CHANGED
@@ -14,14 +14,14 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms430_MoreLinkHolder') ) {
18
 
19
  /**
20
  * Collapsed Group Holder
21
  *
22
  * @since 1.0.0
23
  */
24
- class Wbcr_FactoryForms430_MoreLinkHolder extends Wbcr_FactoryForms430_Holder {
25
 
26
  /**
27
  * A holder type.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms441_MoreLinkHolder') ) {
18
 
19
  /**
20
  * Collapsed Group Holder
21
  *
22
  * @since 1.0.0
23
  */
24
+ class Wbcr_FactoryForms441_MoreLinkHolder extends Wbcr_FactoryForms441_Holder {
25
 
26
  /**
27
  * A holder type.
libs/factory/forms/controls/holders/tab-item.php CHANGED
@@ -13,13 +13,13 @@
13
  exit;
14
  }
15
 
16
- if( !class_exists('Wbcr_FactoryForms430_TabItemHolder') ) {
17
  /**
18
  * Tab Item Control Holder
19
  *
20
  * @since 1.0.0
21
  */
22
- class Wbcr_FactoryForms430_TabItemHolder extends Wbcr_FactoryForms430_Holder {
23
 
24
  /**
25
  * A holder type.
13
  exit;
14
  }
15
 
16
+ if( !class_exists('Wbcr_FactoryForms441_TabItemHolder') ) {
17
  /**
18
  * Tab Item Control Holder
19
  *
20
  * @since 1.0.0
21
  */
22
+ class Wbcr_FactoryForms441_TabItemHolder extends Wbcr_FactoryForms441_Holder {
23
 
24
  /**
25
  * A holder type.
libs/factory/forms/controls/holders/tab.php CHANGED
@@ -14,14 +14,14 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms430_TabHolder') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
- class Wbcr_FactoryForms430_TabHolder extends Wbcr_FactoryForms430_Holder {
25
 
26
  /**
27
  * A holder type.
@@ -44,7 +44,7 @@
44
  *
45
  * @since 1.0.0
46
  * @param mixed[] $options A holder options.
47
- * @param FactoryForms430_Form $form A parent form.
48
  */
49
  public function __construct($options, $form)
50
  {
@@ -88,7 +88,7 @@
88
  $tab_icon = $element->options['icon'];
89
  }
90
 
91
- $builder = new Wbcr_FactoryForms430_HtmlAttributeBuilder();
92
 
93
  $builder->addCssClass('factory-tab-item-header');
94
  $builder->addCssClass('factory-tab-item-header-' . $element->getName());
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms441_TabHolder') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
+ class Wbcr_FactoryForms441_TabHolder extends Wbcr_FactoryForms441_Holder {
25
 
26
  /**
27
  * A holder type.
44
  *
45
  * @since 1.0.0
46
  * @param mixed[] $options A holder options.
47
+ * @param FactoryForms441_Form $form A parent form.
48
  */
49
  public function __construct($options, $form)
50
  {
88
  $tab_icon = $element->options['icon'];
89
  }
90
 
91
+ $builder = new Wbcr_FactoryForms441_HtmlAttributeBuilder();
92
 
93
  $builder->addCssClass('factory-tab-item-header');
94
  $builder->addCssClass('factory-tab-item-header-' . $element->getName());
libs/factory/forms/controls/integer.php CHANGED
@@ -32,9 +32,9 @@
32
  exit;
33
  }
34
 
35
- if( !class_exists('Wbcr_FactoryForms430_IntegerControl') ) {
36
 
37
- class Wbcr_FactoryForms430_IntegerControl extends Wbcr_FactoryForms430_Control {
38
 
39
  public $type = 'integer';
40
 
32
  exit;
33
  }
34
 
35
+ if( !class_exists('Wbcr_FactoryForms441_IntegerControl') ) {
36
 
37
+ class Wbcr_FactoryForms441_IntegerControl extends Wbcr_FactoryForms441_Control {
38
 
39
  public $type = 'integer';
40
 
libs/factory/forms/controls/list.php CHANGED
@@ -21,9 +21,9 @@
21
  exit;
22
  }
23
 
24
- if( !class_exists('Wbcr_FactoryForms430_ListControl') ) {
25
 
26
- class Wbcr_FactoryForms430_ListControl extends Wbcr_FactoryForms430_Control {
27
 
28
  public $type = 'list';
29
 
@@ -93,7 +93,7 @@
93
  'url': '<?php echo $data['url'] ?>',
94
  'data': <?php echo json_encode( $data['data'] ) ?>,
95
  'selected': <?php echo json_encode( $value ) ?>,
96
- 'emptyList': '<?php echo $this->getOption('empty', __('The list is empty.', 'wbcr_factory_forms_430') ) ?>'
97
  };
98
  </script>
99
  <?php
@@ -136,7 +136,7 @@
136
  : array();
137
 
138
  $is_empty = $this->isAjax() || empty($items);
139
- $emptyList = $this->getOption('empty', __('The list is empty.', 'wbcr_factory_forms_430'));
140
 
141
  if( $is_empty ) {
142
  $this->addCssClass('factory-empty');
21
  exit;
22
  }
23
 
24
+ if( !class_exists('Wbcr_FactoryForms441_ListControl') ) {
25
 
26
+ class Wbcr_FactoryForms441_ListControl extends Wbcr_FactoryForms441_Control {
27
 
28
  public $type = 'list';
29
 
93
  'url': '<?php echo $data['url'] ?>',
94
  'data': <?php echo json_encode( $data['data'] ) ?>,
95
  'selected': <?php echo json_encode( $value ) ?>,
96
+ 'emptyList': '<?php echo $this->getOption('empty', __('The list is empty.', 'wbcr_factory_forms_441') ) ?>'
97
  };
98
  </script>
99
  <?php
136
  : array();
137
 
138
  $is_empty = $this->isAjax() || empty($items);
139
+ $emptyList = $this->getOption('empty', __('The list is empty.', 'wbcr_factory_forms_441'));
140
 
141
  if( $is_empty ) {
142
  $this->addCssClass('factory-empty');
libs/factory/forms/controls/multiple-textbox.php CHANGED
@@ -15,9 +15,9 @@
15
  exit;
16
  }
17
 
18
- if( !class_exists('Wbcr_FactoryForms430_MultipleTextboxControl') ) {
19
 
20
- class Wbcr_FactoryForms430_MultipleTextboxControl extends Wbcr_FactoryForms430_Control {
21
 
22
  public $type = 'multiple-textbox';
23
 
@@ -86,7 +86,7 @@
86
  <?php endif; ?>
87
  </div>
88
  <button class="btn btn-default btn-small factory-mtextbox-add-item">
89
- <i class="fa fa-plus" aria-hidden="true"></i> <?php _e('Add new', 'wbcr_factory_forms_430') ?>
90
  </button>
91
  </div>
92
 
15
  exit;
16
  }
17
 
18
+ if( !class_exists('Wbcr_FactoryForms441_MultipleTextboxControl') ) {
19
 
20
+ class Wbcr_FactoryForms441_MultipleTextboxControl extends Wbcr_FactoryForms441_Control {
21
 
22
  public $type = 'multiple-textbox';
23
 
86
  <?php endif; ?>
87
  </div>
88
  <button class="btn btn-default btn-small factory-mtextbox-add-item">
89
+ <i class="fa fa-plus" aria-hidden="true"></i> <?php _e('Add new', 'wbcr_factory_forms_441') ?>
90
  </button>
91
  </div>
92
 
libs/factory/forms/controls/paddings-editor.php CHANGED
@@ -14,9 +14,9 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms430_PaddingsEditorControl') ) {
18
 
19
- class Wbcr_FactoryForms430_PaddingsEditorControl extends Wbcr_FactoryForms430_Control {
20
 
21
  public $type = 'paddings-editor';
22
 
@@ -67,7 +67,7 @@
67
  </div>
68
  <div class="factory-slider-container">
69
  <label class="factory-title">
70
- <?php _e('Select a side and move the slider to set up:', 'wbcr_factory_forms_430') ?>
71
  </label>
72
 
73
  <div class="factory-slider">
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms441_PaddingsEditorControl') ) {
18
 
19
+ class Wbcr_FactoryForms441_PaddingsEditorControl extends Wbcr_FactoryForms441_Control {
20
 
21
  public $type = 'paddings-editor';
22
 
67
  </div>
68
  <div class="factory-slider-container">
69
  <label class="factory-title">
70
+ <?php _e('Select a side and move the slider to set up:', 'wbcr_factory_forms_441') ?>
71
  </label>
72
 
73
  <div class="factory-slider">
libs/factory/forms/controls/pattern.php CHANGED
@@ -15,9 +15,9 @@
15
  exit;
16
  }
17
 
18
- if( !class_exists('Wbcr_FactoryForms430_PatternControl') ) {
19
 
20
- class Wbcr_FactoryForms430_PatternControl extends Wbcr_FactoryForms430_Control {
21
 
22
  public $type = 'pattern';
23
 
@@ -52,12 +52,12 @@
52
  $name = $this->getOption('name');
53
 
54
  // filters to get available patterns for the given background contols
55
- $this->patterns = apply_filters('wbcr_factory_forms_430_patterns', array());
56
- $this->patterns = apply_filters('wbcr_factory_forms_430_patterns-' . $name, $this->patterns);
57
 
58
  $this->custom_patterns = $this->getOption('patterns', array());
59
 
60
- $this->color = new Wbcr_FactoryForms430_ColorControl($options['color'], $form, $provider);
61
  }
62
 
63
  /**
@@ -102,19 +102,19 @@
102
  </div>
103
  <a href="#" class="button button-default factory-button factory-change-color-btn <?php if( $hasColor ) {
104
  echo 'button-active';
105
- } ?>" title="<?php _e('Change color', 'wbcr_factory_forms_430') ?>">
106
  <i class="fa fa-flask"></i>
107
- <span><?php _e('re-color', 'wbcr_factory_forms_430') ?></span>
108
  </a>
109
  <input type="hidden" id="<?php echo $name[0]; ?>" name="<?php echo $name[0]; ?>" value="<?php echo esc_url($values['url']); ?>" class="factory-pattern-result">
110
  <input type="hidden" id="<?php echo $name[1]; ?>" name="<?php echo $name[1]; ?>" value="<?php echo esc_attr($values['color']); ?>" class="factory-color-result">
111
  </div>
112
  <div class="factory-color-panel">
113
  <div class="factory-color-wrap">
114
- <span class="factory-color-label"><?php _e('Select color:', 'wbcr_factory_forms_430') ?></span>
115
  <?php $this->color->html() ?>
116
  <div class="factory-hint">
117
- <i><?php _e('Changing the color may takes a minute or more. Please be patient.', 'wbcr_factory_forms_430') ?></i>
118
  </div>
119
  </div>
120
  <div class="factory-picker-target"></div>
15
  exit;
16
  }
17
 
18
+ if( !class_exists('Wbcr_FactoryForms441_PatternControl') ) {
19
 
20
+ class Wbcr_FactoryForms441_PatternControl extends Wbcr_FactoryForms441_Control {
21
 
22
  public $type = 'pattern';
23
 
52
  $name = $this->getOption('name');
53
 
54
  // filters to get available patterns for the given background contols
55
+ $this->patterns = apply_filters('wbcr_factory_forms_441_patterns', array());
56
+ $this->patterns = apply_filters('wbcr_factory_forms_441_patterns-' . $name, $this->patterns);
57
 
58
  $this->custom_patterns = $this->getOption('patterns', array());
59
 
60
+ $this->color = new Wbcr_FactoryForms441_ColorControl($options['color'], $form, $provider);
61
  }
62
 
63
  /**
102
  </div>
103
  <a href="#" class="button button-default factory-button factory-change-color-btn <?php if( $hasColor ) {
104
  echo 'button-active';
105
+ } ?>" title="<?php _e('Change color', 'wbcr_factory_forms_441') ?>">
106
  <i class="fa fa-flask"></i>
107
+ <span><?php _e('re-color', 'wbcr_factory_forms_441') ?></span>
108
  </a>
109
  <input type="hidden" id="<?php echo $name[0]; ?>" name="<?php echo $name[0]; ?>" value="<?php echo esc_url($values['url']); ?>" class="factory-pattern-result">
110
  <input type="hidden" id="<?php echo $name[1]; ?>" name="<?php echo $name[1]; ?>" value="<?php echo esc_attr($values['color']); ?>" class="factory-color-result">
111
  </div>
112
  <div class="factory-color-panel">
113
  <div class="factory-color-wrap">
114
+ <span class="factory-color-label"><?php _e('Select color:', 'wbcr_factory_forms_441') ?></span>
115
  <?php $this->color->html() ?>
116
  <div class="factory-hint">
117
+ <i><?php _e('Changing the color may takes a minute or more. Please be patient.', 'wbcr_factory_forms_441') ?></i>
118
  </div>
119
  </div>
120
  <div class="factory-picker-target"></div>
libs/factory/forms/controls/radio-colors.php CHANGED
@@ -27,9 +27,9 @@
27
  exit;
28
  }
29
 
30
- if( !class_exists('Wbcr_FactoryForms430_RadioColorsControl') ) {
31
 
32
- class Wbcr_FactoryForms430_RadioColorsControl extends Wbcr_FactoryForms430_Control {
33
 
34
  public $type = 'radio-color';
35
 
27
  exit;
28
  }
29
 
30
+ if( !class_exists('Wbcr_FactoryForms441_RadioColorsControl') ) {
31
 
32
+ class Wbcr_FactoryForms441_RadioColorsControl extends Wbcr_FactoryForms441_Control {
33
 
34
  public $type = 'radio-color';
35
 
libs/factory/forms/controls/radio.php CHANGED
@@ -21,9 +21,9 @@
21
  exit;
22
  }
23
 
24
- if( !class_exists('Wbcr_FactoryForms430_RadioControl') ) {
25
 
26
- class Wbcr_FactoryForms430_RadioControl extends Wbcr_FactoryForms430_Control {
27
 
28
  public $type = 'radio';
29
 
21
  exit;
22
  }
23
 
24
+ if( !class_exists('Wbcr_FactoryForms441_RadioControl') ) {
25
 
26
+ class Wbcr_FactoryForms441_RadioControl extends Wbcr_FactoryForms441_Control {
27
 
28
  public $type = 'radio';
29
 
libs/factory/forms/controls/textarea.php CHANGED
@@ -20,9 +20,9 @@
20
  exit;
21
  }
22
 
23
- if( !class_exists('Wbcr_FactoryForms430_TextareaControl') ) {
24
 
25
- class Wbcr_FactoryForms430_TextareaControl extends Wbcr_FactoryForms430_Control {
26
 
27
  public $type = 'textarea';
28
 
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms441_TextareaControl') ) {
24
 
25
+ class Wbcr_FactoryForms441_TextareaControl extends Wbcr_FactoryForms441_Control {
26
 
27
  public $type = 'textarea';
28
 
libs/factory/forms/controls/textbox.php CHANGED
@@ -29,9 +29,9 @@
29
  exit;
30
  }
31
 
32
- if( !class_exists('Wbcr_FactoryForms430_TextboxControl') ) {
33
 
34
- class Wbcr_FactoryForms430_TextboxControl extends Wbcr_FactoryForms430_Control {
35
 
36
  public $type = 'textbox';
37
 
29
  exit;
30
  }
31
 
32
+ if( !class_exists('Wbcr_FactoryForms441_TextboxControl') ) {
33
 
34
+ class Wbcr_FactoryForms441_TextboxControl extends Wbcr_FactoryForms441_Control {
35
 
36
  public $type = 'textbox';
37
 
libs/factory/forms/controls/url.php CHANGED
@@ -4,7 +4,7 @@
4
  * Url Control
5
  *
6
  * Main options:
7
- * @see FactoryForms430_TextboxControl
8
  *
9
  * @author Alex Kovalev <alex.kovalevv@gmail.com>
10
  * @copyright (c) 2018, Webcraftic Ltd
@@ -18,9 +18,9 @@
18
  exit;
19
  }
20
 
21
- if( !class_exists('Wbcr_FactoryForms430_UrlControl') ) {
22
 
23
- class Wbcr_FactoryForms430_UrlControl extends Wbcr_FactoryForms430_TextboxControl {
24
 
25
  public $type = 'url';
26
 
4
  * Url Control
5
  *
6
  * Main options:
7
+ * @see FactoryForms441_TextboxControl
8
  *
9
  * @author Alex Kovalev <alex.kovalevv@gmail.com>
10
  * @copyright (c) 2018, Webcraftic Ltd
18
  exit;
19
  }
20
 
21
+ if( !class_exists('Wbcr_FactoryForms441_UrlControl') ) {
22
 
23
+ class Wbcr_FactoryForms441_UrlControl extends Wbcr_FactoryForms441_TextboxControl {
24
 
25
  public $type = 'url';
26
 
libs/factory/forms/controls/wp-editor.php CHANGED
@@ -22,9 +22,9 @@
22
  exit;
23
  }
24
 
25
- if( !class_exists('Wbcr_FactoryForms430_WpEditorControl') ) {
26
 
27
- class Wbcr_FactoryForms430_WpEditorControl extends Wbcr_FactoryForms430_Control {
28
 
29
  public $type = 'wp-editor';
30
 
@@ -42,7 +42,7 @@
42
  }
43
 
44
  if( !isset($this->options['tinymce']['content_css']) ) {
45
- $this->options['tinymce']['content_css'] = FACTORY_FORMS_430_URL . '/assets/css/editor.css';
46
  }
47
  }
48
 
22
  exit;
23
  }
24
 
25
+ if( !class_exists('Wbcr_FactoryForms441_WpEditorControl') ) {
26
 
27
+ class Wbcr_FactoryForms441_WpEditorControl extends Wbcr_FactoryForms441_Control {
28
 
29
  public $type = 'wp-editor';
30
 
42
  }
43
 
44
  if( !isset($this->options['tinymce']['content_css']) ) {
45
+ $this->options['tinymce']['content_css'] = FACTORY_FORMS_441_URL . '/assets/css/editor.css';
46
  }
47
  }
48
 
libs/factory/forms/includes/complex-control.class.php CHANGED
@@ -13,13 +13,13 @@
13
  if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
- if( !class_exists('Wbcr_FactoryForms430_ComplexControl') ) {
17
  /**
18
  * The base class for all controls.
19
  *
20
  * @since 1.0.0
21
  */
22
- abstract class Wbcr_FactoryForms430_ComplexControl extends Wbcr_FactoryForms430_Control {
23
 
24
  /**
25
  * Is this element a complex control?
@@ -33,7 +33,7 @@
33
  * Contains a set of internal controls.
34
  *
35
  * @since 1.0.0
36
- * @var Wbcr_FactoryForms430_Control[]
37
  */
38
  public $inner_controls = array();
39
 
@@ -41,7 +41,7 @@
41
  * Sets a provider for the control.
42
  *
43
  * @since 1.0.0
44
- * @param Wbcr_IFactoryForms430_ValueProvider $provider
45
  * @return void
46
  */
47
  public function setProvider($provider)
13
  if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
+ if( !class_exists('Wbcr_FactoryForms441_ComplexControl') ) {
17
  /**
18
  * The base class for all controls.
19
  *
20
  * @since 1.0.0
21
  */
22
+ abstract class Wbcr_FactoryForms441_ComplexControl extends Wbcr_FactoryForms441_Control {
23
 
24
  /**
25
  * Is this element a complex control?
33
  * Contains a set of internal controls.
34
  *
35
  * @since 1.0.0
36
+ * @var Wbcr_FactoryForms441_Control[]
37
  */
38
  public $inner_controls = array();
39
 
41
  * Sets a provider for the control.
42
  *
43
  * @since 1.0.0
44
+ * @param Wbcr_IFactoryForms441_ValueProvider $provider
45
  * @return void
46
  */
47
  public function setProvider($provider)
libs/factory/forms/includes/control-holder.class.php CHANGED
@@ -14,19 +14,19 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms430_ControlHolder') ) {
18
  /**
19
  * The base class for control holders.
20
  *
21
  * @since 1.0.0
22
  */
23
- abstract class Wbcr_FactoryForms430_ControlHolder extends Wbcr_FactoryForms430_Control {
24
 
25
  /**
26
  * Holder Elements.
27
  *
28
  * @since 1.0.0
29
- * @var Wbcr_FactoryForms430_Control[]
30
  */
31
  protected $elements = array();
32
 
@@ -43,7 +43,7 @@
43
  *
44
  * @since 1.0.0
45
  * @param mixed[] $options A holder options.
46
- * @param Wbcr_FactoryForms430_Form $form A parent form.
47
  */
48
  public function __construct($options, $form)
49
  {
@@ -60,7 +60,7 @@
60
  * Returns holder elements.
61
  *
62
  * @since 1.0.0
63
- * @return Wbcr_FactoryForms430_FormElement[].
64
  */
65
  public function getElements()
66
  {
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms441_ControlHolder') ) {
18
  /**
19
  * The base class for control holders.
20
  *
21
  * @since 1.0.0
22
  */
23
+ abstract class Wbcr_FactoryForms441_ControlHolder extends Wbcr_FactoryForms441_Control {
24
 
25
  /**
26
  * Holder Elements.
27
  *
28
  * @since 1.0.0
29
+ * @var Wbcr_FactoryForms441_Control[]
30
  */
31
  protected $elements = array();
32
 
43
  *
44
  * @since 1.0.0
45
  * @param mixed[] $options A holder options.
46
+ * @param Wbcr_FactoryForms441_Form $form A parent form.
47
  */
48
  public function __construct($options, $form)
49
  {
60
  * Returns holder elements.
61
  *
62
  * @since 1.0.0
63
+ * @return Wbcr_FactoryForms441_FormElement[].
64
  */
65
  public function getElements()
66
  {
libs/factory/forms/includes/control.class.php CHANGED
@@ -14,14 +14,14 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms430_Control') ) {
18
 
19
  /**
20
  * The base class for all controls.
21
  *
22
  * @since 1.0.0
23
  */
24
- abstract class Wbcr_FactoryForms430_Control extends Wbcr_FactoryForms430_FormElement {
25
 
26
  /**
27
  * Is this element a control?
@@ -43,7 +43,7 @@
43
  * A provider that is used to get values.
44
  *
45
  * @since 1.0.0
46
- * @var Wbcr_IFactoryForms430_ValueProvider
47
  */
48
  protected $provider = null;
49
 
@@ -51,7 +51,7 @@
51
  * Create a new instance of the control.
52
  *
53
  * @param mixed[] $options
54
- * @param FactoryForms430_Form $form
55
  * @param null $provider
56
  * @since 1.0.0
57
  * @return void
@@ -66,7 +66,7 @@
66
  * Sets a provider for the control.
67
  *
68
  * @since 1.0.0
69
- * @param IFactoryForms430_ValueProvider $provider
70
  * @return void
71
  */
72
  public function setProvider($provider)
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms441_Control') ) {
18
 
19
  /**
20
  * The base class for all controls.
21
  *
22
  * @since 1.0.0
23
  */
24
+ abstract class Wbcr_FactoryForms441_Control extends Wbcr_FactoryForms441_FormElement {
25
 
26
  /**
27
  * Is this element a control?
43
  * A provider that is used to get values.
44
  *
45
  * @since 1.0.0
46
+ * @var Wbcr_IFactoryForms441_ValueProvider
47
  */
48
  protected $provider = null;
49
 
51
  * Create a new instance of the control.
52
  *
53
  * @param mixed[] $options
54
+ * @param FactoryForms441_Form $form
55
  * @param null $provider
56
  * @since 1.0.0
57
  * @return void
66
  * Sets a provider for the control.
67
  *
68
  * @since 1.0.0
69
+ * @param IFactoryForms441_ValueProvider $provider
70
  * @return void
71
  */
72
  public function setProvider($provider)
libs/factory/forms/includes/custom-element.class.php CHANGED
@@ -14,13 +14,13 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms430_CustomElement') ) {
18
  /**
19
  * The base class for all controls.
20
  *
21
  * @since 1.0.0
22
  */
23
- abstract class Wbcr_FactoryForms430_CustomElement extends Wbcr_FactoryForms430_FormElement {
24
 
25
  /**
26
  * Is this element a custom form element?
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms441_CustomElement') ) {
18
  /**
19
  * The base class for all controls.
20
  *
21
  * @since 1.0.0
22
  */
23
+ abstract class Wbcr_FactoryForms441_CustomElement extends Wbcr_FactoryForms441_FormElement {
24
 
25
  /**
26
  * Is this element a custom form element?
libs/factory/forms/includes/form-element.class.php CHANGED
@@ -14,7 +14,7 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms430_FormElement') ) {
18
 
19
  /**
20
  * The base class for all form element (controls, holders).
@@ -23,7 +23,7 @@
23
  *
24
  * @since 1.0.0
25
  */
26
- abstract class Wbcr_FactoryForms430_FormElement {
27
 
28
  /**
29
  * A type of an elemnt.
@@ -37,7 +37,7 @@
37
  * An html attribute builder.
38
  *
39
  * @since 1.0.0
40
- * @var Wbcr_FactoryForms430_HtmlAttributeBuilder
41
  */
42
  private $html_builder;
43
 
@@ -53,7 +53,7 @@
53
  * A parent form.
54
  *
55
  * @since 1.0.0
56
- * @var Wbcr_FactoryForms430_Form
57
  */
58
  protected $form;
59
 
@@ -61,7 +61,7 @@
61
  * A form layout.
62
  *
63
  * @since 1.0.0
64
- * @var Wbcr_FactoryForms430_FormLayout
65
  */
66
  protected $layout;
67
 
@@ -94,7 +94,7 @@
94
  *
95
  * @since 1.0.0
96
  * @param mixed[] $options A holder options.
97
- * @param Wbcr_FactoryForms430_Form $form A parent form.
98
  */
99
  public function __construct($options, $form)
100
  {
@@ -102,7 +102,7 @@
102
  $this->form = $form;
103
  $this->layout = $form->layout;
104
 
105
- $this->html_builder = new Wbcr_FactoryForms430_HtmlAttributeBuilder();
106
 
107
  if( isset($this->options['cssClass']) ) {
108
  $this->html_builder->addCssClass($this->options['cssClass']);
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms441_FormElement') ) {
18
 
19
  /**
20
  * The base class for all form element (controls, holders).
23
  *
24
  * @since 1.0.0
25
  */
26
+ abstract class Wbcr_FactoryForms441_FormElement {
27
 
28
  /**
29
  * A type of an elemnt.
37
  * An html attribute builder.
38
  *
39
  * @since 1.0.0
40
+ * @var Wbcr_FactoryForms441_HtmlAttributeBuilder
41
  */
42
  private $html_builder;
43
 
53
  * A parent form.
54
  *
55
  * @since 1.0.0
56
+ * @var Wbcr_FactoryForms441_Form
57
  */
58
  protected $form;
59
 
61
  * A form layout.
62
  *
63
  * @since 1.0.0
64
+ * @var Wbcr_FactoryForms441_FormLayout
65
  */
66
  protected $layout;
67
 
94
  *
95
  * @since 1.0.0
96
  * @param mixed[] $options A holder options.
97
+ * @param Wbcr_FactoryForms441_Form $form A parent form.
98
  */
99
  public function __construct($options, $form)
100
  {
102
  $this->form = $form;
103
  $this->layout = $form->layout;
104
 
105
+ $this->html_builder = new Wbcr_FactoryForms441_HtmlAttributeBuilder();
106
 
107
  if( isset($this->options['cssClass']) ) {
108
  $this->html_builder->addCssClass($this->options['cssClass']);
libs/factory/forms/includes/form-layout.class.php CHANGED
@@ -14,12 +14,12 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms430_FormLayout') ) {
18
 
19
  /**
20
  * The base class for all form layouts.
21
  */
22
- abstract class Wbcr_FactoryForms430_FormLayout extends Wbcr_FactoryForms430_Holder {
23
 
24
  /**
25
  * A form layout name.
@@ -42,7 +42,7 @@
42
  *
43
  * @since 1.0.0
44
  * @param mixed[] $options A holder options.
45
- * @param Wbcr_FactoryForms430_Form $form A parent form.
46
  */
47
  public function __construct($options, $form)
48
  {
@@ -52,8 +52,8 @@
52
 
53
  parent::__construct($options, $form);
54
 
55
- $this->addCssClass('factory-forms-430-' . $this->type);
56
- $this->addCssClass('factory-forms-430-' . $this->name);
57
  }
58
 
59
  /**
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms441_FormLayout') ) {
18
 
19
  /**
20
  * The base class for all form layouts.
21
  */
22
+ abstract class Wbcr_FactoryForms441_FormLayout extends Wbcr_FactoryForms441_Holder {
23
 
24
  /**
25
  * A form layout name.
42
  *
43
  * @since 1.0.0
44
  * @param mixed[] $options A holder options.
45
+ * @param Wbcr_FactoryForms441_Form $form A parent form.
46
  */
47
  public function __construct($options, $form)
48
  {
52
 
53
  parent::__construct($options, $form);
54
 
55
+ $this->addCssClass('factory-forms-441-' . $this->type);
56
+ $this->addCssClass('factory-forms-441-' . $this->name);
57
  }
58
 
59
  /**
libs/factory/forms/includes/form.class.php CHANGED
@@ -15,16 +15,16 @@
15
  }
16
 
17
  // creating a license manager for each plugin created via the factory
18
- add_action('wbcr_factory_forms_430_plugin_created', 'wbcr_factory_forms_430_plugin_created');
19
 
20
- function wbcr_factory_forms_430_plugin_created($plugin)
21
  {
22
- $plugin->forms = new Wbcr_FactoryForms430_Manager($plugin);
23
  }
24
 
25
- if( !class_exists('Wbcr_FactoryForms430_Manager') ) {
26
 
27
- class Wbcr_FactoryForms430_Manager {
28
 
29
  // ----------------------------------------------------
30
  // Static fields and methods
@@ -57,7 +57,7 @@
57
  /**
58
  * Registers a set of new controls.
59
  *
60
- * @see FactoryForms430_Form::registerControl()
61
  *
62
  * @since 1.0.0
63
  * @return void
@@ -95,7 +95,7 @@
95
  /**
96
  * Registers a set of new holder controls.
97
  *
98
- * @see FactoryForms430_Form::registerHolder()
99
  *
100
  * @since 1.0.0
101
  * @return void
@@ -129,7 +129,7 @@
129
  /**
130
  * Registers a set of new custom form elements.
131
  *
132
- * @see FactoryForms430_Form::registerCustomElement()
133
  *
134
  * @since 1.0.0
135
  * @return void
@@ -180,11 +180,11 @@
180
  public static $controls_registered = false;
181
  }
182
  }
183
- if( !class_exists('Wbcr_FactoryForms430_Form') ) {
184
  /**
185
  * An abstraction for forms.
186
  */
187
- class Wbcr_FactoryForms430_Form {
188
 
189
  // ----------------------------------------------------
190
  // Object fields and methods
@@ -194,7 +194,7 @@
194
  * A value provider of the form that is used to save and load values.
195
  *
196
  * @since 1.0.0
197
- * @var Wbcr_IFactoryForms430_ValueProvider
198
  */
199
  private $provider;
200
 
@@ -245,7 +245,7 @@
245
  * A current form layout used to render a form.
246
  *
247
  * @since 1.0.0
248
- * @var Wbcr_FactoryForms430_FormLayout
249
  */
250
  public $layout;
251
 
@@ -261,20 +261,20 @@
261
  *
262
  * @since 1.0.0
263
  * @param array $options
264
- * @param Wbcr_Factory433_Plugin $plugin
265
  */
266
- public function __construct(array $options = array(), Wbcr_Factory433_Plugin $plugin)
267
  {
268
  // register controls once, when the first form is created
269
- if( !Wbcr_FactoryForms430_Manager::$controls_registered ) {
270
 
271
- do_action('wbcr_factory_forms_430_register_controls', $plugin);
272
 
273
  //if( !empty($plugin) ) {
274
- do_action('wbcr_factory_forms_430_register_controls_' . $plugin->getPluginName(), $plugin);
275
  //}
276
 
277
- Wbcr_FactoryForms430_Manager::$controls_registered = true;
278
  }
279
 
280
  $this->scope = isset($options['scope']) ? $options['scope'] : null;
@@ -289,14 +289,14 @@
289
  $this->form_layout = 'bootstrap-3';
290
  }
291
 
292
- Wbcr_FactoryForms430_Manager::$temper = 'flat';
293
  }
294
 
295
  /**
296
  * Sets a provider for the control.
297
  *
298
  * @since 1.0.0
299
- * @param Wbcr_IFactoryForms430_ValueProvider $provider
300
  * @return void
301
  */
302
  public function setProvider($provider)
@@ -332,14 +332,14 @@
332
  */
333
  public function getItems()
334
  {
335
- return apply_filters('wbcr_factory_433_form_items', $this->items, $this->name);
336
  }
337
 
338
  /**
339
  * Returns form controls (control objects).
340
  *
341
  * @since 1.0.0
342
- * @return Wbcr_FactoryForms430_Control[]
343
  */
344
  public function getControls()
345
  {
@@ -355,7 +355,7 @@
355
  * Builds a form items to the control objects ready to use.
356
  *
357
  * @param null $holder
358
- * @return Wbcr_FactoryForms430_Control[]
359
  */
360
 
361
  public function createControls($holder = null)
@@ -395,7 +395,7 @@
395
  *
396
  * @since 1.0.0
397
  * @param array $item Item data.
398
- * @return Wbcr_FactoryForms430_FormElement|null A form element.
399
  */
400
  public function createElement($item)
401
  {
@@ -417,7 +417,7 @@
417
  *
418
  * @since 1.0.0
419
  * @param mixed[] $item Data of items.
420
- * @return Wbcr_FactoryForms430_FormElement[] Created elements.
421
  */
422
  public function createElements($items = array())
423
  {
@@ -433,7 +433,7 @@
433
  *
434
  * @since 1.0.0
435
  * @param array $item Item data.
436
- * @return Wbcr_FactoryForms430_Control A control object.
437
  */
438
  public function createControl($item)
439
  {
@@ -441,7 +441,7 @@
441
 
442
  if( is_array($item) ) {
443
 
444
- $control_data = Wbcr_FactoryForms430_Manager::$registered_controls[$item['type']];
445
 
446
  require_once($control_data['include']);
447
 
@@ -465,7 +465,7 @@
465
  *
466
  * @since 1.0.0
467
  * @param array $item Item data.
468
- * @return Wbcr_FactoryForms430_Holder A control holder object.
469
  */
470
  public function createHolder($item)
471
  {
@@ -473,7 +473,7 @@
473
 
474
  if( is_array($item) ) {
475
 
476
- $holderData = Wbcr_FactoryForms430_Manager::$registered_holders[$item['type']];
477
  require_once($holderData['include']);
478
 
479
  $object = new $holderData['class']($item, $this);
@@ -491,7 +491,7 @@
491
  *
492
  * @since 1.0.0
493
  * @param mixed $item Item data.
494
- * @return Wbcr_FactoryForms430_FormElement A custom form element object.
495
  */
496
  public function createCustomElement($item)
497
  {
@@ -499,7 +499,7 @@
499
 
500
  if( is_array($item) ) {
501
 
502
- $data = Wbcr_FactoryForms430_Manager::$registered_custom_elements[$item['type']];
503
  require_once($data['include']);
504
 
505
  $options = $item;
@@ -523,12 +523,12 @@
523
  public function html($options = array())
524
  {
525
 
526
- if( !isset(Wbcr_FactoryForms430_Manager::$form_layouts[$this->form_layout]) ) {
527
  die(sprintf('[ERROR] The form layout %s was not found.', $this->form_layout));
528
  }
529
 
530
  // include a render code
531
- $layout_data = Wbcr_FactoryForms430_Manager::$form_layouts[$this->form_layout];
532
  require_once($layout_data['include']);
533
 
534
  $this->connectAssets();
@@ -552,7 +552,7 @@
552
  {
553
 
554
  $this->connectAssetsForItems();
555
- $layout_data = Wbcr_FactoryForms430_Manager::$form_layouts[$this->form_layout];
556
 
557
  if( $layout_data['name'] == 'default' ) {
558
  if( isset($layout_data['style']) ) {
@@ -602,9 +602,9 @@
602
 
603
  $haystack = array();
604
  if( self::isControl($type) ) {
605
- $haystack = Wbcr_FactoryForms430_Manager::$registered_controls;
606
  } elseif( self::isControlHolder($type) ) {
607
- $haystack = Wbcr_FactoryForms430_Manager::$registered_holders;
608
  }
609
 
610
  if( isset($haystack[$type]) ) {
@@ -660,7 +660,7 @@
660
  */
661
  public static function isControl($item)
662
  {
663
- return isset(Wbcr_FactoryForms430_Manager::$registered_controls[$item['type']]);
664
  }
665
 
666
  /**
@@ -672,7 +672,7 @@
672
  */
673
  public static function isControlHolder($item)
674
  {
675
- return isset(Wbcr_FactoryForms430_Manager::$registered_holders[$item['type']]);
676
  }
677
 
678
  /**
@@ -684,7 +684,7 @@
684
  */
685
  public static function isCustomElement($item)
686
  {
687
- return isset(Wbcr_FactoryForms430_Manager::$registered_custom_elements[$item['type']]);
688
  }
689
  }
690
  }
15
  }
16
 
17
  // creating a license manager for each plugin created via the factory
18
+ add_action('wbcr_factory_forms_441_plugin_created', 'wbcr_factory_forms_441_plugin_created');
19
 
20
+ function wbcr_factory_forms_441_plugin_created($plugin)
21
  {
22
+ $plugin->forms = new Wbcr_FactoryForms441_Manager($plugin);
23
  }
24
 
25
+ if( !class_exists('Wbcr_FactoryForms441_Manager') ) {
26
 
27
+ class Wbcr_FactoryForms441_Manager {
28
 
29
  // ----------------------------------------------------
30
  // Static fields and methods
57
  /**
58
  * Registers a set of new controls.
59
  *
60
+ * @see FactoryForms441_Form::registerControl()
61
  *
62
  * @since 1.0.0
63
  * @return void
95
  /**
96
  * Registers a set of new holder controls.
97
  *
98
+ * @see FactoryForms441_Form::registerHolder()
99
  *
100
  * @since 1.0.0
101
  * @return void
129
  /**
130
  * Registers a set of new custom form elements.
131
  *
132
+ * @see FactoryForms441_Form::registerCustomElement()
133
  *
134
  * @since 1.0.0
135
  * @return void
180
  public static $controls_registered = false;
181
  }
182
  }
183
+ if( !class_exists('Wbcr_FactoryForms441_Form') ) {
184
  /**
185
  * An abstraction for forms.
186
  */
187
+ class Wbcr_FactoryForms441_Form {
188
 
189
  // ----------------------------------------------------
190
  // Object fields and methods
194
  * A value provider of the form that is used to save and load values.
195
  *
196
  * @since 1.0.0
197
+ * @var Wbcr_IFactoryForms441_ValueProvider
198
  */
199
  private $provider;
200
 
245
  * A current form layout used to render a form.
246
  *
247
  * @since 1.0.0
248
+ * @var Wbcr_FactoryForms441_FormLayout
249
  */
250
  public $layout;
251
 
261
  *
262
  * @since 1.0.0
263
  * @param array $options
264
+ * @param Wbcr_Factory444_Plugin $plugin
265
  */
266
+ public function __construct(array $options, Wbcr_Factory444_Plugin $plugin)
267
  {
268
  // register controls once, when the first form is created
269
+ if( !Wbcr_FactoryForms441_Manager::$controls_registered ) {
270
 
271
+ do_action('wbcr_factory_forms_441_register_controls', $plugin);
272
 
273
  //if( !empty($plugin) ) {
274
+ do_action('wbcr_factory_forms_441_register_controls_' . $plugin->getPluginName(), $plugin);
275
  //}
276
 
277
+ Wbcr_FactoryForms441_Manager::$controls_registered = true;
278
  }
279
 
280
  $this->scope = isset($options['scope']) ? $options['scope'] : null;
289
  $this->form_layout = 'bootstrap-3';
290
  }
291
 
292
+ Wbcr_FactoryForms441_Manager::$temper = 'flat';
293
  }
294
 
295
  /**
296
  * Sets a provider for the control.
297
  *
298
  * @since 1.0.0
299
+ * @param Wbcr_IFactoryForms441_ValueProvider $provider
300
  * @return void
301
  */
302
  public function setProvider($provider)
332
  */
333
  public function getItems()
334
  {
335
+ return apply_filters('wbcr_factory_444_form_items', $this->items, $this->name);
336
  }
337
 
338
  /**
339
  * Returns form controls (control objects).
340
  *
341
  * @since 1.0.0
342
+ * @return Wbcr_FactoryForms441_Control[]
343
  */
344
  public function getControls()
345
  {
355
  * Builds a form items to the control objects ready to use.
356
  *
357
  * @param null $holder
358
+ * @return Wbcr_FactoryForms441_Control[]
359
  */
360
 
361
  public function createControls($holder = null)
395
  *
396
  * @since 1.0.0
397
  * @param array $item Item data.
398
+ * @return Wbcr_FactoryForms441_FormElement|null A form element.
399
  */
400
  public function createElement($item)
401
  {
417
  *
418
  * @since 1.0.0
419
  * @param mixed[] $item Data of items.
420
+ * @return Wbcr_FactoryForms441_FormElement[] Created elements.
421
  */
422
  public function createElements($items = array())
423
  {
433
  *
434
  * @since 1.0.0
435
  * @param array $item Item data.
436
+ * @return Wbcr_FactoryForms441_Control A control object.
437
  */
438
  public function createControl($item)
439
  {
441
 
442
  if( is_array($item) ) {
443
 
444
+ $control_data = Wbcr_FactoryForms441_Manager::$registered_controls[$item['type']];
445
 
446
  require_once($control_data['include']);
447
 
465
  *
466
  * @since 1.0.0
467
  * @param array $item Item data.
468
+ * @return Wbcr_FactoryForms441_Holder A control holder object.
469
  */
470
  public function createHolder($item)
471
  {
473
 
474
  if( is_array($item) ) {
475
 
476
+ $holderData = Wbcr_FactoryForms441_Manager::$registered_holders[$item['type']];
477
  require_once($holderData['include']);
478
 
479
  $object = new $holderData['class']($item, $this);
491
  *
492
  * @since 1.0.0
493
  * @param mixed $item Item data.
494
+ * @return Wbcr_FactoryForms441_FormElement A custom form element object.
495
  */
496
  public function createCustomElement($item)
497
  {
499
 
500
  if( is_array($item) ) {
501
 
502
+ $data = Wbcr_FactoryForms441_Manager::$registered_custom_elements[$item['type']];
503
  require_once($data['include']);
504
 
505
  $options = $item;
523
  public function html($options = array())
524
  {
525
 
526
+ if( !isset(Wbcr_FactoryForms441_Manager::$form_layouts[$this->form_layout]) ) {
527
  die(sprintf('[ERROR] The form layout %s was not found.', $this->form_layout));
528
  }
529
 
530
  // include a render code
531
+ $layout_data = Wbcr_FactoryForms441_Manager::$form_layouts[$this->form_layout];
532
  require_once($layout_data['include']);
533
 
534
  $this->connectAssets();
552
  {
553
 
554
  $this->connectAssetsForItems();
555
+ $layout_data = Wbcr_FactoryForms441_Manager::$form_layouts[$this->form_layout];
556
 
557
  if( $layout_data['name'] == 'default' ) {
558
  if( isset($layout_data['style']) ) {
602
 
603
  $haystack = array();
604
  if( self::isControl($type) ) {
605
+ $haystack = Wbcr_FactoryForms441_Manager::$registered_controls;
606
  } elseif( self::isControlHolder($type) ) {
607
+ $haystack = Wbcr_FactoryForms441_Manager::$registered_holders;
608
  }
609
 
610
  if( isset($haystack[$type]) ) {
660
  */
661
  public static function isControl($item)
662
  {
663
+ return isset(Wbcr_FactoryForms441_Manager::$registered_controls[$item['type']]);
664
  }
665
 
666
  /**
672
  */
673
  public static function isControlHolder($item)
674
  {
675
+ return isset(Wbcr_FactoryForms441_Manager::$registered_holders[$item['type']]);
676
  }
677
 
678
  /**
684
  */
685
  public static function isCustomElement($item)
686
  {
687
+ return isset(Wbcr_FactoryForms441_Manager::$registered_custom_elements[$item['type']]);
688
  }
689
  }
690
  }
libs/factory/forms/includes/holder.class.php CHANGED
@@ -14,20 +14,20 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms430_Holder') ) {
18
 
19
  /**
20
  * The base class for control holders.
21
  *
22
  * @since 1.0.0
23
  */
24
- abstract class Wbcr_FactoryForms430_Holder extends Wbcr_FactoryForms430_FormElement {
25
 
26
  /**
27
  * Holder Elements.
28
  *
29
  * @since 1.0.0
30
- * @var Wbcr_FactoryForms430_Control[]
31
  */
32
  protected $elements = array();
33
 
@@ -44,7 +44,7 @@
44
  *
45
  * @since 1.0.0
46
  * @param mixed[] $options A holder options.
47
- * @param Wbcr_FactoryForms430_Form $form A parent form.
48
  */
49
  public function __construct($options, $form)
50
  {
@@ -56,7 +56,7 @@
56
  * Returns holder elements.
57
  *
58
  * @since 1.0.0
59
- * @return Wbcr_FactoryForms430_Control[].
60
  */
61
  public function getElements()
62
  {
@@ -84,7 +84,7 @@
84
  $is_first_item = false;
85
  }
86
 
87
- do_action('wbcr_factory_433_form_before_element_' . $element->getOption('name'));
88
 
89
  // if a current item is a control holder
90
  if( $element->is_holder ) {
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms441_Holder') ) {
18
 
19
  /**
20
  * The base class for control holders.
21
  *
22
  * @since 1.0.0
23
  */
24
+ abstract class Wbcr_FactoryForms441_Holder extends Wbcr_FactoryForms441_FormElement {
25
 
26
  /**
27
  * Holder Elements.
28
  *
29
  * @since 1.0.0
30
+ * @var Wbcr_FactoryForms441_Control[]
31
  */
32
  protected $elements = array();
33
 
44
  *
45
  * @since 1.0.0
46
  * @param mixed[] $options A holder options.
47
+ * @param Wbcr_FactoryForms441_Form $form A parent form.
48
  */
49
  public function __construct($options, $form)
50
  {
56
  * Returns holder elements.
57
  *
58
  * @since 1.0.0
59
+ * @return Wbcr_FactoryForms441_Control[].
60
  */
61
  public function getElements()
62
  {
84
  $is_first_item = false;
85
  }
86
 
87
+ do_action('wbcr_factory_444_form_before_element_' . $element->getOption('name'));
88
 
89
  // if a current item is a control holder
90
  if( $element->is_holder ) {
libs/factory/forms/includes/html-builder.class.php CHANGED
@@ -14,13 +14,13 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms430_HtmlAttributeBuilder') ) {
18
  /**
19
  * Html Attribute Builder
20
  *
21
  * @since 1.0.0
22
  */
23
- class Wbcr_FactoryForms430_HtmlAttributeBuilder {
24
 
25
  /**
26
  * An array to store css classes.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms441_HtmlAttributeBuilder') ) {
18
  /**
19
  * Html Attribute Builder
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_FactoryForms441_HtmlAttributeBuilder {
24
 
25
  /**
26
  * An array to store css classes.
libs/factory/forms/includes/providers/meta-value-provider.class.php CHANGED
@@ -14,7 +14,7 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms430_OptionsValueProvider') ) {
18
 
19
  /**
20
  * Factory Meta Value Provider
@@ -24,7 +24,7 @@
24
  *
25
  * @since 1.0.0
26
  */
27
- class Wbcr_FactoryForms430_MetaValueProvider implements Wbcr_IFactoryForms430_ValueProvider {
28
 
29
 
30
  public $scope;
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms441_OptionsValueProvider') ) {
18
 
19
  /**
20
  * Factory Meta Value Provider
24
  *
25
  * @since 1.0.0
26
  */
27
+ class Wbcr_FactoryForms441_MetaValueProvider implements Wbcr_IFactoryForms441_ValueProvider {
28
 
29
 
30
  public $scope;
libs/factory/forms/includes/providers/options-value-provider.class.php CHANGED
@@ -13,7 +13,7 @@
13
  exit;
14
  }
15
 
16
- if( !class_exists('Wbcr_FactoryForms430_OptionsValueProvider') ) {
17
 
18
  /**
19
  * Factory Options Value Provider
@@ -22,7 +22,7 @@
22
  *
23
  * @since 1.0.0
24
  */
25
- class Wbcr_FactoryForms430_OptionsValueProvider implements Wbcr_IFactoryForms430_ValueProvider {
26
 
27
  /**
28
  * A prefix that will be added to all option names.
@@ -43,7 +43,7 @@
43
  /**
44
  * Creates a new instance of an options value provider.
45
  */
46
- public function __construct(Wbcr_Factory433_Plugin $plugin)
47
  {
48
  $this->plugin = $plugin;
49
  }
13
  exit;
14
  }
15
 
16
+ if( !class_exists('Wbcr_FactoryForms441_OptionsValueProvider') ) {
17
 
18
  /**
19
  * Factory Options Value Provider
22
  *
23
  * @since 1.0.0
24
  */
25
+ class Wbcr_FactoryForms441_OptionsValueProvider implements Wbcr_IFactoryForms441_ValueProvider {
26
 
27
  /**
28
  * A prefix that will be added to all option names.
43
  /**
44
  * Creates a new instance of an options value provider.
45
  */
46
+ public function __construct(Wbcr_Factory444_Plugin $plugin)
47
  {
48
  $this->plugin = $plugin;
49
  }
libs/factory/forms/includes/providers/value-provider.interface.php CHANGED
@@ -14,13 +14,13 @@
14
  if( !defined('ABSPATH') ) {
15
  exit;
16
  }
17
- if( !class_exists('Wbcr_IFactoryForms430_ValueProvider') ) {
18
  /**
19
  * The interface for all value provides.
20
  *
21
  * @since 1.0.0
22
  */
23
- interface Wbcr_IFactoryForms430_ValueProvider {
24
 
25
  /**
26
  * Inits a form a provider to get data from a storage.
14
  if( !defined('ABSPATH') ) {
15
  exit;
16
  }
17
+ if( !class_exists('Wbcr_IFactoryForms441_ValueProvider') ) {
18
  /**
19
  * The interface for all value provides.
20
  *
21
  * @since 1.0.0
22
  */
23
+ interface Wbcr_IFactoryForms441_ValueProvider {
24
 
25
  /**
26
  * Inits a form a provider to get data from a storage.
libs/factory/forms/langs/wbcr_factory_forms_441-ru_RU.mo ADDED
Binary file
libs/factory/forms/langs/wbcr_factory_forms_441-ru_RU.po ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: factory_forms\n"
4
+ "POT-Creation-Date: 2014-08-24 17:39+0400\n"
5
+ "PO-Revision-Date: 2014-08-24 17:49+0400\n"
6
+ "Last-Translator: \n"
7
+ "Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
8
+ "Language: ru_RU\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 1.6.8\n"
13
+ "X-Poedit-Basepath: .\n"
14
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
15
+ "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
18
+ "X-Poedit-SearchPath-0: E:\\cloud\\Dropbox\\OnePress\\Products\\Topic\\Plugin "
19
+ "- Opt-In Panda for Wordpress\\wp-content\\plugins\\optinpanda-next\\libs"
20
+ "\\factory\\forms\n"
21
+
22
+ #: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
23
+ #: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/checkbox.php:55
24
+ msgid "On"
25
+ msgstr "Вкл"
26
+
27
+ #: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
28
+ #: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/checkbox.php:56
29
+ msgid "Off"
30
+ msgstr "Выкл"
31
+
32
+ #: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
33
+ #: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/font.php:33
34
+ msgid "(use default website font)"
35
+ msgstr "(шрифт сайта по умолчанию)"
36
+
37
+ #: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
38
+ #: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/font.php:35
39
+ msgid "Sans Serif:"
40
+ msgstr "Группа Sans Serif:"
41
+
42
+ #: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
43
+ #: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/font.php:58
44
+ msgid "Serif:"
45
+ msgstr "Группа Serif:"
46
+
47
+ #: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
48
+ #: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/font.php:78
49
+ msgid "Monospaced:"
50
+ msgstr "Группа Monospaced:"
51
+
52
+ #: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
53
+ #: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/gradient.php:54
54
+ msgid "vertical"
55
+ msgstr "вертикальный"
56
+
57
+ #: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
58
+ #: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/gradient.php:55
59
+ msgid "horizontal"
60
+ msgstr "горизонтальный"
61
+
62
+ #: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
63
+ #: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/holders/more-link.php:47
64
+ msgid "hide extra options"
65
+ msgstr "скрыть дополнительные настроки"
66
+
67
+ #: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
68
+ #: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/paddings-editor.php:51
69
+ msgid "Select a side and move the slider to set up:"
70
+ msgstr "Выберите сторону и переместите ползунок:"
71
+
72
+ #: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
73
+ #: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/pattern.php:78
74
+ msgid "Change color"
75
+ msgstr "Выбрать цвет"
76
+
77
+ #: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
78
+ #: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/pattern.php:80
79
+ msgid "re-color"
80
+ msgstr "Перекрасить"
81
+
82
+ #: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
83
+ #: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/pattern.php:89
84
+ msgid "Select color:"
85
+ msgstr "Выберите цвет:"
86
+
87
+ #: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
88
+ #: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/pattern.php:91
89
+ msgid "Changing the color may takes a minute or more. Please be patient."
90
+ msgstr ""
91
+ "В некоторых случаях изменение цвета может занять около минуты. Пожалуйста, "
92
+ "будьте терпеливы."
93
+
94
+ #~ msgid "Upload Pattern"
95
+ #~ msgstr "Добавить шаблон"
libs/factory/forms/layouts/bootstrap-3/bootstrap-3.php CHANGED
@@ -14,11 +14,11 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms430_Bootstrap3FormLayout') ) {
18
  /**
19
  * A form layout based on Twitter Bootstrap 3
20
  */
21
- class Wbcr_FactoryForms430_Bootstrap3FormLayout extends Wbcr_FactoryForms430_FormLayout {
22
 
23
  public $name = 'default';
24
 
@@ -27,7 +27,7 @@
27
  *
28
  * @since 1.0.0
29
  * @param array $options A holder options.
30
- * @param Wbcr_FactoryForms430_Form $form A parent form.
31
  */
32
  public function __construct($options, $form)
33
  {
@@ -68,7 +68,7 @@
68
  }
69
 
70
  /**
71
- * @param Wbcr_FactoryForms430_Control $control
72
  */
73
  public function beforeControl($control)
74
  {
@@ -116,7 +116,7 @@
116
  }
117
 
118
  /**
119
- * @param Wbcr_FactoryForms430_Control $control
120
  */
121
  public function afterControl($control)
122
  {
@@ -168,7 +168,7 @@
168
  }
169
 
170
  /**
171
- * @param Wbcr_FactoryForms430_Control $control
172
  * @param int $index
173
  * @param int $total
174
  */
@@ -193,7 +193,7 @@
193
  }
194
 
195
  /**
196
- * @param Wbcr_FactoryForms430_Control $control
197
  * @param int $index
198
  * @param int $total
199
  */
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms441_Bootstrap3FormLayout') ) {
18
  /**
19
  * A form layout based on Twitter Bootstrap 3
20
  */
21
+ class Wbcr_FactoryForms441_Bootstrap3FormLayout extends Wbcr_FactoryForms441_FormLayout {
22
 
23
  public $name = 'default';
24
 
27
  *
28
  * @since 1.0.0
29
  * @param array $options A holder options.
30
+ * @param Wbcr_FactoryForms441_Form $form A parent form.
31
  */
32
  public function __construct($options, $form)
33
  {
68
  }
69
 
70
  /**
71
+ * @param Wbcr_FactoryForms441_Control $control
72
  */
73
  public function beforeControl($control)
74
  {
116
  }
117
 
118
  /**
119
+ * @param Wbcr_FactoryForms441_Control $control
120
  */
121
  public function afterControl($control)
122
  {
168
  }
169
 
170
  /**
171
+ * @param Wbcr_FactoryForms441_Control $control
172
  * @param int $index
173
  * @param int $total
174
  */
193
  }
194
 
195
  /**
196
+ * @param Wbcr_FactoryForms441_Control $control
197
  * @param int $index
198
  * @param int $total
199
  */
libs/factory/freemius/boot.php CHANGED
@@ -14,39 +14,39 @@ if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
 
17
- if( defined('FACTORY_FREEMIUS_120_LOADED') ) {
18
  return;
19
  }
20
 
21
- define('FACTORY_FREEMIUS_120_VERSION', '1.2.0');
22
 
23
- define('FACTORY_FREEMIUS_120_LOADED', true);
24
- define('FACTORY_FREEMIUS_120_DIR', dirname(__FILE__));
25
- define('FACTORY_FREEMIUS_120_URL', plugins_url(null, __FILE__));
26
 
27
  #comp merge
28
  // Freemius
29
- require_once(FACTORY_FREEMIUS_120_DIR . '/includes/entities/class-freemius-entity.php');
30
- require_once(FACTORY_FREEMIUS_120_DIR . '/includes/entities/class-freemius-scope.php');
31
- require_once(FACTORY_FREEMIUS_120_DIR . '/includes/entities/class-freemius-user.php');
32
- require_once(FACTORY_FREEMIUS_120_DIR . '/includes/entities/class-freemius-site.php');
33
- require_once(FACTORY_FREEMIUS_120_DIR . '/includes/entities/class-freemius-license.php');
34
- require_once(FACTORY_FREEMIUS_120_DIR . '/includes/licensing/class-freemius-provider.php');
35
- require_once(FACTORY_FREEMIUS_120_DIR . '/includes/updates/class-freemius-repository.php');
36
 
37
  if( !class_exists('Freemius_Api_WordPress') ) {
38
- require_once FACTORY_FREEMIUS_120_DIR . '/includes/sdk/FreemiusWordPress.php';
39
  }
40
 
41
- require_once(FACTORY_FREEMIUS_120_DIR . '/includes/class-freemius-api.php');
42
 
43
  /**
44
- * @param Wbcr_Factory433_Plugin $plugin
45
  */
46
- add_action('wbcr_factory_freemius_120_plugin_created', function ($plugin) {
47
  # Устанавливаем класс провайдера лицензий для премиум менеджера
48
- $plugin->set_license_provider('freemius', 'WBCR\Factory_Freemius_120\Premium\Provider');
49
  # Устанавливаем класс репозитория обновлений для менеджера обновлений
50
- $plugin->set_update_repository('freemius', 'WBCR\Factory_Freemius_120\Updates\Freemius_Repository');
51
  });
52
  #endcomp
14
  exit;
15
  }
16
 
17
+ if( defined('FACTORY_FREEMIUS_132_LOADED') ) {
18
  return;
19
  }
20
 
21
+ define('FACTORY_FREEMIUS_132_VERSION', '1.3.2');
22
 
23
+ define('FACTORY_FREEMIUS_132_LOADED', true);
24
+ define('FACTORY_FREEMIUS_132_DIR', dirname(__FILE__));
25
+ define('FACTORY_FREEMIUS_132_URL', plugins_url(null, __FILE__));
26
 
27
  #comp merge
28
  // Freemius
29
+ require_once(FACTORY_FREEMIUS_132_DIR . '/includes/entities/class-freemius-entity.php');
30
+ require_once(FACTORY_FREEMIUS_132_DIR . '/includes/entities/class-freemius-scope.php');
31
+ require_once(FACTORY_FREEMIUS_132_DIR . '/includes/entities/class-freemius-user.php');
32
+ require_once(FACTORY_FREEMIUS_132_DIR . '/includes/entities/class-freemius-site.php');
33
+ require_once(FACTORY_FREEMIUS_132_DIR . '/includes/entities/class-freemius-license.php');
34
+ require_once(FACTORY_FREEMIUS_132_DIR . '/includes/licensing/class-freemius-provider.php');
35
+ require_once(FACTORY_FREEMIUS_132_DIR . '/includes/updates/class-freemius-repository.php');
36
 
37
  if( !class_exists('Freemius_Api_WordPress') ) {
38
+ require_once FACTORY_FREEMIUS_132_DIR . '/includes/sdk/FreemiusWordPress.php';
39
  }
40
 
41
+ require_once(FACTORY_FREEMIUS_132_DIR . '/includes/class-freemius-api.php');
42
 
43
  /**
44
+ * @param Wbcr_Factory444_Plugin $plugin
45
  */
46
+ add_action('wbcr_factory_freemius_132_plugin_created', function ($plugin) {
47
  # Устанавливаем класс провайдера лицензий для премиум менеджера
48
+ $plugin->set_license_provider('freemius', 'WBCR\Factory_Freemius_132\Premium\Provider');
49
  # Устанавливаем класс репозитория обновлений для менеджера обновлений
50
+ $plugin->set_update_repository('freemius', 'WBCR\Factory_Freemius_132\Updates\Freemius_Repository');
51
  });
52
  #endcomp
libs/factory/freemius/includes/class-freemius-api.php CHANGED
@@ -1,10 +1,10 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_120;
4
 
5
  use Freemius_Api_WordPress;
6
  use Freemius_Exception;
7
- use Wbcr_Factory433_Plugin;
8
 
9
  if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
@@ -33,7 +33,7 @@ final class Api {
33
  private $api;
34
 
35
  /**
36
- * @var Wbcr_Factory433_Plugin
37
  */
38
  private $plugin;
39
 
@@ -48,14 +48,14 @@ final class Api {
48
  private static $clock_diff;
49
 
50
  /**
51
- * @param Wbcr_Factory433_Plugin $slug
52
  * @param string $scope 'app', 'developer', 'user' or 'install'.
53
  * @param number $id Element's id.
54
  * @param string $public_key Public key.
55
  * @param bool|string $secret_key Element's secret key.
56
  * @param bool $is_sandbox
57
  */
58
- private function __construct( Wbcr_Factory433_Plugin $plugin, $scope, $id, $public_key, $secret_key, $is_sandbox ) {
59
  if ( ! class_exists( 'Freemius_Api_WordPress' ) ) {
60
  require_once WP_FS__DIR_SDK . '/FreemiusWordPress.php';
61
  }
@@ -73,7 +73,7 @@ final class Api {
73
  }
74
 
75
  /**
76
- * @param Wbcr_Factory433_Plugin $plugin
77
  * @param string $scope 'app', 'developer', 'user' or 'install'.
78
  * @param number $id Element's id.
79
  * @param string $public_key Public key.
@@ -82,7 +82,7 @@ final class Api {
82
  *
83
  * @return Api
84
  */
85
- public static function instance( Wbcr_Factory433_Plugin $plugin, $scope, $id, $public_key, $is_sandbox, $secret_key = false ) {
86
  $identifier = md5( $plugin->getPluginName() . $scope . $id . $public_key . ( is_string( $secret_key ) ? $secret_key : '' ) . json_encode( $is_sandbox ) );
87
 
88
  if ( ! isset( self::$instances[ $identifier ] ) ) {
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_132;
4
 
5
  use Freemius_Api_WordPress;
6
  use Freemius_Exception;
7
+ use Wbcr_Factory444_Plugin;
8
 
9
  if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
33
  private $api;
34
 
35
  /**
36
+ * @var Wbcr_Factory444_Plugin
37
  */
38
  private $plugin;
39
 
48
  private static $clock_diff;
49
 
50
  /**
51
+ * @param Wbcr_Factory444_Plugin $slug
52
  * @param string $scope 'app', 'developer', 'user' or 'install'.
53
  * @param number $id Element's id.
54
  * @param string $public_key Public key.
55
  * @param bool|string $secret_key Element's secret key.
56
  * @param bool $is_sandbox
57
  */
58
+ private function __construct( Wbcr_Factory444_Plugin $plugin, $scope, $id, $public_key, $secret_key, $is_sandbox ) {
59
  if ( ! class_exists( 'Freemius_Api_WordPress' ) ) {
60
  require_once WP_FS__DIR_SDK . '/FreemiusWordPress.php';
61
  }
73
  }
74
 
75
  /**
76
+ * @param Wbcr_Factory444_Plugin $plugin
77
  * @param string $scope 'app', 'developer', 'user' or 'install'.
78
  * @param number $id Element's id.
79
  * @param string $public_key Public key.
82
  *
83
  * @return Api
84
  */
85
+ public static function instance( Wbcr_Factory444_Plugin $plugin, $scope, $id, $public_key, $is_sandbox, $secret_key = false ) {
86
  $identifier = md5( $plugin->getPluginName() . $scope . $id . $public_key . ( is_string( $secret_key ) ? $secret_key : '' ) . json_encode( $is_sandbox ) );
87
 
88
  if ( ! isset( self::$instances[ $identifier ] ) ) {
libs/factory/freemius/includes/entities/class-freemius-entity.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_120\Entities;
4
 
5
  use stdClass;
6
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_132\Entities;
4
 
5
  use stdClass;
6
 
libs/factory/freemius/includes/entities/class-freemius-license.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_120\Entities;
4
 
5
  use stdClass;
6
 
@@ -14,7 +14,7 @@
14
  * @copyright (c) 2018 Webraftic Ltd, Freemius, Inc.
15
  * @version 1.0
16
  */
17
- class License extends Entity implements \WBCR\Factory_433\Premium\Interfaces\License {
18
 
19
  /**
20
  * @var number
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_132\Entities;
4
 
5
  use stdClass;
6
 
14
  * @copyright (c) 2018 Webraftic Ltd, Freemius, Inc.
15
  * @version 1.0
16
  */
17
+ class License extends Entity implements \WBCR\Factory_444\Premium\Interfaces\License {
18
 
19
  /**
20
  * @var number
libs/factory/freemius/includes/entities/class-freemius-plugin.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_120\Entities;
4
 
5
  use stdClass;
6
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_132\Entities;
4
 
5
  use stdClass;
6
 
libs/factory/freemius/includes/entities/class-freemius-scope.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_120\Entities;
4
 
5
  use stdClass;
6
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_132\Entities;
4
 
5
  use stdClass;
6
 
libs/factory/freemius/includes/entities/class-freemius-site.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_120\Entities;
4
 
5
  use stdClass;
6
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_132\Entities;
4
 
5
  use stdClass;
6
 
libs/factory/freemius/includes/entities/class-freemius-user.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_120\Entities;
4
 
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit;
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_132\Entities;
4
 
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit;
libs/factory/freemius/includes/licensing/class-freemius-provider.php CHANGED
@@ -1,14 +1,14 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_120\Premium;
4
-
5
- use WBCR\Factory_Freemius_120\Entities\License;
6
- use WBCR\Factory_Freemius_120\Entities\Plugin;
7
- use WBCR\Factory_Freemius_120\Entities\Site;
8
- use WBCR\Factory_Freemius_120\Entities\User;
9
- use WBCR\Factory_433\Premium\Provider as License_Provider;
10
- use Wbcr_Factory433_Plugin;
11
- use WBCR\Factory_Freemius_120\Api;
12
  use WP_Error;
13
  use Exception;
14
 
@@ -40,17 +40,17 @@ final class Provider extends License_Provider {
40
  private $slug;
41
 
42
  /**
43
- * @var \WBCR\Factory_Freemius_120\Api
44
  */
45
  private $site_api;
46
 
47
  /**
48
- * @var \WBCR\Factory_Freemius_120\Api
49
  */
50
  private $plugin_api;
51
 
52
  /**
53
- * @var \WBCR\Factory_Freemius_120\Api
54
  */
55
  private $user_api;
56
 
@@ -82,11 +82,11 @@ final class Provider extends License_Provider {
82
  /**
83
  * Manager constructor.
84
  *
85
- * @param Wbcr_Factory433_Plugin $plugin
86
  *
87
  * @throws Exception
88
  */
89
- public function __construct(Wbcr_Factory433_Plugin $plugin, array $settings)
90
  {
91
  parent::__construct($plugin, $settings);
92
 
@@ -150,7 +150,7 @@ final class Provider extends License_Provider {
150
  }
151
 
152
  /**
153
- * @return \WBCR\Factory_Freemius_120\Entities\License|null
154
  * @throws Exception
155
  */
156
  public function get_license()
@@ -613,7 +613,7 @@ final class Provider extends License_Provider {
613
  /**
614
  * @param bool $flush
615
  *
616
- * @return \WBCR\Factory_Freemius_120\Api
617
  * @throws Exception
618
  */
619
  private function get_api_user_scope(User $user, $flush = false)
@@ -628,7 +628,7 @@ final class Provider extends License_Provider {
628
  /**
629
  * @param bool $flush
630
  *
631
- * @return \WBCR\Factory_Freemius_120\Api
632
  * @throws Exception
633
  */
634
  private function get_api_site_scope(Site $site, $flush = false)
@@ -643,7 +643,7 @@ final class Provider extends License_Provider {
643
  /**
644
  * Get plugin public API scope.
645
  *
646
- * @return \WBCR\Factory_Freemius_120\Api
647
  * @throws Exception
648
  */
649
  private function get_api_plugin_scope()
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_132\Premium;
4
+
5
+ use WBCR\Factory_Freemius_132\Entities\License;
6
+ use WBCR\Factory_Freemius_132\Entities\Plugin;
7
+ use WBCR\Factory_Freemius_132\Entities\Site;
8
+ use WBCR\Factory_Freemius_132\Entities\User;
9
+ use WBCR\Factory_444\Premium\Provider as License_Provider;
10
+ use Wbcr_Factory444_Plugin;
11
+ use WBCR\Factory_Freemius_132\Api;
12
  use WP_Error;
13
  use Exception;
14
 
40
  private $slug;
41
 
42
  /**
43
+ * @var \WBCR\Factory_Freemius_132\Api
44
  */
45
  private $site_api;
46
 
47
  /**
48
+ * @var \WBCR\Factory_Freemius_132\Api
49
  */
50
  private $plugin_api;
51
 
52
  /**
53
+ * @var \WBCR\Factory_Freemius_132\Api
54
  */
55
  private $user_api;
56
 
82
  /**
83
  * Manager constructor.
84
  *
85
+ * @param Wbcr_Factory444_Plugin $plugin
86
  *
87
  * @throws Exception
88
  */
89
+ public function __construct(Wbcr_Factory444_Plugin $plugin, array $settings)
90
  {
91
  parent::__construct($plugin, $settings);
92
 
150
  }
151
 
152
  /**
153
+ * @return \WBCR\Factory_Freemius_132\Entities\License|null
154
  * @throws Exception
155
  */
156
  public function get_license()
613
  /**
614
  * @param bool $flush
615
  *
616
+ * @return \WBCR\Factory_Freemius_132\Api
617
  * @throws Exception
618
  */
619
  private function get_api_user_scope(User $user, $flush = false)
628
  /**
629
  * @param bool $flush
630
  *
631
+ * @return \WBCR\Factory_Freemius_132\Api
632
  * @throws Exception
633
  */
634
  private function get_api_site_scope(Site $site, $flush = false)
643
  /**
644
  * Get plugin public API scope.
645
  *
646
+ * @return \WBCR\Factory_Freemius_132\Api
647
  * @throws Exception
648
  */
649
  private function get_api_plugin_scope()
libs/factory/freemius/includes/updates/class-freemius-repository.php CHANGED
@@ -1,13 +1,13 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_120\Updates;
4
 
5
  // Exit if accessed directly
6
  use Exception;
7
- use Wbcr_Factory433_Plugin;
8
- use WBCR\Factory_433\Updates\Repository;
9
 
10
- if ( ! defined( 'ABSPATH' ) ) {
11
  exit;
12
  }
13
 
@@ -18,89 +18,95 @@ if ( ! defined( 'ABSPATH' ) ) {
18
  * @version 1.0
19
  */
20
  class Freemius_Repository extends Repository {
21
-
22
  /**
23
- * @var \WBCR\Factory_Freemius_120\Premium\Provider
24
  */
25
  private $premium;
26
-
27
  /**
28
  * Freemius constructor.
29
- * @since 4.0.0
30
- *
31
- * @param Wbcr_Factory433_Plugin $plugin
32
  *
33
  * @throws Exception
 
 
34
  */
35
- public function __construct( Wbcr_Factory433_Plugin $plugin ) {
36
- $this->plugin = $plugin;
 
37
  $this->premium = $this->plugin->premium;
38
  }
39
-
40
  /**
41
  * @throws Exception
42
  */
43
- public function init() {
44
- if ( ! $this->premium instanceof \WBCR\Factory_Freemius_120\Premium\Provider ) {
45
- throw new Exception( "This repository type requires Freemius premium provider." );
 
46
  }
47
-
48
- if ( ! $this->premium->is_activate() ) {
49
- throw new Exception( "Only premium plugins can check or receive updates via Freemius repository." );
50
  }
51
-
52
  $this->initialized = true;
53
-
54
- add_filter( 'http_request_host_is_external', array(
55
  $this,
56
  'http_request_host_is_external_filter'
57
- ), 10, 3 );
58
  }
59
-
60
  /**
61
  * @return bool
62
  */
63
- public function need_check_updates() {
 
64
  return true;
65
  }
66
-
67
  /**
68
  * @return bool|mixed
69
  */
70
- public function is_support_premium() {
 
71
  return true;
72
  }
73
-
74
  /**
75
  * @return string|null
76
  * @throws Exception
77
  */
78
- public function get_download_url() {
 
79
  return $this->premium->get_package_download_url();
80
  }
81
-
82
  /**
83
  * @return string|null
84
  * @throws Exception
85
  */
86
- public function get_last_version() {
 
87
  try {
88
  $last_package = $this->premium->get_downloadable_package_info();
89
-
90
- if ( empty( $last_package->version ) ) {
91
  return null;
92
  }
93
  } catch( Exception $e ) {
94
- if ( defined( 'FACTORY_UPDATES_DEBUG' ) && FACTORY_UPDATES_DEBUG ) {
95
- throw new Exception( $e->getMessage(), $e->getCode() );
96
  }
97
-
98
  return null;
99
  }
100
-
101
  return $last_package->version;
102
  }
103
-
104
  /**
105
  * Since WP version 3.6, a new security feature was added that denies access to repository with a local ip.
106
  * During development mode we want to be able updating plugin versions via our localhost repository. This
@@ -117,7 +123,8 @@ class Freemius_Repository extends Repository {
117
  *
118
  * @return bool
119
  */
120
- function http_request_host_is_external_filter( $allow, $host, $url ) {
121
- return ( false !== strpos( $host, 'freemius' ) ) ? true : $allow;
 
122
  }
123
  }
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_132\Updates;
4
 
5
  // Exit if accessed directly
6
  use Exception;
7
+ use Wbcr_Factory444_Plugin;
8
+ use WBCR\Factory_444\Updates\Repository;
9
 
10
+ if( !defined('ABSPATH') ) {
11
  exit;
12
  }
13
 
18
  * @version 1.0
19
  */
20
  class Freemius_Repository extends Repository {
21
+
22
  /**
23
+ * @var \WBCR\Factory_Freemius_132\Premium\Provider
24
  */
25
  private $premium;
26
+
27
  /**
28
  * Freemius constructor.
29
+ * @param Wbcr_Factory444_Plugin $plugin
 
 
30
  *
31
  * @throws Exception
32
+ * @since 4.0.0
33
+ *
34
  */
35
+ public function __construct(Wbcr_Factory444_Plugin $plugin, array $settings = [])
36
+ {
37
+ $this->plugin = $plugin;
38
  $this->premium = $this->plugin->premium;
39
  }
40
+
41
  /**
42
  * @throws Exception
43
  */
44
+ public function init()
45
+ {
46
+ if( !$this->premium instanceof \WBCR\Factory_Freemius_132\Premium\Provider ) {
47
+ throw new Exception("This repository type requires Freemius premium provider.");
48
  }
49
+
50
+ if( !$this->premium->is_activate() ) {
51
+ throw new Exception("Only premium plugins can check or receive updates via Freemius repository.");
52
  }
53
+
54
  $this->initialized = true;
55
+
56
+ add_filter('http_request_host_is_external', array(
57
  $this,
58
  'http_request_host_is_external_filter'
59
+ ), 10, 3);
60
  }
61
+
62
  /**
63
  * @return bool
64
  */
65
+ public function need_check_updates()
66
+ {
67
  return true;
68
  }
69
+
70
  /**
71
  * @return bool|mixed
72
  */
73
+ public function is_support_premium()
74
+ {
75
  return true;
76
  }
77
+
78
  /**
79
  * @return string|null
80
  * @throws Exception
81
  */
82
+ public function get_download_url()
83
+ {
84
  return $this->premium->get_package_download_url();
85
  }
86
+
87
  /**
88
  * @return string|null
89
  * @throws Exception
90
  */
91
+ public function get_last_version()
92
+ {
93
  try {
94
  $last_package = $this->premium->get_downloadable_package_info();
95
+
96
+ if( empty($last_package->version) ) {
97
  return null;
98
  }
99
  } catch( Exception $e ) {
100
+ if( defined('FACTORY_UPDATES_DEBUG') && FACTORY_UPDATES_DEBUG ) {
101
+ throw new Exception($e->getMessage(), $e->getCode());
102
  }
103
+
104
  return null;
105
  }
106
+
107
  return $last_package->version;
108
  }
109
+
110
  /**
111
  * Since WP version 3.6, a new security feature was added that denies access to repository with a local ip.
112
  * During development mode we want to be able updating plugin versions via our localhost repository. This
123
  *
124
  * @return bool
125
  */
126
+ function http_request_host_is_external_filter($allow, $host, $url)
127
+ {
128
+ return (false !== strpos($host, 'freemius')) ? true : $allow;
129
  }
130
  }
libs/factory/pages/boot.php CHANGED
@@ -19,25 +19,25 @@ if( !is_admin() ) {
19
  return;
20
  }
21
 
22
- if( defined('FACTORY_PAGES_432_LOADED') ) {
23
  return;
24
  }
25
 
26
- define('FACTORY_PAGES_432_LOADED', true);
27
 
28
- define('FACTORY_PAGES_432_VERSION', '4.3.2');
29
 
30
- define('FACTORY_PAGES_432_DIR', dirname(__FILE__));
31
- define('FACTORY_PAGES_432_URL', plugins_url(null, __FILE__));
32
 
33
  if( !defined('FACTORY_FLAT_ADMIN') ) {
34
  define('FACTORY_FLAT_ADMIN', true);
35
  }
36
 
37
- load_plugin_textdomain('wbcr_factory_pages_432', false, dirname(plugin_basename(__FILE__)) . '/langs');
38
 
39
- require(FACTORY_PAGES_432_DIR . '/pages.php');
40
- require(FACTORY_PAGES_432_DIR . '/includes/page.class.php');
41
- require(FACTORY_PAGES_432_DIR . '/includes/admin-page.class.php');
42
- require(FACTORY_PAGES_432_DIR . '/templates/impressive-page.class.php');
43
 
19
  return;
20
  }
21
 
22
+ if( defined('FACTORY_PAGES_443_LOADED') ) {
23
  return;
24
  }
25
 
26
+ define('FACTORY_PAGES_443_LOADED', true);
27
 
28
+ define('FACTORY_PAGES_443_VERSION', '4.4.3');
29
 
30
+ define('FACTORY_PAGES_443_DIR', dirname(__FILE__));
31
+ define('FACTORY_PAGES_443_URL', plugins_url(null, __FILE__));
32
 
33
  if( !defined('FACTORY_FLAT_ADMIN') ) {
34
  define('FACTORY_FLAT_ADMIN', true);
35
  }
36
 
37
+ load_plugin_textdomain('wbcr_factory_pages_443', false, dirname(plugin_basename(__FILE__)) . '/langs');
38
 
39
+ require(FACTORY_PAGES_443_DIR . '/pages.php');
40
+ require(FACTORY_PAGES_443_DIR . '/includes/page.class.php');
41
+ require(FACTORY_PAGES_443_DIR . '/includes/admin-page.class.php');
42
+ require(FACTORY_PAGES_443_DIR . '/templates/impressive-page.class.php');
43
 
libs/factory/pages/includes/admin-page.class.php CHANGED
@@ -14,9 +14,9 @@ if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryPages432_AdminPage') ) {
18
 
19
- class Wbcr_FactoryPages432_AdminPage extends Wbcr_FactoryPages432_Page {
20
 
21
  /**
22
  * Visible page title.
@@ -209,7 +209,7 @@ if( !class_exists('Wbcr_FactoryPages432_AdminPage') ) {
209
  */
210
  public $add_link_to_plugin_actions = false;
211
 
212
- public function __construct(Wbcr_Factory433_Plugin $plugin)
213
  {
214
  parent::__construct($plugin);
215
  $this->configure();
@@ -325,13 +325,13 @@ if( !class_exists('Wbcr_FactoryPages432_AdminPage') ) {
325
  {
326
  $result_id = $this->getResultId();
327
 
328
- $this->hidden = apply_filters('wbcr_factory_433_page_is_hidden_' . $result_id, $this->hidden);
329
 
330
  if( $this->hidden ) {
331
  return;
332
  }
333
 
334
- $this->internal = apply_filters('wbcr_factory_433_page_is_internal_' . $result_id, $this->internal);
335
 
336
  if( $this->internal ) {
337
  $this->menu_target = null;
@@ -370,7 +370,7 @@ if( !class_exists('Wbcr_FactoryPages432_AdminPage') ) {
370
  $this->assets($this->scripts, $this->styles);
371
 
372
  if( !$this->scripts->isEmpty('bootstrap') || !$this->styles->isEmpty('bootstrap') ) {
373
- add_action('wbcr_factory_433_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), [
374
  $this,
375
  'actionAdminBootstrapScripts'
376
  ]);
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryPages443_AdminPage') ) {
18
 
19
+ class Wbcr_FactoryPages443_AdminPage extends Wbcr_FactoryPages443_Page {
20
 
21
  /**
22
  * Visible page title.
209
  */
210
  public $add_link_to_plugin_actions = false;
211
 
212
+ public function __construct(Wbcr_Factory444_Plugin $plugin)
213
  {
214
  parent::__construct($plugin);
215
  $this->configure();
325
  {
326
  $result_id = $this->getResultId();
327
 
328
+ $this->hidden = apply_filters('wbcr_factory_444_page_is_hidden_' . $result_id, $this->hidden);
329
 
330
  if( $this->hidden ) {
331
  return;
332
  }
333
 
334
+ $this->internal = apply_filters('wbcr_factory_444_page_is_internal_' . $result_id, $this->internal);
335
 
336
  if( $this->internal ) {
337
  $this->menu_target = null;
370
  $this->assets($this->scripts, $this->styles);
371
 
372
  if( !$this->scripts->isEmpty('bootstrap') || !$this->styles->isEmpty('bootstrap') ) {
373
+ add_action('wbcr_factory_444_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), [
374
  $this,
375
  'actionAdminBootstrapScripts'
376
  ]);
libs/factory/pages/includes/page.class.php CHANGED
@@ -14,9 +14,9 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- if ( ! class_exists( 'Wbcr_FactoryPages432_Page' ) ) {
18
 
19
- class Wbcr_FactoryPages432_Page {
20
 
21
 
22
  /**
@@ -30,7 +30,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages432_Page' ) ) {
30
  * Чтобы не было конфликтов с другими плагинами, используйте префиксы.
31
  *
32
  * @since 1.0.0
33
- * @see FactoryPages432_AdminPage
34
  *
35
  * @var string
36
  */
@@ -39,7 +39,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages432_Page' ) ) {
39
  /**
40
  * Current Factory Plugin.
41
  *
42
- * @var Wbcr_Factory433_Plugin
43
  */
44
  public $plugin;
45
 
@@ -51,11 +51,11 @@ if ( ! class_exists( 'Wbcr_FactoryPages432_Page' ) ) {
51
  //private $default_actions = array();
52
 
53
  /**
54
- * @param Wbcr_Factory433_Plugin $plugin
55
  *
56
  * @throws Exception
57
  */
58
- public function __construct( Wbcr_Factory433_Plugin $plugin ) {
59
  $this->plugin = $plugin;
60
 
61
  if ( $plugin ) {
@@ -111,7 +111,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages432_Page' ) ) {
111
 
112
  if ( ! method_exists( $this, $actionFunction ) ) {
113
  // todo: продумать и доработать выполнение произвольных и глобальных дейтсвия для всех страниц
114
- /*$custom_actions = apply_filters('wbcr/factory_pages_432/custom_actions', array(), $raw_action_name);
115
 
116
  if(isset($custom_actions[$raw_action_name])) {
117
  $custom_actions[$raw_action_name]();
14
  exit;
15
  }
16
 
17
+ if ( ! class_exists( 'Wbcr_FactoryPages443_Page' ) ) {
18
 
19
+ class Wbcr_FactoryPages443_Page {
20
 
21
 
22
  /**
30
  * Чтобы не было конфликтов с другими плагинами, используйте префиксы.
31
  *
32
  * @since 1.0.0
33
+ * @see FactoryPages443_AdminPage
34
  *
35
  * @var string
36
  */
39
  /**
40
  * Current Factory Plugin.
41
  *
42
+ * @var Wbcr_Factory444_Plugin
43
  */
44
  public $plugin;
45
 
51
  //private $default_actions = array();
52
 
53
  /**
54
+ * @param Wbcr_Factory444_Plugin $plugin
55
  *
56
  * @throws Exception
57
  */
58
+ public function __construct( Wbcr_Factory444_Plugin $plugin ) {
59
  $this->plugin = $plugin;
60
 
61
  if ( $plugin ) {
111
 
112
  if ( ! method_exists( $this, $actionFunction ) ) {
113
  // todo: продумать и доработать выполнение произвольных и глобальных дейтсвия для всех страниц
114
+ /*$custom_actions = apply_filters('wbcr/factory_pages_443/custom_actions', array(), $raw_action_name);
115
 
116
  if(isset($custom_actions[$raw_action_name])) {
117
  $custom_actions[$raw_action_name]();
libs/factory/pages/langs/wbcr_factory_pages_443-fr_FR.mo ADDED
Binary file
libs/factory/pages/langs/wbcr_factory_pages_443-fr_FR.po ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: clearfy\n"
4
+ "POT-Creation-Date: 2017-11-09 10:33+0300\n"
5
+ "PO-Revision-Date: 2017-11-09 19:04+0300\n"
6
+ "Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
7
+ "Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
8
+ "Language: fr\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 1.8.8\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
15
+ "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
18
+ "X-Poedit-SearchPath-0: .\n"
19
+
20
+ #: templates/impressive-page.class.php:45
21
+ msgid "Settings"
22
+ msgstr "Paramètres"
23
+
24
+ #: templates/impressive-page.class.php:170
25
+ msgid ""
26
+ "It seems that a caching/performance plugin is active on this site. Please "
27
+ "manually invalidate that plugin's cache after making any changes to the "
28
+ "settings below."
29
+ msgstr ""
30
+ "Il semble qu'un plugin cache / performance soit actif sur ce site. Veuillez "
31
+ "invalider manuellement le cache de ce plugin après avoir apporté des "
32
+ "modifications aux paramètres ci-dessous."
33
+
34
+ #: templates/impressive-page.class.php:187
35
+ msgid "The settings have been updated successfully!"
36
+ msgstr "Les paramètres ont été mis à jour avec succès!"
37
+
38
+ #: templates/impressive-page.class.php:251
39
+ msgid "Page"
40
+ msgstr "Page"
41
+
42
+ #: templates/impressive-page.class.php:256
43
+ msgid "Save settings"
44
+ msgstr "Enregistrer les paramètres"
45
+
46
+ #: templates/impressive-page.class.php:328
47
+ msgid "You do not have permission to edit page."
48
+ msgstr "Vous n'êtes pas autorisé à modifier la page."
49
+
50
+ #: templates/impressive-page.class.php:403
51
+ msgid ""
52
+ "A neutral setting that can not harm your site, but you must be sure that you "
53
+ "need to use it."
54
+ msgstr ""
55
+ "Un paramètre neutre qui ne peut pas nuire à votre site, mais vous devez être "
56
+ "sûr que vous devez l'utiliser."
57
+
58
+ #: templates/impressive-page.class.php:407
59
+ msgid ""
60
+ "When set this option, you must be careful. Plugins and themes may depend on "
61
+ "this function. You must be sure that you can disable this feature for the "
62
+ "site."
63
+ msgstr ""
64
+ "Lorsque vous définissez cette option, vous devez faire attention. Les "
65
+ "plugins et les thèmes peuvent dépendre de cette fonction. Vous devez être "
66
+ "sûr que vous pouvez désactiver cette fonctionnalité pour le site."
67
+
68
+ #: templates/impressive-page.class.php:411
69
+ msgid "Absolutely safe setting, We recommend to use."
70
+ msgstr "Réglage absolument sûr, nous recommandons d'utiliser."
71
+
72
+ #: templates/impressive-page.class.php:416
73
+ msgid "Hover to the icon to get help for the feature you selected."
74
+ msgstr "Passez à l'icône pour obtenir de l'aide sur la fonction sélectionnée."
75
+
76
+ #: templates/impressive-page.class.php:432
77
+ msgid "Do you want the plugin to improved and update?"
78
+ msgstr "Voulez-vous que le plugin pour améliorer et mettre à jour?"
79
+
80
+ #: templates/impressive-page.class.php:435
81
+ msgid ""
82
+ "Help the author, leave a review on wordpress.org. Thanks to feedback, I will "
83
+ "know that the plugin is really useful to you and is needed."
84
+ msgstr ""
85
+ "Aidez l'auteur, laissez un commentaire sur wordpress.org. Grâce aux retours, "
86
+ "je saurai que le plugin est vraiment utile et nécessaire."
87
+
88
+ #: templates/impressive-page.class.php:437
89
+ msgid "And also write your ideas on how to extend or improve the plugin."
90
+ msgstr ""
91
+ "Et écrivez aussi vos idées sur la façon d'étendre ou d'améliorer le plugin."
92
+
93
+ #: templates/impressive-page.class.php:442
94
+ msgid "Go rate us and push ideas"
95
+ msgstr "Allez nous évaluer et pousser des idées"
96
+
97
+ #: templates/impressive-page.class.php:454
98
+ msgid "Donation for plug-in development"
99
+ msgstr "Don pour le développement du plug-in"
libs/factory/pages/langs/wbcr_factory_pages_443-ru_RU.mo ADDED
Binary file
libs/factory/pages/langs/wbcr_factory_pages_443-ru_RU.po ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: clearfy\n"
4
+ "POT-Creation-Date: 2018-10-16 22:44+0300\n"
5
+ "PO-Revision-Date: 2018-10-16 22:44+0300\n"
6
+ "Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
7
+ "Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
8
+ "Language: ru_RU\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.1.1\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
15
+ "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
18
+ "X-Poedit-SearchPath-0: .\n"
19
+
20
+ #: templates/impressive-page.class.php:128
21
+ msgid "Settings"
22
+ msgstr "Настройки"
23
+
24
+ #: templates/impressive-page.class.php:484
25
+ msgid "The settings have been updated successfully!"
26
+ msgstr "Настройки были успешно обновлены!"
27
+
28
+ #: templates/impressive-page.class.php:484
29
+ msgid ""
30
+ "It seems that a caching/performance plugin is active on this site. Please "
31
+ "manually invalidate that plugin's cache after making any changes to the "
32
+ "settings below."
33
+ msgstr ""
34
+ "Похоже, что Вы используете плагин кэширования или ускорения блога. Не "
35
+ "забудьте после изменения любых настроек, очистить кэш вручную!"
36
+
37
+ #: templates/impressive-page.class.php:659
38
+ msgid "Page"
39
+ msgstr "Страница"
40
+
41
+ #: templates/impressive-page.class.php:665
42
+ msgid "Clearfy settings"
43
+ msgstr "Настройки Clearfy"
44
+
45
+ #: templates/impressive-page.class.php:668
46
+ msgid "Save"
47
+ msgstr "Сохранить"
48
+
49
+ #: templates/impressive-page.class.php:783
50
+ msgid "You do not have permission to edit page."
51
+ msgstr "У вас недостаточно прав, для редактирования этой страницы."
52
+
53
+ #~ msgid "Save settings"
54
+ #~ msgstr "Сохранить настройки"
55
+
56
+ #~ msgid ""
57
+ #~ "A neutral setting that can not harm your site, but you must be sure that "
58
+ #~ "you need to use it."
59
+ #~ msgstr ""
60
+ #~ "Нейтральная настройка, которая не может нанести вред вашему сайту, но вы "
61
+ #~ "должны быть уверены, что вам нужно ее использовать."
62
+
63
+ #~ msgid ""
64
+ #~ "When set this option, you must be careful. Plugins and themes may depend "
65
+ #~ "on this function. You must be sure that you can disable this feature for "
66
+ #~ "the site."
67
+ #~ msgstr ""
68
+ #~ "При включении этой настройки, вы должны быть осторожны. Некоторые плагины "
69
+ #~ "и темы могут зависеть от этой функции. Вы должны быть уверены, что эту "
70
+ #~ "функцию можно отключить для сайта."
71
+
72
+ #~ msgid "Absolutely safe setting, We recommend to use."
73
+ #~ msgstr "Абсолютно безопасная настройка, рекомендуем использовать."
74
+
75
+ #~ msgid "Hover to the icon to get help for the feature you selected."
76
+ #~ msgstr ""
77
+ #~ "Наведите указатель мыши на значок, чтобы получить справку по выбранной "
78
+ #~ "функции."
79
+
80
+ #~ msgid "Do you want the plugin to improved and update?"
81
+ #~ msgstr "Вы хотите, чтобы плагин улучшался и обновлялся?"
82
+
83
+ #~ msgid ""
84
+ #~ "Help the author, leave a review on wordpress.org. Thanks to feedback, I "
85
+ #~ "will know that the plugin is really useful to you and is needed."
86
+ #~ msgstr ""
87
+ #~ "Помогите автору, оставьте отзыв на wordpress.org. Благодаря отзывам, я "
88
+ #~ "буду знать, что плагин действительно полезен для вас и необходим."
89
+
90
+ #~ msgid "And also write your ideas on how to extend or improve the plugin."
91
+ #~ msgstr ""
92
+ #~ "А также напишите свои идеи о том, как расширить или улучшить плагин."
93
+
94
+ #~ msgid "Go rate us and push ideas"
95
+ #~ msgstr "Оставить отзыв или поделиться идеей"
96
+
97
+ #~ msgid "Donation for plug-in development"
98
+ #~ msgstr "Пожертвования на развитие плагина"
libs/factory/pages/pages.php CHANGED
@@ -14,24 +14,24 @@
14
  exit;
15
  }
16
 
17
- add_action('admin_menu', 'Wbcr_FactoryPages432::actionAdminMenu');
18
- add_action('network_admin_menu', 'Wbcr_FactoryPages432::actionAdminMenu');
19
 
20
- if( !class_exists('Wbcr_FactoryPages432') ) {
21
  /**
22
  * A base class to manage pages.
23
  *
24
  * @since 1.0.0
25
  */
26
- class Wbcr_FactoryPages432 {
27
 
28
  /**
29
- * @var Wbcr_FactoryPages432_Page[]
30
  */
31
  private static $pages = array();
32
 
33
  /**
34
- * @param Wbcr_Factory433_Plugin $plugin
35
  * @param $class_name
36
  */
37
  public static function register($plugin, $class_name)
@@ -59,7 +59,7 @@
59
  }
60
  }
61
 
62
- public static function getPageUrl(Wbcr_Factory433_Plugin $plugin, $page_id, $args = array())
63
  {
64
  if( isset(self::$pages[$plugin->getPluginName()]) ) {
65
  $pages = self::$pages[$plugin->getPluginName()];
@@ -75,7 +75,7 @@
75
  }
76
 
77
  /**
78
- * @param Wbcr_Factory433_Plugin $plugin
79
  * @return array
80
  */
81
  public static function getIds($plugin)
@@ -93,14 +93,14 @@
93
  }
94
  }
95
 
96
- if( !function_exists('wbcr_factory_pages_432_get_page_id') ) {
97
  /**
98
  *
99
- * @param Wbcr_Factory433_Plugin $plugin
100
  * @param string $page_id
101
  * @return string
102
  */
103
- function wbcr_factory_pages_432_get_page_id($plugin, $page_id)
104
  {
105
  return $page_id . '-' . $plugin->getPluginName();
106
  }
14
  exit;
15
  }
16
 
17
+ add_action('admin_menu', 'Wbcr_FactoryPages443::actionAdminMenu');
18
+ add_action('network_admin_menu', 'Wbcr_FactoryPages443::actionAdminMenu');
19
 
20
+ if( !class_exists('Wbcr_FactoryPages443') ) {
21
  /**
22
  * A base class to manage pages.
23
  *
24
  * @since 1.0.0
25
  */
26
+ class Wbcr_FactoryPages443 {
27
 
28
  /**
29
+ * @var Wbcr_FactoryPages443_Page[]
30
  */
31
  private static $pages = array();
32
 
33
  /**
34
+ * @param Wbcr_Factory444_Plugin $plugin
35
  * @param $class_name
36
  */
37
  public static function register($plugin, $class_name)
59
  }
60
  }
61
 
62
+ public static function getPageUrl(Wbcr_Factory444_Plugin $plugin, $page_id, $args = array())
63
  {
64
  if( isset(self::$pages[$plugin->getPluginName()]) ) {
65
  $pages = self::$pages[$plugin->getPluginName()];
75
  }
76
 
77
  /**
78
+ * @param Wbcr_Factory444_Plugin $plugin
79
  * @return array
80
  */
81
  public static function getIds($plugin)
93
  }
94
  }
95
 
96
+ if( !function_exists('wbcr_factory_pages_443_get_page_id') ) {
97
  /**
98
  *
99
+ * @param Wbcr_Factory444_Plugin $plugin
100
  * @param string $page_id
101
  * @return string
102
  */
103
+ function wbcr_factory_pages_443_get_page_id($plugin, $page_id)
104
  {
105
  return $page_id . '-' . $plugin->getPluginName();
106
  }
libs/factory/pages/templates/assets/css/impressive.page.template.css CHANGED
@@ -9,7 +9,7 @@
9
  #WBCR .wdan-notices-compact-panel {
10
  display: none !important;
11
  }
12
- #WBCR .wbcr-factory-pages-432-impressive-page-template {
13
  position: relative;
14
  /**
15
  Content sections
@@ -18,134 +18,134 @@
18
  Widget in the sidebar of the plugin
19
  */
20
  }
21
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-color-grey {
22
  color: #9a9a9a;
23
  }
24
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-orange-color {
25
  color: #ffc107;
26
  }
27
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-light-orange-color {
28
  color: #ffeb3b;
29
  }
30
- #WBCR .wbcr-factory-pages-432-impressive-page-template .form-group {
31
  padding: 0 20px;
32
  }
33
- #WBCR .wbcr-factory-pages-432-impressive-page-template .form-group label {
34
  font-weight: normal;
35
  }
36
- #WBCR .wbcr-factory-pages-432-impressive-page-template .form-horizontal .control-label {
37
  max-width: 300px;
38
  }
39
- #WBCR .wbcr-factory-pages-432-impressive-page-template .factory-control-buttons {
40
  text-align: right;
41
  padding-right: 20px;
42
  }
43
- #WBCR .wbcr-factory-pages-432-impressive-page-template .factory-from-control-list label span {
44
  display: inline-block;
45
  vertical-align: bottom;
46
  }
47
- #WBCR .wbcr-factory-pages-432-impressive-page-template .factory-from-control-list label span input[type="checkbox"],
48
- #WBCR .wbcr-factory-pages-432-impressive-page-template .factory-from-control-list label span input[type="checkbox"]:focus {
49
  outline: none;
50
  }
51
- #WBCR .wbcr-factory-pages-432-impressive-page-template .alert {
52
  font-weight: bold;
53
  margin: 0 !important;
54
  border: 0;
55
  border-radius: 0;
56
  padding: 15px;
57
  }
58
- #WBCR .wbcr-factory-pages-432-impressive-page-template .alert + .wbcr-factory-page-group-header {
59
  margin-top: 0 !important;
60
  }
61
- #WBCR .wbcr-factory-pages-432-impressive-page-template .alert.alert-warning {
62
  background: #fff3d0;
63
  }
64
- #WBCR .wbcr-factory-pages-432-impressive-page-template .alert.alert-warning:nth-child(2n+1) {
65
  background: #fffde9;
66
  }
67
- #WBCR .wbcr-factory-pages-432-impressive-page-template .alert.alert-danger {
68
  background: #de716d;
69
  }
70
- #WBCR .wbcr-factory-pages-432-impressive-page-template .alert.alert-danger:nth-child(2n+1) {
71
  background: #ec8c89;
72
  }
73
- #WBCR .wbcr-factory-pages-432-impressive-page-template .alert.alert-success {
74
  background: #d0ecc4;
75
  }
76
- #WBCR .wbcr-factory-pages-432-impressive-page-template .alert.alert-success:nth-child(2n+1) {
77
  background: #e0eadb;
78
  }
79
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-header {
80
  padding: 20px 20px 40px;
81
  }
82
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-recomended-text {
83
  display: block;
84
  font-size: 11px;
85
  font-weight: lighter;
86
  color: #179347;
87
  }
88
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-options,
89
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page {
90
  position: relative;
91
  background: #e6e6e6;
92
  overflow: hidden;
93
  }
94
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-options:after,
95
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page:after {
96
  display: block;
97
  content: '';
98
  clear: both;
99
  }
100
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-group-header {
101
  background: #efefef;
102
  padding: 20px 0 10px 20px;
103
  margin: 30px 0;
104
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
105
  }
106
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-group-header:first-child {
107
  margin-top: 0;
108
  }
109
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-group-header strong {
110
  font-size: 15px;
111
  }
112
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-group-header p {
113
  color: #8c8888;
114
  font-size: 12px;
115
  }
116
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-inner-wrap {
117
  margin-left: 230px;
118
  padding: 80px 0 0 0;
119
  vertical-align: top;
120
  background: #fff;
121
  }
122
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab-wrapper,
123
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-inner-wrap h2.nav-tab-wrapper,
124
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-inner-wrap h1.nav-tab-wrapper {
125
  border: 0;
126
  }
127
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab-active {
128
  background: #efefef !important;
129
  margin-bottom: -2px !important;
130
  border-bottom: 1px solid #efefef !important;
131
  }
132
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:first-child {
133
  margin: 0;
134
  }
135
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:hover {
136
  background: #f7f7f7;
137
  }
138
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab {
139
  border: 2px solid #dedede;
140
  border-bottom: 0;
141
  box-shadow: -1px 0 0 rgba(0, 0, 0, 0.1);
142
  }
143
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:active,
144
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:focus {
145
  box-shadow: none;
146
  outline: none;
147
  }
148
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-header {
149
  position: absolute;
150
  z-index: 13;
151
  top: 0;
@@ -156,7 +156,7 @@
156
  color: #fff;
157
  border-radius: 5px 5px 0 0;
158
  }
159
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-logo {
160
  float: left;
161
  padding: 25px 0;
162
  font-size: 20px;
@@ -169,11 +169,11 @@
169
  margin-right: 10px;
170
  background: none;
171
  }
172
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-title {
173
  display: inline-block;
174
  vertical-align: middle;
175
  }
176
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-title h2 {
177
  font-size: 18px;
178
  line-height: 30px;
179
  font-weight: 300;
@@ -184,12 +184,12 @@
184
  text-overflow: ellipsis;
185
  color: #fff;
186
  }
187
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-header .wbcr-factory-control {
188
  position: relative;
189
  float: right;
190
  margin: 12px;
191
  }
192
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button {
193
  display: inline-block;
194
  vertical-align: top;
195
  font-size: 13px;
@@ -212,49 +212,49 @@
212
  text-decoration: none;
213
  z-index: 3;
214
  }
215
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save {
216
  box-shadow: none;
217
  min-width: 100px;
218
  background-color: #8bc34a;
219
  color: #fff;
220
  }
221
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save:hover {
222
  background: #9dbb7b;
223
  color: #fff;
224
  }
225
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save:active {
226
  box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
227
  }
228
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings {
229
  box-shadow: none;
230
  min-width: 200px;
231
  background-color: #9e9e9e;
232
  color: #fff;
233
  }
234
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings:hover {
235
  background: #797979;
236
  color: #fff;
237
  }
238
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings:active {
239
  box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
240
  }
241
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar {
242
  float: left;
243
  vertical-align: top;
244
  width: 230px;
245
  background: #e6e6e6;
246
  }
247
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul {
248
  padding: 0;
249
  margin-bottom: 0;
250
  margin-top: 80px;
251
  }
252
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab {
253
  display: block;
254
  background: #efefef;
255
  margin: 1px 0;
256
  }
257
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link {
258
  display: block;
259
  width: 100%;
260
  padding: 20px 20px;
@@ -265,58 +265,58 @@
265
  text-align: left;
266
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
267
  }
268
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .wbcr-factory-tab__title {
269
  display: block;
270
  font-weight: bold;
271
  }
272
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .wbcr-factory-tab__short-description {
273
  display: block;
274
  font-size: 13px;
275
  font-weight: normal;
276
  text-transform: none;
277
  color: #9a9a9a;
278
  }
279
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .dashicons {
280
  float: right;
281
  color: #ccc;
282
  }
283
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link::after {
284
  clear: both;
285
  }
286
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover {
287
  background: #f7f6f6;
288
  }
289
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover .dashicons {
290
  color: #9a9a9a;
291
  }
292
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link,
293
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:active,
294
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover,
295
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:active,
296
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:focus {
297
  outline: 0 !important;
298
  box-shadow: none !important;
299
  }
300
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab {
301
  background: #fff;
302
  border-left: 5px solid #ff5722;
303
  }
304
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab a {
305
  color: #ff5722;
306
  font-weight: bold;
307
  }
308
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab a .dashicons {
309
  color: #9a9a9a;
310
  }
311
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu {
312
  padding: 0;
313
  margin: 0;
314
  }
315
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li {
316
  margin: 1px 0 0;
317
  padding: 0;
318
  }
319
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a {
320
  display: block;
321
  font-weight: normal;
322
  color: #222;
@@ -327,12 +327,12 @@
327
  text-decoration: none;
328
  outline: none;
329
  }
330
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a:focus,
331
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a:link {
332
  outline: 0 !important;
333
  text-shadow: none !important;
334
  }
335
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a .dashicons {
336
  color: #9a9a9a;
337
  font-size: 13px;
338
  border: 0;
@@ -343,48 +343,48 @@
343
  -ms-filter: fliph;
344
  filter: fliph;
345
  }
346
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a.wbcr-factory-tab-active {
347
  background: #fff;
348
  color: #ff5722;
349
  font-weight: 600;
350
  }
351
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a.wbcr-factory-tab-active .dashicons {
352
  color: #ff5722;
353
  }
354
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-content-section,
355
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-right-sidebar-section {
356
  display: inline-block;
357
  vertical-align: top;
358
  }
359
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-content-section {
360
  width: 74.6%;
361
  }
362
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-content-section.wbcr-fullwidth {
363
  width: 100%;
364
  }
365
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-content-section .nav-tab-wrapper {
366
  margin-top: 15px;
367
  }
368
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-content-section .wbcr-factory-content {
369
  background: #f7f7f7;
370
  padding: 0 0 20px 0;
371
  border: 1px solid #dad8d8;
372
  box-shadow: -1px 0px 1px rgba(0, 0, 0, 0.1);
373
  }
374
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-content-section .wbcr-factory-content > form {
375
  padding-top: 0 !important;
376
  }
377
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-right-sidebar-section {
378
  width: 25%;
379
  padding: 10px;
380
  margin: 0 0 -20px;
381
  background-color: #f9f9f9;
382
  box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.1);
383
  }
384
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-sidebar-widget {
385
  margin: 0 0 20px;
386
  }
387
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-sidebar-widget {
388
  display: inline-block;
389
  min-height: 230px;
390
  width: 100%;
@@ -393,19 +393,19 @@
393
  padding: 20px 15px;
394
  vertical-align: top;
395
  }
396
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-hide {
397
  display: none;
398
  }
399
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-warning {
400
  background: #fff4d0;
401
  }
402
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-danger {
403
  background: #e2ffc0;
404
  }
405
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-success {
406
  background: #ffebe9;
407
  }
408
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-hint-icon-simple {
409
  display: inline-block;
410
  width: 16px;
411
  height: 16px;
@@ -417,16 +417,16 @@
417
  background: #E91E63;
418
  border-radius: 3px;
419
  }
420
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-grey {
421
  background: #E91E63;
422
  }
423
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-red {
424
  background: #9e9e9e;
425
  }
426
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-green {
427
  background: #8bc34a;
428
  }
429
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-icon-5stars {
430
  display: block;
431
  width: 80px;
432
  height: 17px;
@@ -434,23 +434,23 @@
434
  vertical-align: middle;
435
  margin-bottom: 5px;
436
  }
437
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] {
438
  display: block;
439
  margin: 30px auto 0;
440
  outline: none;
441
  }
442
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] :focus,
443
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] :active {
444
  box-shadow: none;
445
  }
446
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form .wbcr-factory-donation-price {
447
  font-size: 50px;
448
  margin-top: 30px;
449
  text-align: center;
450
  font-weight: 600;
451
  color: #8BC34A;
452
  }
453
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box {
454
  min-height: 240px;
455
  margin-bottom: 20px;
456
  text-align: center;
@@ -458,24 +458,24 @@
458
  padding: 30px;
459
  border: 1px solid #f3f1e7;
460
  }
461
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box .dashicons {
462
  width: 50px;
463
  height: 50px;
464
  font-size: 50px;
465
  color: #FFC107;
466
  line-height: normal;
467
  }
468
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box h3 {
469
  color: #7b6111;
470
  }
471
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box p {
472
  color: #9e9e9e;
473
  }
474
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-buttons-wrap {
475
  margin-top: 20px;
476
  text-align: center;
477
  }
478
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-premium-button {
479
  display: inline-block;
480
  padding: 20px 60px;
481
  background-color: #FFC107;
@@ -485,67 +485,67 @@
485
  font-weight: bold;
486
  transition: background-color 0.3s, border-color 0.3s, color 0.3s, opacity 0.3s;
487
  }
488
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-premium-button:hover {
489
  background-color: #ffce3a;
490
  }
491
- #WBCR .wbcr-factory-pages-432-impressive-page-template #wbcr-factory-confirm-dialog {
492
  padding: 20px;
493
  background: #ffffff;
494
  }
495
- #WBCR .wbcr-factory-pages-432-impressive-page-template #wbcr-factory-confirm-dialog .updated,
496
- #WBCR .wbcr-factory-pages-432-impressive-page-template #wbcr-factory-confirm-dialog .alert {
497
  display: none;
498
  }
499
- #WBCR .wbcr-factory-pages-432-impressive-page-template #wbcr-factory-confirm-dialog h2 {
500
  font-size: 18px;
501
  margin-top: 10px;
502
  }
503
- #WBCR .wbcr-factory-pages-432-impressive-page-template #wbcr-factory-confirm-dialog .wbcr-factory-confirm-description {
504
  padding: 10px;
505
  background: #ffedeb;
506
  border: 1px solid #ffdfdc;
507
  margin: 15px 0;
508
  }
509
- #WBCR .wbcr-factory-pages-432-impressive-page-template #wbcr-factory-confirm-dialog .wbcr-factory-confirm-hint {
510
  margin-bottom: 15px;
511
  color: #7b7b7b;
512
  }
513
  @media screen and (max-width: 1367px) {
514
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-content-section {
515
  width: 69.6%;
516
  }
517
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-right-sidebar-section {
518
  width: 30%;
519
  }
520
  }
521
  @media screen and (max-width: 1320px) {
522
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-content-section {
523
  width: 100%;
524
  }
525
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-right-sidebar-section {
526
  display: none !important;
527
  }
528
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-header-logo .dash {
529
  display: none !important;
530
  }
531
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-header-title {
532
  display: none !important;
533
  }
534
  }
535
  @media screen and (max-width: 950px) {
536
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar {
537
  width: 70px;
538
  }
539
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a {
540
  font-size: 0;
541
  }
542
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__title {
543
  font-size: 0;
544
  }
545
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__short-description {
546
  display: none !important;
547
  }
548
- #WBCR .wbcr-factory-pages-432-impressive-page-template .wbcr-factory-page-inner-wrap {
549
  margin-left: 70px;
550
  }
551
  }
9
  #WBCR .wdan-notices-compact-panel {
10
  display: none !important;
11
  }
12
+ #WBCR .wbcr-factory-pages-443-impressive-page-template {
13
  position: relative;
14
  /**
15
  Content sections
18
  Widget in the sidebar of the plugin
19
  */
20
  }
21
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-color-grey {
22
  color: #9a9a9a;
23
  }
24
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-orange-color {
25
  color: #ffc107;
26
  }
27
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-light-orange-color {
28
  color: #ffeb3b;
29
  }
30
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .form-group {
31
  padding: 0 20px;
32
  }
33
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .form-group label {
34
  font-weight: normal;
35
  }
36
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .form-horizontal .control-label {
37
  max-width: 300px;
38
  }
39
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .factory-control-buttons {
40
  text-align: right;
41
  padding-right: 20px;
42
  }
43
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .factory-from-control-list label span {
44
  display: inline-block;
45
  vertical-align: bottom;
46
  }
47
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .factory-from-control-list label span input[type="checkbox"],
48
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .factory-from-control-list label span input[type="checkbox"]:focus {
49
  outline: none;
50
  }
51
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .alert {
52
  font-weight: bold;
53
  margin: 0 !important;
54
  border: 0;
55
  border-radius: 0;
56
  padding: 15px;
57
  }
58
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .alert + .wbcr-factory-page-group-header {
59
  margin-top: 0 !important;
60
  }
61
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .alert.alert-warning {
62
  background: #fff3d0;
63
  }
64
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .alert.alert-warning:nth-child(2n+1) {
65
  background: #fffde9;
66
  }
67
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .alert.alert-danger {
68
  background: #de716d;
69
  }
70
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .alert.alert-danger:nth-child(2n+1) {
71
  background: #ec8c89;
72
  }
73
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .alert.alert-success {
74
  background: #d0ecc4;
75
  }
76
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .alert.alert-success:nth-child(2n+1) {
77
  background: #e0eadb;
78
  }
79
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-header {
80
  padding: 20px 20px 40px;
81
  }
82
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-recomended-text {
83
  display: block;
84
  font-size: 11px;
85
  font-weight: lighter;
86
  color: #179347;
87
  }
88
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-options,
89
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page {
90
  position: relative;
91
  background: #e6e6e6;
92
  overflow: hidden;
93
  }
94
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-options:after,
95
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page:after {
96
  display: block;
97
  content: '';
98
  clear: both;
99
  }
100
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-group-header {
101
  background: #efefef;
102
  padding: 20px 0 10px 20px;
103
  margin: 30px 0;
104
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
105
  }
106
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-group-header:first-child {
107
  margin-top: 0;
108
  }
109
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-group-header strong {
110
  font-size: 15px;
111
  }
112
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-group-header p {
113
  color: #8c8888;
114
  font-size: 12px;
115
  }
116
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-inner-wrap {
117
  margin-left: 230px;
118
  padding: 80px 0 0 0;
119
  vertical-align: top;
120
  background: #fff;
121
  }
122
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab-wrapper,
123
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-inner-wrap h2.nav-tab-wrapper,
124
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-inner-wrap h1.nav-tab-wrapper {
125
  border: 0;
126
  }
127
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab-active {
128
  background: #efefef !important;
129
  margin-bottom: -2px !important;
130
  border-bottom: 1px solid #efefef !important;
131
  }
132
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:first-child {
133
  margin: 0;
134
  }
135
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:hover {
136
  background: #f7f7f7;
137
  }
138
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab {
139
  border: 2px solid #dedede;
140
  border-bottom: 0;
141
  box-shadow: -1px 0 0 rgba(0, 0, 0, 0.1);
142
  }
143
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:active,
144
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:focus {
145
  box-shadow: none;
146
  outline: none;
147
  }
148
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-header {
149
  position: absolute;
150
  z-index: 13;
151
  top: 0;
156
  color: #fff;
157
  border-radius: 5px 5px 0 0;
158
  }
159
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-logo {
160
  float: left;
161
  padding: 25px 0;
162
  font-size: 20px;
169
  margin-right: 10px;
170
  background: none;
171
  }
172
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-title {
173
  display: inline-block;
174
  vertical-align: middle;
175
  }
176
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-title h2 {
177
  font-size: 18px;
178
  line-height: 30px;
179
  font-weight: 300;
184
  text-overflow: ellipsis;
185
  color: #fff;
186
  }
187
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-header .wbcr-factory-control {
188
  position: relative;
189
  float: right;
190
  margin: 12px;
191
  }
192
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button {
193
  display: inline-block;
194
  vertical-align: top;
195
  font-size: 13px;
212
  text-decoration: none;
213
  z-index: 3;
214
  }
215
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save {
216
  box-shadow: none;
217
  min-width: 100px;
218
  background-color: #8bc34a;
219
  color: #fff;
220
  }
221
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save:hover {
222
  background: #9dbb7b;
223
  color: #fff;
224
  }
225
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save:active {
226
  box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
227
  }
228
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings {
229
  box-shadow: none;
230
  min-width: 200px;
231
  background-color: #9e9e9e;
232
  color: #fff;
233
  }
234
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings:hover {
235
  background: #797979;
236
  color: #fff;
237
  }
238
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings:active {
239
  box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
240
  }
241
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar {
242
  float: left;
243
  vertical-align: top;
244
  width: 230px;
245
  background: #e6e6e6;
246
  }
247
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul {
248
  padding: 0;
249
  margin-bottom: 0;
250
  margin-top: 80px;
251
  }
252
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab {
253
  display: block;
254
  background: #efefef;
255
  margin: 1px 0;
256
  }
257
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link {
258
  display: block;
259
  width: 100%;
260
  padding: 20px 20px;
265
  text-align: left;
266
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
267
  }
268
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .wbcr-factory-tab__title {
269
  display: block;
270
  font-weight: bold;
271
  }
272
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .wbcr-factory-tab__short-description {
273
  display: block;
274
  font-size: 13px;
275
  font-weight: normal;
276
  text-transform: none;
277
  color: #9a9a9a;
278
  }
279
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .dashicons {
280
  float: right;
281
  color: #ccc;
282
  }
283
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link::after {
284
  clear: both;
285
  }
286
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover {
287
  background: #f7f6f6;
288
  }
289
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover .dashicons {
290
  color: #9a9a9a;
291
  }
292
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link,
293
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:active,
294
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover,
295
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:active,
296
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:focus {
297
  outline: 0 !important;
298
  box-shadow: none !important;
299
  }
300
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab {
301
  background: #fff;
302
  border-left: 5px solid #ff5722;
303
  }
304
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab a {
305
  color: #ff5722;
306
  font-weight: bold;
307
  }
308
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab a .dashicons {
309
  color: #9a9a9a;
310
  }
311
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu {
312
  padding: 0;
313
  margin: 0;
314
  }
315
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li {
316
  margin: 1px 0 0;
317
  padding: 0;
318
  }
319
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a {
320
  display: block;
321
  font-weight: normal;
322
  color: #222;
327
  text-decoration: none;
328
  outline: none;
329
  }
330
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a:focus,
331
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a:link {
332
  outline: 0 !important;
333
  text-shadow: none !important;
334
  }
335
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a .dashicons {
336
  color: #9a9a9a;
337
  font-size: 13px;
338
  border: 0;
343
  -ms-filter: fliph;
344
  filter: fliph;
345
  }
346
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a.wbcr-factory-tab-active {
347
  background: #fff;
348
  color: #ff5722;
349
  font-weight: 600;
350
  }
351
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a.wbcr-factory-tab-active .dashicons {
352
  color: #ff5722;
353
  }
354
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-content-section,
355
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-right-sidebar-section {
356
  display: inline-block;
357
  vertical-align: top;
358
  }
359
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-content-section {
360
  width: 74.6%;
361
  }
362
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-content-section.wbcr-fullwidth {
363
  width: 100%;
364
  }
365
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-content-section .nav-tab-wrapper {
366
  margin-top: 15px;
367
  }
368
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-content-section .wbcr-factory-content {
369
  background: #f7f7f7;
370
  padding: 0 0 20px 0;
371
  border: 1px solid #dad8d8;
372
  box-shadow: -1px 0px 1px rgba(0, 0, 0, 0.1);
373
  }
374
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-content-section .wbcr-factory-content > form {
375
  padding-top: 0 !important;
376
  }
377
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-right-sidebar-section {
378
  width: 25%;
379
  padding: 10px;
380
  margin: 0 0 -20px;
381
  background-color: #f9f9f9;
382
  box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.1);
383
  }
384
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-sidebar-widget {
385
  margin: 0 0 20px;
386
  }
387
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-sidebar-widget {
388
  display: inline-block;
389
  min-height: 230px;
390
  width: 100%;
393
  padding: 20px 15px;
394
  vertical-align: top;
395
  }
396
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-hide {
397
  display: none;
398
  }
399
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-warning {
400
  background: #fff4d0;
401
  }
402
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-danger {
403
  background: #e2ffc0;
404
  }
405
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-success {
406
  background: #ffebe9;
407
  }
408
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-hint-icon-simple {
409
  display: inline-block;
410
  width: 16px;
411
  height: 16px;
417
  background: #E91E63;
418
  border-radius: 3px;
419
  }
420
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-grey {
421
  background: #E91E63;
422
  }
423
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-red {
424
  background: #9e9e9e;
425
  }
426
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-green {
427
  background: #8bc34a;
428
  }
429
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-icon-5stars {
430
  display: block;
431
  width: 80px;
432
  height: 17px;
434
  vertical-align: middle;
435
  margin-bottom: 5px;
436
  }
437
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] {
438
  display: block;
439
  margin: 30px auto 0;
440
  outline: none;
441
  }
442
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] :focus,
443
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] :active {
444
  box-shadow: none;
445
  }
446
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form .wbcr-factory-donation-price {
447
  font-size: 50px;
448
  margin-top: 30px;
449
  text-align: center;
450
  font-weight: 600;
451
  color: #8BC34A;
452
  }
453
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box {
454
  min-height: 240px;
455
  margin-bottom: 20px;
456
  text-align: center;
458
  padding: 30px;
459
  border: 1px solid #f3f1e7;
460
  }
461
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box .dashicons {
462
  width: 50px;
463
  height: 50px;
464
  font-size: 50px;
465
  color: #FFC107;
466
  line-height: normal;
467
  }
468
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box h3 {
469
  color: #7b6111;
470
  }
471
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box p {
472
  color: #9e9e9e;
473
  }
474
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-buttons-wrap {
475
  margin-top: 20px;
476
  text-align: center;
477
  }
478
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-premium-button {
479
  display: inline-block;
480
  padding: 20px 60px;
481
  background-color: #FFC107;
485
  font-weight: bold;
486
  transition: background-color 0.3s, border-color 0.3s, color 0.3s, opacity 0.3s;
487
  }
488
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-premium-button:hover {
489
  background-color: #ffce3a;
490
  }
491
+ #WBCR .wbcr-factory-pages-443-impressive-page-template #wbcr-factory-confirm-dialog {
492
  padding: 20px;
493
  background: #ffffff;
494
  }
495
+ #WBCR .wbcr-factory-pages-443-impressive-page-template #wbcr-factory-confirm-dialog .updated,
496
+ #WBCR .wbcr-factory-pages-443-impressive-page-template #wbcr-factory-confirm-dialog .alert {
497
  display: none;
498
  }
499
+ #WBCR .wbcr-factory-pages-443-impressive-page-template #wbcr-factory-confirm-dialog h2 {
500
  font-size: 18px;
501
  margin-top: 10px;
502
  }
503
+ #WBCR .wbcr-factory-pages-443-impressive-page-template #wbcr-factory-confirm-dialog .wbcr-factory-confirm-description {
504
  padding: 10px;
505
  background: #ffedeb;
506
  border: 1px solid #ffdfdc;
507
  margin: 15px 0;
508
  }
509
+ #WBCR .wbcr-factory-pages-443-impressive-page-template #wbcr-factory-confirm-dialog .wbcr-factory-confirm-hint {
510
  margin-bottom: 15px;
511
  color: #7b7b7b;
512
  }
513
  @media screen and (max-width: 1367px) {
514
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-content-section {
515
  width: 69.6%;
516
  }
517
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-right-sidebar-section {
518
  width: 30%;
519
  }
520
  }
521
  @media screen and (max-width: 1320px) {
522
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-content-section {
523
  width: 100%;
524
  }
525
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-right-sidebar-section {
526
  display: none !important;
527
  }
528
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-header-logo .dash {
529
  display: none !important;
530
  }
531
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-header-title {
532
  display: none !important;
533
  }
534
  }
535
  @media screen and (max-width: 950px) {
536
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar {
537
  width: 70px;
538
  }
539
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a {
540
  font-size: 0;
541
  }
542
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__title {
543
  font-size: 0;
544
  }
545
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__short-description {
546
  display: none !important;
547
  }
548
+ #WBCR .wbcr-factory-pages-443-impressive-page-template .wbcr-factory-page-inner-wrap {
549
  margin-left: 70px;
550
  }
551
  }
libs/factory/pages/templates/impressive-page.class.php CHANGED
@@ -14,11 +14,11 @@ if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
18
  /**
19
- * Class Wbcr_FactoryPages432_ImpressiveThemplate
20
  */
21
- abstract class Wbcr_FactoryPages432_ImpressiveThemplate extends Wbcr_FactoryPages432_AdminPage {
22
 
23
  /**
24
  * Тип страницы:
@@ -112,12 +112,12 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
112
  public $page_menu = [];
113
 
114
  /**
115
- * @param Wbcr_Factory433_Plugin $plugin
116
  */
117
- public function __construct(Wbcr_Factory433_Plugin $plugin)
118
  {
119
- $this->menuIcon = FACTORY_PAGES_432_URL . '/templates/assets/img/webcraftic-plugin-icon.png';
120
- //$allow_multisite = apply_filters('wbcr_factory_433_core_admin_allow_multisite', false);
121
 
122
  if( is_multisite() && $this->available_for_multisite && $plugin->isNetworkActive() ) {
123
  $this->network = true;
@@ -127,7 +127,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
127
 
128
  parent::__construct($plugin);
129
 
130
- $this->title_plugin_action_link = __('Settings', 'wbcr_factory_pages_432');
131
 
132
  $this->setPageMenu();
133
  }
@@ -137,7 +137,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
137
  *
138
  * @return void
139
  * @since 1.0.0
140
- * @see FactoryPages432_AdminPage
141
  *
142
  */
143
  public function assets($scripts, $styles)
@@ -159,7 +159,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
159
  'control.checkbox'
160
  ], 'bootstrap');
161
 
162
- $this->styles->add(FACTORY_PAGES_432_URL . '/templates/assets/css/impressive.page.template.css');
163
  }
164
 
165
  /**
@@ -170,18 +170,9 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
170
  public function getPluginTitle()
171
  {
172
  /**
173
- * @since 4.0.8 - добавлен
174
  * @since 4.0.9 - является устаревшим
175
  */
176
- $plugin_title = wbcr_factory_433_apply_filters_deprecated('wbcr/factory/imppage/plugin_title', [
177
- $this->plugin->getPluginTitle(),
178
- $this->plugin->getPluginName()
179
- ], '4.0.9', 'wbcr/factory/pages/impressive/plugin_title');
180
-
181
- /**
182
- * @since 4.0.9 - является устаревшим
183
- */
184
- $plugin_title = apply_filters('wbcr/factory/pages/impressive/plugin_title', $plugin_title, $this->plugin->getPluginName());
185
 
186
  return $plugin_title;
187
  }
@@ -244,22 +235,6 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
244
  WbcrFactoryClearfy000_Helpers::flushPageCache();
245
  }
246
 
247
- /**
248
- * @since 4.0.1 - является устаревшим
249
- */
250
- wbcr_factory_433_do_action_deprecated('wbcr_factory_433_imppage_flush_cache', [
251
- $this->plugin->getPluginName(),
252
- $this->getResultId()
253
- ], '4.0.1', 'wbcr_factory_433_imppage_after_form_save');
254
-
255
- /**
256
- * @since 4.0.9 - является устаревшим
257
- */
258
- wbcr_factory_433_do_action_deprecated('wbcr_factory_433_imppage_after_form_save', [
259
- $this->plugin,
260
- $this
261
- ], '4.0.9', 'wbcr/factory/pages/impressive/after_form_save');
262
-
263
  /**
264
  * @since 4.0.1 - добавлен
265
  * @since 4.0.9 - изменено название экшена, без привязки к версии фреймворка
@@ -271,10 +246,6 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
271
  $redirect_args = [
272
  $this->plugin->getPluginName() . '_saved' => 1
273
  ];
274
- /**
275
- * @since 4.0.9 - является устаревшим
276
- */
277
- $redirect_args = wbcr_factory_433_apply_filters_deprecated('wbcr_factory_433_imppage_after_form_save_redirect_args', [$redirect_args], '4.0.9', 'wbcr/factory/pages/impressive/save_redirect_args');
278
 
279
  /**
280
  * @since 4.0.1 - добавлен
@@ -292,7 +263,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
292
  protected function warningNotice()
293
  {
294
  /*if( WP_CACHE ) {
295
- $this->printWarningNotice(__("It seems that a caching/performance plugin is active on this site. Please manually invalidate that plugin's cache after making any changes to the settings below.", 'wbcr_factory_pages_432'));
296
  }*/
297
  // Метод предназначен для вызова в дочернем классе
298
  }
@@ -369,14 +340,6 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
369
  $this->warningNotice();
370
  $this->showActionsNotice();
371
 
372
- /**
373
- * @since 4.0.9 - является устаревшим
374
- */
375
- wbcr_factory_433_do_action_deprecated('wbcr_factory_pages_432_imppage_print_all_notices', [
376
- $this->plugin,
377
- $this
378
- ], '4.0.9', 'wbcr/factory/pages/impressive/print_all_notices');
379
-
380
  /**
381
  * @since 4.0.1 - добавлен
382
  * @since 4.0.9 - изменено имя
@@ -392,19 +355,10 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
392
  $this->plugin->getPluginName() . '_saved' => '1'
393
  ],
394
  'type' => 'success',
395
- 'message' => __('The settings have been updated successfully!', 'wbcr_factory_pages_432') . (WP_CACHE ? '<br>' . __("It seems that a caching/performance plugin is active on this site. Please manually invalidate that plugin's cache after making any changes to the settings below.", 'wbcr_factory_pages_432') : '')
396
  ]
397
  ];
398
 
399
- /**
400
- * @since 4.0.9 - является устаревшим
401
- */
402
- $notices = wbcr_factory_433_apply_filters_deprecated('wbcr_factory_pages_432_imppage_actions_notice', [
403
- $notices,
404
- $this->plugin,
405
- $this->id
406
- ], '4.0.9', 'wbcr/factory/pages/impressive/actions_notice');
407
-
408
  /**
409
  * @since 4.0.1 - добавлен
410
  * @since 4.0.9 - изменено имя
@@ -520,7 +474,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
520
  */
521
  protected function pageMenuSort($a, $b)
522
  {
523
- return $a['position'] < $b['position'];
524
  }
525
 
526
  protected function showPageMenu()
@@ -654,9 +608,9 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
654
  {
655
  ?>
656
  <style>
657
- .updated, .notice, .error {
658
- display: none !important;
659
- }
660
  </style>
661
  <div class="wbcr-factory-page-header">
662
  <div class="wbcr-factory-header-logo"><?= $this->getPluginTitle(); ?>
@@ -674,7 +628,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
674
  <?php if( $this->type == 'options' ): ?>
675
  <input name="<?= $this->plugin->getPluginName() ?>_save_action"
676
  class="wbcr-factory-button wbcr-factory-type-save" type="submit"
677
- value="<?php _e('Save', 'wbcr_factory_pages_432'); ?>">
678
  <?php wp_nonce_field('wbcr_factory_' . $this->getResultId() . '_save_action'); ?>
679
  <?php endif; ?>
680
  </div>
@@ -730,16 +684,6 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
730
  {
731
  $widgets = [];
732
 
733
- /**
734
- * @since 4.0.9 - является устаревшим
735
- */
736
- $widgets = wbcr_factory_433_apply_filters_deprecated('wbcr_factory_pages_432_imppage_get_widgets', [
737
- $widgets,
738
- $position,
739
- $this->plugin,
740
- $this
741
- ], '4.0.9', 'wbcr/factory/pages/impressive/widgets');
742
-
743
  /**
744
  * @since 4.0.1 - добавлен
745
  * @since 4.0.9 - изменено имя
@@ -751,12 +695,12 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
751
 
752
  protected function showOptions()
753
  {
754
- $form = new Wbcr_FactoryForms430_Form([
755
  'scope' => rtrim($this->plugin->getPrefix(), '_'),
756
  'name' => $this->getResultId() . "-options"
757
  ], $this->plugin);
758
 
759
- $form->setProvider(new Wbcr_FactoryForms430_OptionsValueProvider($this->plugin));
760
 
761
  $options = $this->getPageOptions();
762
 
@@ -796,19 +740,9 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
796
  check_admin_referer('wbcr_factory_' . $this->getResultId() . '_save_action');
797
 
798
  if( !current_user_can('administrator') && !current_user_can($this->capabilitiy) ) {
799
- wp_die(__('You do not have permission to edit page.', 'wbcr_factory_pages_432'));
800
- exit;
801
  }
802
 
803
- /**
804
- * @since 4.0.9 - является устаревшим
805
- */
806
- wbcr_factory_433_do_action_deprecated('wbcr_factory_433_imppage_before_form_save', [
807
- $form,
808
- $this->plugin,
809
- $this
810
- ], '4.0.9', 'wbcr/factory/pages/impressive/before_form_save');
811
-
812
  /**
813
  * @since 4.0.1 - добавлен
814
  * @since 4.0.9 - изменено имя
@@ -819,15 +753,6 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
819
 
820
  $form->save();
821
 
822
- /**
823
- * @since 4.0.9 - является устаревшим
824
- */
825
- wbcr_factory_433_do_action_deprecated('wbcr_factory_433_imppage_form_saved', [
826
- $form,
827
- $this->plugin,
828
- $this
829
- ], '4.0.9', 'wbcr/factory/pages/impressive/form_saved');
830
-
831
  /**
832
  * @since 4.0.1 - добавлен
833
  * @since 4.0.9 - изменено имя
@@ -843,7 +768,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
843
 
844
  ?>
845
  <div id="WBCR" class="wrap">
846
- <div class="wbcr-factory-pages-432-impressive-page-template factory-bootstrap-433 factory-fontawesome-000">
847
  <div class="wbcr-factory-options wbcr-factory-options-<?= esc_attr($this->id) ?>">
848
  <div class="wbcr-factory-left-navigation-bar">
849
  <?php $this->showPageMenu() ?>
@@ -890,7 +815,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
890
  protected function showPage($content = null)
891
  { ?>
892
  <div id="WBCR" class="wrap">
893
- <div class="wbcr-factory-pages-432-impressive-page-template factory-bootstrap-433 factory-fontawesome-000">
894
  <div class="wbcr-factory-page wbcr-factory-page-<?= $this->id ?>">
895
  <?php $this->showHeader(); ?>
896
  <div class="wbcr-factory-left-navigation-bar">
@@ -957,7 +882,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
957
  {
958
  ?>
959
  <div id="WBCR" class="wrap">
960
- <div class="wbcr-factory-pages-432-impressive-page-template factory-bootstrap-433 factory-fontawesome-000">
961
  <div id="wbcr-factory-confirm-dialog">
962
  <h2><?php echo $data['title'] ?></h2>
963
  <p class="wbcr-factory-confirm-description"><?php echo $data['description'] ?></p>
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryPages443_ImpressiveThemplate') ) {
18
  /**
19
+ * Class Wbcr_FactoryPages443_ImpressiveThemplate
20
  */
21
+ abstract class Wbcr_FactoryPages443_ImpressiveThemplate extends Wbcr_FactoryPages443_AdminPage {
22
 
23
  /**
24
  * Тип страницы:
112
  public $page_menu = [];
113
 
114
  /**
115
+ * @param Wbcr_Factory444_Plugin $plugin
116
  */
117
+ public function __construct(Wbcr_Factory444_Plugin $plugin)
118
  {
119
+ $this->menuIcon = FACTORY_PAGES_443_URL . '/templates/assets/img/webcraftic-plugin-icon.png';
120
+ //$allow_multisite = apply_filters('wbcr_factory_444_core_admin_allow_multisite', false);
121
 
122
  if( is_multisite() && $this->available_for_multisite && $plugin->isNetworkActive() ) {
123
  $this->network = true;
127
 
128
  parent::__construct($plugin);
129
 
130
+ $this->title_plugin_action_link = __('Settings', 'wbcr_factory_pages_443');
131
 
132
  $this->setPageMenu();
133
  }
137
  *
138
  * @return void
139
  * @since 1.0.0
140
+ * @see FactoryPages443_AdminPage
141
  *
142
  */
143
  public function assets($scripts, $styles)
159
  'control.checkbox'
160
  ], 'bootstrap');
161
 
162
+ $this->styles->add(FACTORY_PAGES_443_URL . '/templates/assets/css/impressive.page.template.css');
163
  }
164
 
165
  /**
170
  public function getPluginTitle()
171
  {
172
  /**
 
173
  * @since 4.0.9 - является устаревшим
174
  */
175
+ $plugin_title = apply_filters('wbcr/factory/pages/impressive/plugin_title', $this->plugin->getPluginTitle(), $this->plugin->getPluginName());
 
 
 
 
 
 
 
 
176
 
177
  return $plugin_title;
178
  }
235
  WbcrFactoryClearfy000_Helpers::flushPageCache();
236
  }
237
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
238
  /**
239
  * @since 4.0.1 - добавлен
240
  * @since 4.0.9 - изменено название экшена, без привязки к версии фреймворка
246
  $redirect_args = [
247
  $this->plugin->getPluginName() . '_saved' => 1
248
  ];
 
 
 
 
249
 
250
  /**
251
  * @since 4.0.1 - добавлен
263
  protected function warningNotice()
264
  {
265
  /*if( WP_CACHE ) {
266
+ $this->printWarningNotice(__("It seems that a caching/performance plugin is active on this site. Please manually invalidate that plugin's cache after making any changes to the settings below.", 'wbcr_factory_pages_443'));
267
  }*/
268
  // Метод предназначен для вызова в дочернем классе
269
  }
340
  $this->warningNotice();
341
  $this->showActionsNotice();
342
 
 
 
 
 
 
 
 
 
343
  /**
344
  * @since 4.0.1 - добавлен
345
  * @since 4.0.9 - изменено имя
355
  $this->plugin->getPluginName() . '_saved' => '1'
356
  ],
357
  'type' => 'success',
358
+ 'message' => __('The settings have been updated successfully!', 'wbcr_factory_pages_443') . (WP_CACHE ? '<br>' . __("It seems that a caching/performance plugin is active on this site. Please manually invalidate that plugin's cache after making any changes to the settings below.", 'wbcr_factory_pages_443') : '')
359
  ]
360
  ];
361
 
 
 
 
 
 
 
 
 
 
362
  /**
363
  * @since 4.0.1 - добавлен
364
  * @since 4.0.9 - изменено имя
474
  */
475
  protected function pageMenuSort($a, $b)
476
  {
477
+ return $b['position'] <=> $a['position'];
478
  }
479
 
480
  protected function showPageMenu()
608
  {
609
  ?>
610
  <style>
611
+ .updated, .notice, .error {
612
+ display: none !important;
613
+ }
614
  </style>
615
  <div class="wbcr-factory-page-header">
616
  <div class="wbcr-factory-header-logo"><?= $this->getPluginTitle(); ?>
628
  <?php if( $this->type == 'options' ): ?>
629
  <input name="<?= $this->plugin->getPluginName() ?>_save_action"
630
  class="wbcr-factory-button wbcr-factory-type-save" type="submit"
631
+ value="<?php _e('Save', 'wbcr_factory_pages_443'); ?>">
632
  <?php wp_nonce_field('wbcr_factory_' . $this->getResultId() . '_save_action'); ?>
633
  <?php endif; ?>
634
  </div>
684
  {
685
  $widgets = [];
686
 
 
 
 
 
 
 
 
 
 
 
687
  /**
688
  * @since 4.0.1 - добавлен
689
  * @since 4.0.9 - изменено имя
695
 
696
  protected function showOptions()
697
  {
698
+ $form = new Wbcr_FactoryForms441_Form([
699
  'scope' => rtrim($this->plugin->getPrefix(), '_'),
700
  'name' => $this->getResultId() . "-options"
701
  ], $this->plugin);
702
 
703
+ $form->setProvider(new Wbcr_FactoryForms441_OptionsValueProvider($this->plugin));
704
 
705
  $options = $this->getPageOptions();
706
 
740
  check_admin_referer('wbcr_factory_' . $this->getResultId() . '_save_action');
741
 
742
  if( !current_user_can('administrator') && !current_user_can($this->capabilitiy) ) {
743
+ wp_die(__('You do not have permission to edit page.', 'wbcr_factory_pages_443'));
 
744
  }
745
 
 
 
 
 
 
 
 
 
 
746
  /**
747
  * @since 4.0.1 - добавлен
748
  * @since 4.0.9 - изменено имя
753
 
754
  $form->save();
755
 
 
 
 
 
 
 
 
 
 
756
  /**
757
  * @since 4.0.1 - добавлен
758
  * @since 4.0.9 - изменено имя
768
 
769
  ?>
770
  <div id="WBCR" class="wrap">
771
+ <div class="wbcr-factory-pages-443-impressive-page-template factory-bootstrap-444 factory-fontawesome-000">
772
  <div class="wbcr-factory-options wbcr-factory-options-<?= esc_attr($this->id) ?>">
773
  <div class="wbcr-factory-left-navigation-bar">
774
  <?php $this->showPageMenu() ?>
815
  protected function showPage($content = null)
816
  { ?>
817
  <div id="WBCR" class="wrap">
818
+ <div class="wbcr-factory-pages-443-impressive-page-template factory-bootstrap-444 factory-fontawesome-000">
819
  <div class="wbcr-factory-page wbcr-factory-page-<?= $this->id ?>">
820
  <?php $this->showHeader(); ?>
821
  <div class="wbcr-factory-left-navigation-bar">
882
  {
883
  ?>
884
  <div id="WBCR" class="wrap">
885
+ <div class="wbcr-factory-pages-443-impressive-page-template factory-bootstrap-444 factory-fontawesome-000">
886
  <div id="wbcr-factory-confirm-dialog">
887
  <h2><?php echo $data['title'] ?></h2>
888
  <p class="wbcr-factory-confirm-description"><?php echo $data['description'] ?></p>
migrations/030600.php CHANGED
@@ -3,7 +3,7 @@
3
  /**
4
  * Обновление параметра для редиректа на страницу About после обновления плагина
5
  */
6
- class WAPTUpdate030600 extends Wbcr_Factory433_Update {
7
 
8
  public function install() {
9
  if ( is_multisite() && $this->plugin->isNetworkActive() ) {
3
  /**
4
  * Обновление параметра для редиректа на страницу About после обновления плагина
5
  */
6
+ class WAPTUpdate030600 extends Wbcr_Factory444_Update {
7
 
8
  public function install() {
9
  if ( is_multisite() && $this->plugin->isNetworkActive() ) {
migrations/030700.php CHANGED
@@ -3,7 +3,7 @@
3
  /**
4
  * Добавление новых опций в базу данных
5
  */
6
- class WAPTUpdate030700 extends Wbcr_Factory433_Update {
7
 
8
  public function install() {
9
  if ( is_multisite() && $this->plugin->isNetworkActive() ) {
3
  /**
4
  * Добавление новых опций в базу данных
5
  */
6
+ class WAPTUpdate030700 extends Wbcr_Factory444_Update {
7
 
8
  public function install() {
9
  if ( is_multisite() && $this->plugin->isNetworkActive() ) {
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
  === Auto Featured Image (Auto Post Thumbnail) ===
2
  Contributors: creativemotion
3
  Tags: post thumbnails, featured image, elementor, thumbnails, featured image from title
4
- Requires at least: 4.2
5
  Tested up to: 5.6
6
- Requires PHP: 5.6
7
  Stable tag: trunk
8
  License: GPLv2
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
@@ -84,7 +84,7 @@ TRANSLATIONS:
84
  <li>French (France) — @btpub</li>
85
  <li>Swedish — @elbogen</li>
86
  </ul>
87
- <p>We are very need for your help with <a href="https://translate.wordpress.org/projects/wp-plugins/auto-post-thumbnail//" rel="nofollow ugc">translating the
88
  Auto Featured Image plugin</a> into your native language. We want to make it international and understandable for everyone. Please contact us via email inside the plugin, or create a topic on our <a href="https://wordpress.org/support/plugin/auto-post-thumbnail/">support forum</a> if you can help with the translations. In exchange for your help, we will give you better support and our premium plugins absolutely free!</p>
89
  https://cm-wp.com/apt/
90
 
@@ -112,6 +112,12 @@ This section describes how to install the plugin and get it working.
112
 
113
  == Changelog ==
114
 
 
 
 
 
 
 
115
  = 3.7.6 =
116
  * Fixed: Selecting a date on the mass generation page
117
 
1
  === Auto Featured Image (Auto Post Thumbnail) ===
2
  Contributors: creativemotion
3
  Tags: post thumbnails, featured image, elementor, thumbnails, featured image from title
4
+ Requires at least: 4.8
5
  Tested up to: 5.6
6
+ Requires PHP: 7.0
7
  Stable tag: trunk
8
  License: GPLv2
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
84
  <li>French (France) — @btpub</li>
85
  <li>Swedish — @elbogen</li>
86
  </ul>
87
+ <p>We are very need for your help with <a href="https://translate.wordpress.org/projects/wp-plugins/auto-post-thumbnail//" rel="nofollow ugc">translating the
88
  Auto Featured Image plugin</a> into your native language. We want to make it international and understandable for everyone. Please contact us via email inside the plugin, or create a topic on our <a href="https://wordpress.org/support/plugin/auto-post-thumbnail/">support forum</a> if you can help with the translations. In exchange for your help, we will give you better support and our premium plugins absolutely free!</p>
89
  https://cm-wp.com/apt/
90
 
112
 
113
  == Changelog ==
114
 
115
+ = 3.7.7 =
116
+ * Fixed: Encoding issues. [Solution](https://wordpress.org/support/topic/not-working-with-cyrillic-titles) by @bibliata
117
+ * Fixed: Uppercase issue (agréable > AGRéABLE) strtoupper() -> mb_strtoupper()
118
+ * Raised the minimum version of PHP -> 7.0
119
+ * Other minor fixes
120
+
121
  = 3.7.6 =
122
  * Fixed: Selecting a date on the mass generation page
123