diff --git a/.env.development b/.env.development
index 6bffb490..358cde95 100644
--- a/.env.development
+++ b/.env.development
@@ -1,7 +1,7 @@
-#VITE_BASE_URL=http://dev.ccwin-in.com:25300/api/admin-api
-#VITE_BASE_URL_IMAGE=http://dev.ccwin-in.com:25300/api/admin-api
+VITE_BASE_URL=http://dev.ccwin-in.com:25300/api/admin-api
+VITE_BASE_URL_IMAGE=http://dev.ccwin-in.com:25300/api/admin-api
 
-VITE_BASE_URL=http://172.21.32.13:81/api/admin-api
VITE_BASE_URL_IMAGE=http://172.21.32.13:81/admin-api
+#VITE_BASE_URL=http://172.21.32.13:81/api/admin-api
#VITE_BASE_URL_IMAGE=http://172.21.32.13:81/admin-api
 
# 租户配置
VITE_TENANT='[{"text":"长春","value":1},{"text":"成都","value":2}]'
 
 # 是否是测试环境
diff --git a/src/mycomponents/package/packageRecordCard.vue b/src/mycomponents/package/packageRecordCard.vue
index cd166b2e..7c7a4c8f 100644
--- a/src/mycomponents/package/packageRecordCard.vue
+++ b/src/mycomponents/package/packageRecordCard.vue
@@ -64,6 +64,11 @@
 				type: Object,
 				default: {}
 			},
+			isShowStdPack:{
+				type: Boolean,
+				default: true
+			},
+			
 			isShowContainer: {
 				type: Boolean,
 				default: true
diff --git a/src/mycomponents/scan/winScanLocation.vue b/src/mycomponents/scan/winScanLocation.vue
index 24f8dfc8..24515c2e 100644
--- a/src/mycomponents/scan/winScanLocation.vue
+++ b/src/mycomponents/scan/winScanLocation.vue
@@ -12,7 +12,7 @@
 			</view>
 			<view class="">
 				<view class="">
-					<win-com-scan ref="scan"  @getResult="getScanResult" :placeholder='title' :clearResult="false"
+					<win-com-scan ref="scan"  @getResult="getScanResult" :placeholder='title' :clearResult="true"
 						:boxFocus="true" :isShowHistory="isShowHistory" headerType="">
 					</win-com-scan>
 				</view>
diff --git a/src/pages.json b/src/pages.json
index 9900c2ab..4915d014 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -646,6 +646,16 @@
 				}
 			}
 		},
+		{
+			"path": "pages/repleinsh/record/directRepleinshRecord",
+			"style": {
+				"navigationBarTitleText": "直接补料",
+				"enablePullDownRefresh": true,
+				"titleNView": {
+					"autoBackButton": "true"
+				}
+			}
+		},
 		{
 			"path": "pages/productionReturn/request/returnRequestCreate",
 			"style": {
diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue
index 867d449d..10bc33c0 100644
--- a/src/pages/index/index.vue
+++ b/src/pages/index/index.vue
@@ -366,7 +366,7 @@
 					console.log("包装规格获取失败", res)
 				})
 				
