iov-design 2.15.26 → 2.15.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/lib/alert.js +2 -2
  2. package/lib/aside.js +2 -2
  3. package/lib/autocomplete.js +2 -2
  4. package/lib/avatar.js +2 -2
  5. package/lib/backtop.js +2 -2
  6. package/lib/badge.js +2 -2
  7. package/lib/breadcrumb-item.js +2 -2
  8. package/lib/breadcrumb.js +2 -2
  9. package/lib/button-group.js +2 -2
  10. package/lib/button.js +2 -2
  11. package/lib/calendar.js +2 -2
  12. package/lib/card.js +2 -2
  13. package/lib/carousel-item.js +9 -9
  14. package/lib/carousel.js +2 -2
  15. package/lib/cascader-panel.js +4 -4
  16. package/lib/cascader.js +5 -6
  17. package/lib/checkbox-button.js +2 -2
  18. package/lib/checkbox-group.js +2 -2
  19. package/lib/checkbox.js +2 -2
  20. package/lib/col.js +2 -2
  21. package/lib/collapse-item.js +2 -2
  22. package/lib/collapse.js +2 -2
  23. package/lib/color-picker.js +9 -9
  24. package/lib/container.js +2 -2
  25. package/lib/date-picker.js +90 -69
  26. package/lib/descriptions-item.js +2 -2
  27. package/lib/descriptions.js +2 -2
  28. package/lib/dialog.js +2 -2
  29. package/lib/divider.js +2 -2
  30. package/lib/drawer.js +9 -9
  31. package/lib/dropdown-item.js +2 -2
  32. package/lib/dropdown-menu.js +2 -2
  33. package/lib/dropdown.js +9 -9
  34. package/lib/empty.js +21 -91
  35. package/lib/footer.js +2 -2
  36. package/lib/form-item.js +4 -4
  37. package/lib/form.js +2 -2
  38. package/lib/header.js +2 -2
  39. package/lib/icon.js +2 -2
  40. package/lib/image.js +2 -2
  41. package/lib/index.js +1 -1
  42. package/lib/infinite-scroll.js +2 -2
  43. package/lib/input-number.js +2 -2
  44. package/lib/input.js +19 -16
  45. package/lib/iov-design.common.js +51 -116
  46. package/lib/link.js +2 -2
  47. package/lib/loading.js +2 -2
  48. package/lib/main.js +2 -2
  49. package/lib/menu-item-group.js +2 -2
  50. package/lib/menu-item.js +64 -64
  51. package/lib/menu.js +2 -2
  52. package/lib/message-box.js +4 -4
  53. package/lib/message.js +2 -2
  54. package/lib/notification.js +2 -2
  55. package/lib/option-group.js +2 -2
  56. package/lib/option.js +2 -2
  57. package/lib/page-header.js +2 -2
  58. package/lib/pagination.js +6 -6
  59. package/lib/popconfirm.js +4 -4
  60. package/lib/popover.js +2 -2
  61. package/lib/progress.js +2 -2
  62. package/lib/radio-button.js +2 -2
  63. package/lib/radio-group.js +2 -2
  64. package/lib/radio.js +2 -2
  65. package/lib/rate.js +9 -9
  66. package/lib/result.js +2 -2
  67. package/lib/row.js +2 -2
  68. package/lib/scrollbar.js +2 -2
  69. package/lib/select.js +3 -3
  70. package/lib/skeleton-item.js +2 -2
  71. package/lib/skeleton.js +2 -2
  72. package/lib/slider.js +4 -4
  73. package/lib/spinner.js +2 -2
  74. package/lib/statistic.js +2 -2
  75. package/lib/step.js +2 -2
  76. package/lib/steps.js +9 -9
  77. package/lib/submenu.js +2 -2
  78. package/lib/switch.js +2 -2
  79. package/lib/tab-pane.js +2 -2
  80. package/lib/table-column.js +2 -2
  81. package/lib/table.js +10 -25
  82. package/lib/tabs.js +2 -2
  83. package/lib/tag.js +2 -2
  84. package/lib/theme-chalk/base.css +1 -1
  85. package/lib/theme-chalk/button.css +1 -1
  86. package/lib/theme-chalk/calendar.css +1 -1
  87. package/lib/theme-chalk/cascader-panel.css +1 -1
  88. package/lib/theme-chalk/cascader.css +1 -1
  89. package/lib/theme-chalk/dropdown.css +1 -1
  90. package/lib/theme-chalk/form.css +1 -1
  91. package/lib/theme-chalk/index.css +1 -1
  92. package/lib/theme-chalk/iovfont.css +1 -1
  93. package/lib/theme-chalk/message-box.css +1 -1
  94. package/lib/theme-chalk/pagination.css +1 -1
  95. package/lib/theme-chalk/radio.css +1 -1
  96. package/lib/theme-chalk/select.css +1 -1
  97. package/lib/theme-chalk/table-column.css +1 -1
  98. package/lib/theme-chalk/table.css +1 -1
  99. package/lib/theme-chalk/tag.css +1 -1
  100. package/lib/theme-chalk/transfer.css +1 -1
  101. package/lib/time-picker.js +2 -2
  102. package/lib/time-select.js +2 -2
  103. package/lib/timeline-item.js +2 -2
  104. package/lib/timeline.js +2 -2
  105. package/lib/tooltip.js +2 -2
  106. package/lib/transfer.js +2 -2
  107. package/lib/tree.js +2 -2
  108. package/lib/upload.js +2 -2
  109. package/package.json +1 -1
  110. package/packages/cascader/src/cascader.vue +1 -2
  111. package/packages/empty/src/index.vue +12 -17
  112. package/packages/input/src/input.vue +1 -1
  113. package/packages/select/src/select.vue +1 -1
  114. package/packages/table/src/table.vue +3 -10
  115. package/packages/theme-chalk/src/button.scss +1 -0
  116. package/packages/theme-chalk/src/cascader.scss +4 -3
  117. package/packages/theme-chalk/src/form.scss +5 -2
  118. package/packages/theme-chalk/src/iovfont.scss +3 -3
  119. package/packages/theme-chalk/src/radio.scss +1 -1
  120. package/packages/theme-chalk/src/select.scss +4 -0
  121. package/packages/theme-chalk/src/tag.scss +24 -12
  122. package/src/index.js +1 -1
  123. package/lib/0.7d92a25b.png +0 -0
  124. package/lib/1.196ad096.png +0 -0
  125. package/lib/2.904013cc.png +0 -0
  126. package/lib/4.93f6f3d7.png +0 -0
  127. package/lib/5.f35784ee.png +0 -0
  128. package/lib/6.1aa4ea30.png +0 -0
  129. package/lib/7.e69e68f0.png +0 -0
  130. package/lib/8.016d5815.png +0 -0
  131. package/lib/9.b1293c6e.png +0 -0
  132. package/lib/static/0.7d92a25.png +0 -0
  133. package/lib/static/1.196ad09.png +0 -0
  134. package/lib/static/2.904013c.png +0 -0
  135. package/lib/static/4.93f6f3d.png +0 -0
  136. package/lib/static/5.f35784e.png +0 -0
  137. package/lib/static/6.1aa4ea3.png +0 -0
  138. package/lib/static/7.e69e68f.png +0 -0
  139. package/lib/static/8.016d581.png +0 -0
  140. package/lib/static/9.b1293c6.png +0 -0
