method myform.resload()
{
   //this.btn1.caption = " textres( 143 )"
   //image = imageres(10)

}

method myform myform.compinit()
{

   this.width = 400
   this.height = 400
   //this.p_typeid = myform
   this.caption = "Gentee Forms Designer (Demo version 0.1)".ustr()
   //this.onresize = getid( "@m_resize", %{myform} )

   panleft = &newcomp( vPanel, (&this)->vcomp )
   uint xpanleft = panleft
   xpanleft as vPanel
   xpanleft.width = 203
   xpanleft.x = 0
   xpanleft.Border = $brdNone
   xpanleft.vertalign = $alvClient
   xpanleft.horzalign = $alhLeft//$ALIGN_VTOPBOTTOMOFF//$ALIGN_VCLIENT

   //uint xpanright = &newcomp( vPanel, this )//(&this)->vcomp )
   this.panright.owner = this
   uint xpanright as this.panright
   xpanright.x = xpanleft.x + xpanleft.width + 4
   xpanright.vertalign = $alvClient
   xpanright.horzalign = $alhLeftRight
   xpanright.right = 0
   xpanright.name = "right"

   uint t as newcomp( vTab, panleft->vcomp )->vTab
   t.y = 0
   t.height = 85
   t.horzalign = $alhClient
   t.vertalign = $alvTop
   /*uint tp as newcomp( vTabPage, t )->vTabPage
   tp.caption = "Controls"
   this.bt_arrow.owner = tp
   uint bt_bt as this.bt_arrow
   bt_bt.caption = " "
   bt_bt.btnstyle = $bsAsRadioBtn
   bt_bt.y =0
   bt_bt.x=0
   bt_bt.height = 20
   bt_bt.width = 65
   bt_bt.onclick.set( this, "bt_arrowc" )

   //bt_bt as newcomp( vBtn, panleft->vcomp )
   this.bt_btn.owner = tp
   bt_bt as this.bt_btn
   bt_bt.x=65
   bt_bt.y = 0
   bt_bt.height =20
   bt_bt.width =65
   bt_bt.caption = "Btn"
   bt_bt.onclick.set( this, "bt_btnc" )
   //this.bt_arrow.checked = 1
   bt_bt.btnstyle = $bsAsRadioBtn

   this.bt_panel.owner = tp
   bt_bt as this.bt_panel
   bt_bt.x=130
   bt_bt.y = 0
   bt_bt.height =20
   bt_bt.width =65
   bt_bt.caption = "Panel"
   bt_bt.onclick.set( this, "bt_panelc" )
   bt_bt.btnstyle = $bsAsRadioBtn

   this.bt_edit.owner = tp
   bt_bt as this.bt_edit
   bt_bt.x=0
   bt_bt.y = 20
   bt_bt.height =20
   bt_bt.width =65
   bt_bt.caption = "Edit"
   bt_bt.onclick.set( this, "bt_editc" )
   bt_bt.btnstyle = $bsAsRadioBtn

   uint h = 20
   uint y = 90
   bt_bt as newcomp( vBtn, panleft->vcomp )->vBtn
   bt_bt as vBtn
   bt_bt.y = y
   bt_bt.height =h
   bt_bt.caption = "Build"
   bt_bt.vertalign = $alvTop
   bt_bt.horzalign = $alhLeftRight
   bt_bt.x=10
   bt_bt.right =10
   bt_bt.onclick.set( this, "build" )//getid( "@build", %{myform} )

   y += h
   bt_bt as this.bsave
   bt_bt.owner = panleft->vcomp
   bt_bt.y = y
   bt_bt.height =h
   bt_bt.caption = "Save"
   bt_bt.vertalign = $alvTop
   bt_bt.horzalign = $alhLeftRight
   bt_bt.x=10
   bt_bt.right =10
   bt_bt.onclick.set( this, "save" )// =getid( "@save", %{myform} )

   y += h
   bt_bt as this.bopen
   bt_bt.owner = panleft->vcomp
   bt_bt.y = y
   bt_bt.height =h
   bt_bt.caption = "New"
   bt_bt.vertalign = $alvTop
   bt_bt.horzalign = $alhLeftRight
   bt_bt.x=10
   bt_bt.right =10
   bt_bt.onclick.set( this, "new" )// =getid( "@open", %{myform} )

   y += h
   bt_bt as this.babout
   bt_bt.owner = panleft->vcomp
   bt_bt.y = y
   bt_bt.height =h
   bt_bt.caption = "About"
   bt_bt.vertalign = $alvTop
   bt_bt.horzalign = $alhLeftRight
   bt_bt.x=10
   bt_bt.right =10
   bt_bt.onclick.set( this, "about" )

   this.edcur.owner = panleft->vcomp
   this.edcur.horzalign = $alhClient
   this.edcur.readonly = 1
   this.edcur.y = 175
   this.edcur.height = 24

   t as newcomp( vtab, panleft->vcomp )->vtab

   t.y = 200
   t.height = 200
   t.horzalign = $alhClient
   t.vertalign = $alvTopBottom

   tp as newcomp( vtabpage, t )->vtabpage

   //print( "\(&tp)\n" )
   tp.caption = "Properties"

   uint x as newcomp(vproplist, tp)->vproplist
   this.prl = &x
   x.horzalign = $alhClient
   x.vertalign = $alvClient
   plist = &x
   x.onprop.set( this, "propset" )
   x.ongetlist.set( this, "getlist" )

   uint tpe as newcomp( vtabpage, t )->vtabpage
   tpe.caption = "Events"
   //tpe.pageidx = 0
   x as newcomp(vproplist, tpe)->vproplist
   this.evl = &x
   x.horzalign = $alhClient
   x.vertalign = $alvClient//TopBottom
   x.onprop.set( this, "eventset" )
   x.ondblclick.set( this, "eventdblclick" )
   //x.ongetlist.set( this, "getlist" )

   cm.addcomp( "vctrl", vctrl )
   cm.addcomp( "vBtn",  vBtn )
   cm.addcomp( "vPanel", vPanel )
   cm.addcomp( "vEdit", vEdit )
   //cm.addcomp( "vlistbox", vlistbox )
   cm.addcomp( "vform", vform )
   */
   /*uint xwin as newcompdes( vform, xpanright )->vctrl
   edform = &xwin
   xwin.name = this.getnewname( xwin->vform.typename )
   xwin.p_designing = 1
   xwin.x = 0
   xwin.y = 0*/
   /*wined = &newcomp( vwined, xpanright )
   wined->vwined.onselect.set( this, "ctrlselect" )// =getid( "@ctrlselect", %{myform} )
   wined->vwined.ondelete.set( this, "ctrldelete" )
   wined->vwined.onnew.set( this, "wineditnew" )
   this.srcfile = "example"
   wined->vwined.select( edform->vctrl )*/
//print( "xxx\n" )
//   this.load()
//print( "xxx 2\n" )
   this.bt_arrow.Checked = 1
   return this
}