-				var switchCode="FgPutawayLocationCodeValidate,SemiPutawayLocationCodeValidate,PurchasePutawayToLocationCodeValidate,IssueToLocationCodeValidate";
+				var switchCode="FgPutawayLocationCodeValidate,SemiPutawayLocationCodeValidate,PurchasePutawayToLocationCodeValidate,IssueToLocationCodeValidate,fgProductReceipCommitValidate";
 
 				getSwitchByCode(switchCode).then(res=>{
 					uni.setStorageSync("switch", res.data)
diff --git a/src/pages/issue/record/directIssue.vue b/src/pages/issue/record/directIssue.vue
index d006d931..4d552454 100644
--- a/src/pages/issue/record/directIssue.vue
+++ b/src/pages/issue/record/directIssue.vue
@@ -388,7 +388,7 @@
 						issueRecordSubmit(params).then(res => {
 							uni.hideLoading()
 							if (res.data) {
-								this.showCommitSuccessMessage("提交成功<br>生成采购上架记录<br>" + res.data)
+								this.showCommitSuccessMessage("提交成功<br>生成直接发料记录<br>" + res.data)
 							} else {
 								this.showErrorMessage("提交失败[" + res.msg + "]")
 							}
diff --git a/src/pages/productReceipt/job/fgProductReceiptDetail.vue b/src/pages/productReceipt/job/fgProductReceiptDetail.vue
index 104d5ae4..962054c7 100644
--- a/src/pages/productReceipt/job/fgProductReceiptDetail.vue
+++ b/src/pages/productReceipt/job/fgProductReceiptDetail.vue
@@ -84,6 +84,7 @@
 		goHome,
 		navigateBack,
 		getPackingNumberAndBatch,
+		getSwitchInfoByCode
 	} from '@/common/basic.js';
 
 	import {
@@ -219,7 +220,7 @@
 							that.jobContent = res.data;
 							that.subList = res.data.subList;
 							that.jobStatus = res.data.status
-							that.jobToLocationCode = that.subList[0].toLocationCode
+							that.jobToLocationCode = that.subList[0].toLocationCode
 							if(that.jobContent.allowModifyLocation=='FALSE'){
 								that.toLocationCode = that.subList[0].toLocationCode
 							}
@@ -429,21 +430,27 @@
 				if (!this.checkLocation()) {
 					return
 				}
+				var valiDate =getSwitchInfoByCode("fgProductReceipCommitValidate")
 				this.detailSource.forEach(item => {
 					item.subList.forEach(subitem => {
-						if (subitem.handleQty == undefined) {
-							this.showMessage("还没扫码成品不能提交")
-						} else {
-							if (subitem.handleQty != subitem.packQty) {
-								this.showQuestionMessage('制品数量不等于包装数量,是否继续提交?', res => {
-									if (res) {
-										this.submitJob();
-									}
-								});
+						if(valiDate){
+							if (subitem.handleQty == undefined) {
+								this.showMessage("还没扫码成品不能提交")
 							} else {
-								this.submitJob();
+								if (subitem.handleQty != subitem.packQty) {
+									this.showQuestionMessage('制品数量不等于包装数量,是否继续提交?', res => {
+										if (res) {
+											this.submitJob();
+										}
+									});
+								} else {
+									this.submitJob();
+								}
 							}
+						}else {
+							this.submitJob();
 						}
+						
 					})
 				})
 			},
diff --git a/src/pages/productReceipt/job/productReceiptJob.vue b/src/pages/productReceipt/job/productReceiptJob.vue
index 381b406b..40aa4911 100644
--- a/src/pages/productReceipt/job/productReceiptJob.vue
+++ b/src/pages/productReceipt/job/productReceiptJob.vue
@@ -21,7 +21,7 @@
 
 			<uni-load-more :status="loadingType" v-if="jobList.length>0" />
 			<win-scan-button @goScan='openScanPopup' v-if="jobList.length>0"></win-scan-button>
-			<winScanPackJob ref="scanPopup" @getResult='getScanResult' :allowNullBalance="true"></winScanPackJob>
+			<winScanPackJob ref="scanPopup" @getResult='getScanResult' ></winScanPackJob>
 			<jobList ref="jobList" @selectItem="selectItem"></jobList>
 			<comMessage ref="comMessage"></comMessage>
 		</view>
diff --git a/src/pages/repleinsh/record/directRepleinshRecord.vue b/src/pages/repleinsh/record/directRepleinshRecord.vue
new file mode 100644
index 00000000..a18eec6b
--- /dev/null
+++ b/src/pages/repleinsh/record/directRepleinshRecord.vue
@@ -0,0 +1,551 @@
+<template>
+	<view class="page-wraper">
+		<view class="">
+			<com-blank-view @goScan='showFromLocationPopup' v-if="detailSource.length==0"></com-blank-view>
+		</view>
+		<view class="page-wraper" v-if="detailSource.length>0">
+			<view class="page-header">
+				<view class="header_item">
+					来源库位 : {{fromLocationCode}}
+				</view>
+				<view class='split_line'></view>
+			</view>
+			<view class="page-main">
+				<scroll-view scroll-y="true" class="page-main-scroll">
+					<view class="detail-list" v-for="(item, index) in detailSource" :key="item.id">
+						<view class="">
+							<recordDetailCard :dataContent="item" :index="index" :settingParam="dataContent"
+								:isShowFromLocation="false" @removeItem="removeItem(index,item)"
+								@updateData="updateData" @removePack="removePack">
+							</recordDetailCard>
+						</view>
+					</view>
+				</scroll-view>
+			</view>
+			<view class="page-footer">
+				<view class="uni-flex u-col-center space-between padding_10"
+					style="background-color:ghostwhite; width: 100%; ">
+					<view class="uni-row uni-flex">
+						<text>生产线:</text>
+						<view class="uni-flex u-col-center uni-row" @click="showSelect">
+							<view class="" style="margin-left: 20rpx;">
+								{{positionInfo}}
+							</view>
+							<u-select v-model="show" mode="mutil-column-auto" :list="positionList"
+								@confirm="confirmSelect"></u-select>
+						</view>
+					</view>
+					<view class=" uni-flex uni-row">
+						<button class="btn_single_commit" hover-class="btn_commit_after" @click="commit">提交</button>
+					</view>
+				</view>
+			</view>
+			<win-scan-button @goScan='openScanPopup'></win-scan-button>
+		</view>
+		<win-scan-pack-and-location ref="scanPopup" @getResult='getScanResult' :allowModifyLocation='false'>
+		</win-scan-pack-and-location>
+		<comMessage ref="comMessage"></comMessage>
+		<win-scan-location ref="scanLocationCode" title="来源库位" @getLocation='getLocation'
+			:locationAreaTypeList="fromLocationAreaTypeList"></win-scan-location>
+	</view>
+</template>
+
+<script>
+	import {
+		repleinshRecordSubmit,
+		getWorkShopLineStation,
+	} from '@/api/request2.js';
+
+	import {
+		goHome,
+		getPackingNumberAndBatchByList,
+		deepCopyData
+	} from '@/common/basic.js';
+
+	import {
+		calc
+	} from '@/common/calc.js';
+
+	import {
+		getInventoryStatusDesc,
+		getDirectoryItemArray
+	} from '@/common/directory.js';
+
+	import {
+		getBusinessType,
+		createItemInfo,
+		createDetailInfo,
+		calcTreeHandleQty
+	} from '@/common/record.js';
+
+	import {
+		getManagementPrecisions,
+		getPrecisionStrategyList,
+		getPrecisionStrategyParams
+	} from '@/common/balance.js';
+
+	import winScanButton from '@/mycomponents/scan/winScanButton.vue'
+	import winScanPack from '@/mycomponents/scan/winScanPack.vue'
+	import requiredLocation from '@/mycomponents/location/requiredLocation.vue'
+	import comBlankView from '@/mycomponents/common/comBlankView.vue'
+	import winScanLocation from "@/mycomponents/scan/winScanLocation.vue"
+	import winScanPackAndLocation from "@/mycomponents/scan/winScanPackAndLocation.vue"
+	import recordComDetailCard from '@/mycomponents/record/recordComDetailCard.vue'
+	import recordDetailCard from '@/mycomponents/record/recordDetailCard.vue'
+
+	export default {
+		components: {
+			winScanButton,
+			winScanPack,
+			requiredLocation,
+			comBlankView,
+			winScanLocation,
+			winScanPackAndLocation,
+			recordComDetailCard,
+			recordDetailCard
+		},
+		data() {
+			return {
+				id: '',
+				dataContent: {}, //内容
+				detailSource: [], //绑定在页面上的数据源
+				fromLocationInfo: {},
+				fromLocationCode: "",
+				fromLocationAreaTypeList: [],
+				toLocationAreaTypeList: [],
+				inInventoryStatus: "", //目标入库库存状态
+				outInventoryStatus: "", //来源出库库存状态
+				businessType: {},
+				showToLoaction: true,
+				recommendLocationList: [], //推荐库位列表
+				fromWarehouseCode: '', //来源仓库
+				businessTypeCode: "Repleinment",
+				positionList: [],
+				show: false,
+				positionInfo: "请选择生产线"
+			};
+		},
+		onLoad(option) {
+			this.clearData();
+			getBusinessType(this.businessTypeCode, res => {
+				if (res.success) {
+					this.businessType = res.businessType;
+					this.fromLocationAreaTypeList = res.fromLocationAreaTypeList;
+					this.toLocationAreaTypeList = res.toLocationAreaTypeList;
+					this.showFromLocationPopup();
+				} else {
+					this.showErrorMessage(res.message)
+				}
+			});
+
+			// if (this.positionList.length == 0) {
+			getWorkShopLineStation().then(res => {
+				if (res.data != null && res.data.length > 0) {
+					this.positionList = res.data
+				} else {
+					this.showErrorMessage('未查找到位置信息');
+				}
+
+			}).catch(error => {
+				this.showErrorMessage(error);
+			})
+			// }
+
+		},
+		//返回首页
+		onNavigationBarButtonTap(e) {
+			if (e.index === 0) {
+				goHome();
+			}
+		},
+		//拦截返回按钮事件
+		onBackPress(e) {},
+
+		onPullDownRefresh() {},
+
+		mounted() {},
+
+		methods: {
+			getScanResult(result) {
+				let balance = result.balance;
+				let label = result.label;
+				let pack = result.package;
+				var item = this.detailSource.find(res => {
+					if (res.itemCode == balance.itemCode) {
+						return res
+					}
+				})
+				if (this.fromWarehouseCode == '') {
+					this.fromWarehouseCode = balance.warehouseCode;
+				}
+				if (item == undefined) {
+					// 获取推荐库位
+					// this.getRecommendLocation(balance, pack, toLocation => {
+						var itemp = createItemInfo(balance, pack);
+						let newDetail = createDetailInfo(balance, pack); //
+						// newDetail.toLocationCode = toLocation.code;
+						// newDetail.toWarehouseCode = toLocation.warehouseCode;
+						itemp.subList.push(newDetail);
+						var dataList = pack.subList
+						this.detailSource.push(itemp)
+						this.detailSource.forEach(res => {
+							res.subList.forEach(pack => {
+								pack.packList = dataList.filter(c => c.parentNumber == pack
+									.packingNumber)
+								pack.packList.forEach(pac => {
+									pac.parentPackingNumber = pac.parentNumber;
+									pac.packingNumber = pac.number;
+									pac.inventoryStatus = "OK";
+									pac.scaned = true;
+								})
+							})
+						})
+					// })
+
+				} else {
+					var itemDetail = item.subList.find(r => r.packingNumber == balance.packingNumber && r.batch ==
+						balance.batch);
+					if (itemDetail != undefined) {
+						this.showErrorMessage("箱码[" + balance.packingNumber + "批次[" + balance.batch + "]已经在列表中")
+					}
+				}
+				// calcTreeHandleQty(this.detailSource);
+			},
+
+			//获取推荐库位
+			getRecommendLocation(balance, pack, callback) {
+				uni.showLoading({
+					title: '扫描中...',
+					mask: true
+				})
+				let recommend = this.recommendLocationList.find(r => r.itemCode == balance.itemCode);
+				if (recommend == undefined) {
+					let param = {
+						itemCode: balance.itemCode,
+						batch: balance.batch,
+						inventoryStatus: balance.inventoryStatus,
+						supplierCode: pack.supplierCode,
+						businessCode: this.businessTypeCode
+					};
+					console.log(JSON.stringify(param))
+					getPutawayRecommendLocation(param).then(res => {
+						this.recommendLocationList.push({
+							itemCode: balance.itemCode,
+							locationCode: res.data.code
+						})
+						callback(res.data);
+						uni.hideLoading();
+					}).catch(error => {
+						uni.hideLoading()
+						this.showErrorMessage(error);
+						uni.hideLoading();
+					})
+
+				} else {
+					callback(recommend);
+				}
+			},
+
+			showErrorMessage(message) {
+				this.$refs.comMessage.showErrorMessage(message, res => {
+					if (res) {}
+				});
+			},
+
+			calcTreeHandleQty() {
+				for (let item of this.detailSource) {
+					item.qty = 0;
+					for (let detail of item.subList) {
+						if (detail != undefined) {
+							item.qty = calc.add(item.qty, detail.qty)
+						}
+					}
+				}
+				this.$forceUpdate();
+			},
+
+			showSelect() {
+				// if (this.editPosition) {
+				this.show = true
+				// }
+			},
+
+			confirmSelect(e) {
+				this.positionInfo = e[0].label + "-" + e[1].label + "-" + e[2].label
+				console.log("位置", this.positionInfo)
+				this.workshopCode = e[0].value
+				this.productionLineCode = e[1].value
+				this.workStationCode = e[2].value
+				this.workShopName = e[0].label
+				this.productionLineName = e[1].label
+				this.workStationName = e[2].label
+
+				let shop = this.positionList.find(shop => shop.value == this.workshopCode);
+				if (shop != undefined && shop.children != undefined) {
+					let prodLine = shop.children.find(line => line.value == this.productionLineCode);
+					if (prodLine != undefined && prodLine.children != undefined) {
+						let station = prodLine.children.find(r => r.value == this.workStationCode);
+						if (station.rawLocationCode == '' && station.rawLocationCode == null) {
+							this.showErrorMessage(this.workStationName + "的原材料库位为空,请重新选择")
+							return;
+						} else {
+							this.rawLocationCode = station.rawLocationCode;
+							this.fgLocationCode = station.fgLocationCode;
+						}
+					} else {
+						this.showErrorMessage("生产线-工位基础信息维护错误")
+					}
+				} else {
+					this.showErrorMessage("车间-生产线基础信息维护错误")
+				}
+				
+				//赋值到库位代码
+				let toLocationCode = ''
+				this.positionList.forEach(item=>{
+					if(this.workshopCode == item.value){ // 车间
+						item.children.find(child=>{
+							if(this.productionLineCode==child.value){
+								toLocationCode = child.children.find(subChild=>this.workStationCode==subChild.value).rawLocationCode;
+							}
+						})
+					}
+				})
+				this.detailSource.forEach(item=>{
+					item.subList.forEach(detail => {
+						detail.toLocationCode = toLocationCode
+					})
+				})
+				
+			},
+
+
+
+			updateData() {
+				this.calcTreeHandleQty();
+			},
+
+			removeItem(index, item) {
+				this.detailSource.splice(index, 1)
+			},
+
+			removePack() {
+				for (var i = 0; i < this.detailSource.length; i++) {
+					var item = this.detailSource[i];
+					if (item.subList.length == 0) {
+						this.detailSource.splice(i, 1)
+					}
+				}
+				this.updateData();
+			},
+
+			openScanPopup() {
+				if (this.fromLocationCode == "") {
+					this.showFromLocationPopup();
+					return
+				}
+				this.$refs.scanPopup.openScanPopupForType(this.fromLocationCode, this.businessType);
+			},
+
+			showFromLocationPopup() {
+				this.$nextTick(() => {
+					this.$refs.scanLocationCode.openScanPopup();
+				})
+			},
+
+			closeScanPopup() {
+				if (this.$refs.scanPopup != undefined) {
+					this.$refs.scanPopup.closeScanPopup();
+				}
+			},
+
+			scanPopupGetFocus() {
+				if (this.$refs.scanPopup != undefined) {
+					this.$refs.scanPopup.getfocus();
+				}
+			},
+
+			commit() {
+				uni.showLoading({
+					title: "提交中....",
+					mask: true
+				});
+
+				//记录有目标库位,需要查询管理模式
+				let precisionStrategyParams = getPrecisionStrategyParams(this.detailSource);
+				//2:获取管理模式,封装参数
+				getPrecisionStrategyList(precisionStrategyParams, res => {
+					if (res.success) {
+						this.managementList = res.list;
+						var params = {...this.setRecordParams()}
+						console.log("提交参数", JSON.stringify(params));
+
+						repleinshRecordSubmit(params).then(res => {
+							uni.hideLoading()
+							if (res.data) {
+								this.showCommitSuccessMessage("提交成功<br>生成直接补料记录<br>" + res.data)
+							} else {
+								this.showErrorMessage("提交失败[" + res.msg + "]")
+							}
+						}).catch(error => {
+							uni.hideLoading()
+							this.showErrorMessage(error)
+						})
+					} else {
+						uni.hideLoading();
+						this.showErrorMessage(res.message);
+					}
+				});
+			},
+
+
+			getItemAndLocationRelations() {
+				var itemList = []
+				this.detailSource.forEach(item => {
+					item.subList.forEach(detail => {
+						if (detail.scaned) {
+							detail.toLocationCode = this.toLocationCode;
+							var filterResult = itemList.filter(res => {
+								if (res.itemCode == item.itemCode &&
+									res.locationCode == detail.toLocationCode &&
+									res.batch == detail.batch &&
+									res.inventoryStatus == detail.inventoryStatus) {
+									return res
+								}
+							})
+							//去掉重复元素
+							if (filterResult.length == 0) {
+								var result = {
+									itemCode: item.itemCode,
+									locationCode: detail.toLocationCode,
+									batch: detail.batch,
+									inventoryStatus: detail.inventoryStatus,
+								}
+								itemList.push(result)
+							}
+
+						}
+					})
+				})
+				return itemList;
+			},
+
+			setRecordParams() {
+				var subList = []
+				var creator = this.$store.state.user.id
+				this.detailSource.forEach(item => {
+					item.subList.forEach(detail => {
+						if (detail.scaned) {
+							var info = getPackingNumberAndBatchByList(this.managementList, detail.itemCode,
+								detail.packingNumber, detail.toLocationCode, detail.batch);
+							var submitItem = deepCopyData(detail)
+							submitItem.toPackingNumber = info.packingNumber;
+							submitItem.toBatch = info.batch;
+							submitItem.toContainerNumber = detail.containerNumber;
+
+							submitItem.fromPackingNumber = info.packingNumber;
+							submitItem.fromBatch = info.batch;
+							submitItem.fromContainerNumber = detail.containerNumber;
+
+							submitItem.fromLocationCode = detail.locationCode;
+							submitItem.toLocationCode = detail.toLocationCode;
+
+							// detail.toInventoryStatus = detail.inventoryStatus
+							// detail.toLocationCode = detail.toLocationCode
+							submitItem.qty = detail.handleQty;
+							submitItem.package = "";
+							submitItem.recordList = [{
+									toInventoryStatus:detail.inventoryStatus,
+									fromPackingNumber:info.packingNumber,
+									fromBatch:info.batch,
+									toPackingNumber:info.packingNumber,
+									toBatch:info.batch,
+									fromLocationCode:detail.locationCode,
+									toLocationCode:detail.toLocationCode,
+									handleQty:detail.handleQty
+								}
+							]
+							subList.push(submitItem)
+						}
+					})
+				})
+				if (subList.length > 0) {
+					this.dataContent.toWarehouseCode = subList[0].toWarehouseCode;
+				}
+				this.dataContent.subList = subList
+				this.dataContent.creator = creator;
+				this.dataContent.fromWarehouseCode = this.fromWarehouseCode;
+				return this.dataContent;
+			},
+
+			showMessage(message) {
+				this.$refs.comMessage.showMessage(message, res => {
+					if (res) {}
+				});
+			},
+			showErrorMessage(message) {
+				this.$refs.comMessage.showErrorMessage(message, res => {
+					if (res) {
+
+					}
+				});
+			},
+
+			showScanMessage(message) {
+				this.$refs.comMessage.showScanMessage(message);
+			},
+
+			afterCloseMessage() {
+				this.scanPopupGetFocus();
+			},
+
+			closeScanMessage() {
+				this.scanPopupGetFocus();
+			},
+			getLocation(location, code) {
+				this.getFromLocationCode(location, code)
+			},
+			getFromLocationCode(location, code) {
+				this.fromLocationInfo = location;
+				this.fromLocationCode = code;
+				this.openScanPopup();
+			},
+			getToLocationCode(location, code) {
+				if (this.fromLocationCode == code) {
+					uni.showToast({
+						title: "来源库位[" + this.fromLocationCode + "]不能与目标库位[" + code + "]一致",
+						duration: 2000
+					})
+					return
+				}
+				this.toLocationCode = code;
+			},
+
+			showCommitSuccessMessage(hint) {
+				this.$refs.comMessage.showSuccessMessage(hint, res => {
+					this.clearData();
+				})
+			},
+
+			updateData() {
+				// this.calcTreeHandleQty();
+				for (var i = 0; i < this.detailSource.length; i++) {
+					let item = this.detailSource[i];
+					if (item.qty == 0) {
+						this.detailSource.splice(i, 1)
+					}
+				}
+			},
+
+			clearData() {
+				this.fromLocationInfo = {};
+				this.fromLocationCode = '';
+				this.fromWarehouseCode = '';
+				this.toWarehouseCode = '';
+				this.detailSource = [];
+			}
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+</style>
\ No newline at end of file