package/lib/upload.js CHANGED
@@ -82,7 +82,7 @@ module.exports =
82
82
  /******/
83
83
  /******/
84
84
  /******/ // Load entry module and return exports
85
- /******/ return __webpack_require__(__webpack_require__.s = 69);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 60);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -217,7 +217,7 @@ module.exports = require("iov-design/lib/mixins/locale");
217
217
 
218
218
  /***/ }),
219
219
 
220
- /***/ 69:
220
+ /***/ 60:
221
221
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
222
222
 
223
223
  "use strict";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iov-design",
3
- "version": "2.15.26",
3
+ "version": "2.15.28",
4
4
  "description": "A Component Library for Vue.js.",
5
5
  "main": "lib/iov-design.common.js",
6
6
  "files": [
@@ -643,7 +643,6 @@ export default {
643
643
 
644
644
  const tags = $el.querySelector('.el-cascader__tags');
645
645
  const groupPrefix = $el.querySelector('.el-input-group--prefix');
646
- const prefix = $el.querySelector('.el-input__prefix');
647
646
  const prefixLabel = $el.querySelector('.el-input-group__prefix-label');
648
647
  let suggestionPanelEl = null;
649
648
 
@@ -655,7 +654,7 @@ export default {
655
654
  if (tags) {
656
655
  const offsetHeight = Math.round(tags.getBoundingClientRect().height);
657
656
  const height = Math.max(offsetHeight + 4, inputInitialHeight) + 'px';
658
- const inputPaddingLeft = groupPrefix || prefix ? Math.round(window.getComputedStyle(inputInner).paddingLeft.replace(/px/, '')) : 0;
657
+ const inputPaddingLeft = Math.round(window.getComputedStyle(inputInner).paddingLeft.replace(/px/, '')) || 0;
659
658
  const prefixLabelWidth = prefixLabel && Math.round(prefixLabel.getBoundingClientRect().width) || 0;
660
659
  if (groupPrefix) {
661
660
  groupPrefix.style.height = height;
@@ -1,9 +1,9 @@
1
1
  <template>
2
2
  <div class="el-empty">
3
3
  <div class="el-empty__image" :style="imageStyle">
4
- <img v-if="image" :src="image" @load="onLoad" ondragstart="return false">
4
+ <img v-if="image" :src="image" ondragstart="return false">
5
5
  <slot v-else name="image">
6
- <img :src="img" @load="onLoad" ondragstart="return false">
6
+ <img :src="img" ondragstart="return false">
7
7
  </slot>
8
8
  </div>
9
9
  <div class="el-empty__description">
@@ -18,16 +18,16 @@
18
18
 
19
19
  <script>
20
20
  const IMG = {
21
- 0: require('./img/0.png'),
22
- 1: require('./img/1.png'),
23
- 2: require('./img/2.png'),
24
- 3: require('./img/4.png'),
25
- 4: require('./img/4.png'),
26
- 5: require('./img/5.png'),
27
- 6: require('./img/6.png'),
28
- 7: require('./img/7.png'),
29
- 8: require('./img/8.png'),
30
- 9: require('./img/9.png')
21
+ 0: '//prod-common-public.obs-helf.cucloud.cn/user/72f51000000000112154360', // require('./img/0.png'),
22
+ 1: '//prod-common-public.obs-helf.cucloud.cn/user/2c951000000000112154402', // require('./img/1.png'),
23
+ 2: '//prod-common-public.obs-helf.cucloud.cn/user/c3301000000000112154439', // require('./img/2.png'),
24
+ 3: '//prod-common-public.obs-helf.cucloud.cn/user/98171000000000112154450', // require('./img/4.png'),
25
+ 4: '//prod-common-public.obs-helf.cucloud.cn/user/ccae1000000000112154463', // require('./img/4.png'),
26
+ 5: '//prod-common-public.obs-helf.cucloud.cn/user/ae811000000000112154481', // require('./img/5.png'),
27
+ 6: '//prod-common-public.obs-helf.cucloud.cn/user/3b9f1000000000112154499', // require('./img/6.png'),
28
+ 7: '//prod-common-public.obs-helf.cucloud.cn/user/3bfc1000000000112154525', // require('./img/7.png'),
29
+ 8: '//prod-common-public.obs-helf.cucloud.cn/user/eb8b1000000000112154533', // require('./img/8.png'),
30
+ 9: '//prod-common-public.obs-helf.cucloud.cn/user/22061000000000112154548' // require('./img/9.png')
31
31
  };
32
32
  import { t } from 'iov-design/src/locale';
33
33
 
@@ -62,11 +62,6 @@ export default {
62
62
  img() {
63
63
  return IMG[this.type];
64
64
  }
65
- },
66
- methods: {
67
- onLoad() {
68
- this.$emit('loaded');
69
- }
70
65
  }
71
66
  };
72
67
  </script>
@@ -73,8 +73,8 @@
73
73
  {{ textLength }}/{{ upperLimit }}
74
74
  </span>
75
75
  </span>
76
+ <i class="el-input__icon" v-if="validateState && needStatusIcon" :class="['el-input__validateIcon', validateIcon]"></i>
76
77
  </span>
77
- <i class="el-input__icon" v-if="validateState" :class="['el-input__validateIcon', validateIcon]"></i>
78
78
  </span>
79
79
  </div>
80
80
  <!-- 后置元素 -->
@@ -129,7 +129,7 @@
129
129
  </el-scrollbar>
130
130
  <template v-if="emptyText && (!allowCreate || loading || (allowCreate && options.length === 0 ))">
131
131
  <slot name="empty" v-if="$slots.empty"></slot>
132
- <el-empty v-else :description="emptyText" :type="0" image-size="60"></el-empty>
132
+ <el-empty v-else :description="emptyText" :type="0" :image-size="60"></el-empty>
133
133
  </template>
134
134
  </el-select-menu>
135
135
  </transition>
@@ -53,7 +53,7 @@
53
53
  :style="emptyBlockStyle">
54
54
  <div class="el-table__empty-text" >
55
55
  <slot name="empty">
56
- <el-empty ref="emptyText" @loaded="onEmptyText" :description="emptyText || t('el.table.emptyText')" :type="1" :image-size="['medium','small','mini'].includes(size) ? 86 : 108"></el-empty>
56
+ <el-empty ref="emptyText" :description="emptyText || t('el.table.emptyText')" :type="1" :image-size="['small','mini'].includes(tableSize) ? 86 : 108"></el-empty>
57
57
  </slot>
58
58
  </div>
59
59
  </div>
@@ -504,12 +504,7 @@
504
504
 
505
505
  toggleAllSelection() {
506
506
  this.store.commit('toggleAllSelection');
507
- },
508
-
509
- onEmptyText() {
510
- this.emptyTextHeight = this.$refs.emptyText.$el.offsetHeight;
511
507
  }
512
-
513
508
  },
514
509
 
515
510
  computed: {
@@ -595,7 +590,7 @@
595
590
 
596
591
  emptyBlockStyle() {
597
592
  if (this.data && this.data.length) return null;
598
- let height = this.emptyTextHeight + 'px';
593
+ let height = ['small', 'mini'].includes(this.tableSize) ? '128px' : '150px';
599
594
  if (this.layout.appendHeight) {
600
595
  height = `calc(100% - ${this.layout.appendHeight}px)`;
601
596
  }
@@ -716,9 +711,7 @@
716
711
  },
717
712
  // 是否拥有多级表头
718
713
  isGroup: false,
719
- scrollPosition: 'left',
720
- // 暂无数据高度
721
- emptyTextHeight: 0
714
+ scrollPosition: 'left'
722
715
  };
723
716
  }
724
717
  };
@@ -20,6 +20,7 @@
20
20
  margin: 0;
21
21
  transition: all ease .3s;
22
22
  font-weight: $--button-font-weight;
23
+ font-family: inherit;
23
24
  @include utils-user-select(none);
24
25
  & + & {
25
26
  margin-left: 10px;
@@ -118,13 +118,14 @@
118
118
  text-align: left;
119
119
  box-sizing: border-box;
120
120
  z-index: 3;
121
- pointer-events: none;
121
+ align-items: center;
122
+ // pointer-events: none;
122
123
 
123
124
  .el-tag {
124
125
  display: inline-flex;
125
126
  align-items: center;
126
127
  max-width: 100%;
127
- margin: 2px 0 2px 6px;
128
+ margin: 2px 6px 2px 0;
128
129
  text-overflow: ellipsis;
129
130
  color: $--color-text-6;
130
131
  pointer-events: auto;
@@ -198,7 +199,7 @@
198
199
  flex: 1;
199
200
  height: 24px;
200
201
  min-width: 60px;
201
- margin: 2px 0 2px 12px;
202
+ margin: 2px 0;
202
203
  padding: 0;
203
204
  color: $--cascader-menu-font-color;
204
205
  border: none;
@@ -136,8 +136,11 @@
136
136
  @include pseudo('not(.is-no-asterisk)') {
137
137
  & > .el-form-item__label:before,
138
138
  & .el-form-item__label-wrap > .el-form-item__label:before {
139
- content: '*';
140
- color: $--color-danger-6;
139
+ content: '';
140
+ width: 8px;
141
+ height: 9px;
142
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAYlJREFUOE+lk79KA0EQxr+5pDB3EUEEG7HSJqiFERGj2YtJZWGhYPAZBK0sfAILKwWfQWIRECxNzF6IoBgElTRio5WFATF3WoQb2SPCaf4occuZ+X6z880u4Z+HOumrqVSfyvefnr62q+sIcITIK6Eu5UJXAFuIshIaUka7BVyAmQ3LmvkVUEsmB8O53LO/0Bai1ADM+eP+Ws+D90RCuK5bYOCemDMu82FvsVipCSEVIGxZ5tv8fEQjWmOiNAGjmqaZobMz6QE4GtUdw9gG0TKASKPbLYABlQbwAmC8Ea+AOavb9g6Vy07TFj5Mc8RlXmIgDWC6IbokIKMFAsc9+fyDf5y2a7SFyAJYBKBqTgwpV1oZ2RLgCLHBwB4TbSkRMe8SsKlLuf8T0gSwTXMKzCUCzkNSJj2ThcgxMAuimFEoXLUdwTMzHL5Tr1er1ydCpdKjB4jFht1g8AZAVa/VxpR5X5BvN3BMc4iZr4l5XbesI38nJx5fZaIDYp7ULeupJaCbj9nxM/0F+Am9YZgRY0EaYwAAAABJRU5ErkJggg==") no-repeat 0 -1px / 8px 8px;
143
+ display: inline-block;
141
144
  margin-right: 4px;
142
145
  }
143
146
  }
@@ -1,8 +1,8 @@
1
1
  @font-face {
2
2
  font-family: 'iovfont'; /* Project id 4466910 */
3
- src: url('//at.alicdn.com/t/c/font_4466910_g5asesa45u.woff2?t=1735024618979') format('woff2'),
4
- url('//at.alicdn.com/t/c/font_4466910_g5asesa45u.woff?t=1735024618979') format('woff'),
5
- url('//at.alicdn.com/t/c/font_4466910_g5asesa45u.ttf?t=1735024618979') format('truetype');
3
+ src: url('//at.alicdn.com/t/c/font_4466910_10l1o7mf8v2.woff2?t=1738981991512') format('woff2'),
4
+ url('//at.alicdn.com/t/c/font_4466910_10l1o7mf8v2.woff?t=1738981991512') format('woff'),
5
+ url('//at.alicdn.com/t/c/font_4466910_10l1o7mf8v2.ttf?t=1738981991512') format('truetype');
6
6
  }
7
7
 
8
8
  [class^="iov-icon-"], [class*=" iov-icon-"] {
@@ -75,7 +75,7 @@
75
75
  }
76
76
  }
77
77
  .el-radio__label {
78
- font-weight: 500;
78
+ font-weight: 600;
79
79
  font-size: 13px;
80
80
  line-height: 16px;
81
81
  color: $--color-text-6;
@@ -35,6 +35,10 @@
35
35
  .el-input {
36
36
  .el-input__suffix {
37
37
  right: 8px;
38
+ .el-input__validateIcon {
39
+ margin-left: 4px;
40
+ padding-right: 0;
41
+ }
38
42
  }
39
43
  & .el-select__caret {
40
44
  padding-right: 0;
@@ -190,15 +190,6 @@
190
190
  }
191
191
 
192
192
  @include b(tag) {
193
- @include genTheme($--color-primary-1, $--color-primary-2, $--color-primary-6, $--color-primary-7, $--color-primary-2);
194
- @include genThemeInfo($--color-fill-2, $--color-line-2, $--color-text-3, $--color-text-4, $--color-fill-2);
195
- @include genThemeSuccess($--color-success-1, $--color-success-2, $--color-success-6, $--color-success-7, $--color-success-1);
196
- @include genThemeWarning($--color-warning-1, $--color-warning-2, $--color-warning-6, $--color-warning-7, $--color-warning-1);
197
- @include genThemeDanger($--color-danger-1, $--color-danger-2, $--color-danger-6, $--color-danger-7, $--color-danger-1);
198
- @include genThemeGold($--color-gold-1, $--color-gold-2, $--color-gold-6, $--color-gold-7, $--color-gold-1);
199
- @include genThemeBlue($--color-blue-1, $--color-blue-2, $--color-blue-6, $--color-blue-7, $--color-blue-1);
200
- @include genThemePurple($--color-purple-1, $--color-purple-2, $--color-purple-6, $--color-purple-7, $--color-purple-1);
201
- @include genThemePink($--color-pink-1, $--color-pink-2, $--color-pink-6, $--color-pink-7, $--color-pink-1);
202
193
  display: inline-block;
203
194
  height: 32px;
204
195
  line-height: 32px;
@@ -211,6 +202,15 @@
211
202
  border-radius: $--tag-border-radius;
212
203
  box-sizing: border-box;
213
204
  white-space: nowrap;
205
+ @include genTheme($--color-primary-1, $--color-primary-2, $--color-primary-6, $--color-primary-7, $--color-primary-1);
206
+ @include genThemeInfo($--color-fill-2, $--color-line-2, $--color-text-3, $--color-text-4, $--color-fill-2);
207
+ @include genThemeSuccess($--color-success-1, $--color-success-2, $--color-success-6, $--color-success-7, $--color-success-1);
208
+ @include genThemeWarning($--color-warning-1, $--color-warning-2, $--color-warning-6, $--color-warning-7, $--color-warning-1);
209
+ @include genThemeDanger($--color-danger-1, $--color-danger-2, $--color-danger-6, $--color-danger-7, $--color-danger-1);
210
+ @include genThemeGold($--color-gold-1, $--color-gold-2, $--color-gold-6, $--color-gold-7, $--color-gold-1);
211
+ @include genThemeBlue($--color-blue-1, $--color-blue-2, $--color-blue-6, $--color-blue-7, $--color-blue-1);
212
+ @include genThemePurple($--color-purple-1, $--color-purple-2, $--color-purple-6, $--color-purple-7, $--color-purple-1);
213
+ @include genThemePink($--color-pink-1, $--color-pink-2, $--color-pink-6, $--color-pink-7, $--color-pink-1);
214
214
 
215
215
 
216
216
  @include when(dot) {
@@ -218,6 +218,9 @@
218
218
  background: none;
219
219
  border: 0 none;
220
220
  color: $--color-text-6;
221
+ font-size: 14px;
222
+ height: auto;
223
+ line-height: 1;
221
224
  .el-tag__text {
222
225
  display: flex;
223
226
  align-items: center;
@@ -288,7 +291,10 @@
288
291
  font-size: $--tag-font-size;
289
292
  height: 30px;
290
293
  border-radius: $--tag-border-radius;
291
- line-height: 28px;
294
+ line-height: 30px;
295
+ &.is-dot {
296
+ font-size: 14px;
297
+ }
292
298
 
293
299
  .el-tag-icon {
294
300
  font-size: 16px;
@@ -302,7 +308,10 @@
302
308
  font-size: $--tag-small-font-size;
303
309
  height: 26px;
304
310
  border-radius: 4px;
305
- line-height: 24px;
311
+ line-height: 26px;
312
+ &.is-dot {
313
+ font-size: 13px;
314
+ }
306
315
 
307
316
  .el-tag-icon {
308
317
  font-size: 12px;
@@ -317,7 +326,10 @@
317
326
  font-size: $--tag-small-font-size;
318
327
  height: 22px;
319
328
  border-radius: 4px;
320
- line-height: 20px;
329
+ line-height: 22px;
330
+ &.is-dot {
331
+ font-size: 12px;
332
+ }
321
333
 
322
334
  .el-tag-icon {
323
335
  font-size: 12px;
package/src/index.js CHANGED
@@ -212,7 +212,7 @@ if (typeof window !== 'undefined' && window.Vue) {
212
212
  }
213
213
 
214
214
  export default {
215
- version: '2.15.26',
215
+ version: '2.15.28',
216
216
  locale: locale.use,
217
217
  i18n: locale.i18n,
218
218
  install,
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file