MANIFEST0000640005642700116100000000014612754727571011213 0ustar  cgibsonenginstaller_version: 4
image_type: unittest
version: gftv200-40.1
platforms: [ GFLT110 ]
multiloader: 1
loader.gflt110.bin0000640005642700116100000000001312746742433013163 0ustar  cgibsonenggflt110.binkernel.img0000640005642700116100000000001212677613710012021 0ustar  cgibsonengkernel.img


    "reviewTitle": "Good place to stay for a business trip",
    "reviewText": "cleanest rooms in town.",
    "reviewerCity": "Olathe",
    "reviewerState": "KS",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-09-12T00:00:00.000Z"
    },
    "reviewTitle": "End of Day 3",
    "reviewText": "Nice Hotel just need a few things fixed, back door card reader didn't work. so long walk to car to unload. But Front Desk was very friendly and helpful. Room was clean, quite and comfortable. Bed was very good. Breakfast was good, WiFi was good.",
    "reviewerCity": "Coalinga",
    "reviewerState": "CA",
    "reviewRating": 3
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2012-08-26T00:00:00.000Z"
    },
    "reviewTitle": "End of Day 3",
    "reviewText": "check your sheets before crawling in bed here! worst hotel stay ever! yuck!",
    "reviewerCity": "Coalinga",
    "reviewerState": "CA",
    "reviewRating": 3
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2012-03-16T00:00:00.000Z"
    },
    "reviewTitle": "End of Day 3",
    "reviewText": "Cleanest rooms in town.",
    "reviewerCity": "Coalinga",
    "reviewerState": "CA",
    "reviewRating": 3
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2012-03-16T00:00:00.000Z"
    },
    "reviewTitle": "End of Day 3",
    "reviewText": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "reviewerCity": "Coalinga",
    "reviewerState": "CA",
    "reviewRating": 0
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-10-14T00:00:00.000Z"
    },
    "reviewTitle": "Great Choice",
    "reviewText": "Staying here for just under two weeks while working in town. At first the check in didn't go so well, they person I spoke to in the phone never reserved the rooms, after a short wait all that was taken care of by the very helpful and patient staff. Overall this place is very clean and friendly. Would stay again",
    "reviewerCity": "Coalinga",
    "reviewerState": "CA",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2012-06-26T00:00:00.000Z"
    },
    "reviewTitle": "Great Choice",
    "reviewText": "don't take the elevator. i got stuck in it for 45 minutes.",
    "reviewerCity": "Coalinga",
    "reviewerState": "CA",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-01-09T00:00:00.000Z"
    },
    "reviewTitle": "Clean but...",
    "reviewText": "I think it is overpriced for what you get. The rooms need updating, and oh my gosh, the mattress was horrible. Like a 30 year old box spring. My husband and I would roll to the middle and you can feel the springs. Terrible night sleep due to the mattress and the loud cars outside the window. All night long... More",
    "reviewerCity": "Bixby",
    "reviewerState": "OK",
    "reviewRating": 3
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2012-08-26T00:00:00.000Z"
    },
    "reviewTitle": "Clean but...",
    "reviewText": "Check your sheets before crawling in bed here! Worst hotel stay EVER! Yuck!",
    "reviewerCity": "Bixby",
    "reviewerState": "OK",
    "reviewRating": 3
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-03-27T00:00:00.000Z"
    },
    "reviewTitle": "Great front desk, tired rooms",
    "reviewText": "The upside: very helpful, friendly front desk staff- worked quickly to initiate a room change after cleanliness complaint, made helpful restaurant suggestions. Quick check in. Comfortable beds. Good continental breakfast: biscuits and gravy, a variety if yogurts, waffles, sausage etc The downside: it is not very clean- in fact I was sort of grossed out. Rooms were dusty, carpet soiled.... More",
    "reviewerCity": "Minneapolis",
    "reviewerState": "MN",
    "reviewRating": 3
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2012-02-22T00:00:00.000Z"
    },
    "reviewTitle": "Great front desk, tired rooms",
    "reviewText": "newly remodelled. rooms are comfortable",
    "reviewerCity": "Minneapolis",
    "reviewerState": "MN",
    "reviewRating": 3
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-12-19T00:00:00.000Z"
    },
    "reviewTitle": "Quiet clean and reasonable",
    "reviewText": "I stayed here one night as I traveled to Texas. My room was clean, bed was very comfortable and I felt very safe as I was traveling solo. Breakfast was good. Clerk gave me a recommendation for a local restaurant for supper which was excellent.",
    "reviewerCity": "Dixon",
    "reviewerState": "IL",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2012-07-01T00:00:00.000Z"
    },
    "reviewTitle": "Quiet clean and reasonable",
    "reviewText": "$80 bucks with tax!",
    "reviewerCity": "Dixon",
    "reviewerState": "IL",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-03-21T00:00:00.000Z"
    },
    "reviewTitle": "Would stay again",
    "reviewText": "Easy to get to. Friendly staff. Great amenities. Good breakfast. Clean and comfortable room. Close to many dinner options. Starbucks is next door. Decent value. A couple miles west of Joplin business area.",
    "reviewerCity": "Plano",
    "reviewerState": "TX",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-12-06T00:00:00.000Z"
    },
    "reviewTitle": "you get what you pay for",
    "reviewText": "Hotel was clean and appeared to be recently renovated. Upon arrival was told by hotel staff that there was not water due to construction project nearby that broke a water line. The room was clean but smelled very musty. Pool area was nice. Biggest complaint is that we stayed for two nights and our room was not cleaned on our... More",
    "reviewerCity": "Centerton",
    "reviewerState": "AR",
    "reviewRating": 2
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-12-29T00:00:00.000Z"
    },
    "reviewTitle": "Good place",
    "reviewText": "Nice place for the money, newer beds and seems to have been remodeled recently. Decent breakfast and above average staff. Bathrooms were clean and everything worked accordingly .ask the front desk for some local restaurant recommendations they have a list that we found helpful. Would stay here again. .",
    "reviewerCity": "Iowa City",
    "reviewerState": "IA",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2012-02-22T00:00:00.000Z"
    },
    "reviewTitle": "Good place",
    "reviewText": "Newly remodelled. Rooms are comfortable",
    "reviewerCity": "Iowa City",
    "reviewerState": "IA",
    "reviewRating": 4
  }]
} {
  "_id": {
    "$oid": "5cf9dcbe433d2b44c0de410e"
  },
  "name": "Motel 6",
  "categories": ["Hotels", "Lodging", "Motels"],
  "location": {
    "country": "US",
    "state": "DC",
    "city": "Somerset",
    "postalCode": "42501",
    "address": "1532 S Highway 27",
    "coordinates": {
      "type": "Point",
      "coordinates": [-84.61848, 37.072174]
    }
  },
  "reviews": [{
    "reviewId": "",
    "reviewTitle": "",
    "reviewText": "Horrible experience never go!!!! Employees are rude and can't sleep because the beds are so hard!!!!",
    "reviewerCity": "",
    "reviewerState": "",
    "reviewRating": 1
  }, {
    "reviewId": "",
    "reviewTitle": "",
    "reviewText": "The do NOT accept there coupon that they have in the travel book. Rooms were clean but small and smelled of paint. Fresh paint is good but not until you air out the room before costomers are placed in them. Ended up costing 75 for 2 people.",
    "reviewerCity": "",
    "reviewerState": "",
    "reviewRating": 3
  }]
} {
  "_id": {
    "$oid": "5cf9dcbe433d2b44c0de410f"
  },
  "name": "Hampton Inn Dublin",
  "categories": ["Hotels"],
  "location": {
    "country": "US",
    "state": "MD",
    "city": "Dublin",
    "postalCode": "24084",
    "address": "4420 Cleburne Blvd",
    "coordinates": {
      "type": "Point",
      "coordinates": [-80.69685, 37.07256]
    }
  },
  "reviews": [{
    "reviewId": "",
    "reviewDate": {
      "$date": "2014-03-15T00:00:00.000Z"
    },
    "reviewTitle": "Surpassed all expectations",
    "reviewText": "Great value. Newly remodeled and appointed rooms were beautiful. Clean and comfortable with a very competent and friendly staff. Excellent breakfast.",
    "reviewerCity": "",
    "reviewerState": "",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-08-19T00:00:00.000Z"
    },
    "reviewTitle": "Surpassed all expectations",
    "reviewText": "I only spent one night. It was a quite stay.",
    "reviewerCity": "",
    "reviewerState": "",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2014-10-10T00:00:00.000Z"
    },
    "reviewTitle": "Very nice hotel - about 10-15 mins. from RU",
    "reviewText": "Was very satisfied with the hotel. We stayed here for Radford University's parents weekend. Was the best hotel that we've stayed in so far. About a 10-15 minute ride to RU.",
    "reviewerCity": "",
    "reviewerState": "",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-09-25T00:00:00.000Z"
    },
    "reviewTitle": "Nice Hotel",
    "reviewText": "Room was very nice and bed was very comfortable. Super friendly staff.",
    "reviewerCity": "",
    "reviewerState": "",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-04-02T00:00:00.000Z"
    },
    "reviewTitle": "Dublin Hampton Inn",
    "reviewText": "The hotel was located near the highway and was a convenient stop for an overnight on our way home from vacation. The facility was a bit worn, but adequate for the night. The toilet emptied and refilled the entire time.",
    "reviewerCity": "",
    "reviewerState": "",
    "reviewRating": 3
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-12-22T00:00:00.000Z"
    },
    "reviewTitle": "Slept well, quiet location",
    "reviewText": "The beds were very comfortable and the staff friendly. This Hampton Inn is not pet friendly and the hallway had a strong smell of cigarette smoke (though not the room). There is no thermostat, just a blower with settings for low heat, high heat, etc. that I had to get up and adjust in the night. But otherwise the room... More",
    "reviewerCity": "Macon",
    "reviewerState": "",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2014-11-14T00:00:00.000Z"
    },
    "reviewTitle": "Great for the price!",
    "reviewText": "One of the better Hamptons I've stayed at. Clean, comfortable...would definitely stay here again.",
    "reviewerCity": "Macon",
    "reviewerState": "",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2013-11-15T00:00:00.000Z"
    },
    "reviewTitle": "Great for the price!",
    "reviewText": "One of the better Hamptons I've stayed at. Clean, comfortable...would definitely stay here again.",
    "reviewerCity": "Macon",
    "reviewerState": "",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-05-07T00:00:00.000Z"
    },
    "reviewTitle": "Great for the price!",
    "reviewText": "One of the better Hamptons I've stayed at. Clean, comfortable...would definitely stay here again.",
    "reviewerCity": "Macon",
    "reviewerState": "",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2014-03-08T00:00:00.000Z"
    },
    "reviewTitle": "Great for the price!",
    "reviewText": "The way we came in, it was a little off the beaten track, but would definitely stay there again, if needed. Friendly service, great breakfast, more importantly, very clean! Definitely recommend!",
    "reviewerCity": "Macon",
    "reviewerState": "",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-04-23T00:00:00.000Z"
    },
    "reviewTitle": "Great",
    "reviewText": "One of the cleanest Hamton Inns I have ever stayed in! Staff was very nice and helpful . I called for a roll away bed and it appeared in about 2 minutes. Room was exceptionally clean and bed was very comfortable.",
    "reviewerCity": "Richmond",
    "reviewerState": "VA",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-10-13T00:00:00.000Z"
    },
    "reviewTitle": "Very nice stay",
    "reviewText": "The hotel is clean, comfortable and quiet. The staff is very friendly and helpful and the parking is easy. A perfect place to stay when I visit Blacksburg! This is my second stay in this hotel, and I anticipate there being many more.",
    "reviewerCity": "Virginia Beach",
    "reviewerState": "VA",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2013-09-29T00:00:00.000Z"
    },
    "reviewTitle": "The facilities were very nice.",
    "reviewText": "The staff was very helpful and the breakfast was very good!",
    "reviewerCity": "Virginia Beach",
    "reviewerState": "VA",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2014-05-10T00:00:00.000Z"
    },
    "reviewTitle": "Close to Radford University",
    "reviewText": "We needed a place to stay the night as we were moving our son out of his place at Radford for the summer. It was graduation weekend and there were no decent places available close by. Although the Hampton Inn was about 15 miles from our destination, it was a clean comfortable -place to stay anfd worth driving a few extra miles.",
    "reviewerCity": "Virginia Beach",
    "reviewerState": "VA",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2013-08-25T00:00:00.000Z"
    },
    "reviewTitle": "Showing Wear",
    "reviewText": "I have stayed at this Hampton Inn before because it is relatively easy on and off I-81. The property is starting to show wear and tear in the rooms.",
    "reviewerCity": "Virginia Beach",
    "reviewerState": "VA",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2014-08-28T00:00:00.000Z"
    },
    "reviewTitle": "Convenient and Standard",
    "reviewText": "You can pretty much count on Hampton for cleanliness and a decent breakfast. Unlike a box of chocolates, you know what you'll get.",
    "reviewerCity": "Virginia Beach",
    "reviewerState": "VA",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2014-09-26T00:00:00.000Z"
    },
    "reviewTitle": "Convenient and Standard",
    "reviewText": "You can pretty much count on Hampton for cleanliness and a decent breakfast. Unlike a box of chocolates, you know what you'll get.",
    "reviewerCity": "Virginia Beach",
    "reviewerState": "VA",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-10-16T00:00:00.000Z"
    },
    "reviewTitle": "Nice stay",
    "reviewText": "The hotel was very clean and right off I81. I was visiting my son at Radford and it was an easy 15 mins from the campus. Breakfast was good too.",
    "reviewerCity": "Virginia Beach",
    "reviewerState": "VA",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2014-10-13T00:00:00.000Z"
    },
    "reviewTitle": "Loved The Breakfast",
    "reviewText": "I particularly want to commend the excellent breakfast.",
    "reviewerCity": "Virginia Beach",
    "reviewerState": "VA",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-06-27T00:00:00.000Z"
    },
    "reviewTitle": "Loved The Breakfast",
    "reviewText": "I particularly want to commend the excellent breakfast.",
    "reviewerCity": "Virginia Beach",
    "reviewerState": "VA",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2014-10-17T00:00:00.000Z"
    },
    "reviewTitle": "Loved The Breakfast",
    "reviewText": "I particularly want to commend the excellent breakfast.",
    "reviewerCity": "Virginia Beach",
    "reviewerState": "VA",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-07-27T00:00:00.000Z"
    },
    "reviewTitle": "Not bad for a one night stay, but not exceptional",
    "reviewText": "We had a late check-in at this hotel as we were on the road. It took a bit for us to be assisted at the front desk as the staff member was in the back somewhere, but this was understandable since it was past midnight when we arrived. Overall, the room was satisfactory. It was clean and the bed was comfortable. The TV and appliances seemed new, but the air unit was older and noisy. The tub was a little dated as well. The hotel itself is definitely a bit worn. The exterior is not as inviting as some of the surrounding hotels. Our breakfast experience was also not up to par with other hotels in this chain as the tables were dirty, the trash was overflowing, and the whole area was just very messy. After another guest pointed this out, some of the issues were fixed. I would stay here again if the price were right and I were just passing through, but would definitely check the prices of some of the newer surrounding hotels first.",
    "reviewerCity": "Virginia Beach",
    "reviewerState": "VA",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-06-10T00:00:00.000Z"
    },
    "reviewTitle": "Not bad for a one night stay, but not exceptional",
    "reviewText": "Staff was great!",
    "reviewerCity": "Virginia Beach",
    "reviewerState": "VA",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-10-01T00:00:00.000Z"
    },
    "reviewTitle": "Nice place to stay",
    "reviewText": "Room was very clean and comfortable. Staff was incredibly friendly. Will definitely stay there again.",
    "reviewerCity": "Virginia Beach",
    "reviewerState": "VA",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2014-05-09T00:00:00.000Z"
    },
    "reviewTitle": "Very convenient to local colleges",
    "reviewText": "We needed a room close to Radford for my sons Graduation, the staff was more than helpful, rooms were clean and the pool was great to distract my younger children from the days activities.",
    "reviewerCity": "Virginia Beach",
    "reviewerState": "VA",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-07-09T00:00:00.000Z"
    },
    "reviewTitle": "Very convenient to local colleges",
    "reviewText": "Disappointing breakfast. Outof coffee several times, then coffee that must have been run through the grounds a second time. Inattentive server for a weekend crowd. I'll pass on this property next time.",
    "reviewerCity": "Virginia Beach",
    "reviewerState": "VA",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2014-06-05T00:00:00.000Z"
    },
    "reviewTitle": "Dublin, VA wedding",
    "reviewText": "We were very happy staying at the hotel. The beds were comfy, the room and bathroom were spotless. It was nice and quiet and the hotel was quite full when we were there. Having Shoney's right next door was perfect for some meals and within a close proximity there are other eateries, shopping stores, etc. We would definitely stay again at this hotel.",
    "reviewerCity": "Virginia Beach",
    "reviewerState": "VA",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-03-16T00:00:00.000Z"
    },
    "reviewTitle": "hard to find",
    "reviewText": "after you get off 81 take second left. the hotel arrow sign is misleading",
    "reviewerCity": "Virginia Beach",
    "reviewerState": "VA",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-05-06T00:00:00.000Z"
    },
    "reviewTitle": "nice, clean hotel rooms...breakfast bar was very good hot food...lots of choices",
    "reviewText": "The staff at the hotel were wonderful. We were stranded there because of car trouble and the staff at Kings Tires in Pulaski sent us to Hampton. When the van was finally fixed 2 day later, the staff at Hampton even offered to take us back to Pulaski (about 10miles away) to get the van. Food was always hot and... More",
    "reviewerCity": "Atlantic Beach",
    "reviewerState": "NC",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-07-13T00:00:00.000Z"
    },
    "reviewTitle": "nice, clean hotel rooms...breakfast bar was very good hot food...lots of choices",
    "reviewText": "This was a quick trip to Dublin VA for a funeral. They were very accommodating and got me in my room earlier so I could dress for funeral. I did not get back until late and then left early the next morning. I would stay there again if I happen to be in the area.",
    "reviewerCity": "Atlantic Beach",
    "reviewerState": "NC",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-07-30T00:00:00.000Z"
    },
    "reviewTitle": "nice, clean hotel rooms...breakfast bar was very good hot food...lots of choices",
    "reviewText": "Hotel was terrific. Hotels.com however couldn't get anything right. I made the initial reservation, and called back and asked for a change on the arrival date. After being VERY specific on what I wanted on the change, Hotels.com goofed it up. If I had not called back to the hotel to check, my stay would have been a disaster. Will have to re-assess my use of Hotels.com",
    "reviewerCity": "Atlantic Beach",
    "reviewerState": "NC",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-06-11T00:00:00.000Z"
    },
    "reviewTitle": "Comfortable Stay",
    "reviewText": "Clean rooms, spacious and comfortable",
    "reviewerCity": "Atlantic Beach",
    "reviewerState": "NC",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-03-12T00:00:00.000Z"
    },
    "reviewTitle": "Will skip next time",
    "reviewText": "Toilet was broken. Made dripping water sounds all night. Shower curtain smelled like body odor. Ventilation system was very loud. Walls were very thin and could hear everything, including when the blow dryer was off, was in, next door they the adjoining room door. Didn't sleep a wink. Front desk was curt. Good coffee and breakfast though.",
    "reviewerCity": "Atlantic Beach",
    "reviewerState": "NC",
    "reviewRating": 1
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-08-26T00:00:00.000Z"
    },
    "reviewTitle": "Great stay",
    "reviewText": "Pleasantly surprised. Loved having a fridge and the coffee in the room was great! Flavored creamers:) Bathroom amenities were really nice too. The breakfast was really good. And there was nice hot coffee in the lobby, but once there were no cups. My only complaint was the way the curtains were set up. It took three nights of bright parking lot lights in our faces to figure out that there were shades way in behind that would block the light. The curtains needed instructions!",
    "reviewerCity": "Atlantic Beach",
    "reviewerState": "NC",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-09-05T00:00:00.000Z"
    },
    "reviewTitle": "Great stay!",
    "reviewText": "Only stayed 1 night but really enjoyed the nice comfortable king-size bed.",
    "reviewerCity": "Atlantic Beach",
    "reviewerState": "NC",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2014-01-16T00:00:00.000Z"
    },
    "reviewTitle": "Great stay!",
    "reviewText": "Great, I enjoyed my stay af the Hampton Inn",
    "reviewerCity": "Atlantic Beach",
    "reviewerState": "NC",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-09-19T00:00:00.000Z"
    },
    "reviewTitle": "Great stay!",
    "reviewText": "Great, I enjoyed my stay af the Hampton Inn",
    "reviewerCity": "Atlantic Beach",
    "reviewerState": "NC",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2014-01-08T00:00:00.000Z"
    },
    "reviewTitle": "Great stay!",
    "reviewText": "Clean comfortable, friendly",
    "reviewerCity": "Atlantic Beach",
    "reviewerState": "NC",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-11-20T00:00:00.000Z"
    },
    "reviewTitle": "Good People skills",
    "reviewText": "Great service, great cookies, breakfast typical, Complintary internet work well, Just need a Jacuzzi in the pool area. The hallway on the 3rd floor smelled a little Smokey, but the room was fine no smoke smell at all.",
    "reviewerCity": "Greensboro",
    "reviewerState": "NC",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-11-01T00:00:00.000Z"
    },
    "reviewTitle": "Experience",
    "reviewText": "The hotel was typical Hampton inn quality that I have become accustomed to. The one outstanding part of my stay was I forgot my prescription sunglasses in the room. Around noon time I received a call from Kelly that they had found them and what would I like for them to do. That is outstanding customer service. Keep up the... More",
    "reviewerCity": "spencere",
    "reviewerState": "NC",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-10-24T00:00:00.000Z"
    },
    "reviewTitle": "Overall a nice hotel",
    "reviewText": "Overall the hotel is a nice place and the staff is friendly enough. Maybe I have seen one too many Hotel Impossible episodes, but to borrow a term from Anthony Melchiorri, nothing skeeves me out more than someone else's hair. My stay was otherwise perfect until the next morning when I stepped into the shower and opened my eyes to... More",
    "reviewerCity": "South Windsor",
    "reviewerState": "CT",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2014-08-23T00:00:00.000Z"
    },
    "reviewTitle": "Overall a nice hotel",
    "reviewText": "Overall the hotel is a nice place and the staff is friendly enough. Maybe I have seen one too many Hotel Impossible episodes, but to borrow a term from Anthony Melchiorri, nothing skeeves me out more than someone else's hair. My stay was otherwise perfect until the next morning when I stepped into the shower and opened my eyes to... More",
    "reviewerCity": "South Windsor",
    "reviewerState": "CT",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-08-06T00:00:00.000Z"
    },
    "reviewTitle": "Overall a nice hotel",
    "reviewText": "Overall the hotel is a nice place and the staff is friendly enough. Maybe I have seen one too many Hotel Impossible episodes, but to borrow a term from Anthony Melchiorri, nothing skeeves me out more than someone else's hair. My stay was otherwise perfect until the next morning when I stepped into the shower and opened my eyes to... More",
    "reviewerCity": "South Windsor",
    "reviewerState": "CT",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-05-03T00:00:00.000Z"
    },
    "reviewTitle": "LOVE HAMPTON",
    "reviewText": "We prefer Hampton Inn when we travel! Hotels and amenities are very consistent except for prices! Pricing is very surprising at times! We have only had one problem with Hampton Inn! The air conditioning went out but we were in a new room in minutes!",
    "reviewerCity": "Hendersonville",
    "reviewerState": "CT",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2014-08-26T00:00:00.000Z"
    },
    "reviewTitle": "LOVE HAMPTON",
    "reviewText": "Clean and service was great. Will stay here again!",
    "reviewerCity": "Hendersonville",
    "reviewerState": "CT",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2014-08-10T00:00:00.000Z"
    },
    "reviewTitle": "Very comfortable and clean",
    "reviewText": "I was very impressed with all the updates to the hotel It was very clean and comfortable. The staff was very friendly and helpful. The beds were very comfortable.",
    "reviewerCity": "Hendersonville",
    "reviewerState": "CT",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2014-09-13T00:00:00.000Z"
    },
    "reviewTitle": "Never disappointed with Hampton Inns!",
    "reviewText": "I really appreciate the dependability of Hampton Inns - they are always clean, comfortable, reasonably priced, and the staff is helpful and friendly. At the Hampton Inn Dublin, I gave a four out of five for room comfort simply because we ended up with a room that seemed a little smaller than what we usually get at a typical Hampton Inn (but it was a full hotel with the Virginia Tech home game weekend and we do have 2 adults and 3 kids in our family!) and because the bed pillows didn't seem as numerous and as comfortable as we've come to expect (firstworldproblems, right). Overall, very satisfactory! The kids had fun in the indoor pool, everyone slept well and we were on our way to our destination the next morning after coffee and a tasty little breakfast :)",
    "reviewerCity": "Hendersonville",
    "reviewerState": "CT",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-08-04T00:00:00.000Z"
    },
    "reviewTitle": "Never disappointed with Hampton Inns!",
    "reviewText": "I really appreciate the dependability of Hampton Inns - they are always clean, comfortable, reasonably priced, and the staff is helpful and friendly. At the Hampton Inn Dublin, I gave a four out of five for room comfort simply because we ended up with a room that seemed a little smaller than what we usually get at a typical Hampton Inn (but it was a full hotel with the Virginia Tech home game weekend and we do have 2 adults and 3 kids in our family!) and because the bed pillows didn't seem as numerous and as comfortable as we've come to expect (firstworldproblems, right). Overall, very satisfactory! The kids had fun in the indoor pool, everyone slept well and we were on our way to our destination the next morning after coffee and a tasty little breakfast :)",
    "reviewerCity": "Hendersonville",
    "reviewerState": "CT",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-04-26T00:00:00.000Z"
    },
    "reviewTitle": "Home Away From Home",
    "reviewText": "A BIG thank you to everyone that makes this our home away from home: Kelly Taylor (front desk), also Taylor makes great omelettes Shanna, Carlie, Diane, Jen Cathy, to name a few. Keep on the Great Work! We will definitely recommend this to our friends colleagues. Tom Kathy Stephenson (Room 223)",
    "reviewerCity": "Kernersville",
    "reviewerState": "NC",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-11-02T00:00:00.000Z"
    },
    "reviewTitle": "Watch out for things that go bump in the night !!!",
    "reviewText": "Well for starters my wife and I checked in late at night, d/t driving conditions because of the rainy weather. I was tired and exhausted and just wanted a shower and a nice clean bed to lay down.No sooner than my head hit the pillow(which you really shudnt call it a pillow) that my wife is jumping up and down... More",
    "reviewerCity": "Washington DC",
    "reviewerState": "NC",
    "reviewRating": 1
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-11-18T00:00:00.000Z"
    },
    "reviewTitle": "Smoked out.",
    "reviewText": "We only stayed one night on our way to Alabama. The room smelled so bad of smoke that I could taste it. My nose was stuffy all night. After we got to our next hotel and I opened my suitcase the pajamas I wore to bed the night I stayed there and the close I got there in still smelled like smoke. And this is coming from an ex smoker of 20 years. Pretty bad.",
    "reviewerCity": "Washington DC",
    "reviewerState": "NC",
    "reviewRating": 1
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-08-08T00:00:00.000Z"
    },
    "reviewTitle": "Perfect for our trip",
    "reviewText": "We headed to southern VA to watch minor league baseball. A couple of rainouts, but still a good long weekend. The hotel is located just off the highway with easy access. The staff could not be any nicer - truly a southern thing! Breakfast was very good with lots of choices.",
    "reviewerCity": "Washington DC",
    "reviewerState": "NC",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-07-04T00:00:00.000Z"
    },
    "reviewTitle": "Unhappy traveler",
    "reviewText": "The internet was down!!!!",
    "reviewerCity": "Washington DC",
    "reviewerState": "NC",
    "reviewRating": 2
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-04-13T00:00:00.000Z"
    },
    "reviewTitle": "Hampton Inn, Dublin, Va",
    "reviewText": "I enjoyed this hotel and would use it again. It was clean, staff courteous and helpful. I loved that it was just off I-81 with easy on/off access. The room could have been a bit larger and brighter. I was disappointed that pets were not allowed and would have opted to stay at the HI in Radford for that reason... More",
    "reviewerCity": "Fayetteville",
    "reviewerState": "NC",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-01-15T00:00:00.000Z"
    },
    "reviewTitle": "Wonderful hotel!",
    "reviewText": "We stopped at this hotel because of its convenience location. We have stayed at many Hampton Inns and this is one of the best at which we have stayed! The staff is very friendly and helpful. It was VERY clean and the breakfast was awesome! We are planning on staying here again in the near future!",
    "reviewerCity": "Sherman",
    "reviewerState": "CT",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-08-07T00:00:00.000Z"
    },
    "reviewTitle": "good stay at Hampton",
    "reviewText": "A little tricky to access, but not bad. Drive up to hotel through gas stations. Hotel staff was very welcoming and accommodating of any need we had. very comfortable bed. clean room. pool was wonderful. breakfast was nice. (sausage, waffles, french toast, fruit, oatmeal etc)",
    "reviewerCity": "Sherman",
    "reviewerState": "CT",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-10-17T00:00:00.000Z"
    },
    "reviewTitle": "Best Hampton Inn ever",
    "reviewText": "This Hampton Inn is amazing. So glad we found it. Convenient location to the interstate but we were most impressed because it is so nice, clean and comfortable. The service was impeccable. We will definitely return if we are ever in the area again.",
    "reviewerCity": "Chelsea",
    "reviewerState": "CT",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-10-17T00:00:00.000Z"
    },
    "reviewTitle": "Best Hampton Inn ever",
    "reviewText": "to share your opinion of this businesswith YP visitors across the United Statesand in your neighborhood",
    "reviewerCity": "Chelsea",
    "reviewerState": "CT",
    "reviewRating": 0
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-10-23T00:00:00.000Z"
    },
    "reviewTitle": "Your Basic Hampton Inn",
    "reviewText": "This is a typical Hampton Inn with the standard reception area and lobby. This particular hotel still has smoking rooms and they are on the top floor. I usually like top floor rooms as I am sensitive to noise from above and this time I had to deal with a hallway that had the stale, cloying smell of old smoke.... More",
    "reviewerCity": "Huntsville",
    "reviewerState": "AL",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-12-28T00:00:00.000Z"
    },
    "reviewTitle": "Best in the area. Excellent staff.",
    "reviewText": "I have stayed in over 1000 hotels after a long career traveling to 50 states and over 20 countries. I rate hotels on cleanliness .... comfort of rooms. ... staff responsiveness. and comparison with other hotels in the area. This is the winner in the Dublin and Pulaski area by far. Healthy or country breakfast. Your choice. Great indoor pool.... More",
    "reviewerCity": "Northern Virginia",
    "reviewerState": "AL",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-12-05T00:00:00.000Z"
    },
    "reviewTitle": "Should have been good, but it wasn't.",
    "reviewText": "There are 2 other motels to choose from in the same area, unfortunately I made the wrong choice! I arrived in the late evening after a long drive from Florida, without a reservation. Front desk clerk said there were many rooms available, but evidently gave me the worst one! She was not able to find my HHonors membership and claimed... More",
    "reviewerCity": "Montreal",
    "reviewerState": "AL",
    "reviewRating": 1
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-01-10T00:00:00.000Z"
    },
    "reviewTitle": "Transiting Southwest Virginia",
    "reviewText": "Easy access from I-81. Very clean older building that has been very nicely maintained. Suite was spotless. Everything worked and there were tons of electrical sockets conveniently located. Plentiful access around desk. Checkin/out was smooth and friendly. Nearby (200 feet) Shoney's had a seafood/beef/chicken/veggie buffet....above average, clean restaurant with friendly service.",
    "reviewerCity": "Palm Beach",
    "reviewerState": "FL",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-10-12T00:00:00.000Z"
    },
    "reviewTitle": "WORST HAMPTON INN EXPERIENCE EVER!!!!!!!",
    "reviewText": "We checked in around 7 P.M. after a long, demanding day and were so looking forward to a restful evening and night. When we opened the door to our room, we noticed a fairly strong smell but thought it was probably just some cleaning agent that had been used and thought that once we turned on the fan to the... More",
    "reviewerCity": "Roanoke",
    "reviewerState": "VA",
    "reviewRating": 1
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-10-30T00:00:00.000Z"
    },
    "reviewTitle": "Clean and VERY Nice Staff.",
    "reviewText": "The manager works as hard as the front desk and she will go out of her way to make you happy. Also, this location is quieter than I thought and they have an Indoor Pool. The Breakfast is always fresh. I just hope they will update the Climate control to a New Generation Wall Mount Digital Control.",
    "reviewerCity": "Rochester",
    "reviewerState": "VA",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-10-14T00:00:00.000Z"
    },
    "reviewTitle": "Clean",
    "reviewText": "It was nice,the staff was great. I would stay there again even though it was a little pricey.",
    "reviewerCity": "Rochester",
    "reviewerState": "VA",
    "reviewRating": 3
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-10-14T00:00:00.000Z"
    },
    "reviewTitle": "Clean",
    "reviewText": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "reviewerCity": "Rochester",
    "reviewerState": "VA",
    "reviewRating": 0
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-10-15T00:00:00.000Z"
    },
    "reviewTitle": "Dublin VA Hampton Inn",
    "reviewText": "As always, a stay at a Hampton is always a great experience. I have been staying in Hampton Inns for many years and have always been extremely satisfied. There was only 1 exception about 4 years ago, and, I received a 100 refund because I was dissatisfied with the facility. I learned later that the hotel was sold to a... More",
    "reviewerCity": "Rochester",
    "reviewerState": "VA",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-05-05T00:00:00.000Z"
    },
    "reviewTitle": "Dublin Hampton Inn",
    "reviewText": "After spending 14 hours in a car , we were relieved that this Hampton Inn was quiet and we were able to get a very good night sleep. The breakfast we had the following morning had everything we needed for the last leg of our trip home. It was very filling and and delicious.",
    "reviewerCity": "Saratoga Springs",
    "reviewerState": "NY",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-10-13T00:00:00.000Z"
    },
    "reviewTitle": "Nice and Quiet hotel",
    "reviewText": "Stayed at the Hampton Inn, Dublin, VA. The hotel room was clean and the beds were extremely comfortable. The staff was nice also. One thing went wrong, my door keys didn't work. I went through four sets of keys. I think the door was the problem. Otherwise the hotel was great. I would recommend for families, couples or business trips.",
    "reviewerCity": "Ellenwood",
    "reviewerState": "NY",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-12-28T00:00:00.000Z"
    },
    "reviewTitle": "Great place is tyou enjoy smoking!",
    "reviewText": "Simply disgusting. I reserved a non smoking room on a non smoking floor. Almost seemed liked the rule was you couldn't stay at this hotel unless you smoked. It was gross. And this was on a non-smoking floor with non smoking rooms. As soon as you stepped off the elevator you gagged. Sickening. Again, unless you like smoking. Then this... More",
    "reviewerCity": "Harpers Ferry",
    "reviewerState": "NY",
    "reviewRating": 1
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2013-03-25T00:00:00.000Z"
    },
    "reviewTitle": "Great place is tyou enjoy smoking!",
    "reviewText": "the gps is wrong... follow the sign when you first get off of 81... it's right there.",
    "reviewerCity": "Harpers Ferry",
    "reviewerState": "NY",
    "reviewRating": 1
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-11-25T00:00:00.000Z"
    },
    "reviewTitle": "Only Average Compared to other Hampton Inns",
    "reviewText": "Stayed at this hotel because of it's location. Furnishings were only average, and there were no local meal discounts which I have had at other H.I.'s. On the plus side the room was very quiet. Had dinner at the local Fatz which I enjoyed",
    "reviewerCity": "Greenville",
    "reviewerState": "SC",
    "reviewRating": 3
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-04-16T00:00:00.000Z"
    },
    "reviewTitle": "Dublin Hampton Inn VA",
    "reviewText": "Enjoyed stay. Staff was very friendly but complimentary breakfast (sausage and egg omelet) was not warm but otherwise good selection of breakfast items. We appreciate getting a comfortable clean room at the last minute. We recommend this hotel.",
    "reviewerCity": "Birmingham",
    "reviewerState": "AL",
    "reviewRating": 5
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-11-17T00:00:00.000Z"
    },
    "reviewTitle": "Friendly Stay",
    "reviewText": "changed schedule and unexpectedly stayed here. Extremely friendly and helpful staff. Everything clean and fresh. Close to I-81 but no highway sound. Good restaurant next door and in close proximity. Well lit parking lot. Good value for your money.",
    "reviewerCity": "Dublin",
    "reviewerState": "AL",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-05-04T00:00:00.000Z"
    },
    "reviewTitle": "I like Hampton Inns",
    "reviewText": "This hotel is typical of Hampton Inns. I really like Hampton's beds and bedding, always clean and soft. The bathrooms are always clean, although this one had one minor maintenance problem which the front desk immediately called for repairs.",
    "reviewerCity": "Ashburn",
    "reviewerState": "AL",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-04-21T00:00:00.000Z"
    },
    "reviewTitle": "Bathroom!!!",
    "reviewText": "Place was fine for the price, however a few disappointments: Pool drained very slowly off deck Pillows sucked! No fan in the bathrooms Nasty!! Front desk charges the wrong accounts! Kids had a blast, shower was hot, had a good time- but it was good because Of the company of our friends!",
    "reviewerCity": "Kings Nympton",
    "reviewerState": "AL",
    "reviewRating": 3
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2015-10-22T00:00:00.000Z"
    },
    "reviewTitle": "Was Not Expecting...",
    "reviewText": "The hotel was great. However, I was not expecting dogs at the hotel since it is not a pet friendly hotel. A large dog was barking in the room next to me which was disturbing. I went downstairs to get coffee and saw a poodle. When I inquired about it at the front desk, they said there is only supposed... More",
    "reviewerCity": "Woodbridge",
    "reviewerState": "AL",
    "reviewRating": 4
  }, {
    "reviewId": "",
    "reviewDate": {
      "$date": "2016-04-18T00:00:00.000Z"
    },
    "reviewTitle": "Excellent staff",
    "reviewText": "This hotel is clean and the staff is both professional and friendly. They made our stay very pleasant. The room is very clean and has everything you would need for a stay away from home. We will stay at this hotel again because of the friendly staff.",
    "reviewerCity": "Staffor",
    "reviewerState": "AL",
    "reviewRating": 5
  }]
} {
  "_id": {
    "$oid": "5cf9dcbe433d2b44c0de4110"
  },


method vForm0 vForm0.mLoad <alias=vForm0_mLoad>( )
{
//	this->vForm.mCreateWin()
	ustr ustmp
	uint comp
	comp as this
	with comp
	{
		.AutoLang=1
		.Border=$fbrdDialog
		.Bottom=0
		.Caption=ustmp.fromutf8("Gentee Manager")
		.Enabled=1
		.FormStyle=$fsChild
		.Height=400
		.HelpTopic=ustmp.fromutf8("")
		.Hint=ustmp.fromutf8("")
		.HorzAlign=$alhLeft
		.IconName=ustmp.fromutf8("")
		.Left=0
		.Name="Form0"
		.Right=0
		.StartPos=$spScreenCenter
		.Style=""
		.Tag=0
		.Top=0
		.TopMost=0
		.VertAlign=$alvTop
		.Visible=1
		.Width=595
		.WindowState=$wsNormal
		.OnCreate.Set( this, Form0_appinit )

		uint comp
		comp as this.Tab0
		comp.Owner = this
		with comp
		{
			.AutoLang=1
			.Bottom=52
			.Enabled=1
			.Height=305
			.HelpTopic=ustmp.fromutf8("")
			.Hint=ustmp.fromutf8("")
			.HorzAlign=$alhLeftRight
			.Left=15
			.Name="Tab0"
			.Right=12
			.Style=""
			.TabOrder=0
			.Tag=0
			.Top=10
			.VertAlign=$alvTopBottom
			.Visible=1
			.Width=560

			uint comp
			comp as this.TabItem0
			comp.Owner = this.Tab0
			with comp
			{
				.AutoLang=1
				.Bottom=0
				.Caption=ustmp.fromutf8("Application")
				.Enabled=1
				.Height=276
				.HelpTopic=ustmp.fromutf8("")
				.Hint=ustmp.fromutf8("")
				.HorzAlign=$alhLeft
				.Left=4
				.Name="TabItem0"
				.Right=0
				.Style=""
				.Tag=0
				.Top=25
				.VertAlign=$alvTop
				.Visible=1
				.Width=552

				uint comp
				comp as this.Btn0
				comp.Owner = this.TabItem0
				with comp
				{
					.AutoLang=1
					.Bottom=0
					.BtnStyle=$bsClassic
					.Caption=ustmp.fromutf8("Gentee IDE (Debugger)")
					.Checked=0
					.Enabled=1
					.Height=35
					.HelpTopic=ustmp.fromutf8("")
					.Hint=ustmp.fromutf8("")
					.HorzAlign=$alhLeft
					.Left=25
					.Name="Btn0"
					.Right=0
					.Style=""
					.TabOrder=0
					.Tag=0
					.Top=30
					.VertAlign=$alvTop
					.Visible=1
					.Width=225
					.OnClick.Set( this, Form0_runide )
				}
				comp as this.Btn1
				comp.Owner = this.TabItem0
				with comp
				{
					.AutoLang=1
					.Bottom=0
					.BtnStyle=$bsClassic
					.Caption=ustmp.fromutf8("Gentee Studio")
					.Checked=0
					.Enabled=1
					.Height=35
					.HelpTopic=ustmp.fromutf8("")
					.Hint=ustmp.fromutf8("")
					.HorzAlign=$alhLeft
					.Left=25
					.Name="Btn1"
					.Right=0
					.Style=""
					.TabOrder=1
					.Tag=0
					.Top=80
					.VertAlign=$alvTop
					.Visible=1
					.Width=225
					.OnClick.Set( this, Form0_runstudio )
				}
				comp as this.Btn2
				comp.Owner = this.TabItem0
				with comp
				{
					.AutoLang=1
					.Bottom=0
					.BtnStyle=$bsClassic
					.Caption=ustmp.fromutf8("VisEdit (Demo)")
					.Checked=0
					.Enabled=1
					.Height=35
					.HelpTopic=ustmp.fromutf8("")
					.Hint=ustmp.fromutf8("")
					.HorzAlign=$alhLeft
					.Left=25
					.Name="Btn2"
					.Right=0
					.Style=""
					.TabOrder=2
					.Tag=0
					.Top=180
					.VertAlign=$alvTop
					.Visible=1
					.Width=225
					.OnClick.Set( this, Form0_runvis )
				}
				comp as this.Panel0
				comp.Owner = this.TabItem0
				with comp
				{
					.AutoLang=1
					.Border=$brdGroupBox
					.Bottom=0
					.Caption=ustmp.fromutf8("Documentation")
					.Enabled=1
					.Height=160
					.HelpTopic=ustmp.fromutf8("")
					.Hint=ustmp.fromutf8("")
					.HorzAlign=$alhLeft
					.Left=290
					.Name="Panel0"
					.Right=0
					.Style=""
					.TabOrder=3
					.Tag=0
					.Top=20
					.VertAlign=$alvTop
					.Visible=1
					.Width=250

					uint comp
					comp as this.Btn5
					comp.Owner = this.Panel0
					with comp
					{
						.AutoLang=1
						.Bottom=0
						.BtnStyle=$bsClassic
						.Caption=ustmp.fromutf8("Help v2.5")
						.Checked=0
						.Enabled=1
						.Height=35
						.HelpTopic=ustmp.fromutf8("")
						.Hint=ustmp.fromutf8("")
						.HorzAlign=$alhLeft
						.Left=20
						.Name="Btn5"
						.Right=0
						.Style=""
						.TabOrder=0
						.Tag=0
						.Top=95
						.VertAlign=$alvTop
						.Visible=1
						.Width=205
						.OnClick.Set( this, Form0_openchm25 )
					}
					comp as this.Btn3
					comp.Owner = this.Panel0
					with comp
					{
						.AutoLang=1
						.Bottom=0
						.BtnStyle=$bsClassic
						.Caption=ustmp.fromutf8("Help v3")
						.Checked=0
						.Enabled=1
						.Height=35
						.HelpTopic=ustmp.fromutf8("")
						.Hint=ustmp.fromutf8("")
						.HorzAlign=$alhLeft
						.Left=20
						.Name="Btn3"
						.Right=0
						.Style=""
						.TabOrder=1
						.Tag=0
						.Top=35
						.VertAlign=$alvTop
						.Visible=1
						.Width=205
						.OnClick.Set( this, Form0_openchm3 )
					}
				}
				comp as this.Btn8
				comp.Owner = this.TabItem0
				with comp
				{
					.AutoLang=1
					.Bottom=0
					.BtnStyle=$bsClassic
					.Caption=ustmp.fromutf8("GeViewer")
					.Checked=0
					.Enabled=1
					.Height=35
					.HelpTopic=ustmp.fromutf8("")
					.Hint=ustmp.fromutf8("")
					.HorzAlign=$alhLeft
					.Left=25
					.Name="Btn8"
					.Right=0
					.Style=""
					.TabOrder=4
					.Tag=0
					.Top=130
					.VertAlign=$alvTop
					.Visible=1
					.Width=225
					.OnClick.Set( this, Form0_runviewer )
				}
			}
			comp as this.TabItem1
			comp.Owner = this.Tab0
			with comp
			{
				.AutoLang=1
				.Bottom=0
				.Caption=ustmp.fromutf8("Associate Ext.")
				.Enabled=1
				.Height=276
				.HelpTopic=ustmp.fromutf8("")
				.Hint=ustmp.fromutf8("")
				.HorzAlign=$alhLeft
				.Left=4
				.Name="TabItem1"
				.Right=0
				.Style=""
				.Tag=0
				.Top=25
				.VertAlign=$alvTop
				.Visible=0
				.Width=552

				uint comp
				comp as this.Label0
				comp.Owner = this.TabItem1
				with comp
				{
					.AutoLang=1
					.Bottom=0
					.Caption=ustmp.fromutf8("Current Gentee compiler:")
					.Enabled=1
					.Height=25
					.HelpTopic=ustmp.fromutf8("")
					.Hint=ustmp.fromutf8("")
					.HorzAlign=$alhLeft
					.Left=20
					.Name="Label0"
					.Right=0
					.Style=""
					.Tag=0
					.TextHorzAlign=$talhLeft
					.TextVertAlign=$talvTop
					.Top=20
					.VertAlign=$alvTop
					.Visible=1
					.Width=680
					.WordWrap=0
					.AutoSize=0
				}
				comp as this.vRegcur
				comp.Owner = this.TabItem1
				with comp
				{
					.AutoLang=1
					.Bottom=0
					.Enabled=0
					.Height=30
					.HelpTopic=ustmp.fromutf8("")
					.Hint=ustmp.fromutf8("")
					.HorzAlign=$alhLeft
					.Left=20
					.MaxLen=32768
					.Multiline=0
					.Name="vRegcur"
					.Password=0
					.ReadOnly=0
					.Right=0
					.ScrollBars=$sbNone
					.Style=""
					.TabOrder=1
					.Tag=0
					.Text=ustmp.fromutf8("")
					.Top=45
					.VertAlign=$alvTop
					.Visible=1
					.Width=480
					.WordWrap=0
					.Border=1
				}
				comp as this.vRegnew
				comp.Owner = this.TabItem1
				with comp
				{
					.AutoLang=1
					.Bottom=0
					.Enabled=1
					.Height=30
					.HelpTopic=ustmp.fromutf8("")
					.Hint=ustmp.fromutf8("")
					.HorzAlign=$alhLeft
					.Left=20
					.MaxLen=32768
					.Multiline=0
					.Name="vRegnew"
					.Password=0
					.ReadOnly=0
					.Right=0
					.ScrollBars=$sbNone
					.Style=""
					.TabOrder=2
					.Tag=0
					.Text=ustmp.fromutf8("")
					.Top=95
					.VertAlign=$alvTop
					.Visible=1
					.Width=480
					.WordWrap=0
					.Border=1
				}
				comp as this.Btn6
				comp.Owner = this.TabItem1
				with comp
				{
					.AutoLang=1
					.Bottom=0
					.BtnStyle=$bsClassic
					.Caption=ustmp.fromutf8("Change .G command line")
					.Checked=0
					.Enabled=1
					.Height=30
					.HelpTopic=ustmp.fromutf8("")
					.Hint=ustmp.fromutf8("")
					.HorzAlign=$alhLeft
					.Left=20
					.Name="Btn6"
					.Right=0
					.Style=""
					.TabOrder=3
					.Tag=0
					.Top=145
					.VertAlign=$alvTop
					.Visible=1
					.Width=225
					.OnClick.Set( this, Form0_changegline )
				}
				comp as this.Btn7
				comp.Owner = this.TabItem1
				with comp
				{
					.AutoLang=1
					.Bottom=0
					.BtnStyle=$bsClassic
					.Caption=ustmp.fromutf8("Set default command line")
					.Checked=0
					.Enabled=1
					.Height=35
					.HelpTopic=ustmp.fromutf8("")
					.Hint=ustmp.fromutf8("")
					.HorzAlign=$alhLeft
					.Left=20
					.Name="Btn7"
					.Right=0
					.Style=""
					.TabOrder=4
					.Tag=0
					.Top=210
					.VertAlign=$alvTop
					.Visible=1
					.Width=225
					.OnClick.Set( this, Form0_setdefault )
				}
			}
			.CurIndex=0
		}
		comp as this.Btn4
		comp.Owner = this
		with comp
		{
			.AutoLang=1
			.Bottom=0
			.BtnStyle=$bsClassic
			.Caption=ustmp.fromutf8("Exit")
			.Checked=0
			.Enabled=1
			.Height=30
			.HelpTopic=ustmp.fromutf8("")
			.Hint=ustmp.fromutf8("")
			.HorzAlign=$alhLeft
			.Left=225
			.Name="Btn4"
			.Right=0
			.Style=""
			.TabOrder=1
			.Tag=0
			.Top=325
			.VertAlign=$alvTop
			.Visible=1
			.Width=130
			.OnClick.Set( this, Form0_exit )
		}
	}

	return this
}

method vForm0 vForm0.init( )
{
   this.pTypeId = vForm0
   return this
}
func init_vForm0 <entry>()
{

   regcomp( vForm0, "vForm0", vForm, $vForm_last,
      %{ %{$mLoad,     vForm0_mLoad}},
      0->collection )

}


package main

import (
	"github.com/containous/yaegi/interp"
)

func main() {
	i := interp.New(interp.Opt{})
	i.Eval(`println("Hello")`)
}

// Output:
// Hello


version0000640030014500116100000000001612523536103011462 0ustar  dgentryenggfibertv-40.2
rootfs.squashfs0000640030014500116100000000001212523536621013146 0ustar  dgentryengrootfs.imgvmlinuz0000640030014500116100000000001212523536672011510 0ustar  dgentryengkernel.imgloader.bin0000640030014500116100000000001212523536403012011 0ustar  dgentryengloader.img


method vfBtnList vfBtnList.mLoad <alias=vfBtnList_mLoad>( )
{
//	this->vForm.mCreateWin()
	ustr empus
	str  emps
	ustr ustmp
	uint comp
	comp as this
		comp.AutoLang=1
		comp.Border=$fbrdNone
		comp.Bottom=0
		comp.Caption=empus
		comp.Enabled=1
		comp.FormStyle=$fsChild
		comp.Height=226
		comp.HelpTopic=empus
		comp.Hint=empus
		comp.HorzAlign=$alhClient
		comp.IconName=empus
		comp.Left=0
		comp.Name="fBtnList"
		comp.Right=0
		comp.StartPos=$spDesigned
		comp.Style=emps
		comp.TabOrder=0
		comp.Tag=0
		comp.Top=0
		comp.TopMost=1
		comp.VertAlign=$alvClient
		comp.Visible=1
		comp.Width=378
		comp.WindowState=$wsNormal
		comp.OnCreate.Set( this, fBtnList_Create )
		comp as this.sbMain
		comp.Owner = this
			comp.AutoLang=1
			comp.AutoScroll=1
			comp.Border=$brdNone
			comp.Bottom=27
			comp.Enabled=1
			comp.Height=181
			comp.HelpTopic=empus
			comp.Hint=empus
			comp.HorzAlign=$alhClient
			comp.HorzRange=46
			comp.Left=0
			comp.Name="sbMain"
			comp.Right=0
			comp.Style=emps
			comp.TabOrder=0
			comp.Tag=0
			comp.Top=0
			comp.VertAlign=$alvClient
			comp.VertRange=52
			comp.Visible=1
			comp.Width=360
			comp.OnMouse.Set( this, fBtnList_Mouse )
			comp as this.tbItems
			comp.Owner = this.sbMain
				comp.AutoLang=0
				comp.AutoSize=0
				comp.Bottom=0
				comp.Enabled=1
				comp.Height=26
				comp.HelpTopic=empus
				comp.Hint=empus
				comp.HorzAlign=$alhLeftRight
				comp.ImageList=ustmp.fromutf8("project")
				comp.Left=46
				comp.Name="tbItems"
				comp.Right=-2
				comp.ShowCaption=$tscRight
				comp.ShowDivider=0
				comp.Style=emps
				comp.TabOrder=0
				comp.Tag=0
				comp.Top=0
				comp.VertAlign=$alvTop
				comp.Vertical=1
				comp.Visible=1
				comp.Width=316
				comp.Wrapable=1
				comp.OnMouse.Set( this, fBtnList_ItemMouse )
			comp as this.tbPaste
			comp.Owner = this.sbMain
				comp.AutoLang=1
				comp.AutoSize=0
				comp.Bottom=0
				comp.Enabled=1
				comp.Height=25
				comp.HelpTopic=empus
				comp.Hint=empus
				comp.HorzAlign=$alhLeft
				comp.ImageList=ustmp.fromutf8("project")
				comp.Left=23
				comp.Name="tbPaste"
				comp.Right=0
				comp.ShowCaption=$tscNone
				comp.ShowDivider=0
				comp.Style=emps
				comp.TabOrder=1
				comp.Tag=0
				comp.Top=0
				comp.VertAlign=$alvTop
				comp.Vertical=1
				comp.Visible=1
				comp.Width=23
				comp.Wrapable=1
			comp as this.tbCopy
			comp.Owner = this.sbMain
				comp.AutoLang=1
				comp.AutoSize=0
				comp.Bottom=0
				comp.Enabled=1
				comp.Height=52
				comp.HelpTopic=empus
				comp.Hint=empus
				comp.HorzAlign=$alhLeft
				comp.ImageList=ustmp.fromutf8("project")
				comp.Left=0
				comp.Name="tbCopy"
				comp.Right=0
				comp.ShowCaption=$tscNone
				comp.ShowDivider=0
				comp.Style=emps
				comp.TabOrder=2
				comp.Tag=0
				comp.Top=0
				comp.VertAlign=$alvTop
				comp.Vertical=1
				comp.Visible=1
				comp.Width=23
				comp.Wrapable=1
	comp as this
		comp.ClientHeight=181
		comp.ClientWidth=360

	return this
}

method vfBtnList vfBtnList.init( )
{
   this.pTypeId = vfBtnList
   return this
}
func init_vfBtnList <entry>()
{
   regcomp( vfBtnList, "vfBtnList", vForm, $vForm_last,
      %{ %{$mLoad,     vfBtnList_mLoad}},
      0->collection )

}


"GameInfo"
{
	//
	// gameinfo.gi is the non-branch-varying content and can be integrated between branches.
	// Branch-varying info, such as the game/title and app IDs, is in gameinfo_branchspecific.gi.
	//

	gamelogo 1
	type		multiplayer_only

	nomodels 1
	nohimodel 1
	nocrosshair 0
	GameData	"dota.fgd"
	SupportsDX8	0
	nodegraph 0
	tonemapping 0 // Hide tonemapping ui in tools mode

	FileSystem
	{
		//
		// The code that loads this file automatically does a few things here:
		//
		// 1. For each "Game" search path, it adds a "GameBin" path, in <dir>\bin
		// 2. For each "Game" search path, it adds another "Game" path in front of it with _<langage> at the end.
		//    For example: c:\hl2\cstrike on a french machine would get a c:\hl2\cstrike_french path added to it.
		// 3. For the first "Game" search path, it adds a search path called "MOD".
		// 4. For the first "Game" search path, it adds a search path called "DEFAULT_WRITE_PATH".
		//

		//
		// Search paths are relative to the exe directory\..\
		//
		SearchPaths
		{
			// These are optional language paths. They must be mounted first, which is why there are first in the list.
			// *LANGUAGE* will be replaced with the actual language name. If not running a specific language, these paths will not be mounted
			Game				solyanka
			Game_Language		dota_*LANGUAGE*

			// These are optional low-violence paths. They will only get mounted if you're in a low-violence mode.
			Game_LowViolence	dota_lv

			Game				solyanka
			Game				dota
			Game				core

			Mod					solyanka
			Mod					dota

			Write				dota

			// These are optional language paths. They must be mounted first, which is why there are first in the list.
			// *LANGUAGE* will be replaced with the actual language name. If not running a specific language, these paths will not be mounted
			AddonRoot_Language	dota_*LANGUAGE*_addons

			AddonRoot			dota_addons

			// Note: addon content is included in publiccontent by default.
			PublicContent		dota_core
			PublicContent		core
		}

		AddonsChangeDefaultWritePath 0
	}

	MaterialSystem2
	{
		RenderModes
		{
			"game" "Default"
			"game" "DotaDeferred"
			"game" "DotaForward"
			"game" "Depth"

			"tools" "ToolsVis" // Visualization modes for all shaders (lighting only, normal maps only, etc.)
			"tools" "ToolsWireframe" // This should use the ToolsVis mode above instead of being its own mode
			"tools" "ToolsUtil" // Meant to be used to render tools sceneobjects that are mod-independent, like the origin grid
		}
	}

	Engine2
	{
		"HasModAppSystems" "1"
		"Capable64Bit" "1"
		"UsesVGui" "0"
		"UsesPanorama" "1"
		"PanoramaUIClientFromClient" "1" // IPanoramaUIClient is implemented by client.dll
		"HasGameUI" "1" // dota uses gameui
		"GameUIFromClient" "1"  // AND that gameui comes from client.dll
		"URLName" "dota2"
		"MsaaOverrideType" "0"
		"UsesBink" "0"
        "MaxNetworkableEntities" "10000"
        "MaxNonNetworkableEntities" "10000"
        "DefaultDXVersion" "11"
        // The shader binary cache on Linux can be over 100MB so
        // we have to allow very large allocations.
		"AllocWarnMB_linuxsteamrt64" "200"
		// Also currently demo files are loaded entirely into
		// memory for 64-bit binaries so they can use well
		// over 100MB at load time.  Zoid is looking at
		// converting that to streaming.
		"AllocWarnMB_osx64" "200"
		"AllocWarnMB_pc64" "200"
		"AllocWarnMB" "100"
		// There are some known large virtual reservations, such as the SBH, which
		// bypass this limit so we can be fairly conservative.
		"ReserveWarnMB" "64"

		"DefaultRenderSystem"					"-vulkan" [ $LINUX || $OSX ] // macOS/Linux default to Vulkan
		"SupportsVulkanParticleOptimizations"	"1"

		"RenderingPipeline"
		{
			"SkipPostProcessing" "1"
			"SupportsMSAA" "0"
		}

		"BugBait"
		{
			// Used by 'bug:' in chat to normalize report settings during playtests
			"Owner" "triage*"
			"Severity" "high"
			"Priority" "none"
			"Category" "---"
			"Product" "dota"
			"Component" "dota"
		}
	}

	SceneFileCache
	{
		"ServerUsesSceneImageFile" "0"
	}

	SceneSystem
	{
		"SunLightManagerCount" "0"
		"TransformTextureRowCount" "256"
		"CMTAtlasWidth" "1024"
		"CMTAtlasHeight" "512"
		"CMTAtlasChunkSize" "128"
		"DrawParticleChildrenSeparateFromParents" "1"
		"MaxAutoPartitions" "8"
		"LayerBatchThreshold" "512" [ $OSX && $CPU_EMULATED ] // Apple M1 - increase sc_layer_batch_threshold from 128 -> 512. Reduces TBDR memory bandwidth.
	}

	SoundSystem
	{
		"SteamAudioEnabled" "0"
		"DefaultWindowsXAudio" "1"
	}

	ToolsEnvironment
	{
		"Engine"	"Source 2"
		"ToolsDir"	"../sdktools"	// NOTE: Default Tools path. This is relative to the mod path.
		"DeveloperHelpURL" "https://developer.valvesoftware.com/wiki/Dota_2_Workshop_Tools"
		"ToolsProductName" "Dota2 Workshop Tools"
		"HideCoreMod"	"1"
	}

	Hammer
	{
		"fgd"						"dota.fgd"	// NOTE: This is relative to the 'mod' path.
		"GameFeatureSet"			"Dota"
		"LoadScriptEntities"		"0"
		"DefaultTextureScale"		"0.250000"
		"DefaultSolidEntity"		"trigger_dota"
		"DefaultPointEntity"		"info_player_start_dota"
		"NavMarkupEntity"			"func_nav_markup"
		"EnableDotaTools"			"1"
		"DefaultGridTileSet"		"/maps/tilesets/radiant_basic.vmap"
		"DefaultGridTileSet2"		"/maps/tilesets/dire_basic.vmap"
		"DotaMaxTrees"				"8000"
		"AddonMapCommand"			"dota_launch_custom_game"
		"PostMapLoadCommands"		"jointeam good" // Commands sent to the console by hammer after it finishes building a map and loads it
		"RequiredGameEntities"		"info_player_start_goodguys|info_player_start_dota; info_player_start_badguys|info_player_start_dota; env_global_light; ent_dota_game_events"
		"UnitsFiles"				"scripts/npc/npc_units.txt; scripts/npc/npc_units_staging.txt; scripts/npc/npc_units_custom.txt; scripts/npc/npc_heroes.txt; scripts/npc/npc_heroes_staging.txt"
		"ItemsFiles"				"scripts/npc/items.txt; scripts/npc/items_staging.txt; scripts/npc/npc_items_custom.txt"
		"OverlayBoxSize"			"16"
		"TileGridBlendOrderBGRA"	"1"
		"TileGridBlendDefaultColor"	"0 255 0"
	}

	MaterialEditor
	{
		"DefaultShader"			"global_lit_simple"
		"ExpressionHelpUrl"		"https://intranet.valvesoftware.com/index.php/Source_2.0/Shader_Format#Shader.2FMaterial_Expression_Syntax"
	}

	ModelCompile
	{
		"UseShadowFastPathHeuristic"	"1"
	}

	ModelDoc
	{
		"models_gamedata"			"models_gamedata.fgd"
		"export_modeldoc"			"0"
		"features"					"econitems;editorconfig"
	}

	ResourceCompiler
	{
		// Overrides of the default builders as specified in code, this controls which map builder steps
		// will be run when resource compiler is run for a map without specifiying any specific map builder
		// steps. Additionally this controls which builders are displayed in the hammer build dialog.
		DefaultMapBuilders
		{
			"light"		"0"	// Dota does not use baked lighting
			"envmap"	"0"	// Dota doesn't generate environment maps from the map
			"gridnav"	"1"	// Dota generates its grid navigation data by default
		}
		"DotaTileGrid"	"1"
	}

	RenderPipelineAliases
	{
		"Tools"			"Dota:Forward"
		"EnvMapBake"	"Dota"
	}

	AnimationSystem
	{
		NumDecodeCaches "16"
		DecodeCacheMemoryKB "512"
	}

	Particles
	{
		"GameSupportsLegacyShaders"	"1"
	}

	Panorama
	{
		"UsesSvg" "1"
	}

	RenderSystem
	{
		SwapChainSampleableDepth 1
		"VulkanUseSecondaryCommandBuffers"	"1" // Use secondary command buffers for more efficiency on tiled based renderers. All platforms to limit configurations.
		"VulkanSteamShaderCache"			"1"
		"OpenGLForceSM30"					"1"
	}
}


"GameInfo"
{
	game 		"Dota 2"
	title 		"Dota 2"

	gamelogo 1
	type		multiplayer_only

	nomodels 1
	nohimodel 1
	nocrosshair 0
	GameData	"dota.fgd"
	SupportsDX8	0
	nodegraph 0
	tonemapping 0 // Hide tonemapping ui in tools mode

	FileSystem
	{
		SteamAppId				570
		BreakpadAppId			373300	// Report crashes under beta DLC, not the S1 game.  Delete this when all clients are switched to S2
		BreakpadAppId_Tools		375360  // Use a separate bucket of buckets for "-tools" crashes so that they don't get drowned out by game crashes. Falls back to BreakpadAppId/SteamAppId if missing

		//
		// The code that loads this file automatically does a few things here:
		//
		// 1. For each "Game" search path, it adds a "GameBin" path, in <dir>\bin
		// 2. For each "Game" search path, it adds another "Game" path in front of it with _<langage> at the end.
		//    For example: c:\hl2\cstrike on a french machine would get a c:\hl2\cstrike_french path added to it.
		// 3. For the first "Game" search path, it adds a search path called "MOD".
		// 4. For the first "Game" search path, it adds a search path called "DEFAULT_WRITE_PATH".
		//

		//
		// Search paths are relative to the exe directory\..\
		//
		SearchPaths
		{
			// These are optional language paths. They must be mounted first, which is why there are first in the list.
			// *LANGUAGE* will be replaced with the actual language name. If not running a specific language, these paths will not be mounted
			Game_Language		dota_*LANGUAGE*

			// These are optional low-violence paths. They will only get mounted if you're in a low-violence mode.
			Game_LowViolence	dota_lv

			Game				dota
			Game				core

			Mod					dota

			AddonRoot			dota_addons

			// Note: addon content is included in publiccontent by default.
			PublicContent		dota_core
			PublicContent		core
		}

		AddonsChangeDefaultWritePath 0
	}

	MaterialSystem2
	{
		RenderModes
		{
			"game" "Default"
			"game" "DotaDeferred"
			"game" "DotaForward"
			"game" "Depth"

			"tools" "ToolsVis" // Visualization modes for all shaders (lighting only, normal maps only, etc.)
			"tools" "ToolsWireframe" // This should use the ToolsVis mode above instead of being its own mode
			"tools" "ToolsUtil" // Meant to be used to render tools sceneobjects that are mod-independent, like the origin grid
		}
	}

	Engine2
	{
		"HasModAppSystems" "1"
		"Capable64Bit" "1"
		"UsesVGui" "0"
		"UsesScaleform" "1"
		"UsesPanorama" "1"
		"PanoramaUIClientFromClient" "1" // IPanoramaUIClient is implemented by client.dll
		"HasGameUI" "1" // dota uses gameui
		"GameUIFromClient" "1"  // AND that gameui comes from client.dll
		"URLName" "dota2"
		"MsaaOverrideType" "0"
		"UsesBink" "0"
        "MaxNetworkableEntities" "10000"
        "MaxNonNetworkableEntities" "10000"
        "DefaultDXVersion" "9"
        // The shader binary cache on Linux can be over 100MB so
        // we have to allow very large allocations.
		"AllocWarnMB_linuxsteamrt64" "200"
		// Also currently demo files are loaded entirely into
		// memory for 64-bit binaries so they can use well
		// over 100MB at load time.  Zoid is looking at
		// converting that to streaming.
		"AllocWarnMB_osx64" "200"
		"AllocWarnMB_pc64" "200"
		"AllocWarnMB" "100"
		// There are some known large virtual reservations, such as the SBH, which
		// bypass this limit so we can be fairly conservative.
		"ReserveWarnMB" "64"

		"RenderingPipeline"
		{
			"SkipPostProcessing" "1"
			"SupportsMSAA" "0"
		}

		"BugBait"
		{
			// Used by 'bug:' in chat to normalize report settings during playtests
			"Owner" "triage*"
			"Severity" "high"
			"Priority" "none"
			"Category" "---"
			"Product" "dota"
			"Component" "dota"
		}
	}

	SceneFileCache
	{
		"ServerUsesSceneImageFile" "0"
	}

	SceneSystem
	{
		"NoSunLightManager" "1"
		"TransformTextureRowCount" "256"
		"CMTAtlasWidth" "512"
		"CMTAtlasHeight" "512"
		"CMTAtlasChunkSize" "128"
		"DrawParticleChildrenSeparateFromParents" "1"
	}

	SoundSystem
	{
		"DisableSteamAudio" "1"
		"DefaultWindowsXAudio" "1"
	}

	ToolsEnvironment
	{
		"Engine"	"Source 2"
		"ToolsDir"	"../sdktools"	// NOTE: Default Tools path. This is relative to the mod path.
		"DeveloperHelpURL" "https://developer.valvesoftware.com/wiki/Dota_2_Workshop_Tools"
		"ToolsProductName" "Dota2 Workshop Tools"
	}

	Hammer
	{
		"fgd"					"dota.fgd"	// NOTE: This is relative to the 'mod' path.
		"GameFeatureSet"		"Dota"
		"LoadScriptEntities"	"0"
		"DefaultTextureScale"	"0.250000"
		"DefaultSolidEntity"	"trigger_dota"
		"DefaultPointEntity"	"info_player_start_dota"
		"NavMarkupEntity"		"func_nav_markup"
		"EnableDotaTools"		"1"
		"DefaultGridTileSet"	"/maps/tilesets/radiant_basic.vmap"
		"DefaultGridTileSet2"	"/maps/tilesets/dire_basic.vmap"
		"DotaMaxTrees"			"8000"
		"AddonMapCommand"		"dota_launch_custom_game"
		"PostMapLoadCommands"	"jointeam good" // Commands sent to the console by hammer after it finishes building a map and loads it
		"RequiredGameEntities"	"info_player_start_goodguys|info_player_start_dota; info_player_start_badguys|info_player_start_dota; env_global_light; ent_dota_game_events"
		"UnitsFiles"			"scripts/npc/npc_units.txt; scripts/npc/npc_units_custom.txt; scripts/npc/npc_heroes.txt"
		"ItemsFiles"			"scripts/npc/items.txt; scripts/npc/npc_items_custom.txt"
		"OverlayBoxSize"		"16"
		"TileGridBlendOrderBGRA"	"1"
		"TileGridBlendDefaultColor"	"0 255 0"
	}

	MaterialEditor
	{
		"DefaultShader"			"global_lit_simple"
		"ExpressionHelpUrl"		"https://intranet.valvesoftware.com/index.php/Source_2.0/Shader_Format#Shader.2FMaterial_Expression_Syntax"
	}

	ResourceCompiler
	{
		// Overrides of the default builders as specified in code, this controls which map builder steps
		// will be run when resource compiler is run for a map without specifiying any specific map builder
		// steps. Additionally this controls which builders are displayed in the hammer build dialog.
		DefaultMapBuilders
		{
			"light"		"0"	// Dota does not use baked lighting
			"envmap"	"0"	// Dota doesn't generate environment maps from the map
			"gridnav"	"1"	// Dota generates its grid navigation data by default
		}
		"DotaTileGrid"	"1"
	}

	RenderPipelineAliases
	{
		"Tools"			"Dota:Forward"
		"EnvMapBake"	"Dota"
	}

	RenderSystem
	{
		// rendersystemvulkan setting that determines how many partitions scenesystem places
		// in each job. The higher the number, the more work per command buffer. Vulkan has higher
		// cost per command buffer than software contexts so settings this higher reduces
		// overall number of command buffers.
		"VulkanSceneSystemJobCost"		"2"
	}
}


"GameInfo"
{
	game 		"Dota 2"
	title 		"Dota 2"

	gamelogo 1
	type		multiplayer_only

	nomodels 1
	nohimodel 1
	nocrosshair 0
	GameData	"dota.fgd"
	SupportsDX8	0
	nodegraph 0
	tonemapping 0 // Hide tonemapping ui in tools mode

	FileSystem
	{
		SteamAppId				570
		BreakpadAppId			373300	// Report crashes under beta DLC, not the S1 game.  Delete this when all clients are switched to S2
		BreakpadAppId_Tools		375360  // Use a separate bucket of buckets for "-tools" crashes so that they don't get drowned out by game crashes. Falls back to BreakpadAppId/SteamAppId if missing

		//
		// The code that loads this file automatically does a few things here:
		//
		// 1. For each "Game" search path, it adds a "GameBin" path, in <dir>\bin
		// 2. For each "Game" search path, it adds another "Game" path in front of it with _<langage> at the end.
		//    For example: c:\hl2\cstrike on a french machine would get a c:\hl2\cstrike_french path added to it.
		// 3. For the first "Game" search path, it adds a search path called "MOD".
		// 4. For the first "Game" search path, it adds a search path called "DEFAULT_WRITE_PATH".
		//

		//
		// Search paths are relative to the exe directory\..\
		//
		SearchPaths
		{
			Game				dota_divine_ui
			Game				dota
			Game				core

			Mod					dota_divine_ui
			Mod					dota

			AddonRoot			dota_addons

			// Note: addon content is included in publiccontent by default.
			PublicContent		dota_core
			PublicContent		core
		}
	}

	MaterialSystem2
	{
		RenderModes
		{
			"game" "Default"
			"game" "DotaDeferred"
			"game" "DotaForward"
			"game" "Depth"

			"tools" "ToolsVis" // Visualization modes for all shaders (lighting only, normal maps only, etc.)
			"tools" "ToolsWireframe" // This should use the ToolsVis mode above instead of being its own mode
			"tools" "ToolsUtil" // Meant to be used to render tools sceneobjects that are mod-independent, like the origin grid
		}
	}

	Engine2
	{
		"HasModAppSystems" "1"
		"Capable64Bit" "1"
		"UsesScaleform" "1"
		"HasGameUI" "1" // dota uses gameui
		"GameUIFromClient" "1"  // AND that gameui comes from client.dll
		"URLName" "dota2"
		"UsesBink" "0"
		"RenderingPipeline"
		{
			"SkipPostProcessing" "1"
			"SupportsMSAA" "0"
		}

		"BugBait"
		{
			// Used by 'bug:' in chat to normalize report settings during playtests
			"Owner" "triage*"
			"Severity" "high"
			"Priority" "none"
			"Category" "---"
			"Product" "dota"
			"Component" "dota"
		}
	}

	SceneSystem
	{
		"NoSunLightManager" "1"
	}

	ToolsEnvironment
	{
		"Engine"	"Source 2"
		"ToolsDir"	"../sdktools"	// NOTE: Default Tools path. This is relative to the mod path.
		"DeveloperHelpURL" "https://intranet.valvesoftware.com/wiki/Source_2_SDK"
		"ToolsProductName" "Dota2 Workshop Tools"
	}

	Hammer
	{
		"fgd"					"../dota/dota.fgd"	// NOTE: This is relative to the 'mod' path.
		"GameFeatureSet"		"Dota"
		"LoadScriptEntities"	"0"
		"DefaultTextureScale"	"0.250000"
		"DefaultSolidEntity"	"trigger_multiple"
		"DefaultPointEntity"	"info_player_start_goodguys"
		"NavMarkupEntity"		"func_nav_markup"
		"EnableDotaTools"		"1"
		"DefaultGridTileSet"	"/maps/tilesets/radiant_basic.vmap"
		"DefaultGridTileSet2"	"/maps/tilesets/dire_basic.vmap"
		"AddonMapCommand"		"dota_launch_custom_game"
		"PostMapLoadCommands"	"jointeam good" // Commands sent to the console by hammer after it finishes building a map and loads it
		"RequiredGameEntities"	"info_player_start_goodguys; info_player_start_badguys; env_global_light; ent_dota_game_events"
	}

	MaterialEditor
	{
		"DefaultShader"			"hero"
	}

	ResourceCompiler
	{
		// Overrides of the default builders as specified in code, this controls which map builder steps
		// will be run when resource compiler is run for a map without specifiying any specific map builder
		// steps. Additionally this controls which builders are displayed in the hammer build dialog.
		DefaultMapBuilders
		{
			"light"		"0"	// Dota does not use baked lighting
			"envmap"	"0"	// Dota doesn't generate environment maps from the map
			"gridnav"	"1"	// Dota generates its grid navigation data by default
		}
	}

	RenderPipelineAliases
	{
		"Tools"			"Dota"
		"EnvMapBake"	"Dota"
	}

	Source1Import
	{
		"importmod"			"dota_divine_ui"
		"importdir"			"..\dota_divine_ui"
		"onlyimportleafiestmod"	"1" // only directly import assets in dota_divine_ui
		"ispeermod"			"1"  // is this mod in a peer dir of dota.
		"ignoreParticleManifest" "1"
		"getSkinningFromLod0ByDefault" "0"
		"createStaticOverlays" "1"	// info_overlay entities will be converted to static overlay nodes instead of preserved as Info_overlay entities
	}
}


method vfClipTools vfClipTools.mLoad <alias=vfClipTools_mLoad>( )
{
//	this->vForm.mCreateWin()
	ustr empus
	str  emps
	ustr ustmp
	uint comp
	comp as this
		comp.AutoLang=1
		comp.Border=$fbrdSizeToolWin
		comp.Bottom=0
		comp.Caption=empus
		comp.Enabled=1
		comp.FormStyle=$fsPopup
		comp.Height=575
		comp.HelpTopic=empus
		comp.Hint=empus
		comp.HorzAlign=$alhLeft
		comp.IconName=empus
		comp.Left=0
		comp.Name="fClipTools"
		comp.Right=0
		comp.StartPos=$spDesigned
		comp.Style=emps
		comp.TabOrder=0
		comp.Tag=0
		comp.Top=0
		comp.TopMost=1
		comp.VertAlign=$alvTop
		comp.Visible=1
		comp.Width=398
		comp.WindowState=$wsNormal
		comp.OnMouse.Set( this, fClipTools_fm )
		comp.OnCreate.Set( this, fClipTools_Create )
		comp.OnDestroy.Set( this, fClipTools_Destroy )
		comp.OnCloseQuery.Set( this, fClipTools_Close )
		comp as this.Tab0
		comp.Owner = this
			comp.AutoLang=1
			comp.Bottom=0
			comp.Enabled=1
			comp.FixedWidth=0
			comp.Height=530
			comp.HelpTopic=empus
			comp.Hint=empus
			comp.HorzAlign=$alhClient
			comp.ImageList=ustmp.fromutf8("groups")
			comp.Left=0
			comp.Name="Tab0"
			comp.Right=0
			comp.Style=emps
			comp.TabOrder=0
			comp.TabStyle=$tsNone
			comp.Tag=0
			comp.Top=0
			comp.VertAlign=$alvTopBottom
			comp.Visible=1
			comp.Width=380
			comp as this.tiHistory
			comp.Owner = this.Tab0
				comp.AutoLang=1
				comp.Bottom=0
				comp.Caption=ustmp.fromutf8("history")
				comp.Enabled=1
				comp.Height=501
				comp.HelpTopic=empus
				comp.Hint=empus
				comp.HorzAlign=$alhLeft
				comp.ImageId=ustmp.fromutf8("history")
				comp.Left=4
				comp.Name="tiHistory"
				comp.Right=0
				comp.Style=emps
				comp.TabOrder=0
				comp.Tag=0
				comp.Top=25
				comp.VertAlign=$alvTop
				comp.Visible=1
				comp.Width=372
		comp as this.Tab0
		comp.Owner = this
			comp.CurIndex=0
		comp as this.ToolBar0
		comp.Owner = this
			comp.AutoLang=1
			comp.AutoSize=0
			comp.Bottom=5
			comp.Enabled=1
			comp.Height=25
			comp.HelpTopic=empus
			comp.Hint=empus
			comp.HorzAlign=$alhLeft
			comp.ImageList=ustmp.fromutf8("main")
			comp.Left=0
			comp.Name="ToolBar0"
			comp.Right=0
			comp.ShowCaption=$tscNone
			comp.ShowDivider=0
			comp.Style=emps
			comp.TabOrder=1
			comp.Tag=0
			comp.Top=500
			comp.VertAlign=$alvBottom
			comp.Vertical=0
			comp.Visible=0
			comp.Width=75
			comp.Wrapable=0
			comp as this.tbiMainWin
			comp.Owner = this.ToolBar0
				comp.AutoLang=1
				comp.Caption=ustmp.fromutf8("mainwin")
				comp.Checked=0
				comp.Enabled=1
				comp.Hint=empus
				comp.ImageId=ustmp.fromutf8("mclip")
				comp.Index=0
				comp.Name="tbiMainWin"
				comp.ShowCaption=0
				comp.Tag=0
				comp.TBIStyle=$tbsAsCheckBox
				comp.Visible=1
				comp.OnClick.Set( this, fClipTools_MainWin )
			comp as this.ToolBarItem0
			comp.Owner = this.ToolBar0
				comp.AutoLang=1
				comp.Caption=ustmp.fromutf8("ToolBarItem0")
				comp.Checked=0
				comp.Enabled=1
				comp.Hint=empus
				comp.ImageId=empus
				comp.Index=1
				comp.Name="ToolBarItem0"
				comp.ShowCaption=0
				comp.Tag=0
				comp.TBIStyle=$tbsButton
				comp.Visible=1
		comp as this.Tray0
		comp.Owner = this
			comp.AutoLang=1
			comp.Caption=ustmp.fromutf8("progname")
			comp.Image=ustmp.fromutf8("main\\mclip")
			comp.Name="Tray0"
			comp.RBtnPopupMenu=.pmTray
			comp.Tag=0
			comp.Visible=0
			comp.OnMouse.Set( this, fClipTools_Tray )
		comp as this.pmTray
		comp.Owner = this
			comp.AutoLang=1
			comp.Name="pmTray"
			comp.Tag=0
			comp as this.miExit
			comp.Owner = this.pmTray
				comp.AutoCheck=0
				comp.AutoLang=1
				comp.Caption=ustmp.fromutf8("exit")
				comp.Checked=0
				comp.Ellipsis=0
				comp.Enabled=1
				comp.Image=empus
				comp.Name="miExit"
				comp.RadioCheck=0
				comp.Separator=0
				comp.ShortKey=empus
				comp.Tag=0
				comp.Visible=1
				comp.OnClick.Set( this, fClipTools_Exit )
		comp as this.timerRestore
		comp.Owner = this
			comp.AutoLang=1
			comp.Enabled=0
			comp.Interval=1000
			comp.Name="timerRestore"
			comp.Tag=0
			comp.OnTimer.Set( this, fClipTools_Restore )
		comp as this.pmBtns
		comp.Owner = this
			comp.AutoLang=1
			comp.Name="pmBtns"
			comp.Tag=0
			comp.OnBeforeShow.Set( this, fClipTools_PopupBtns )
			comp.OnAfterShow.Set( this, fClipTools_PopupClose )
			comp as this.miCopyToNotices
			comp.Owner = this.pmBtns
				comp.AutoCheck=0
				comp.AutoLang=1
				comp.Caption=ustmp.fromutf8("copytonotices")
				comp.Checked=0
				comp.Ellipsis=0
				comp.Enabled=1
				comp.Image=empus
				comp.Name="miCopyToNotices"
				comp.RadioCheck=0
				comp.Separator=0
				comp.ShortKey=empus
				comp.Tag=0
				comp.Visible=0
			comp as this.miDelete
			comp.Owner = this.pmBtns
				comp.AutoCheck=0
				comp.AutoLang=1
				comp.Caption=ustmp.fromutf8("delete")
				comp.Checked=0
				comp.Ellipsis=0
				comp.Enabled=1
				comp.Image=empus
				comp.Name="miDelete"
				comp.RadioCheck=0
				comp.Separator=0
				comp.ShortKey=empus
				comp.Tag=0
				comp.Visible=1
				comp.OnClick.Set( this, fClipTools_DeleteItem )
			comp as this.MenuItem0
			comp.Owner = this.pmBtns
				comp.AutoCheck=0
				comp.AutoLang=1
				comp.Caption=ustmp.fromutf8("edit")
				comp.Checked=0
				comp.Ellipsis=0
				comp.Enabled=1
				comp.Image=empus
				comp.Name="MenuItem0"
				comp.RadioCheck=0
				comp.Separator=0
				comp.ShortKey=empus
				comp.Tag=0
				comp.Visible=0
				comp.OnClick.Set( this, fClipTools_EditItem )
	comp as this
		comp.ClientHeight=530
		comp.ClientWidth=380

	return this
}

method vfClipTools vfClipTools.init( )
{
   this.pTypeId = vfClipTools
   return this
}
func init_vfClipTools <entry>()
{
   regcomp( vfClipTools, "vfClipTools", vForm, $vForm_last,
      %{ %{$mLoad,     vfClipTools_mLoad}},
      0->collection )

}


method vfHistItem vfHistItem.mLoad <alias=vfHistItem_mLoad>( )
{
//	this->vForm.mCreateWin()
	ustr ustmp
	uint comp
	comp as this
	with comp
	{
		.AutoLang=1
		.Border=$fbrdSizeable
		.Bottom=0
		.Caption=ustmp.fromutf8("")
		.Enabled=1
		.FormStyle=$fsPopup
		.Height=429
		.HelpTopic=ustmp.fromutf8("")
		.Hint=ustmp.fromutf8("")
		.HorzAlign=$alhLeft
		.IconName=ustmp.fromutf8("")
		.Left=0
		.Name="fHistItem"
		.Right=0
		.StartPos=$spScreenCenter
		.Style=""
		.TabOrder=0
		.Tag=0
		.Top=0
		.TopMost=0
		.VertAlign=$alvTop
		.Visible=0
		.Width=608
		.WindowState=$wsNormal
		.OnCreate.Set( this, fHistItem_Create )

		uint comp
		comp as this.Splitter0
		comp.Owner = this
		with comp
		{
			.AutoLang=1
			.AutoSize=1
			.Bottom=0
			.Enabled=1
			.FixedPart=$sfpRight
			.Height=400
			.HelpTopic=ustmp.fromutf8("")
			.Hint=ustmp.fromutf8("")
			.HorzAlign=$alhClient
			.Left=0
			.LeftMinSize=0
			.Name="Splitter0"
			.Orientation=$soHorizontal
			.Right=0
			.RightMinSize=0
			.SplitterWidth=0
			.Style=""
			.TabOrder=0
			.Tag=0
			.Top=0
			.VertAlign=$alvClient
			.Visible=1
			.Width=600

			uint comp
			comp as this.Panel0
			comp.Owner = this.Splitter0
			with comp
			{
				.AutoLang=1
				.Border=$brdNone
				.Bottom=0
				.Caption=ustmp.fromutf8("")
				.Enabled=1
				.Height=350
				.HelpTopic=ustmp.fromutf8("")
				.Hint=ustmp.fromutf8("")
				.HorzAlign=$alhLeft
				.Left=0
				.Name="Panel0"
				.Right=0
				.Style=""
				.TabOrder=0
				.Tag=0
				.Top=0
				.VertAlign=$alvTop
				.Visible=1
				.Width=600

				uint comp
				comp as this.pTop
				comp.Owner = this.Panel0
				with comp
				{
					.AutoLang=1
					.Border=$brdNone
					.Bottom=65
					.Caption=ustmp.fromutf8("")
					.Enabled=1
					.Height=285
					.HelpTopic=ustmp.fromutf8("")
					.Hint=ustmp.fromutf8("")
					.HorzAlign=$alhClient
					.Left=0
					.Name="pTop"
					.Right=0
					.Style=""
					.TabOrder=0
					.Tag=0
					.Top=0
					.VertAlign=$alvTopBottom
					.Visible=1
					.Width=600
				}
				comp as this.e_wincaption
				comp.Owner = this.Panel0
				with comp
				{
					.AddColon=1
					.AutoLang=1
					.Bottom=38
					.Btn1Hint=ustmp.fromutf8("")
					.Btn1Image=ustmp.fromutf8("")
					.Btn2Hint=ustmp.fromutf8("")
					.Btn2Image=ustmp.fromutf8("")
					.Caption=ustmp.fromutf8("wincaption")
					.Enabled=1
					.Height=25
					.HelpTopic=ustmp.fromutf8("")
					.Hint=ustmp.fromutf8("")
					.HorzAlign=$alhLeftRight
					.LabelPos=$lpLeft
					.Left=160
					.LEStyle=$lsSimple
					.MaxLen=32768
					.Multiline=0
					.Name="e_wincaption"
					.Password=0
					.ReadOnly=1
					.Right=10
					.ScrollBars=0
					.Style=""
					.TabOrder=1
					.Tag=33
					.Text=ustmp.fromutf8("")
					.Top=287
					.VertAlign=$alvBottom
					.Visible=1
					.Width=430

					uint comp
				}
				comp as this.e_fileexe
				comp.Owner = this.Panel0
				with comp
				{
					.AddColon=1
					.AutoLang=1
					.Bottom=8
					.Btn1Hint=ustmp.fromutf8("")
					.Btn1Image=ustmp.fromutf8("")
					.Btn2Hint=ustmp.fromutf8("")
					.Btn2Image=ustmp.fromutf8("")
					.Caption=ustmp.fromutf8("fileexe")
					.Enabled=1
					.Height=25
					.HelpTopic=ustmp.fromutf8("")
					.Hint=ustmp.fromutf8("")
					.HorzAlign=$alhLeftRight
					.LabelPos=$lpLeft
					.Left=160
					.LEStyle=$lsSimple
					.MaxLen=32768
					.Multiline=0
					.Name="e_fileexe"
					.Password=0
					.ReadOnly=1
					.Right=10
					.ScrollBars=0
					.Style=""
					.TabOrder=3
					.Tag=33
					.Text=ustmp.fromutf8("")
					.Top=317
					.VertAlign=$alvBottom
					.Visible=1
					.Width=430

					uint comp
				}
			}
			comp as this.DlgBtns0
			comp.Owner = this.Splitter0
			with comp
			{
				.AutoLang=1
				.Border=$brdNone
				.Bottom=0
				.Caption=ustmp.fromutf8("")
				.CurWizard=0
				.CustomCaption=ustmp.fromutf8("")
				.DisableNext=0
				.Enabled=1
				.Height=50
				.HelpTopic=ustmp.fromutf8("")
				.Hint=ustmp.fromutf8("")
				.HorzAlign=$alhLeft
				.Indent=15
				.Left=0
				.MaxWizard=0
				.Name="DlgBtns0"
				.Right=0
				.ShowApply=1
				.ShowCancel=0
				.ShowClose=1
				.ShowCustom=0
				.ShowDone=$dsdNone
				.ShowHelp=1
				.ShowLine=1
				.Style=""
				.TabOrder=1
				.Tag=0
				.Top=350
				.VertAlign=$alvTop
				.Visible=1
				.Width=600
				.Wizard=1

				uint comp
			}
			.Distance=350
		}
		.ClientHeight=400
		.ClientWidth=600
	}

	return this
}

method vfHistItem vfHistItem.init( )
{
   this.pTypeId = vfHistItem
   return this
}
func init_vfHistItem <entry>()
{
   regcomp( vfHistItem, "vfHistItem", vForm, $vForm_last,
      %{ %{$mLoad,     vfHistItem_mLoad}},
      0->collection )

}


#NGSId1	NGSId2	SuperScaffoldId	XmapGapLength	AdjustedGapLength	NGSLength1	NGSLength2


.data
firebase.json
node_modules
.DS_Store
.env
package-lock.json
build


ok Merge branch 'master' of github.com:INFINITY-RUBER/Machine_Learning_A-Z_Hands-On-Python-R-In-Data-Science

# Por favor ingrese un mensaje de commit que explique por qué es necesaria esta fusión,
# especialmente si esto fusiona un upstream actualizado en una rama de tópico.
#
# Líneas comenzando con '#' serán ignoradas, y un mensaje vacío aborta
# el commit.


# phpstorm project files
.idea

# netbeans project files
nbproject

# zend studio for eclipse project files
.buildpath
.project
.settings

# sublime text project / workspace files
*.sublime-project
*.sublime-workspace

# windows thumbnail cache
Thumbs.db

# composer vendor dir
/vendor
# cubrid install dir
/cubrid

# composer itself is not needed
composer.phar

# composer.lock in applications is ignored since it's automatically created by composer when application is installed
/apps/*/composer.lock

# Mac DS_Store Files
.DS_Store

# phpunit itself is not needed
phpunit.phar
# local phpunit config
/phpunit.xml

# ignore dev installed apps and extensions
/apps
/extensions

# NPM packages
/node_modules